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

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

Правительство Москвы открыло доступ к библиотеке разработок с открытым кодом Mos.Hub (МосХаб) — аналогу GitHub и GitLab

Время на прочтение 3 мин
Количество просмотров 27K
Информационная безопасность *Open source *Git *GitHub *Облачные сервисы *

30 мая 2023 года правительство Москвы открыло доступ всем пользователям к библиотеке разработок с открытым кодом Mos.Hub (МосХаб) — аналогу GitHub и GitLab.

Читать далее
Всего голосов 42: ↑34 и ↓8 +26
Комментарии 231

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

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

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

GitLab Flow

Время на прочтение 15 мин
Количество просмотров 94K
Блог компании Softmart Git *Системы управления версиями *
Перевод

Это перевод достаточно важной статьи про GitLab Flow, альтернативе Git flow и GitHub flow. Статья была написана в 2014, так что скриншоты успели устареть. Тем не менее сама статья более чем актуальна:




Ветвление и слияние веток в git устроено гораздо проще, чем в более ранних системах контроля версий, таких как SVN. Поэтому есть много способов организации командной работы над кодом, и большинство из них достаточно хороши. По крайней мере, они дают много преимуществ по сравнению с тем, что было до git. Но сам по себе git — не серебряная пуля, и во многих командах организация рабочего процесса с git имеет ряд проблем:


  • Не описан точным образом весь рабочий процесс,
  • Вносится ненужная сложность,
  • Нет связи с трекером задач (issue tracker).

Мы хотим представить вам GitLab flow — чётко определённый набор практик, решающий эти проблемы. Он объединяет в одну систему:



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

Сахар для слоненка — быстрый старт c PostgreSQL для команд в НЛМК

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 6.5K
Блог компании Группа НЛМК PostgreSQL *DevOps *
Туториал

На протяжении более чем 10 лет работы с PostgreSQL, периодически наблюдаю, как команды на начальном этапе, зачастую, не уделяют внимание ролевой модели базы, или как вся команда работает под суперпользователем postgres и забывает про версионирование схемы.

В процессе общения с различными командами в НЛМК у меня появилась идея предложить им «преднастроенный PostgreSQL». Как в итоге сделали — под катом.

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

Как разминировать свой код на PHP (и не только)?

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 3.5K
Блог компании Конференции Олега Бунина (Онтико) Блог компании Angara Security Информационная безопасность *PHP *

«Мины» в исходном коде — это не только уязвимости, но и прочие дефекты безопасности, которые так или иначе ухудшают качество софта. Какими путями «минируется» ваш код и какие типы «мин» наиболее актуальные? Поговорим об этом в контексте веб-программирования и PHP.

О «минах» в коде расскажет Илья Поляков, руководитель отдела анализа кода Angara Security. Илья поделится какими инструментами разминировать код и какие уязвимости и дефекты безопасности можно найти максимально быстро и дешево.

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

Докеризируем Symfony

Время на прочтение 9 мин
Количество просмотров 4K
Блог компании OTUS PHP *Symfony *
Перевод

В этом руководстве я покажу вам, как настроить полноценную локальную среду с Nginx, MySql и Symfony всего за несколько минут. Более того, файл, о котором здесь пойдет речь, я сам использую для каждого проекта, над которым я начинаю работать.

Начнем же с простого вопроса: сколько времени занимает создание сайта?

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

Двухуровневый CI-процесс PHP-проекта

Время на прочтение 5 мин
Количество просмотров 2.8K
PHP *Git *
Кейс

Непрерывная интеграция (CI, англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Целей у непрерывной интеграции две:

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

Импорт полной базы ФИАС за 9 часов, How To

Время на прочтение 12 мин
Количество просмотров 4.6K
PHP *PostgreSQL *
Обзор
Recovery mode

Год назад ФНС прекратила выкладывать базу ФИАС в формате DBF, теперь база доступна только в формате XML. Данные из DBF можно было вставлять в базу как есть, с XML так не получается, перед вставкой в базу, XML надо парсить, и это занимает время. Полная база ФИАС занимает 290 GB, парсинг такого объёма занимает значительное время.

Это время можно сократить, если парсинг распараллелить. Для этого надо разделить файлы на группы и каждую группу обрабатывать отдельно, но одновременно (процессоры давно многоядерные, надо не забывать этим пользоваться). Кроме того, конечно, надо использовать потоковый парсер, что бы не ждать полной загрузки файла в оперативную память.

Я разработал несколько скриптов для создания и импорта базы. Эта статья будет о том как с помощью этих скриптов развернуть базу ФИАС за 9 часов на 6-ти ядерном процессоре.

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

PHPStorm + XDebug + Docker

Время на прочтение 3 мин
Количество просмотров 10K
Разработка веб-сайтов *PHP *Отладка *
Туториал

Ещё одна статья на избитую тему? Да! Потому что за два часа поиска не нашёл ни одной, по которой можно было пройтись от и до и получить работающее окружение.

Шагов, на самом деле, немного, все очень простые, нужно лишь...

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

В очередь, ...! Как управлять состоянием системы через события

Время на прочтение 11 мин
Количество просмотров 6.2K
PHP *Программирование *Анализ и проектирование систем *Проектирование и рефакторинг *

Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через события Компонент А -> Событие А -> Компонент Б и зачем это нужно?

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

Docker + Laravel = ❤

Время на прочтение 10 мин
Количество просмотров 74K
PHP *Laravel *Системы сборки *

laravel-in-docker


Эта статья использует устаревший и не самый рациональный подход, на данный момент не могу его рекомендовать к использованию. Рекомендую к прочтению следующую статью.

В данной статье я расскажу о своём опыте "заворачивания" Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статические анализаторы кода, phpunit-тесты, производить сборку образов.


"А в чём, собственно, сложность?" — можешь сказать ты, и будешь отчасти прав. Дело в том, что этой теме посвящено довольно много обсуждений в русскоязычных и англоязычных комьюнити, и почти все изученные треды я бы условно разделил на следующие категории:


  • "Использую докер для локальной разработки. Ставлю laradock и беды не знаю". Круто, но как обстоят дела с автоматизацией и запуском на production?
  • "Собираю один контейнер (монолит) на базе fedora:latest (~230 Mb), ставлю в него все сервисы (nginx, бд, кэш, etc), запускаю всё супервизором внутри". Тоже отлично, прост в запуске, но как на счёт идеологии "один контейнер — один процесс"? Как обстоят дела с балансировкой и управлением процессами? Как же размер образа?
  • "Вот вам куски конфигов, приправляем выдержками из sh-скриптов, добавим магических env-значений, пользуйтесь". Спасибо, но как же на счёт хотя бы одного живого примера, который я бы мог форкнуть и полноценно поиграться?

Для нетерпеливых — ссылка на репозиторий, склонировав который ты сможешь запустить Laravel-приложение одной командой. Так же не составит труда его запустить на том же rancher, правильно "слинковав" контейнеры, или использовать продуктовый вариант docker-compose.yml как отправную точку.
Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 23

2.6 миллиона доменов и ~45 000 открытых Phpinfo() спустя… История о незащищенном Phpinfo()

Время на прочтение 4 мин
Количество просмотров 3.7K
Блог компании OTUS PHP *Программирование *
Перевод

После сканирования 2.6 миллионов доменов на наличие открытых .git каталогов (ссылка на статью), .env (ссылка на статью) и .DS_Store (ссылка на статью) файлов я проделал такое же сканирование для phpinfo-файлов, таких как info.php или phpinfo.php.

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

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

Tutorial по обмену с 1С. Часть четвертая: Обмен через промежуточную базу данных

Время на прочтение 5 мин
Количество просмотров 2.1K
Блог компании ИНТЕРВОЛГА Анализ и проектирование систем *1С-Битрикс *Управление e-commerce * *
Туториал

В 2022 году на долю маркетплейсов приходится более 65% рынка онлайн-продаж в секторе B2C. На сегодняшний день площадки занимают основную долю рынка электронной коммерции, и их популярность растет с каждым днём.

Тренд последних лет  — маркетплейсы. 70% россиян хотя бы раз в месяц приобретают товары на площадках.

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

В статье мы рассмотрим, какие преимущества есть у современного асинхронного обмена над типовым, какие могут быть сложности при реализации, какие есть риски.

Читать далее
Рейтинг 0
Комментарии 7

Как мы интегрировали и настроили для работы Conventional Commits в PHPStorm

Время на прочтение 3 мин
Количество просмотров 1.9K
PHP *Git *Системы управления версиями *Управление проектами *

Поднялся вопрос стандартизации коммитов в команде. До этого были такие правила, мы пишем номер задачи и через тире описание того, что было сделано кратко. Номер задачи берется из номера issue. Например: #1 - реализован функционал сборки прода. Но, это надоело и стало как-то неудобно, когда у нас есть четкое деление задач на фиксы, фичи и так далее.

Нашли Conventional Commits и попробовали его на тестовом репозитории, понравилось. Решили внедрить это в команду, но столкнулись с тем, что люди не всегда делают коммиты правильно, а значит нужна какая-то валидация.

В нашей команде принято по максимуму IDE и его возможности. То есть, коммиты мы делаем не через консоль, а через встроенные утилиты. Поэтому, сразу пошли искать плагины, которые есть в PHPStorm и нашли вот эти 2 важных плагина: Conventional Commit и Git Commit Template. После их установки видим новые кнопки в окне коммита:

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

Сравниваем инструменты мониторинга IT-инфраструктуры Zabbix, Icinga, Prometheus

Время на прочтение 10 мин
Количество просмотров 9.4K
Блог компании Serverspace Системное администрирование *IT-инфраструктура *Серверное администрирование *Визуализация данных *

Инструменты мониторинга IT-инфраструктуры позволяют полностью отслеживать ее состояние: собирать данные, анализировать и визуализировать их, оповещать о сбоях и т.д. В этой статье рассмотрим платформы Zabbix, Icinga и Prometheus. Разберем их UI, архитектуру, принципы сбора метрик, методы хранения данных, системы оповещения и дадим полезные ссылки.

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

PostgreSQL под капотом. Часть 1. Цикл сервера

Время на прочтение 7 мин
Количество просмотров 12K
Open source *PostgreSQL *Анализ и проектирование систем *C *Реверс-инжиниринг *

Продолжаем изучать исходный код PostgreSQL

В этот раз исследуем главный цикл сервера:

- Принятие входящих подключений;

- Проверка окружения;

- Обработка упавших воркеров.

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

RabbitMQ: терминология и базовые сущности

Время на прочтение 8 мин
Количество просмотров 31K
Блог компании Southbridge Высокая производительность *Системное администрирование *Программирование *IT-инфраструктура *

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

Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект, который поможет понять терминологию и базовые сущности RabbitMQ.

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

Как мы допиливали Битрикс и защищали его от хищных роботов

Время на прочтение 10 мин
Количество просмотров 3.7K
Блог компании Группа НЛМК PHP *Управление проектами *

Всем привет! Хочу развенчать миф, что в производственных компаниях решение любого вопроса сопряжено с мириадами бумажек, беготней по отделу кадров, и прочими малоприятными вещами. Расскажу о корпоративном портале НЛМК, который для всех нас – сотрудников офиса и производства – единое цифровое окно. Тут все могут решить самые разные вопросы и получить оперативную информацию.

Я как раз стоял у истоков создания портала и участвовал/участвую во всех его жизненных циклах — от идеи и заканчивая принятием на поддержку с дальнейшим развитием. О причинах выбора платформы Битрикс, и неких других технических тонкостях – расскажу под катом.

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

Полное руководство по Prometheus в 2019 году

Время на прочтение 11 мин
Количество просмотров 272K
Блог компании Southbridge Системное администрирование *Серверное администрирование *DevOps *
Перевод


DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus.


Prometheus был создан на SoundCloud в 2012 году и с тех пор стал стандартом для мониторинга систем. У него полностью открытый исходный код, он предоставляет десятки разных экспортеров, с помощью которых можно за считанные минуты настроить мониторинг всей инфраструктуры.


Prometheus обладает очевидной ценностью и уже используется новаторами в отрасли, вроде DigitalOcean или Docker, как часть системы полного мониторинга.


Что такое Prometheus?
Зачем он нужен?
Чем он отличается от других систем?


Если вы совсем ничего не знаете о Prometheus или хотите лучше разобраться в нем, в его экосистеме и всех взаимодействиях, эта статья как раз для вас.

Всего голосов 30: ↑29 и ↓1 +28
Комментарии 30

Создание REST aсtivity (действий) Битрикс24 с приложением-встройкой для препроцессинга параметров

Время на прочтение 9 мин
Количество просмотров 4.9K
PHP *JavaScript *API *1С-Битрикс *CRM-системы *
Из песочницы

У нас возникла задача добавить препроцессинг для параметров активити бизнес-процесса Битрикс24. Когда разбирались в задаче не смогли найти ни одного примера и решили выложить свой - может быть кто-нибудь сможет решить задачу с динамическими списками или освободит себя от необходимости запрашивать код сущности через вебхук

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

Информация

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