Как стать автором
Обновить
27.46

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга
Уровень сложности

Наблюдаем за домом через Telegram

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров23K

или отправляем в Телеграм фото и видео событий с IP видеорегистратора NetSurveillance - очередной Telegram-бот для домашнего видеонаблюдения

Ещё в 2021 году для пассивной охраны загородного дома, я приобрёл и установил китайский IP видеорегистратор (NVR - Network Video Recorder).

Читать далее
Всего голосов 14: ↑14.5 и ↓-0.5+15
Комментарии23

Новости

Участие в премиях: с чем сталкиваются новички. Основано на опыте моей компании

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров927

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

Читать далее
Всего голосов 11: ↑3 и ↓8-5
Комментарии3

Самые интересные задачи для безопасников — Джабба одобряет

Время на прочтение5 мин
Количество просмотров4.8K

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

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

Что нового в joomla 5.1?

Время на прочтение8 мин
Количество просмотров2.1K

16 апреля 2024 года вышли релизы Joomla 5.1 и Joomla 4.4.4. Если Joomla 4.x уже находится в режиме поддержки и получает только "заплатки", то в каждом выпуске Joomla 5.x появляется что-то новое. Краткий список был опубликован в недавней новости. Давайте посмотрим подробнее на то что же именно появилось в Joomla 5.1.

Читать далее
Всего голосов 8: ↑10 и ↓-2+12
Комментарии3

Истории

PHP и Laravel дайджест новостей за март 2024 года

Время на прочтение6 мин
Количество просмотров4.4K

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

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии0

Добавление полей Joomla в результаты Умного Поиска при помощи JFilters

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров367

Страница результатов Умного Поиска позволяет нам отображать некоторые поля (изображение, категорию, дату и т. д.), но не пользовательские поля. Поскольку поля Joomla предоставляют очень гибкий способ добавления дополнительных свойств к нашему контенту, их отображение в результатах поиска может сделать результаты более значимыми.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии1

Почему FilamentPHP — это хорошее решение для создания CMS

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.1K

Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь подробно объясню, почему это так.

Читать далее
Всего голосов 15: ↑10 и ↓5+5
Комментарии28

Настраиваем Windows WSL для локальной разработки Laravel

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.3K

В этой небольшой статье я очень сжато расскажу, как правильно настроить WSL в Windows 11 для локальной разработки Laravel-приложения. Мы собираемся установить php, mysql, nginx и composer, а также отредактировать файл hosts в самом Windows. Заранее прошу не гневаться на меня поклонников Docker, здесь я рассказываю именно про WSL.

Итак, без лишних промедлений, приступим. И начнем с того, что, как мы предполагаем, у нас есть Windows и всё. Если WSL уже установлен, львиную часть статьи можно пропустить.

Убедитесь в том, что ваша версия Windows совместима с WSL.

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Комментарии24

Разработка автоматизированной очереди для сдачи лабораторных работ

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.3K

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

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

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

Читать далее
Всего голосов 6: ↑3.5 и ↓2.5+1
Комментарии13

Подводные камни при разработке мобильного приложения на Bitrix REST API

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.1K

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

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

Читать далее
Всего голосов 5: ↑4.5 и ↓0.5+4
Комментарии9

LayerSlider WordPress CVE-2024-2879

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.4K

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

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

Читать далее
Всего голосов 9: ↑6 и ↓3+3
Комментарии2

Используем поля Joomla для фильтрации материалов

Время на прочтение3 мин
Количество просмотров578

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

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)

Время на прочтение7 мин
Количество просмотров37K

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

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

Читать далее
Всего голосов 173: ↑169 и ↓4+165
Комментарии174

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

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

Время на прочтение9 мин
Количество просмотров4.2K

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

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

Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии16

PHP и Laravel дайджест новостей за февраль 2024 года

Время на прочтение5 мин
Количество просмотров4.3K

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Система уведомлений в ресурсах Laravel

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.5K

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

Магический API Resource в Laravel

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.2K

В Laravel есть удобные API ресурсы, с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в соответствии с бизнес-потребностями? Разберёмся вместе!

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Комментарии7

Анемичная модель предметной области и логика в сервисах

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров4.1K

Анемичная модель предметной области (Anemic domain model) это такая модель, где сущности содержат только свойства, а бизнес-логика находится в сервисах. Ее противоположность это богатая модель предметной области (Rich domain model), где логика находится в сущностях, а cервиcы рекомендуют писать только в редких случаях.

В этой статье я хочу показать, почему логика в сервисах является более правильным подходом. Мы рассмотрим пример бизнес-требований и их реализацию с Anemic domain model.

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии133

Как я обновлял свой проект на Laravel c 10-й версии на 11-ю

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4K

Сегодня, 12 марта 2024, года официально вышла Laravel 11. И все те, кто хочет обновится - добро пожаловать под кат!

Читать далее
Всего голосов 15: ↑10 и ↓5+5
Комментарии4

WordPress: разбор уязвимости в Discount Rules for WooCommerce

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.4K

Добрый день, уважаемые читатели! Сегодня мы разберем одну старую уязвимость в плагине Discount Rules for WooCommerce < 2.2.0 для WordPress.

WooCommerce - это плагин для создания онлайн-магазина на движке WordPress, а WooCommerce Discout Rules - дополнение для WooCommerсe для предоставления и управления скидками на товары.

Суть уязвимости заключается в возможности использовать некоторые методы плагина через admin-ajax.php, которые позволяют перечислять товары, пользователей, а самое главное - сделать товар бесплатным посредством добавления правила на скидку.

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии6
1
23 ...