Как стать автором
Обновить
19
0
Морозов Максим @murzix

Веб-разработчик

Отправить сообщение

Как мы приготовили массу блюд c помощью одного ингредиента: GraphQL

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

Всем привет! Не говорите, что вам нечего приготовить, если у вас дома одна картошка. При смекалке и достаточном количестве специй — пюре, драники, запеканка, чипсы фри... Конечно, мы обсуждаем не кулинарию. Мне хотелось бы поговорить о GraphQL и некоторых фичах, которые мы внедрили у себя в компании, и тиражируем на различные проекты, где используется этот язык запросов.

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

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

Управляем командами на Laravel

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

Chronos for Laravel

Веб-интерфейс для управления командами Laravel в real-time без необходимости лезть в код проекта.

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

Книга «Эволюционная архитектура. Автоматизированное управление программным обеспечением. 2-е межд. изд.»

Время на прочтение19 мин
Количество просмотров3K
image Привет, Хаброжители!

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

«Эта книга знаменует собой важную веху, обозначающую нынешний уровень понимания проблемы. По мере того как люди начинают осознавать роль ПО в XXI веке, информация о том, как реагировать на изменения, сохраняя достигнутое, становится важнейшим навыком в области создания программного обеспечения». — Мартин Фаулер.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии9

Laravel 11. Что нового?

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

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

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

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

Механизмы безопасности в Laravel

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров7.8K

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

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

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

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

Мутации в микросервисах: применяем Temporal

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

Всем привет!
В прошлой статье была поставлена задача о надёжных мутациях и транзакциях в архитектуре Профи, в этой статье разберём один из вариантов решения — применить workflow-engine Temporal.

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

Junior PHP. Ответы на часто задаваемые вопросы на технических собеседованиях

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

Привет пользователям Хабра!

Тема собеседований и подготовки к ним всегда актуальна. Поэтому я подготовил ответы на часто задаваемые вопросы на технических собесах по PHP на уровень Junior. Сразу скажу, что этот список вопросов я взял с другого ресурса, к которому очень часто обращаются собеседующие, которые не хотят утруждать себя сочинением своих вопросов. Но в целом повторить базу перед предстоящим собеседованием будет никому не лишним.

Читать далее
Всего голосов 23: ↑17 и ↓6+11
Комментарии27

Как мы внедряли Sentry. Часть 2 — внедрение в разработку

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

В прошлый раз мы рассматривали внедрение Sentry со стороны эксплуатации: устанавливали на сервер self-hosted, делали его высокодоступным при помощи сети доставки td-agent, настраивали мониторинг.

Теперь рассмотрим процесс внедрения Sentry со стороны команды разработки.

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

Выбор СУБД: шпаргалка, чтобы не запутаться

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

Вопрос выбора СУБД для российской компании или госоргана – вопрос не праздный, тем более сейчас – когда с момента ухода с рынка западных вендоров прошло уже полтора года и пора что-то решать. Но как не запутаться в номенклатуре СУБД и выбрать ту, которая лучше всего подходит? Без ложной скромности скажу: мы в «Кругах Громова» уже немного поднаторели в систематизации, поэтому надеемся, что наша шпаргалка для тех, кто хочет выбрать СУБД, окажется полезной.

Начнем с классики. СУБД делятся на несколько типов. Не будем описывать их подробно, остановимся только на их основном предназначении.

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

Импорт базы ГАР для нормализации собственной адресной базы в Laravel 10. Часть II, пишем консольное приложение

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

В предущей части

Исследование выгрузки базы ГАР


Что в этой части?

Создание консольного приложения Laravel, способного по команде artisan загрузить свежую выгрузку с сервера ГАР, распарсить её, занести данные в таблицы, используя многопоточность, и выдать данные в удобном табличном виде, используя представление базы данных.

Не требует web-сервера и запущенных воркеров Laravel.

Готовое приложение, расположенное на github.com прилагается.

В качестве бонуса: реализация «актуализации» устаревшей, но тем не менее, годной к употреблению информации.

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

Карьера Software Engineering Manager. Эффективное управление командой разработчиков ПО — обзор книги и рекомендации

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

На рынке не так много книг, которые помогают начинающим тимлидам, которые еще вчера писали код и строили архитектуру, понять, как нужно приступать к работе с людьми и строить свое развитие по ветке управления. Это, естественно, две популярные книги: "Мама, я тимлид!  Практические советы по руководству IT-командой" Перескоковой Марины и "Как пасти котов. Наставление для программистов, руководящих другими программистами" Дж. Ханк Рейнвотера.

И вот на свет вышка книга: "Become an Effective Software Engineering Manager: How to Be the Leader Your Development Team Needs", которую Издательство Питер @ph_piter перевело как: "Карьера Software Engineering Manager. Эффективное управление командой разработчиков ПО". Не нужно пугаться позиции "Software Engineering Manager" - это именно что тимлид в понимании рынка РФ. И эта книга по своей сути является такой же отправной точкой в карьере начинающего тимлида, как и две предыдущие, но немного иначе!

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

ИТ-инфраструктура в российских компаниях в 2023 году: импортозамещение, CI/CD, управление инфраструктурой и мониторинг

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

Месяц назад компания «Экспресс 42» вместе с партнерами (одним из которых как раз был «Флант») выпустила подробный отчет на 75 страницах о состоянии DevOps в России. В этой статье мы бы хотели более подробно рассказать, какие инструменты и операционные системы компании используют для работы с инфраструктурой, как меняется их проникновение от года к году, как продвигается импортозамещение и что именно российские компании понимают под этим термином.

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

Как разработать техническую документацию, которая точно будет работать. Часть 2. DocOps в действии

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

Привет! Меня зовут Андрей Гладилин, я работаю в Swordfish Security над составлением технической документации для ИТ-решений. Завершая  предыдущую статью, мы обсудили преимущества и недостатки DocOps-подхода к разработке технической документации и немного поговорили о прикладной реализации этой парадигмы — Doc-as-code.

Позволю себе напомнить, что основная идея DocOps заключается в том, что создание технической документации осуществляется в тесном контакте с разработкой программного продукта и во многом «отзеркаливает» этапы последней — рабочие процессы максимально синхронизируются и объединяются в общую систему, широко применяется автоматизация рутинных операций и упрощается совместная работа, что позволяет повысить общую эффективность процесса.

Теперь перейдем к практической реализации DocOps-решения, которое мы начали обсуждать в первой части статьи.

Что же, начнем!
Всего голосов 8: ↑8 и ↓0+8
Комментарии14

Маст-хэв PHP-инструменты

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

В последние годы PHP динамично развивался с появлением новых версий языка, содержащих ряд новых фич, депрекаций и более строгий синтаксис. Кроме того, библиотеки и фреймворки, такие как Symfony, постоянно претерпевают изменения: каждые полгода появляются новые минорные релизы, а каждые два года - мажорные, наиболее существенные. Для нас в Westwing очень важно регулярно обновлять имеющуюся кодовую базу, чтобы она оставалась работоспособной, безопасной и актуальной. К счастью, в сообществе PHP появилось множество инструментов, способствующих улучшению кодовой базы.

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

Худшие практики разработки и архитектуры

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

Я собрал худшее из худшего! Оказалось, что хороших практик — море, и разбираться в них долго, а вот плохих, реально плохих, — считаные единицы.

Понятно, что плохие практики не отвечают на вопрос: «А как делать-то?» — но они помогают быстро разобраться в том, как не делать.

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

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

Это если команда одна. А если разработчики на пятом проекте новые, то начинается самое весёлое — этот сталактит надо ещё прочитать.

Очень часто я вижу лава-код в проектах аутсорсинговых компаний, потому что они используют свою кодовую базу по разным заказчикам как такой своеобразный иннерсорс. А «междисциплинарный» код как раз хорошо обрастает отключаемыми участками и переопределяемыми функциями.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии28

PHP. Рецепты программирования (2023) — обзор книги и рекомендации

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

В настоящий момент выходит не так много книг по PHP, поэтому я решил прочитать свежее переиздание книги PHP Cookbook от 2023 года, которую в России переводят, как "PHP. Рецепты программирования". Хотелось бы «УЗНАТЬ», что можно написать не про какую-то сферу, где применяется PHP, а именно про сам язык.

Об авторе

Эрик Манн - инженер-программист с опытом почти в два десятилетия. Он создавал масштабируемые проекты для стартапов на ранней стадии и для компаний из списка Fortune 500. Эрик часто рассказывает о архитектуре программного обеспечения, технике безопасности и передовом опыте разработки. Он регулярно уже более пяти лет пишет статьи в журнале php[architect], и больше всего ему нравится помогать новым разработчикам избегать многих ошибок, которые он совершил в своей карьере программиста.

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

Расследование инцидента по утечке данных сайта www.infotecs.ru

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

Всем привет! Сегодня мы расскажем об инциденте, связанном с утечкой данных CMS «1С-Битрикс: Управление сайтом» сайта www.infotecs.ru и о том, как проводилось расследование.

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

Затаскиваем sqlite в облачный Битрикс24

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

Для каких целей? На момент возникновения идеи было еще не совсем понятно. Но предпосылки развития идеи были.

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

Массовый дефейс веб-сайтов .РФ

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

26 мая 2023 года произошёл массовый дефейс веб-серверов национального сегмента сети интернет .РФ. В качестве цели атаки выступила CMS «Битрикс».

В ходе расследования выяснилось, что атака подготовлена заранее. Подготовка велась с 2022 года через известные уязвимости, включая CVE-2022-27228. Техническое описание см. на форуме разработчиков. Возможно, это самая крупная атака против национального сегмента .РФ в его истории.

Компания CyberOK выпустила отчёт c описанием атаки и разъяснением необходимых действий для того, чтобы удалить с сервера бэкдор, устранить уязвимости «Битрикса» и восстановить приложение. Также приведены рекомендации по защите веб-приложения.
Читать дальше →
Всего голосов 83: ↑77 и ↓6+71
Комментарии102

Быстрый старт работы со Смарт-процессами в коробке Битрикс24 для разработчика. Часть 1. Базовые операции

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.1K
Представляю вашему вниманию цикл статей по работе с пока еще мало знакомым многим битрикс-разработчикам инструментом оперирования данными с CRM Битрикс24 через абстрактные фабрики. В первой статье рассмотрим базовые операции с элементами сущностей CRM — создание, изменение, удаление.

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

Информация

В рейтинге
5 108-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность