Отправляет email-рассылки с помощью сервиса Sendsay

RSS-канал «Все статьи подряд / PHP / Хабр»

Доступ к архиву новостей RSS-канала возможен только после подписки.

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

   

Подписаться на другой RSS-канал, зная только его адрес или адрес сайта.

Код формы подписки на этот канал для вашего сайта:

Форма для любого другого канала

Последние новости

Участие в премиях: с чем сталкиваются новички. Основано на опыте моей компании
2024-04-25 21:10 PHPDevOrg

В 2024 году мы приняли решение выйти на арену отраслевых премий, связанных с разработкой сайтов. Мы отобрали мероприятия, соответствующие нашей специфике и времени проведения. В период с зимы по весну нам удалось захватить три премии: Workspace, Ruward и Золотой сайт.

Читать далее

Самые интересные задачи для безопасников — Джабба одобряет
2024-04-24 11:52 is113 (Selectel)


Мы решили не один CTF-турнир. За плечами остались KnightCTF, 0xL4ugh и DiceCTF. Найти по-настоящему интересные и сложные задачи все труднее, поэтому будем смотреть в оба глаза и следить за несколькими мероприятиями одновременно.

На этот раз — порешаем задачи сразу двух CTF-турниров: Space Heroes и ThCon 2024. Уже интересно, что подготовили безопасники из США и Франции? Тогда добро пожаловать! Читать дальше →

Разработка автоматизированной очереди для сдачи лабораторных работ
2024-04-09 16:06 samokhvaloff

Учеба в политехе заключается в сдаче лабораторных работ. Буквально. Очень редко бывает такое, что на парах мы чему-то учимся, зачастую все завязано на самообучении. Грубо говоря, вот вам методичка, разбирайтесь сами, через неделю дедлайн.

В связи с этим мы столкнулись с очередями на сдачу этих лабораторных. Сначала просто писали в общий чат, кто каким будет в очереди (например, "я первый", "я вторая", "я третий" и т.д.). Далее решили создать расшаренную таблицу в гугле для формирования очередей. Однако долго она тоже не прожила, так как со временем появились "умники", которые стали ставить себя первыми в очереди, сдвигая остальных вниз. Потом общий доступ для таблицы закрыли, и было принято решение для записи на сдачу писать старосте, он, в свою очередь, будет добавлять студентов в список. Но староста группы не может быть постоянно на связи, иными словами, оперативно добавиться в очередь было просто невозможно.

В связи с этим я задумался над созданием автоматизированной очереди. В качестве стека основных технологий выбрал HTML5+CSS3 для фронтенда, PHP для бэкенда. В качестве СУБД был выбран phpMyAdmin (SQL-DB). В первую очередь, конечно, необходимо было продумать структуру базы данных. Предметная область информационной системы уже была сформулирована: "Очередь на сдачу лабораторных работ с возможностью записи по отдельным дисциплинам, удаления своей записи. Учет истории создания записи, удаления записей, включая время записи. Возможность смены пароля, просмотра профиля." Даталогическая модель БД была построена в MySQL Workbench 8.0 CE в нотации IDEF1X.

Читать далее

Подводные камни при разработке мобильного приложения на Bitrix REST API
2024-04-09 12:18 m_a_l_o_i_2_0_1_2

Меня зовут Андрей Буйновский, я разработчик в ИТ-компании. Мы с командой решили написать эту статью и поделиться некоторыми проблемами, подводными камнями и их решениями в разработке мобильного приложения для одного нашего заказчика из ритейла. 

Мы разработали интернет-магазин для крупной торговой сети. После запуска интернет-магазина, мы перешли к развитию проекта, в рамках которого появилась задача по созданию дополнительного канала по взаимодействию с покупателями. Вопрос о выборе API для бэкэнда не стоял, так как интернет-магазин был разработан на платформе 1С-Битрикс, система имеет необходимый функционал для работы с альтернативным фронтом и мобильным приложением. Перед нашей командой стояла задача разработать мобильное приложение на основе Bitrix REST API для платформ iOS и Android с сохранением функционала действующего интернет-магазин заказчика. Это означало необходимость использования компонентов, уже реализованных для интернет-магазина, копирования их с целью сохранения логики, удаления верстки и использования возвращаемых данных.

Читать далее

LayerSlider WordPress CVE-2024-2879
2024-04-06 14:15 Alc0r

WordPress - самый популярный CMS для создания сайтов. Поэтому появление уязвимостей в различных плагинах затрагивает множество пользователей по всему миру. Усугубляет общую картину и тот факт, что во многих плагинах отсутствует автоматическое обновление версий. Не исключением стал и плагин LayerSlider в котором была найдена уязвимость типа SQL-injection, получившая идентификатор CVE-2024-2879 и балл CVSS равный 9,8 (критический).

Давайте вместе с вами более детально рассмотрим данную уязвимость в нашей статье и покажем ее эксплуатацию.

Читать далее

Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)
2024-03-26 11:19 olegsklyarov (Skyeng)

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

Все упало из-за ошибки в процессе деплоя, которая связана с тонкостью PostgreSQL. К сожалению, на этом моменте у нас прокололась не одна команда. И чтобы такое больше не произошло ни у нас, ни в другой компании — велкам под кат.

Читать далее

Исследование: какую долю занимает Joomla среди ru-сайтов в 2024 году?
2024-03-23 17:20 sergeytolkachyov

В процессе работы как с самой Joomla, так и вместе с Joomla-сообществом периодически возникали вопросы о том "какую долю рынка CMS" занимает Joomla, каким общедоступным цифрам можно доверять и насколько они точны. Также, кроме уточнения самой доли рынка хотелось получить статистику по используемым версиям Joomla.

Ну и весомым фактором было желание попробовать сделать с Joomla что-то новое, выходящее за рамки обычной рабочей рутины - сделать собственное исследование ��

Читать далее

PHP и Laravel дайджест новостей за февраль 2024 года
2024-03-22 19:54 Cutcode

Всем привет! Краткий обзор новостей из мира PHP и Laravel за январь 2024 года от Сергея Пантелеева и Данила Щуцкого (CutCode).

Читать далее

Система уведомлений в ресурсах Laravel
2024-03-21 11:00 Helldar

В предыдущей статье по работе с API ресурсами в Laravel была затронута тема изменения бизнес-потребностей в области формирования внешнего вида объекта ответа на запрос к API приложения.

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

Читать далее

Паттерн Aggregate Outside
2024-03-09 15:00 mike_shapovalov

Руслан Гнатовский aka @Number55 в свой статье Когда ни туда, ни сюда, или в поисках оптимальной границы Domain слоя описал известную проблему протекания бизнес-логики из агрегата, в случае если эта логика зависит от данных которые находятся вне агрегата, и предложил несколько решений этой проблемы, каждое из которых не лишено недостатков. Многие из этих недостатков были описаны в статье а также в комментариях поэтому я не буду здесь дублировать эту информацию а попытаюсь предложить решение которое этих недостатков лишено.

Читать далее

[Перевод] Joomla на FOSDEM 2024: запуск Альянса открытых веб-сайтов
2024-03-08 09:05 Sulpher

FOSDEM 2024 - масштабная конференция разработчиков ПО с открытым исходным кодом, насчитывающая тысячи участников и более шестидесяти конференц-залов. Президент Joomla Crystal Dionysopoulos присутствовала на этом мероприятии. Представители популярных платформ Joomla, Drupal, WordPress и Typo3 объединили усилия и запустили Альянс открытых веб-сайтов.

Читать далее

Превращение событий PostgreSQL в события Laravel
2024-03-05 22:49 2medic

В прошлый раз я описал, как можно поставить задачу (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL.

В этой статье я расскажу, как можно преобразовать события, возникающие в PostgreSQL, в события Laravel.

Рабочий пример выложен на GitHub.

Читать далее

[Перевод] Laravel 11. Что нового?
2024-02-21 11:02 snowmage

Скоро Тейлор и его команда выпустят новую мажорную версию фреймворка. Расскажу, что на данный момент известно о ней.

Laravel 11 продолжает улучшения, начатые в Laravel 10.x, представляя упрощенную структуры приложения, посекундные ограничения скорости, маршруты проверки здоровья приложения, изящную ротацию ключа шифрования, улучшения тестирования очередей, почтовый транспорт Resend, интеграцию валидатора Prompt, новые команды Artisan и многое другое. Кроме того, был представлен Laravel Reverb — масштабируемый WebSocket-сервер обеспечивающий надежную работу в режиме реального времени.

Читать далее

Модификация JSON респонсов в Laravel
2024-02-20 11:00 Helldar

Вчера я опубликовал перевод статьи на тему оптимизации использования респонсов в Laravel с "простейшими" данными. То есть когда в ответ нужно отдать какое-то число, строку, массив или объект. Но что делать если приложение построено на использовании Json Resource? Или ещё больше - нужно изменить уровень вложенности данных, возвращаемых коллекцией? Давайте разбираться!

Читать далее

Как ошибки проектирования при разработке на Symfony могут привести к перерасходу ресурсов и замедлению работы системы
2024-02-20 10:02 angelrsa

Сегодня хочу рассказать о том, какие ошибки можно допустить на начальном этапе создания e-commerce проекта в проектировании модели данных и в разработке веб-приложения. И, самое главное, как эти ошибки исправить: снизить потребление памяти в 1000 раз и кратно уменьшить нагрузку на дисковую систему. Кейс основан на реальных событиях, однако без упоминания компаний в связи с политикой конфиденциальности и профессиональной этикой.

Читать далее

Как я писал свою библиотеку для работы с Telegram
2024-02-19 15:46 madmages (Kokoc Group)

В далекий 2019 год, когда про ковид никто не слышал и других жестей еще не было на горизонте, я читал очередную статью как “правильно” писать очередного бота на телеграм. И в очередной раз у меня крутилась мысль: че код так паршиво выглядит то? Где-то в то время телеграм еще был на хайпе, я упражнялся в ботописании, каждый второй выходец из онлайн школы программирования пытался объяснить окружающим как писать боты на телеграм. Глядя на это все, возник вопрос: а как оно должно выглядеть, чтоб мне понравилось ? Дальше речь пойдет про субъективщину и избавление от фатального недостатка. А я Саша, на тот момент был php разработчиком, а сейчас дожил до лида в Kokoc group.

Читать далее

Настраиваем минимальный WEB-сервер на Repka Pi 3. NGINX + PHP-FPM + MySQL и ставим Wordpress
2024-02-18 09:00 RyabovA

В этой статье я расскажу как установить на Repka Pi 3 полноценный WEB сервер на Nginx с php-fpm и MySQL для того, чтоб в конечном счете установить WordPress и начать делать и размещать Ваш сайт на данной платформе. Ставить будем на родную ОС Repka Pi от 11.12.23 (последняя актуальна прошивка на момент написания статьи).

Читать далее

Улучшение кода без споров и цитирования известных практик
2024-02-17 15:34 zavodnoyapl

Не секрет, что при формировании новой команды руководители (Team Leader, Tech Leader) сталкиваются с проблемой формирования единого стиля написания программ, так как все члены команды новые, и у каждого из них свой подход к организации кода и выбору используемой практики. Как правило, в большинстве случаев это приводит к длинным диспутам на ревью, которые в итоге перетекают в различные толкования известных практик, таких как SOLID, KISS, DRY, и т.д. Принципы использования этих практик довольно размыты и, при должном упорстве, легко найти парадокс, когда одна из них противоречит другой. Например, рассмотрим Single Responsibility и DRY.

Одна из вариаций определения принципа единой ответственности (Single Responsibility - буква S из аббревиатуры SOLID) гласит, что каждый объект должен иметь одну ответственность, и эта ответственность должна быть полностью инкапсулирована в класс. Принцип DRY (Don’t repeat yourself) предлагает избегать дублирования в коде. Однако, если у нас в коде есть один набор данных (DTO), который может использоваться в разных слоях/сервисах/модулях, какому из этих принципов нам следовать? Безусловно, во многих книгах по программированию разбираются похожие ситуации, как правило, в них говорится, что если речь идет о разных объектах/функциях с одинаковым набором свойств и логики, но принадлежащим разным доменным областям, то дублированием это не является. Но как доказать что эти объекты ДОЛЖНЫ принадлежать разным доменным областям, и, главное, готов (и уверен ли в своих силах) руководитель доказывать это утверждение?

Читать далее

[Перевод] Механизмы безопасности в Laravel
2024-02-17 10:27 EvgeniiGrinko

Комплексный обзор множества безопасных функций Laravel, которые могут помочь вам предотвратить болезненные ошибки.

Мы рассмотрим следующие механизмы безопасности:

Предотвращение N+1
Защита от частично гидрированных моделей
Опечатки атрибутов и переименованные столбцы
Защита от массового присвоения
Строгость модели
Принудительное выполнение полиморфного сопоставления
Мониторинг долгосрочных событий

Читать далее

Отладка отправки почты на окружении BitrixEnv 7.5.5 с помощью MailCatcher
2024-02-15 13:14 MatasDragonV

Практически у каждого разработчика на Битрикс при переходе с уровня "сайт из 5 страничек" на уровень "крупный проект с 10к+ пользователями" возникает потребность производить отладку отправки почты, но при этом чтобы фактически пользователи эту почту не получали. Так как случайная отправка отладочного сообщения пользователям сайта из 5 страничек, которых как обычно 5-6 человек, как правило ощутимых репутационных издержек не несет, что нельзя сказать о крупном проекте с большой пользовательской базой. Когда задачи не связаны с почтовой подсистемой, многие разработчики как правило просто отключают отправку исходящей почты на своем dev окружении, также как то давно я выходил из этой ситуации переконфигурированием почтового сервера для безусловной отправки всех писем на определенный ящик. Не совсем удобное, даже "костыльное" решение на мой взгляд, так как в приходящих сообщениях получаем измененный заголовок получателя и проверить правильность в полной мере по сути невозможно, только с точки зрения контента отправляемого письма.

Недавно я начал искать, какие решения есть сейчас для отладки отправки почты без ее фактической отправки, при этом решение должно ставиться локально на сервер, так как большинство проектов у меня связаны с разработкой порталов на Битрикс24 Энтерпрайз, поэтому за использование внешних сервисов можно получить очень большой "нагоняй" от службы ИБ заказчиков. Если же вам больше подходит онлайн-сервис, который не нужно как-то устанавливать, а просто прописать в настройках msmtp окружения - можете посмотреть в сторону DebugMail, MailSlurp, TestMail. Их "гуглится" масса, можно выбрать на свой вкус, по функционалу, цене, длине шерсти и хвоста :) Единственный недостаток - сервисы в большинстве иностранные, поэтому платную версию из России будет купить проблематично.

Читать далее