Posts

Контейнеры под капотом

Если вам было интересно - на какие концепции опирается Docker и как под капотом устроены контейнеры, то вот отличное видео, где за двадцать минут в режиме live coding’а докладчик создает собственную реализацию контейнеров с изоляцией процессов и файловой системы от родительской ОС.

Смотреть видео

Атрибуты в PHP

С 7-ой попытки, в PHP наконец-таки приняли то, что в мире Java известно как аннотации, а в мире PHP теперь будет известно как атрибуты.

Наконец-то уйдут в прошлое описания роутов и сущностей через комментарии.

Считаю это большим прорывом в развитии языка.

Но с чем пока что сложно согласиться, это с синтаксисом. Угловые скобки вместо привычных at-символов (@). Разработчики уже негласно “проголосовали” за использование @ - взгляните на то как это было реализовано на основе Symfony, Doctrine, Psalm и т.д.

Книги: Apache Kafka и Go на практике

Началась шестая неделя самоизоляции и удаленной работы. Появившееся время решил потратить на возрождение одного из своих петпроджектов.

“Apache Kafka. Потоковая обработка и анализ данных” - читал в рамках реализации петпроджекта, потому как в качестве варианта коммуникации между микросервисами я выбрал брокер сообщений. Книга является информативным источником по взаимодействию с брокером сообщений и будет полезна вам, если вы, как и я, только начинаете знакомиться с Kafka.

“Go на практике” - оказалась для меня менее удачной: почти половина книги была просто пролистана. Рекомендация по книге - не ждать от нее погружения в Go и приобретать только в качестве подручного справочника. Лучше документация или “Язык программирования Golang” Донована и Кернигана.

Constructor Promotion в PHP

Никита Попов в очередной раз радует отличными RFC.

На этот раз немножко сахара в виде объявления свойств в конструкторе. Лично мне этого в последнее время очень не хватает. Надеюсь что предложение будет принято и в ближайших версиях PHP мы сможем подсластить себе разработку.

P.S. Как кстати дела на карантине? У меня уже третья неделя удаленки завтра начнется. Выход на работу теперь выглядит как замена личного ноутбука на рабочий. Поначалу было сложно и непривычно, но со временем приспособился.

Грокаем алгоритмы

Вчера за вечер по диагонали прошёлся по “Грокаем алгоритмы” Бхаргавы Адитьи.

Если кому-то заходят книги от head first - эта примерно такая же. Вроде рекомендую, но только если вы прям совсем начинающий в алгоритмах и структурах и потом обязательно прочитаете что-то более серьезное.

Площадки для практики алгоритмов

Решил немного разбавить тишину в эфире этого канала.

За последние месяцы я погрузился в прокачивание скиллов: подтягиваю алгоритмы и структуры данных, пробую новые языки программирования. Хотел поделиться с вами личным опытом того, как закреплять полученные навыки.

Codewars - https://www.codewars.com Задачи различного уровня сложности, с возможностью повышения сложности по мере решения задач. Еще, из отличительных черт - это соревновательный момент - ваше решение выкладывается на всеобщее обозрение и его оценивают другие участники площадки. Leetcode - https://leetcode.com Здесь можно попрактиковаться в классических алгоритмах и структурах данных, а также узнать какие вопросы и задачи используются на собеседованиях в Apple, Uber и других компаниях.

Прохождение собеседований

В последнее время активно прохожу собеседования и вот на Хабре вышла статья, как раз-таки на эту тему. Статья на поразмыслить. Конечно, каждый из нас может оказаться Дэниэлом Бухмюллером (читай статью, чтоб понять), но тем не менее - подстелить соломку никогда не помешает.

Читать статью

TDD на практике

На хабре очень много статей про TDD, однако тех, которые действительно стоит прочитать, чтобы понять всю прелесть этого подхода - единицы.

Недавно вышла ещё одна такая, которая поможет на практическом примере осознать, насколько чище становится ваша архитектура с применением TDD, а также как мало стресса будет при дальнейшем сопровождении такого кода.

Примеры в статье на Java, но ничего сверхсложного там нет, всё отлично ложится на любой другой язык программирования.

В общем, от меня рекомендация к прочтению для тех, кто ещё сомневается “Быть или не быть TDD в вашем проекте”.

Чистая архитектура: практика

Купил пару недель назад “на сдачу” эту книгу (акция была - при покупке трех книг скидон хороший давали). Купил просто потому что в названии есть слово архитектура, ничего особого не ожидая.

Но она оказалась крайне впечатляющей книгой. Если вы до этого читали Мартина “Идеальная архитектура” и она показалась вам очень теоретической, то в этой книге вы найдете кучу практических советов, которые не “общие советы, которые будут фундаментальной основой”, а именно практика в архитектуре ПО нового десятилетия.

Тестирование в Badoo

Отличная статья о тестировании в компании Badoo. Описаны все варианты тестов, которые используются, а также практические примеры решения различных проблем, связанные с тестами: легаси код, тестовые окружения, использование БД в тестах и т.д.

Рекомендую ознакомиться всем, кто уже пишет тесты и сталкивается с проблемами их сопровождения и поддержания данных в актуальном состоянии.

Читать статью