Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.4K subscribers
1.32K photos
18 videos
26 files
4K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
加入频道
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🎄2️⃣0️⃣2️⃣2️⃣🎁

Чего только не было в этом году: нашествие нейросетевых алгоритмов и ARM-процессоров, GitHub Copilot и автодополнение кода, сражение с чёрной дырой пандемии и рождение метавселенных — всего и не припомнишь.

Под занавес принято подводить итоги. В 2021 году редакция «Библиотеки программиста» выпустила 448 статей, а сайт proglib.io посетили 4.7 миллиона читателей. Суммарное число подписчиков наших сообществ превысило 500 тысяч. Наконец, мы открыли собственный образовательный центр — proglib.academy.

Мы сердечно поздравляем всех читателей и членов нашего IT-коммьюнити с Новым годом. Желаем лёгкого кодинга, добра, счастья, здоровья и удачных проектов! Оставайтесь с нами, впереди много интересного! 😉
🎉123👍3
#testing

Приложение, которое может помочь протестировать входящие http запросы: например, вебхуки. Написано на PHP, кстати. Можно посмотреть исходный код по ссылке.

https://httpdump.app/
👍3💩2
#advanced

Анна Филина рассуждает про null как о возвращаемом типе.

https://afilina.com/learn/nulls/return-types
👎12👍3💩1
#laravel

Тред от опытного разработчика Марселя Почета с советами по улучшению производительности запросов при использовании Eloquent.

https://twitter.com/marcelpociot/status/1480541086972096514
👍5
#mustread

Интересный тред о том, нужно ли следовать строгости при написании кода. Автор треда жалуется, что PHP разработчики, которые все классы делают финальными, проставляют типы всем свойствам и аргументам, усложняют возможность расширять свой код.

Вы согласны с этим?

https://twitter.com/davert/status/1480489855515774978
👎6👍3
#advanced

Библиотека, которая умеет переопределять вызов функций внутри ваших классов в целях облегчения тестирования. Например, вы можете замокать результат вызова таких функций как rand или sleep, чтобы не зависеть от сайд-эффектов их выполнения.

https://github.com/adriansuter/php-autoload-override
👍4
#mustread

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

https://github.com/mgreiler/code-review-checklist
👍13
#golang #php #docker #kubernetes

Команда Авито ищет крутого бэкенд-разработчика

Наша команда отвечает за подачу объявлений на Авито. Сотни тысяч пользователей ежедневно нажимают кнопку «Разместить объявление», и тот опыт, который они получат в процессе, во многом зависит от результатов работы нашей команды. В продукте нужно учесть интересы разных типов продавцов: одинаково удобно должно быть и крупному бизнесу, ежедневно продающему новые товары на Авито, и обычному человеку, который приходит к нам раз в полгода. Мы хотим, чтобы на Авито было легко разместить любое объявление — от редкого автомобиля до нового телефона. Нам важно, что пользователь может начать подавать объявление в приложении, а продолжить на десктопе.

Одна из метрик нашего продукта — TTA (time-to-add) — время, затраченное на подачу объявления. Улучшая продукт, мы экономим секунды у одного пользователя и десятки тысяч часов у всех продавцов Авито. Приходите к нам, и вашу работу смогут оценить миллионы человек.

С нами вы будете решать сложные технические задачи, заниматься разработкой и поддержкой высоконагруженных (~100k RPM) микросервисов с использованием современных технологий и языков программирования (Golang, PHP 8, Docker, Kubernetes).

Мы ожидаем, что вы:
▪️имеете опыт коммерческой разработки на PHP или Go;
▪️разрабатывали высоконагруженные приложения;
▪️знакомы с шаблонами проектирования и умеете их применять, придерживаетесь принципов SOLID;
▪️знакомы с основными алгоритмами и структурами данных;
▪️умеете писать поддерживаемый и тестируемый код;
▪️способны тщательно планировать и приоритизировать свою работу;
▪️используете в общении убедительные аргументы и конструктивно реагируете на аргументы других.

Не обязательно, но круто если вы:
▪️знаете SQL, работали с реляционными и нереляционными БД;
▪️работали с Docker/Kubernetes;
▪️разрабатывали распределенные сервисы;
▪️умеете работать с командной строкой;
▪️знаете, как оптимизировать приложение и сделать его быстрее.

Что предстоит делать:
▪️разрабатывать высокопроизводительные микросервисы на Go и поддерживать код на PHP;
▪️участвовать в проработке архитектурных решений;
▪️работать в кросс-функциональной команде, в тесном взаимодействии с client-side разработчиками;
▪️участвовать в принятии технических решений и планировании процесса разработки;
▪️быть ответственным за крупную часть проекта, над которой работает несколько инженеров;
▪️сопровождать полный цикл жизни продукта от проработки продуктового решения до деплоя кода на сервера;
▪️участвовать в Code Review.

Работа у нас — это:
▪️возможность реализовать свои идеи в проекте с многомиллионной аудиторией;
▪️команда профессионалов, готовых поддержать ваши инициативы;
▪️помощь с переездом: если вы живёте в другом городе, мы оплатим приезд на интервью и поможем обустроиться в Москве;
▪️красивый и комфортный офис в 2 минутах от метро «Белорусская»: панорамный вид на центр города, места для уединённой работы, зоны отдыха, гамаки и скейтборды. А на время пандемии вы можете работать из дома. Для этого компания предоставляет необходимую технику: ноутбуки, мониторы, модемы;
▪️компенсация расходов на питание;
▪️забота о здоровье: с первого дня работы вы получите страховку со стоматологией, в офисе ведут приём терапевт, психолог и массажист;
▪️прозрачная система бонусов и премий, достойная зарплата — размер обсудим на собеседовании.

Контакты для связи:
▪️Телефон: +7 (931) 367-75-19 (Юлия)
▪️Email: [email protected]
▪️Подробнее: https://www.avito.ru/vacancies/sx-backend/
👍10
#advanced

"Правило трех" при разработке качественного ПО, или когда возникает необходимость избавляться от дублирования.

https://understandlegacycode.com/blog/refactoring-rule-of-three/
👍4
#advanced

Анна Филина продолжает развивать тему репозиториев. На этот раз она рассуждает, можно ли использовать репозитории без ORM.

https://afilina.com/learn/design/repos-without-orms
👎3
#offtop

Какой ваш любимый язык программирования и почему это PHP?
🔥68👍4
Как строить архитектуры приложений, которые позволяют не снижать скорость разработки по мере развития проекта?

💻Освойте основные паттерны проектирования и прокачайте свои навыки архитектора программного обеспечения в режиме живых занятий с опытным разработчиком-практиком.

Старт интенсива «Архитектуры и шаблоны проектирования» уже 3 февраля.

🚀После интенсива вы будете:

– Знать границы применения SOLID принципов и уметь их использовать не только в объектно-ориентированных языках.
– Писать модульные тесты на Mock-объектах.
– Уметь применять IoC контейнеры и CI.

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

Записаться сейчас со скидкой 20% до 21 января здесь.
#junior

Введение в тему внедрения зависимостей для начинающих.

https://afilina.com/learn/design/dependency-injection
👍3
#legacy

Анне Филине достался очередной легаси проект. С некоторыми перлами она поделилась в треде. Например, try..catch блок, который все равно падает с ошибкой, потому что в catch блоке используется переменная из try, которой ещё не присвоено значение. Больше интересных ошибок в треде.

https://twitter.com/afilina/status/1288126813303001094
👍1
#laravel

Релиз минорной версии Laravel с интересными фичами:
- Реализация полнотекстового поиска для MySQL и PostgreSQL;
- Улучшения пагинатора;
- Улучшения контейнера зависимостей.

Больше информации и примеров использования в статье.
👍3🔥2