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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍2
Как протестировать все маршруты в вашем приложении Laravel, написав всего один тест Pest

Здесь рассказывается о новом пакете для тестирования маршрутов в приложениях Laravel, который называется spatie/pest-plugin-route-testing. Этот пакет позволяет разработчикам протестировать все простые маршруты (например, страницы с GET-запросами) в приложении с помощью одного теста. Это помогает убедиться, что все простые страницы приложения корректно работают, и минимизировать возможность забыть добавить тест для новой страницы.
👍7🤔2
Опрос

Мы хотим провести большой розыгрыш и подарить победителю смартфон на выбор. Помимо iPhone, предлагаем вам выбрать, какой ещё смартфон вы бы хотели видеть среди призов.
🤩3👍1
Статья поднимает вопросы о сложностях конфигурации в Laravel, критикует существующие подходы и предлагает альтернативные решения. Автор считает, что текущая система может быть слишком громоздкой и требует упрощения, чтобы разработчики могли легче настраивать приложения.
👍1
💬 А у вас есть платные подписки? Сколько сервисов в месяц оплачиваете?

👍 — один
❤️ — два/три
🔥 — больше трёх

👇Расскажите в комментариях, что это за сервисы👇
🔥5540👍18
👨‍💻 Подборка шпаргалок по работе с Git: на заметку разработчику
👍8
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры

В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.

Читать статью

#почитать
👍4👏1😁1
Git Notes

Здесь рассказано о том, как можно использовать малозаметную, но полезную функцию Git — Git Notes — для добавления дополнительной информации к коммитам после их создания. В отличие от стандартных коммитов, которые создают новые объекты при изменении данных (например, при изменении сообщения коммита), Git Notes позволяют прикрепить к существующему коммиту дополнительную информацию, не меняя его.

Git Notes позволяют добавить различные заметки к коммиту с помощью команды git notes add. Эти заметки хранятся в отдельной ветке notes/commits и могут быть сгруппированы по категориям через флаг --ref. Например, можно создать разные типы заметок для одного и того же коммита — заметки, связанные с проверкой качества или тестированием кода.

Функционал Git Notes особенно полезен в таких случаях, как хранение обсуждений и комментариев к pull request'ам (PR). В проекте Symfony используют специальный инструмент для объединения веток, который автоматически сохраняет комментарии из GitHub в виде заметок Git Notes. Эти комментарии прикрепляются к коммитам, что позволяет отслеживать обсуждения даже после смены платформы или удаления исходного PR. Таким образом, при необходимости можно получить доступ к обсуждению, сохранив его вместе с кодом.

Для того чтобы просмотреть или извлечь эти заметки, можно использовать команду git log --notes или настраивать git fetch, чтобы автоматически загружать заметки с сервера.
👍121
Что такое Path Traversal?

Path Traversal в PHP — это уязвимость безопасности, при которой злоумышленник может попытаться получить доступ к файлам или директориям за пределами предназначенной области. Это может произойти, если приложение неправильно обрабатывает пользовательский ввод в пути файлов.

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

Для предотвращения атак Path Traversal важно правильно обрабатывать и валидировать пользовательский ввод, особенно при работе с файловой системой. Рекомендуется использовать абсолютные пути и проверять, что запрошенные ресурсы находятся в пределах ожидаемой области файловой структуры. Также полезно ограничивать права доступа к файлам и директориям на сервере.

#вопросы_с_собеседований
👍5🥱31😁1
Выбор библиотеки PHP на основе производительности

Здесь обсуждается выбор библиотек для распознавания веб-сканеров (краулеров) в PHP с акцентом на их производительность в приложении Shopware. Рассматриваются три варианта: встроенная функция PHP get_browser, а также специализированные библиотеки jaybizzle/crawler-detect и matomo/device-detector.

Для тестирования скорости этих решений был написан код, который проверяет около 2700 пользовательских агентов. Инструмент профилирования Tideways помог определить производительность каждой библиотеки. Результаты показали, что функция get_browser работает значительно медленнее, чем сторонние библиотеки, и не подходит для реальных запросов.

Обе специализированные библиотеки показали схожую производительность с разницей в 12%: crawler-detect выполнилась за 767 мс, а device-detector — за 685 мс. Однако, при тестировании на одиночных запросах (один HTTP-заголовок), matomo/device-detector оказалась в 10 раз медленнее из-за инициализации регулярных выражений, что добавляет около 18 мс к каждому запросу. В то же время jaybizzle/crawler-detect генерирует регулярные выражения на этапе сборки, что позволяет обрабатывать запросы быстрее.

В итоге, для задачи определения краулера по одному запросу лучше подходит библиотека jaybizzle/crawler-detect с задержкой в 2 мс. matomo/device-detector, несмотря на её относительную медлительность в данном случае, может быть полезной для анализа большого количества запросов в фоновом режиме, где скорость работы с одиночными запросами не столь критична.
👍4🥰1🌚1
19 важных советов по оптимизации производительности Laravel

В этой статье рассмотрятся 19 советов, которые могут значительно повысить производительность вашего приложения Laravel
🥱5🌚4👍2
#дайджест #phpdevjob

Вакансии PHP разработчиков уровня Junior

▪️Backend разработчик
Москва. Д-проджект — веб разработка и сопровождение
Подробнее

▪️PHP-программист
Новосибирск. Intelsib — поисковое продвижение, контекстная реклама
Подробнее

Вакансии PHP разработчиков уровня Middle

▪️Fullstack разработчик
Казань. Майхит — управление отопительными котлами и инженерным оборудованием
Подробнее

▪️PHP developer
Удаленка. ТВИЛ СОФТ — разработка ПО
Подробнее

Вакансии PHP разработчиков уровня Senior

▪️PHP-developer
Екатеринбург. МЕДИАТЕН — разработка ПО
Подробнее

▪️Web-программист
Москва. Элитс — интернет-бутик брендовой одежды
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
🤔3👍21🎉1