Всем привет! Прошу прощения за долгое молчание, жизнь приперла к стенке, и пришлось отбиваться =) Пришлось переезжать, и все лето ушло на переезд и обустройство на новом месте.
Сегодняшний пост будет скорее для маководов, хотя и для линуксоидов тула подойдет, но, местами - не автоматически.
Речь про warden.dev. Warden - это консольная утилита для управления контейнерами, идельно подходит для Magento, а также для Symfony, Laravel, Showare, Commonalities.
На маке работает довольно шустро, умеет:
- Включать-выключать xdebug по наличию куки из расширения Xdebug Helper автоматически
- Поднимать новые хосты всего в несколько команд
- Https из коробки без самостоятельных настроек
- Portainer, Traefik, MailHog уже включены.
- Удобное управление версиями через .env файл - поменял php с 7.2 на 8.0, или elasticsearch с 6 на 7.4, перезагрузил, готово.
- Автоматически прописывает хосты на macos, не нужно топать в /etc/hosts
Ну и если понадобится что-то уж совсем кастомное - всегда можно поправить любые конфиги, добавить инструкции в docker-compose или поменять docker-образ
Ссылочка:
https://warden.dev/
#docker #warden #docker-compose
Сегодняшний пост будет скорее для маководов, хотя и для линуксоидов тула подойдет, но, местами - не автоматически.
Речь про warden.dev. Warden - это консольная утилита для управления контейнерами, идельно подходит для Magento, а также для Symfony, Laravel, Showare, Commonalities.
На маке работает довольно шустро, умеет:
- Включать-выключать xdebug по наличию куки из расширения Xdebug Helper автоматически
- Поднимать новые хосты всего в несколько команд
- Https из коробки без самостоятельных настроек
- Portainer, Traefik, MailHog уже включены.
- Удобное управление версиями через .env файл - поменял php с 7.2 на 8.0, или elasticsearch с 6 на 7.4, перезагрузил, готово.
- Автоматически прописывает хосты на macos, не нужно топать в /etc/hosts
Ну и если понадобится что-то уж совсем кастомное - всегда можно поправить любые конфиги, добавить инструкции в docker-compose или поменять docker-образ
Ссылочка:
https://warden.dev/
#docker #warden #docker-compose
Какими докер-тулами вы пользуетесь?
Список сильно короткий, поэтому если пользуетесь еще чем-то - смело пишите в комментарии!
Список сильно короткий, поэтому если пользуетесь еще чем-то - смело пишите в комментарии!
Anonymous Poll
26%
Traefik
30%
Portainer
30%
MailHog
34%
Другое (написать в комменты)
Стрим к релизу PHP 8.1
25 ноября в 19:00 обсудим в онлайне апдейты релиза и PHP Foundation. А 4 компании поделятся опытом, как перевозили проекты на 8.0: от причин переезда и ожиданий до результатов и практических советов.
Вести стрим будут: Валентин Удальцов (Пых), Александр Макаров (Yii), Роман Пронский (PHP Digest)
Расскажут, как переезжали на 8.0: Валентин Назаров (Skyeng), Александр Данковцев (Авито), Максим Фомичев (ManyChat), Иван Корноухов (Badoo)
Детали и тайминг собрали тут.
25 ноября в 19:00 обсудим в онлайне апдейты релиза и PHP Foundation. А 4 компании поделятся опытом, как перевозили проекты на 8.0: от причин переезда и ожиданий до результатов и практических советов.
Вести стрим будут: Валентин Удальцов (Пых), Александр Макаров (Yii), Роман Пронский (PHP Digest)
Расскажут, как переезжали на 8.0: Валентин Назаров (Skyeng), Александр Данковцев (Авито), Максим Фомичев (ManyChat), Иван Корноухов (Badoo)
Детали и тайминг собрали тут.
YouTube
PHP 8.1, запуск PHP Foundation и истории переезда на 8.0 от Skyeng, ManyChat, Badoo и Авито
Соберемся обсудить, что 8.1 нам готовит, и запуск PHP Foundation. А еще послушаем, как ребята из 4 компаний проекты на 8.0 перевозили: с чем столкнулись и что советуют.
Стрим ведут Валентин Удальцов (Пых, PHP Point), Александр Макаров (Yii, PHP Russia),…
Стрим ведут Валентин Удальцов (Пых, PHP Point), Александр Макаров (Yii, PHP Russia),…
🔴 Релиз PHP 8.1, запуск PHP Foundation и истории переезда на 8.0
Прямо сейчас в эфире стрим, подключайтесь!
https://www.youtube.com/watch?v=5D337gaVPa4
Прямо сейчас в эфире стрим, подключайтесь!
https://www.youtube.com/watch?v=5D337gaVPa4
YouTube
Релиз PHP 8.1, запуск PHP Foundation и истории переезда на 8.0
Обсудим апдейты нового релиза и новость о создании PHP Foundation — фонда в поддержку языка. А еще послушаем, как ребята из 4 компаний проекты на 8.0 перевозили: с чем столкнулись и что советуют.
https://opencollective.com/phpfoundation — о том, как поддержать…
https://opencollective.com/phpfoundation — о том, как поддержать…
В четверг вышел PHP 8.1, а я, как работник кровавого энтерпрайза, все еще на 7.4.
Мне кажется, идут в ногу с релизами зачастую или молодые компании, или те, кто выжимает из языка максимум скорости. За ними тянутся компании, где тех лиды могут пропихнуть рефакторинг менеджерам.
А вот особняком стоят CMSки и аутсорсинг проекты которые уже прошли стадию активной разработки.
Например, Magento с поддержкой PHP 8.1 выйдет только весной.
Ну а почитать про новинки языка можно тут https://www.php.net/releases/8.1/ru.php
Напишите в комментарии, как в вашей компании обстоят дела с обновлением версии языка.
Мне кажется, идут в ногу с релизами зачастую или молодые компании, или те, кто выжимает из языка максимум скорости. За ними тянутся компании, где тех лиды могут пропихнуть рефакторинг менеджерам.
А вот особняком стоят CMSки и аутсорсинг проекты которые уже прошли стадию активной разработки.
Например, Magento с поддержкой PHP 8.1 выйдет только весной.
Ну а почитать про новинки языка можно тут https://www.php.net/releases/8.1/ru.php
Напишите в комментарии, как в вашей компании обстоят дела с обновлением версии языка.
www.php.net
PHP 8.1 Released
PHP 8.1 — большое обновление языка PHP: перечисления, readonly-свойства, callback-функции как объекты первого класса, файберы, пересечение типов, улучшения производительности и многое другое.
Прошли знаменитые скидочные дни, и астрологи объявили неделю статей о highload факапах.
Держите одну из них, там про Magento, однако большинство ошибок, подпаливших пятые точки девелоперов на Black Friday - вполне себе могут произойти и с вашим кодом.
P.S. Скорее всего люди с опытом highload не найдут для себя ничего сильно полезного, ребята в статье попались на ошибки новичков.
https://dou.ua/forums/topic/35426/
Держите одну из них, там про Magento, однако большинство ошибок, подпаливших пятые точки девелоперов на Black Friday - вполне себе могут произойти и с вашим кодом.
P.S. Скорее всего люди с опытом highload не найдут для себя ничего сильно полезного, ребята в статье попались на ошибки новичков.
https://dou.ua/forums/topic/35426/
DOU
7 ошибок одного Black Friday. Основано на реальных событиях
«Это были действительно безумные сутки с большим количеством людей на созвоне, когда мне пришлось работать около 30 часов подряд. С тех пор я не люблю проводить Black Friday в офисе».
Влад Опухлый, Magento Tech Lead в Magecom, рассказывает историю одно
Влад Опухлый, Magento Tech Lead в Magecom, рассказывает историю одно
История о том, как парень написал свой elasticsearch на php и что из этого вышло.
А какие нестандартные решения писали вы? Расскажите в комментариях
https://habr.com/ru/post/595765/
А какие нестандартные решения писали вы? Расскажите в комментариях
https://habr.com/ru/post/595765/
Хабр
История разработки фасетного поиска средствами PHP
Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов. Если ваша первая реакция:...
Год назад прошел первый большой PHP-опрос. Сейчас мы снова собираем лучшие статьи, видео и инструменты по мнению сообщества, выясняем, кто с какими технологиями провел год, - а в конце разыграем мерч и другие подарки.
Найди 5 минут, чтобы подвести итоги своего PHP-года:
https://phpsurvey.typeform.com/to/FeIOkDIP
Найди 5 минут, чтобы подвести итоги своего PHP-года:
https://phpsurvey.typeform.com/to/FeIOkDIP
Typeform
Explore Typeform | Create your own surveys, quizzes, forms
Experience a slick way of creating forms with Typeform. Try templates for quizzes, surveys, forms and more.
Тут завезли немного здравого смысла, правда сильно смешали его с личными предпочтениями автора, и отсутствием хороших примеров использования NoSQL.
Почему SQL в решении большинства задач лучше, чем NoSQL базы данных, и когда все-таки брать NoSQL?
https://habr.com/ru/post/596969/
Почему SQL в решении большинства задач лучше, чем NoSQL базы данных, и когда все-таки брать NoSQL?
https://habr.com/ru/post/596969/
Хабр
NoSQL и Антивакцинаторство
Говорят, что вакцины стали жертвами собственной эффективности. Будто если бы мы видели, как странновато одетый кучер раз в неделю забирал бы трупы нескольких...
Вдогонку к посту про БД: тут недавно обнаружили старый баг MySQL и MariaDB, который позволяет писать выражения, пропускаемые большинством firewalls и прочих костылей для обнаружения SQL-injection в запросе.
Поэтому пишите безопасный код с обязательным экранированием всех параметров прямо на PHP, не нужно писать говнокод в надежде на какой-то плагин для nginx!
https://habr.com/ru/news/t/585346/
Поэтому пишите безопасный код с обязательным экранированием всех параметров прямо на PHP, не нужно писать говнокод в надежде на какой-то плагин для nginx!
https://habr.com/ru/news/t/585346/
Хабр
Ошибка в экспоненциальной форме записи чисел в MySQL сделала клиентов AWS WAF уязвимыми для внедрения SQL
Этичные хакеры из Go Secure обнаружили ошибку в MySQL, угрожающую безопасности. Из-за неё клиенты AWS Web Application Firewall (WAF) остались незащищёнными от внедрения SQL. Ещё одна...
Сейчас из каждого утюга можно услышать: ML, нейросети, обучение.
А вы знали, что для того, чтобы потрогать нейросети и даже запустить свою не обязательно учить Python или R? Попробовать можно даже на PHP.
Вот есть парочка библиотек https://habr.com/ru/company/otus/blog/599985/
А вот еще расширение для PHP, оно устарело и больше не поддерживается, но для того чтоб потрогать и понять - нравится/не нравится - этого достаточно
Для реального проекта все-таки стоит выбрать другой язык, но потрогать можно уже здесь и сейчас!
P.S. Знаете, откуда выражение «из каждого утюга»? Если советский утюг старой модели воткнуть в розетку радиоточки, можно услышать радио, тихо правда.
А вы знали, что для того, чтобы потрогать нейросети и даже запустить свою не обязательно учить Python или R? Попробовать можно даже на PHP.
Вот есть парочка библиотек https://habr.com/ru/company/otus/blog/599985/
А вот еще расширение для PHP, оно устарело и больше не поддерживается, но для того чтоб потрогать и понять - нравится/не нравится - этого достаточно
Для реального проекта все-таки стоит выбрать другой язык, но потрогать можно уже здесь и сейчас!
P.S. Знаете, откуда выражение «из каждого утюга»? Если советский утюг старой модели воткнуть в розетку радиоточки, можно услышать радио, тихо правда.
Хабр
Фреймворки машинного обучения для PHP-разработчиков
По сей день вокруг машинного обучения не утихает большой ажиотаж. Машинное обучение, искусственный интеллект, Python, Tensor Flow, NumPy — это главные темы для обсуждения во многих группах социальных...
Вот тут можно найти пачку полезных функций/команд/шорткатов для phpstorm https://masteringphpstorm.com/tips-and-tricks
Masteringphpstorm
🧪 PhpStorm Tips & Tricks
The ultimate list of all my favourite tips and tricks when working with PhpStorm.
Хорошая статья о том, как ребята внедряли статический анализ и что из этого вышло https://habr.com/ru/company/rusprofile/blog/649257/
Хабр
Статический анализ и уже выросший проект: внедрять нельзя откладывать
Зачем нужен статический анализ кода, кажется, никому объяснять сегодня уже не нужно. Но одно дело — поддерживать код «чистым» с первого коммита, и совсем другое — встраивать новый инструмент в...
А вы когда-нибудь задумывались о том, нравится ли вам PHP, и насколько вы представляете себя серьезным программистом?
Не стоит стыдиться PHP.
Если вы живете в СНГ, или имеете хороший багаж в какой-нибудь популярной CMS - то, скорее всего вы будете довольны своей работой на PHP, и все будет хорошо. Нет, я не говорю, что язык плохой - очень даже хороший, и ООП можно красивое построить, и в целом код выглядит отлично и понятно, учитывая то, что у нас нет тонн синтаксического сахара.
Но если вдруг вам захочется в FAANG, придется переучиваться.
Я недавно вдруг осознал, что JavaScript, лет десять назад воспринимаемый как какая-то несерьезная игрушка, которую неумехи-верстальщики пытаются затащить на бэк или сделать там типизацию и красивые классы - уже вполне себе обогнал PHP и по использованию, и по удобству, и, что немаловажно, по зарплате. С учетом того что это чуть ли не единственный фронтовый язык - с JavaScript дороги открыты практически в любую компанию.
Статья меня не убедила, но может убедит вас:
https://habr.com/ru/post/652545/
Не стоит стыдиться PHP.
Если вы живете в СНГ, или имеете хороший багаж в какой-нибудь популярной CMS - то, скорее всего вы будете довольны своей работой на PHP, и все будет хорошо. Нет, я не говорю, что язык плохой - очень даже хороший, и ООП можно красивое построить, и в целом код выглядит отлично и понятно, учитывая то, что у нас нет тонн синтаксического сахара.
Но если вдруг вам захочется в FAANG, придется переучиваться.
Я недавно вдруг осознал, что JavaScript, лет десять назад воспринимаемый как какая-то несерьезная игрушка, которую неумехи-верстальщики пытаются затащить на бэк или сделать там типизацию и красивые классы - уже вполне себе обогнал PHP и по использованию, и по удобству, и, что немаловажно, по зарплате. С учетом того что это чуть ли не единственный фронтовый язык - с JavaScript дороги открыты практически в любую компанию.
Статья меня не убедила, но может убедит вас:
https://habr.com/ru/post/652545/
Хабр
Не нужно стыдиться PHP
Недавно я решил зайти на сайт cybersport.ru (проект VK GROUP), где хотел посмотреть результаты матчей наших мальчиков по Dote. Мой взгляд упал на статью " Когда будет новый...
Отличная статья о некоторых тонкостях настройки nginx, нашел даже на своем сервере пару промахов https://habr.com/ru/company/nixys/blog/661233/
Хабр
Как избежать 10 частых ошибок в настройке NGINX
Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут возникнуть...
Не используйте получение защищенных куками json данных через GET запрос!
Если вы:
1. Используете AJAX GET чтобы получить данные пользователя
2. Для авторизации на этом эндпоинте используете куки
3. Возвращаемые данные в формате JSON
То поздравляю, вы уязвимы для json hijacking! Пора поменять хотяб один из этих трех пунктов.
Подробности тут: https://habr.com/ru/post/63176/
Если вы:
1. Используете AJAX GET чтобы получить данные пользователя
2. Для авторизации на этом эндпоинте используете куки
3. Возвращаемые данные в формате JSON
То поздравляю, вы уязвимы для json hijacking! Пора поменять хотяб один из этих трех пунктов.
Подробности тут: https://habr.com/ru/post/63176/
Хабр
Угон JSON
В статье рассматривается метод перехвата данных отдаваемых через JSON с использованием метода " __defineSetter__ ", Этой уязвимости подвержены сайты JSON с которых: содержит...
Используете публичные свойства?
Anonymous Poll
31%
Уже давно
16%
Да, с приходом php8
26%
Нет, но хочу/планирую с переходом на php8
28%
Мне тоже не нравится
Большую часть жизни пишу код под Magento и Symfony, и, знаете, я настолько привык использовать геттеры и сеттеры, что нововведения PHP 8 в виде объявления свойств в конструкторе с последующим использованием публичных или readonly свойств мне как будто режет глаз.
С одной стороны код получается короче и пишется быстрее, но уже давно существуют кодогенераторы, которые делают все за тебя.
А вы используете публичные свойства?
С одной стороны код получается короче и пишется быстрее, но уже давно существуют кодогенераторы, которые делают все за тебя.
А вы используете публичные свойства?
Вот вам еще одна статейка по безопастности веб приложений, на этот раз о SSRF
https://habr.com/ru/company/solarsecurity/blog/590673/
https://habr.com/ru/company/solarsecurity/blog/590673/
Хабр
Атака с большим будущим: за что SSRF поместили в ТОП-10 киберугроз
В конце сентября сообщество OWASP (Open Web Application Security Project) выпустило обновленную версию списка наиболее опасных угроз для веб-приложений OWASP Top-10. Примечательным стало появление в...
Всем привет!
Заметил, что в большинстве компаний на постсоветском пространстве собеседования, обычно, сводятся к тому, насколько человек знает отличия класса, от интерфейса, может ответить, что выведет код
$a = “a1” + “1a”;
Пары каких-нибудь вопросов с подвохом, ну и сопутствующие технологии, будь то джоины в MySQL, композеры, докеры etc.
Часто завершается такое собеседование соревнованиями вида «чье ооп круче», паттернами и SOLIDом.
Приученный к такому, довольно простому ходу собеседований я окунулся в мир FAANG, где твое ООП ничего не значит, а подробное знание настроек elasticsearch - лишь приобретаемый навык, который вообще никого не волнует.
И в этот момент уверенные в себе Senior PHP/FullStack/etc девелоперы часто становятся в один ряд с обычными зелеными джунами, только что вставшими на путь истинный.
В общем, я хочу вам поведать, как же все-таки стать тем самым Senior Software Engineer по мнению крупных компаний, из чего состоят собеседования, и почему попасть в FAANG (уже MAANG) гораздо проще чем вы думаете.
Кое где буду писать личный опыт, но так как я ленив, то если буду находить уже готовый велосипед в сети, который, по моему мнению, хорошо описывает ситуацию, буду просто делиться ссылками.
Заметил, что в большинстве компаний на постсоветском пространстве собеседования, обычно, сводятся к тому, насколько человек знает отличия класса, от интерфейса, может ответить, что выведет код
$a = “a1” + “1a”;
Пары каких-нибудь вопросов с подвохом, ну и сопутствующие технологии, будь то джоины в MySQL, композеры, докеры etc.
Часто завершается такое собеседование соревнованиями вида «чье ооп круче», паттернами и SOLIDом.
Приученный к такому, довольно простому ходу собеседований я окунулся в мир FAANG, где твое ООП ничего не значит, а подробное знание настроек elasticsearch - лишь приобретаемый навык, который вообще никого не волнует.
И в этот момент уверенные в себе Senior PHP/FullStack/etc девелоперы часто становятся в один ряд с обычными зелеными джунами, только что вставшими на путь истинный.
В общем, я хочу вам поведать, как же все-таки стать тем самым Senior Software Engineer по мнению крупных компаний, из чего состоят собеседования, и почему попасть в FAANG (уже MAANG) гораздо проще чем вы думаете.
Кое где буду писать личный опыт, но так как я ленив, то если буду находить уже готовый велосипед в сети, который, по моему мнению, хорошо описывает ситуацию, буду просто делиться ссылками.