Я перевел бОльшую часть своей книги "Архитектура сложных веб-приложений. С примерами на Laravel". Книга про то, как развиваются приложения когда растут и когда над ними работают командой. Или, если кратко, куда совать код из контроллеров.
Выложил абсолютно бесплатно здесь - https://github.com/adelf/acwa_book_ru буду потихоньку переводить до конца и сообщать о процессе на этом канале.
Выложил абсолютно бесплатно здесь - https://github.com/adelf/acwa_book_ru буду потихоньку переводить до конца и сообщать о процессе на этом канале.
GitHub
GitHub - adelf/acwa_book_ru: Книга "Архитектура сложных веб-приложений. С примерами на Laravel"
Книга "Архитектура сложных веб-приложений. С примерами на Laravel" - adelf/acwa_book_ru
👍2
Вас неожиданно стало очень много и я чувствую себя обязанным что-то написать.
Книга очень хорошо зашла. Я даже вылез в тренды гитхаба - https://github.com/trending на 6 место. Это накладывает ответственность побыстрее закончить перевод. Я более-менее разобрался с делами. Выпустил 2.1 релиз Laravel Idea. Теперь хочу дописать одну статью про объектно-ориентированное мышление, которую надеюсь закончить завтра, и сразу за книгу!
Кстати тема статьи хорошо коррелирует с главой про Доменный слой. Возможно, в будущем надо будет добавить туда содержимое этой статьи.
Книга очень хорошо зашла. Я даже вылез в тренды гитхаба - https://github.com/trending на 6 место. Это накладывает ответственность побыстрее закончить перевод. Я более-менее разобрался с делами. Выпустил 2.1 релиз Laravel Idea. Теперь хочу дописать одну статью про объектно-ориентированное мышление, которую надеюсь закончить завтра, и сразу за книгу!
Кстати тема статьи хорошо коррелирует с главой про Доменный слой. Возможно, в будущем надо будет добавить туда содержимое этой статьи.
GitHub
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
JetBrains выложили большой отчёт за 2019 год: https://www.jetbrains.com/company/annualreport/2019/
Я там засветился цитатой в разделе Marketplace. Там же есть статистика по скачиваемым плагинам. Оказалось, что мой .env files support - самый популярный по количеству пользователей среди тех, какие хоть как-то относятся к PhpStorm. И в top10 всех плагинов вообще. Приятно, однако :)
Я там засветился цитатой в разделе Marketplace. Там же есть статистика по скачиваемым плагинам. Оказалось, что мой .env files support - самый популярный по количеству пользователей среди тех, какие хоть как-то относятся к PhpStorm. И в top10 всех плагинов вообще. Приятно, однако :)
JetBrains
JetBrains 2019 Annual Highlights – Celebrating 20 Years!
JetBrains is 20 years old and more than 8 million developers use and trust our tools! How did we get here? What took place in 2019? Read all about it.
Перевёл ещё две главы - доменный слой (https://github.com/adelf/acwa_book_ru/blob/master/manuscript/9-domain-layer.md) и CQRS (https://github.com/adelf/acwa_book_ru/blob/master/manuscript/10-cqrs.md).
GitHub
acwa_book_ru/manuscript/9-domain-layer.md at master · adelf/acwa_book_ru
Книга "Архитектура сложных веб-приложений. С примерами на Laravel" - adelf/acwa_book_ru
Forwarded from Deleted Account
Привет, начинаем онлайн-митап через 50 минут! 📼 Смотри на ютубе, 🍕 получай пиццу за вопросы, - и холиварь с экспертами после докладов.
Сетка докладов (время московское):
▶️ 11:05 - “Удаленка для разработчика” (Иван Матвеев, Skyeng).
▶️ 12:02 - “Побеждаем легаси без боли” (Антон Жуков, ManyChat).
▶️ 13:02 - “Две причины для CQRS” (Адель Файзрахманов, Laravel Idea).
▶️ 14:02 - “Модули как альтернатива микросервисам” (Юлия Николаева, iSpring).
▶️ 15:02 - “GraphQL: плюсы и минусы на практике” (Антон Морев, WormSoft).
▶️ 16:02 - “Готовим код к выходу в свет” (Михаил Самаркин, SimbirSoft).
В перерывах: 🐘 розыгрыш редкого слона, 🎟 билета на PHP Russia и приставки для тех, кто общался с 🤖 пхпботом (ссылка в описании трансляции).
Сетка докладов (время московское):
▶️ 11:05 - “Удаленка для разработчика” (Иван Матвеев, Skyeng).
▶️ 12:02 - “Побеждаем легаси без боли” (Антон Жуков, ManyChat).
▶️ 13:02 - “Две причины для CQRS” (Адель Файзрахманов, Laravel Idea).
▶️ 14:02 - “Модули как альтернатива микросервисам” (Юлия Николаева, iSpring).
▶️ 15:02 - “GraphQL: плюсы и минусы на практике” (Антон Морев, WormSoft).
▶️ 16:02 - “Готовим код к выходу в свет” (Михаил Самаркин, SimbirSoft).
В перерывах: 🐘 розыгрыш редкого слона, 🎟 билета на PHP Russia и приставки для тех, кто общался с 🤖 пхпботом (ссылка в описании трансляции).
YouTube
Онлайн-митап про легаси, монолиты, CQRS, GraphQL, редкие утилиты и вредные советы разработчику Васе
06:25 - Иван Матвеев, Skyeng: "День и инструменты разработчика на удаленке". Оставь фидбек, чтобы получить эту и другие презентации https://forms.gle/jNLTHj1kfV8EWws86
40:25 - вопросы докладчику
1:02:26 - Антон Жуков, ManyChat: "Безболезненная победа…
40:25 - вопросы докладчику
1:02:26 - Антон Жуков, ManyChat: "Безболезненная победа…
Закончил перевод!
https://github.com/adelf/acwa_book_ru
Очень долго переводил последнюю главу, за что извиняюсь. Главу про саги решил выбросить совсем, потому что опыта мало и она совсем бесполезная была. Форматы pdf, epub и mobi также доступны.
https://github.com/adelf/acwa_book_ru
Очень долго переводил последнюю главу, за что извиняюсь. Главу про саги решил выбросить совсем, потому что опыта мало и она совсем бесполезная была. Форматы pdf, epub и mobi также доступны.
GitHub
GitHub - adelf/acwa_book_ru: Книга "Архитектура сложных веб-приложений. С примерами на Laravel"
Книга "Архитектура сложных веб-приложений. С примерами на Laravel" - adelf/acwa_book_ru
❤2
Наблюдал вчера одну из самых убогих и бесполезных вещей в мире PHP - интерфейс полностью состоящий из статических методов. Признаться, я даже не знал что так можно. Зачем такой интерфейс? Поисследовав код, стало понятно, что если его переписать с нормальными, нестатическими, методам, то всё стало бы намного логичнее и можно было бы выбросить солидный кусок кода.
Типичный карго-культ: "я пишу с интерфейсами, я крутой". Главное - влепить интерфейс. Думать не надо.
Типичный карго-культ: "я пишу с интерфейсами, я крутой". Главное - влепить интерфейс. Думать не надо.
Сегодня выложил релиз Laravel Idea, в котором долго и старательно пытался сделать то, что давно хотел иметь: нормальный тайпхинтинг в Eloquent-запросах!
Сначала надо было вытащить информацию о таблицах базы данных. И я не придумал ничего лучше, чем проанализировать миграции. Соответственно, если там какая-то сложная логика, то плагин ничего не поймёт. Но логику там держать нехорошо, о чем очень скоро напишу статью. Вероятно, в следующих версиях появится возможность брать информацию прямо с базы данных, если она подключена у вас в IDE.
Вторая проблема в том, что в php нет дженериков, поэтому пришлось эмулировать их псевдоклассами, которые генерятся прямо в файле в _ide_helper_models.php. Результат на первый взгляд весьма неплох. На картинке внизу все методы подсказываются и в конце комплитятся элементы класса Post.
Сначала надо было вытащить информацию о таблицах базы данных. И я не придумал ничего лучше, чем проанализировать миграции. Соответственно, если там какая-то сложная логика, то плагин ничего не поймёт. Но логику там держать нехорошо, о чем очень скоро напишу статью. Вероятно, в следующих версиях появится возможность брать информацию прямо с базы данных, если она подключена у вас в IDE.
Вторая проблема в том, что в php нет дженериков, поэтому пришлось эмулировать их псевдоклассами, которые генерятся прямо в файле в _ide_helper_models.php. Результат на первый взгляд весьма неплох. На картинке внизу все методы подсказываются и в конце комплитятся элементы класса Post.
Решил выглядеть серьёзной компанией и стал спонсором онлайн Laracon, который будет уже 28 мая. Недавно заметил, что они разыгрывают 250 бесплатных билетов.
Попробуйте попытать удачу - https://laracon.eu/online.
Попробуйте попытать удачу - https://laracon.eu/online.
Позвали на бесплатный онлайн PHP-митап 30 мая модератором зум-комнаты, так что буду там. В программе – 5 докладов, из них два с половиной мне кажутся весьма интересными, но не скажу какие :)
🔶 Антон Губарев из Skyeng расскажет, как команда учительских продуктов строила сервисно-независимую архитектуру в монолите
🔹 Евгений Сальников из Lamoda - о том, как они живут с PHP, Java, Golang, Kotlin и Typescript в одной команде
🔶 Андрей Овчинников из iSpring поделится, как за 2 дня разработки написать решение, которое оптимизирует работу с видео в AWS
🔹 Александр Новиков из Spiral Scout сделает обзор редких, но хороших инструментов статического анализа кода
🔶 Андрей Поликанин из InterNations покажет и расскажет, как слепой разработчик может работать в обычной команде
Ссылка на youtube-трансляцию. Начнётся всё 30 мая.
🔶 Антон Губарев из Skyeng расскажет, как команда учительских продуктов строила сервисно-независимую архитектуру в монолите
🔹 Евгений Сальников из Lamoda - о том, как они живут с PHP, Java, Golang, Kotlin и Typescript в одной команде
🔶 Андрей Овчинников из iSpring поделится, как за 2 дня разработки написать решение, которое оптимизирует работу с видео в AWS
🔹 Александр Новиков из Spiral Scout сделает обзор редких, но хороших инструментов статического анализа кода
🔶 Андрей Поликанин из InterNations покажет и расскажет, как слепой разработчик может работать в обычной команде
Ссылка на youtube-трансляцию. Начнётся всё 30 мая.
Пётр Мязин, автор Пятиминутки PHP, записывает серию видео про разработку с помощью Laravel Livewire - https://www.youtube.com/watch?v=TnZIEG5IchA&list=PLvP6XNj3GUhB4idkTp1KPBki3-070Ymcq
Laravel Livewire - это ещё одна попытка делать front-end на бэкенде. После печально известного ASP.NET WebForms я таким вещам отношусь очень плохо. Однако, кто знает, может там всё не так печально. В Laravel чатиках один товарищ активно ратует за него. По крайней мере, я посмотрел 4 серии и не пожалел. Петр, кстати неплох в этом деле. Ему надо почаще создавать подобные видео про разные технологии.
Я же с удовольствием отметил, что можно довольно неплохую поддержку для Livewire организовать в плагине у себя, чтобы сделать разработку ещё более приятной. Надо записать себе в Trello.
Laravel Livewire - это ещё одна попытка делать front-end на бэкенде. После печально известного ASP.NET WebForms я таким вещам отношусь очень плохо. Однако, кто знает, может там всё не так печально. В Laravel чатиках один товарищ активно ратует за него. По крайней мере, я посмотрел 4 серии и не пожалел. Петр, кстати неплох в этом деле. Ему надо почаще создавать подобные видео про разные технологии.
Я же с удовольствием отметил, что можно довольно неплохую поддержку для Livewire организовать в плагине у себя, чтобы сделать разработку ещё более приятной. Надо записать себе в Trello.
YouTube
Laravel Livewire - Камень, ножницы, бумага (часть 1)
Напишем игру "Камень, ножницы, бумага" с помощью Laravel Livewire.
Livewire позволяет создавать динамические веб-интерфейсы без программирования на JavaScript. Весь код будем писать исключительно на PHP, при этом приложение будет работать без перезагрузки…
Livewire позволяет создавать динамические веб-интерфейсы без программирования на JavaScript. Весь код будем писать исключительно на PHP, при этом приложение будет работать без перезагрузки…
На прошлой неделе у меня произошло событие - я ушел с работы, чтобы полностью заняться своим проектом. Я думаю, об этом втайне или вполне открыто мечтает почти каждый разработчик. Но мы как мечтаем? Вот сидим, пишем классный софт и он как-то сам по себе продаётся. Через сарафанное радио...
Laravel Idea вроде получается очень неплохим продуктом. Полно отзывов в стиле "как я раньше жил без него", но какого-то ощутимого эффекта сарафанного радио нет. Мало кто готов рекламировать всем платный продукт. Как итог - всё больше и больше времени съедают продажи. Вести твиттер. Делать видео. Спонсировать конференции. Искать другие способы показать продукт широкой аудитории.
И всё чаще и чаще получается ситуация, когда ты понимаешь, что потратив время на определённые маркетинговые вещи вместо разработки какой-то фичи, получишь больше профита и не факт, что только в краткосрочной перспективе. Главное не упасть с головой в этот маркетинговый омут, и не забывать о фичах!
На этой неделе буду релизить новую версию с поддержкой livewire, laravel-modules и пары-тройки мелочей. А потом пойду пиарить это везде :)
Laravel Idea вроде получается очень неплохим продуктом. Полно отзывов в стиле "как я раньше жил без него", но какого-то ощутимого эффекта сарафанного радио нет. Мало кто готов рекламировать всем платный продукт. Как итог - всё больше и больше времени съедают продажи. Вести твиттер. Делать видео. Спонсировать конференции. Искать другие способы показать продукт широкой аудитории.
И всё чаще и чаще получается ситуация, когда ты понимаешь, что потратив время на определённые маркетинговые вещи вместо разработки какой-то фичи, получишь больше профита и не факт, что только в краткосрочной перспективе. Главное не упасть с головой в этот маркетинговый омут, и не забывать о фичах!
На этой неделе буду релизить новую версию с поддержкой livewire, laravel-modules и пары-тройки мелочей. А потом пойду пиарить это везде :)
Есть такая вещь как ошибка выжившего, когда люди делают выводы, исходя из неполных данных. Есть пример с самолётами, но прикольнее про дельфинов: "мнение о доброте дельфинов основано на рассказах пловцов, которых животные толкали к берегу, но без учёта мнения пловцов, которых толкали в обратном направлении".
Такая же штука может случиться с фидбеком о софтовых продуктах. 5% пользователей могут считать его хорошим и расхваливать. 95% посмотрели и закрыли, ничего не сказав. В итоге у автора формируется мнение, что он делает крутой продукт. А потом, спустя годы, когда он будет разорён, он будет обвинять более успешных конкурентов в хорошем маркетинге, из-за которого их продукты выиграли конкуренцию у такой классной вещи, которую "все хвалят". Я, видя все эти хорошие отзывы о своём продукте, всё переживаю, что окажусь в такой ситуации :)
Поэтому очень важно отслеживать такие параметры как процент продолжающих использовать продукт, как часто его используют, как много тех, кто его открыл и сразу удалил и т.д. К сожалению, у плагинов к шторму пока практически никакой статистики нет. Думаю, что скоро они добавят какие-нибудь возможности. А пока приходится слушать только тех, кто "выжил"
Такая же штука может случиться с фидбеком о софтовых продуктах. 5% пользователей могут считать его хорошим и расхваливать. 95% посмотрели и закрыли, ничего не сказав. В итоге у автора формируется мнение, что он делает крутой продукт. А потом, спустя годы, когда он будет разорён, он будет обвинять более успешных конкурентов в хорошем маркетинге, из-за которого их продукты выиграли конкуренцию у такой классной вещи, которую "все хвалят". Я, видя все эти хорошие отзывы о своём продукте, всё переживаю, что окажусь в такой ситуации :)
Поэтому очень важно отслеживать такие параметры как процент продолжающих использовать продукт, как часто его используют, как много тех, кто его открыл и сразу удалил и т.д. К сожалению, у плагинов к шторму пока практически никакой статистики нет. Думаю, что скоро они добавят какие-нибудь возможности. А пока приходится слушать только тех, кто "выжил"
Сегодня в 17 часов по Москве будет очередной митапчик. Про code review. С довольно известными людьми в мире PHP. Вообще, все эти онлайн-митапы эпохи ковида пока мне не очень доставляют. Чего-то в них не хватает. Но этот попробую послушать.
https://www.youtube.com/watch?v=JP7lppzWaLg
https://www.youtube.com/watch?v=JP7lppzWaLg
YouTube
Как готовить код-ревью: обсуждаем плохие и хорошие практики с подкастом SDCast
Слушайте аудиоверсию на других платформах https://sdcast.ksdaemon.ru/
3:30 - Кто пришел говорить и что болит у аутсорса, продуктовой разработки и опенсорса
7:35 - Для чего нам код-ревью и почему это не про баги (Сергей)
11:57 - Идеальный процесс код-ревью…
3:30 - Кто пришел говорить и что болит у аутсорса, продуктовой разработки и опенсорса
7:35 - Для чего нам код-ревью и почему это не про баги (Сергей)
11:57 - Идеальный процесс код-ревью…
После большого перерыва наконец начал опять писать статейки. Одну написал, еще где-то две готовятся. Эта статья просто мысли про ООП. Программисты ООП языков знают SOLID, киты ООП и прочие GRASPы, но код почти всегда получается процедурным. Процедурное мышление привычнее. Для ООП надо напрягаться, думая какие данные кому реально принадлежат. Иногда это непросто.
Статья на английском - https://adelf.tech/2020/oop-thinking
Перевод на Хабре - https://habr.com/ru/post/511744/
Статья на английском - https://adelf.tech/2020/oop-thinking
Перевод на Хабре - https://habr.com/ru/post/511744/
adelf.tech
Are you sure you write OOP code? | adelf.tech
We, PHP developers, proudly tell everybody that we know OOP and write pure OOP-code, but, honestly, more than 95% of Laravel applications code I usually see is procedural!
Если не в курсе, то недавно появилось сообщество laravel-программисток Larabelles. Один человек в твиттере решил раздать одну годовалую лицензию на PhpStorm случайной девушке, кто ответит на его твит. Я ему в привате: "подари и лицензию на Laravel Idea!" Он :"Классно! Я тут каждый месяц устраиваю нечто подобное." Я дал ему лицензий и благословил на их раздачу.
Через пару дней твит: https://twitter.com/JustSteveKing/status/1296751057499049984
Following on from supporting the amazing women in the #php community. I would like to next show my support to the #LGBTQ community by offering a years license for @laravel_idea for use in PHPStorm 🎉
Please drop a 🏳️🌈 or 🦄 in the comments ❤️
Неожиданный поворот. "Эй, представители ЛГБТ, пишущие на Laravel в PhpStorm! Пишите сюда! Ой чего подарю!" )) Даже не знаю как относиться к этому ) С трепетом жду какое сообщество будет следующим.
Через пару дней твит: https://twitter.com/JustSteveKing/status/1296751057499049984
Following on from supporting the amazing women in the #php community. I would like to next show my support to the #LGBTQ community by offering a years license for @laravel_idea for use in PHPStorm 🎉
Please drop a 🏳️🌈 or 🦄 in the comments ❤️
Неожиданный поворот. "Эй, представители ЛГБТ, пишущие на Laravel в PhpStorm! Пишите сюда! Ой чего подарю!" )) Даже не знаю как относиться к этому ) С трепетом жду какое сообщество будет следующим.
Twitter
Steve McDougall
Following on from supporting the amazing women in the #php community. I would like to next show my support to the #LGBTQ community by offering a years license for @laravel_idea for use in PHPStorm 🎉 Please drop a 🏳️🌈 or 🦄 in the comments ❤️ Winner chosen…
Совершенно случайно у меня оказались 9 билетов на Laracon Online. Он будет уже в среду, поэтому решил быстро их разыграть среди ответов на этот твит - https://twitter.com/laravel_idea/status/1297956995077672962 Подписываться необязательно )
Twitter
Laravel Idea
Suddenly, I realized that I have nine tickets to @LaraconOnline, which starts on Wed! We don't have much time, so they will be randomly gifted to this tweet repliers. Winners will be chosen tomorrow, August, 25 at 20:00 CET (14:00 EST).
29 сентября в 21:00 по Москве буду выступать на Laravel Worldwide Meetup - https://meetup.laravel.com/. Расскажу немного про то, как PhpStorm работает изнутри, что происходит во время индексации и на реальных примерах плагинов (.env files support, Laravel Idea, PEST) покажу как они могут встраиваться почти везде.
Посмотреть можно будет бесплатно и без регистрации тут - https://www.youtube.com/watch?v=h44R_ru8D3o Время, правда, для СНГ не очень удачное, но для этого и запись предусмотрена.
Посмотреть можно будет бесплатно и без регистрации тут - https://www.youtube.com/watch?v=h44R_ru8D3o Время, правда, для СНГ не очень удачное, но для этого и запись предусмотрена.