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 Время, правда, для СНГ не очень удачное, но для этого и запись предусмотрена.
Это пиарили по всем чатикам, но если вы не видели, то сегодня в 19 по Москве будет стрим, где двое будут рефакторить код, видимо как-то соревнуясь друг с другом. Я посмотрю, вдруг интересно будет.
Ссылка: https://youtu.be/ucO7229o8Ew
Ссылка: https://youtu.be/ucO7229o8Ew
YouTube
Рефакторим c Александром Макаровым, Валентином Удальцовым, Валентином Назаровым, Леонидом Корсаковым
Стрим, на котором ребята из Yii, Skyeng, каналов Пых и PHPKazan посмотрят на код популярного гитхаб-проекта, найдут, что там порефакторить (и порефакторят).
00:22 - Интро от ведущих - Александра Макарова (Yii) и Валентина Назарова (Skyeng)
04:32 - В эфир…
00:22 - Интро от ведущих - Александра Макарова (Yii) и Валентина Назарова (Skyeng)
04:32 - В эфир…
https://habr.com/ru/company/vk/blog/527420/
ВКонтакте снова выкладывает KPHP, но в отличие от первого релиза, действительно впечатляет. Работа была проделана огромная. Даже плагин для шторма сделали: https://unserialize.github.io/kphpstorm/
Все эти красивые выводы типов... было много споров между сторонниками и противниками этих статических нововведений: типизированные свойства и т.д. А теперь реальный профит от типизации - оно хорошо укладывается в типы C++ и производительность сильно выше. Разумеется, это не на всех кейсах, но всё-таки. Я уверен, в будущем и в движке php произойдут такие изменения, поэтому типизируемся потихоньку.
ВКонтакте снова выкладывает KPHP, но в отличие от первого релиза, действительно впечатляет. Работа была проделана огромная. Даже плагин для шторма сделали: https://unserialize.github.io/kphpstorm/
Все эти красивые выводы типов... было много споров между сторонниками и противниками этих статических нововведений: типизированные свойства и т.д. А теперь реальный профит от типизации - оно хорошо укладывается в типы C++ и производительность сильно выше. Разумеется, это не на всех кейсах, но всё-таки. Я уверен, в будущем и в движке php произойдут такие изменения, поэтому типизируемся потихоньку.
Хабр
ВКонтакте снова выкладывает KPHP
Привет! Сейчас будет дежавю. Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся...
Кстати, если кто-то решил сразу начать использовать KPHP на своих проектах - зря. Нужно изначально писать код, учитывая его особенности. Я уверен, что фреймворки аля Laravel/Symfony просто не скомпилируются, поэтому никаких фреймворков - только хардкор.