adelf on programming
1.55K subscribers
46 photos
1 video
63 links
Download Telegram
Channel created
Выпустил таки я книгу... https://leanpub.com/architecture-of-complex-web-applications . Первый месяц можно купить со скидкой - http://leanpub.com/architecture-of-complex-web-applications/c/USUl9KmVbJ8q На Амазоне можно полистать первую главу - https://www.amazon.com/dp/B07PN5WQZ3/
А расскажу-ка я один прикол, который был на проектике. Как-то я заметил, что значение auto_increment в таблице юзеров сильно далеко уползло(за 400 миллионов). И юзеры создаются с большими дырками в айдишниках. Притом постоянно обсуждалась какая-то проблема с большой нагрузкой на эту самую таблицу(записей там было тоже немало). И я таки глянул как была реализована аутентификация+регистрация.

Когда приходил успешный коллбек от фейсбуковского OAuth приложение... пыталось сделать insert в таблицу юзеров! try-catch ловил исключение, проверял текст на слово "Duplicate entry" и если это оно - то просто делал update users по нужному facebook_id - причем всех полей, которые пришли с фейсбука, не проверяя изменились они или нет! и все это, разумеется, на master базе данных...
Запилил статейку про то, что не надо пытаться использовать каждый шаблон проектирования. "Please, stop talking about Repository pattern with Eloquent" - https://adelf.tech/2019/useless-eloquent-repositories Завтра на хабре перевод сделаю.

Обсуждать попробуем на реддите (а вдруг кто-то таки сагрится, авторов статей про репозитории в ларавель проектах много): https://www.reddit.com/r/laravel/comments/b3fmhx/please_stop_talking_about_repository_pattern_with/
👍1
Вчерашняя статья зашла нормально. Жалко никто особо спорить не стал. Перевод на хабре: https://habr.com/post/444688/
Вторая (и, надеюсь, последняя) статья про репозитории с элоквентом. Описывается полезный частичный вариант их использования. Для запросов чтения. https://adelf.tech/2019/read-eloquent-repositories

Обсуждаем и плюсуем на реддите: https://www.reddit.com/r/laravel/comments/b5ryn2/useful_eloquent_repositories_adelftech/

Перевод на хабре - скоро.
Подал заявку на доклад на Laracon EU Amsterdam. Попробую "наехать" на Адама Вотана. А вдруг возьмут? :) Правда, немного напутал. Думал она в мае уже. А оказывается - в конце августа. Это в Мадриде у них будет эвент майский, но у меня не получается туда попасть.
На моем новом проекте(которому уже лет 9) права юзеров на какие-то действия сделаны через битовые маски. Модная тема была раньше, чтобы сэкономить пару байт в базе данных. Сейчас больше двух сотен разных прав(или пермишенами их правильнее называть). Совет простой - никогда не используйте битовые маски :) Особенно когда командой разрабатывается. Уже при мне очень сильно налажали из-за обычной опечатки. Хорошо хоть на продакшен не вылезло...
Кажется, меня таки заапрувили на Laracon EU :) Будем пробовать жечь! Доклад будет в противовес докладу Адама Вотана "Cruddy by design". Надо же народу и другой взгляд показать!

We are super excited that we've signed the first 5 speakers for Laracon EU in Amsterdam. This year Amsterdam is going to be packed with 25+ technically focused talks in an exceptionally amazing venue.

The world is NOT cruddy by design by Adel Faizrakhmanov
Event Sourcing in Laravel with EventSauce by Dries Vints
Performance optimisation: how do I go about it? by Kasia Zien
Time Driven Development by Katerina Trajchevska
Be nice, help the person who hacks your servers to get your data by Srdjan Vranac

https://laracon.eu/2019/amsterdam
21 июня в рамках конференции DevConf (https://devconf.ru) будет проведен бесплатный митап Larabeer Moscow. План мероприятия: в неформальной обстановке послушать доклады, пообщаться друг с другом и найти точки соприкосновения. Мой доклад про сложности большого проекта и их преодоление уже в программе.

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

Регистрируйтесь - https://www.meetup.com/ru-RU/Laravel-Russia/events/262030886/
Давно ничего не писал. Отдыхал, работал, плюс опять увлекся плагинописательством к шторму. Обновил свой .env files support плагин. Сильно оптимизировал его, убрав ненужную индексацию. Начал писать новый, на Kotlin. До ужаса приятный язык. После некоторой неловкости при знакомстве, уже общаюсь с ним довольно легко. Очень много плюшек. Недавно вспомнил, что уже в конце августа выступать на Laracon :) Для тренировки написал небольшую статью, опишу ее в отдельном посте.
Очень давно ничего не писал. Этому есть уважительная причина. Мое выступление на Laracon было не очень удачным, я расстроился и решил сделать что-нибудь, чтобы компенсировать неудачу.

Компенсация вылилась в три месяца напряженной работы, и это при том, что мой текущий фулл-тайм контракт никто не отменял. Результатом стал новый Laravel плагин для PhpStorm, содержащий огромное количество всевозможных авто-дополнений и кодогенераций, которые значительно упрощают рутинные операции при Laravel-разработке. Небольшое обзорное видео тут - https://youtu.be/8klTJYhNo-A

Меня невероятно прет от разработки плагинов для IDEA на Котлин. Мечтаю о том, чтобы делать это фулл-тайм. Поэтому решил попробовать его продавать)
Я создал трейт в проекте :( да не прогневаются на меня боги за это!

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

Создание трейта оказалось единственным вариантом не копипастить логику в этом случае. Но это лишь еще раз подтверждает мое мнение о трейтах.