Сериализация данных на уровне MySQL (часть 2) |
Привет, Хабр!
Вот наконец-то я написал немного документации по своему решению сериализации данных на уровне MySQL, в прошлой статье я совсем немного рассказал о решении, советую перед прочтением второй части, посмотреть первую.
Если вы пользователь Symfony и фанат этого фреймворка как я, то статья явно для вас, даже если решение не понравится, это будет интересно.
Каждый кто писал на симфони использовал сериализатор, чтобы ваши сущности возвращались в формате JSON на front, вся прелесть в группах сериализации, с помощью них, можно добавлять и исключать филды из сериализации, я учел это при разработке своего пакета и вот что вышло.
Начнем пожалуй с сущности, давайте представим что мы собираем HTML страницы объявлений. Сущность Page будет иметь следующий вид:
https://habr.com/ru/post/438528/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438528
Метки: mysql php symfony |
Регистрируем сделку с недвижимостью онлайн |
https://habr.com/ru/post/438180/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438180
Метки: Будущее здесь Законодательство в IT Криптография Лайфхаки для гиков госуслуги росреестр электронная подпись криптография гост электронный документооборот |
Стратегический эквалайзер |
https://habr.com/ru/post/438522/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438522
Метки: Анализ и проектирование систем Карьера в IT-индустрии Управление персоналом Управление продуктом Управление проектами стратегическое планирование |
Создание своего jsfiddle, часть 2 |
https://habr.com/ru/post/438518/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438518
Метки: CSS HTML javascript jsfiddle ace editor |
[Из песочницы] Когда стоит сохранять длину массива в локальную переменную в C# |
Random rnd1 = new Random(DateTime.UtcNow.Millisecond);
int[,] arr1 = new int[Int16.MaxValue, Byte.MaxValue];
for (int i = 0; i < arr1.GetLength(0); i++)
{
for (int j = 0; j < arr1.GetLength(1); j++)
{
arr1[i, j] = rnd1.Next(Int32.MinValue, Int32.MaxValue);
}
}
Random rnd1 = new Random(DateTime.UtcNow.Millisecond);
int[,] arr1 = new int[Int16.MaxValue, Byte.MaxValue];
int len1 = arr1.GetLength(0), len2 = arr1.GetLength(1);
for (int i = 0; i < len1; i++)
{
for (int j = 0; j < len2; j++)
{
arr1[i, j] = rnd1.Next(Int32.MinValue, Int32.MaxValue);
}
}
https://habr.com/ru/post/438516/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438516
Метки: .net c# |
[Из песочницы] Как я год не работал в Сбербанке |
https://habr.com/ru/post/438514/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438514
Метки: IT-компании Информационная безопасность Карьера в IT-индустрии it- компании сбербанк-технологии печальный жизненный опыт сбербанк |
[Из песочницы] Сжатие данных алгоритмом Хаффмана |
https://habr.com/ru/post/438512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438512
Метки: java алгоритмы Сжатие данных хаффман |
Активность мозга человека впервые транслировали в чёткую речь |
https://habr.com/ru/post/438508/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438508
Метки: Интерфейсы Мозг Научно-популярное вокодер мозговая активность синтез речи |
Композиция против наследования, паттерн Команда и разработка игр в целом |
— Слушай, я тут придумал отличную идею игры! — гейм-дизайнер Вася был взъерошен, а глаза — красные. Я ещё попивал кофе и холиварил на Хабре, чтобы убить время перед стенд-апом. Он выжидательно посмотрел на меня, пока я закончу писать в комментариях человеку, в чем он не прав. Он знал, что пока справедливость не восторжествует, а правда не будет защищена — смысла продолжать со мной разговор нету. Я дописал последнее предложение и перевел на него взгляд.Читать дальше ->
— В двух словах — маги с маной могут кастовать заклинания, а воины могут сражаться в близком бою и тратить выносливость. И маги и воины могут двигаться. Да, там ещё можно будет грабить корованы, но это уже следующей версии сделаем, короче. Покажешь прототип после стенд-апа, окей?
Он убежал по своим гейм-дизайнерским делам, а я — открыл IDE.
https://habr.com/ru/post/438510/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438510
Метки: javascript ООП Программирование Разработка игр архитектура oop inheritance composition banana monkey |
Подготовка к собеседованию в компании большой пятерки |
https://habr.com/ru/post/423329/?utm_source=habrahabr&utm_medium=rss&utm_campaign=423329
Метки: Алгоритмы Интервью Программирование собеседование |
[Из песочницы] Моя вторая зима без снега или магистратура в Бельгии |
https://habr.com/ru/post/438506/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438506
Метки: Изучение языков Образование за рубежом Читальный зал образование переезд на ПМЖ бельгия европа английский маркетинг эмиграция из России эмиграция |
На стороне добра: как Оптимус Прайм привез Kingston и HyperX на выставку CES 2019 |
https://habr.com/ru/post/438500/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438500
|
Neutralinojs — что ты такое? Или UNIX way там, где не ждали |
Недавно я совершенно случайно наткнулся на простую рекламную заметочку "Neutralinojs — альтернатива Electron, потребляющая меньше памяти", рассказывающую о том, что есть такая крутая вещь как Neutralinojs. Заметочка, как и следует ей быть, совсем короткая и не несёт никакой полезной информации, кроме рекламного лозунга "Лучше чем <что-то популярное>!"
Примерно понимая как работает Electron и NW.js и не найдя совершенно никакого упоминания о принципе работы этого нового и суперкрутого "чудо-зверя" в заметке, я начал исследования.
Собственно представляю вниманию результаты своего микро-исследования!
Так как любую новую технологию я рассматриваю как возможный инструмент, то я сразу задал несколько вопросов:
Покопавшись в исходниках и двух достаточно информативных картинках об архитектуре, я понял, что этот проект работает именно по тому самому UNIX Way, который любят все линуксоиды. Философия проекта проста: зачем придумывать новый велосипед, если можно использовать уже готовый?
Читать дальше ->https://habr.com/ru/post/438402/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438402
Метки: JavaScript electron neutralinojs no hello world nw.js nwjs |
[Из песочницы] Python + Raspberry Pi + Pixhawk и квадрокоптер. Или как не надо делать роботов |
https://habr.com/ru/post/438496/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438496
Метки: python Разработка на Raspberry Pi робототехника питон дрон квадрокоптер коптер rasberry pi smart tv |
[Перевод] Инициализация в С++ действительно безумна. Лучше начинать с Си |
https://habr.com/ru/post/438492/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438492
Метки: C++ инициализация агрегированный тип braced-init-list конструктор copy-list-initialization разрешение перегрузки обучение программированию |
К вопросу о буферах (кольцевых) |
https://habr.com/ru/post/438476/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438476
Метки: Программирование Программирование микроконтроллеров програмирование микроконтроллеров программирование как искусство |
Реверс-инжиниринг. История. Моя |
Всем привет,
На этот раз статья будет не технической (хотя в ней и будут попадаться какие-то технические термины/моменты), а скорее автобиографической, если так можно выразиться. Эта статья о том, как я докатился до такой жизни пришёл в реверс-инжиниринг, что читал, чем интересовался, где применял, и т.д. И, я почему-то уверен, что моя история будет иметь множество отличий от твоей. Поехали…
https://habr.com/ru/post/438376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438376
|
Релиз Unity 2019.1 beta |
https://habr.com/ru/post/438490/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438490
Метки: unity3d Разработка игр |
Фильтр Калмана для минимизации энтропийного значения случайной погрешности с не Гауссовым распределением |
https://habr.com/ru/post/438050/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438050
|
Репутация, работа и эмиграция: как использовать инструменты продвижения компаний для решения личных задач |
https://habr.com/ru/post/438482/?utm_source=habrahabr&utm_medium=rss&utm_campaign=438482
Метки: IT-эмиграция Интернет-маркетинг Карьера в IT-индустрии маркетинг переезд визы личный бренд |