#миграции — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #миграции, aggregated by home.social.
-
Обновление Битрикса через миграции: как не словить инсульт, нажимая «Обновить»
Привет! Меня зовут Артем Валевич, я тимлид в
-
Обновление Битрикса через миграции: как не словить инсульт, нажимая «Обновить»
Привет! Меня зовут Артем Валевич, я тимлид в
-
Обновление Битрикса через миграции: как не словить инсульт, нажимая «Обновить»
Привет! Меня зовут Артем Валевич, я тимлид в
-
Обновление Битрикса через миграции: как не словить инсульт, нажимая «Обновить»
Привет! Меня зовут Артем Валевич, я тимлид в
-
Миграции конфигурации Битрикс24 CRM: как мы перестали делать это руками
Если вы разрабатываете на Битрикс24 и поддерживаете несколько окружений — тест, стейдж, прод — вы знаете эту боль. Настроил воронку, добавил пользовательские поля, написал робота с десятком условий, всё это поправил в карточке, назначил права. А потом нужно повторить то же самое на проде. Руками. Забыв половину. Конфигурация CRM — это не код. Она живёт в базе данных, не попадает в git, и нет адекватного механизма переноса между окружениями. При этом объём этой конфигурации на реальных проектах значительный: десятки смарт-процессов, сотни пользовательских полей, сложные роботы с условиями, матрицы прав доступа, кастомные виды карточек. Всё это нужно как-то синхронизировать. В Битрикс24 есть разрозненные инструменты для переноса отдельных частей настроек — штатный экспорт некоторых сущностей через интерфейс, партнёрские модули, закрывающие часть задач. Но каждый работает по-своему, покрывает свой кусок, и ни один не даёт того, что нужно на реальном проекте: полного покрытия CRM-конфигурации в одном инструменте, версионируемого вместе с кодом. Мы прошли этот путь и в итоге написали набор Version Builder'ов для модуля sprint.migration , покрывающих основные сущности CRM Битрикс24. В этой статье — о самой задаче, подходе и подводных камнях. Пишите в личку по вопросам.
https://habr.com/ru/articles/1036734/
#битрикс24 #crm #миграции #sprintmigration #php #деплой #автоматизация #воронки
-
Миграции конфигурации Битрикс24 CRM: как мы перестали делать это руками
Если вы разрабатываете на Битрикс24 и поддерживаете несколько окружений — тест, стейдж, прод — вы знаете эту боль. Настроил воронку, добавил пользовательские поля, написал робота с десятком условий, всё это поправил в карточке, назначил права. А потом нужно повторить то же самое на проде. Руками. Забыв половину. Конфигурация CRM — это не код. Она живёт в базе данных, не попадает в git, и нет адекватного механизма переноса между окружениями. При этом объём этой конфигурации на реальных проектах значительный: десятки смарт-процессов, сотни пользовательских полей, сложные роботы с условиями, матрицы прав доступа, кастомные виды карточек. Всё это нужно как-то синхронизировать. В Битрикс24 есть разрозненные инструменты для переноса отдельных частей настроек — штатный экспорт некоторых сущностей через интерфейс, партнёрские модули, закрывающие часть задач. Но каждый работает по-своему, покрывает свой кусок, и ни один не даёт того, что нужно на реальном проекте: полного покрытия CRM-конфигурации в одном инструменте, версионируемого вместе с кодом. Мы прошли этот путь и в итоге написали набор Version Builder'ов для модуля sprint.migration , покрывающих основные сущности CRM Битрикс24. В этой статье — о самой задаче, подходе и подводных камнях. Пишите в личку по вопросам.
https://habr.com/ru/articles/1036734/
#битрикс24 #crm #миграции #sprintmigration #php #деплой #автоматизация #воронки
-
Миграции конфигурации Битрикс24 CRM: как мы перестали делать это руками
Если вы разрабатываете на Битрикс24 и поддерживаете несколько окружений — тест, стейдж, прод — вы знаете эту боль. Настроил воронку, добавил пользовательские поля, написал робота с десятком условий, всё это поправил в карточке, назначил права. А потом нужно повторить то же самое на проде. Руками. Забыв половину. Конфигурация CRM — это не код. Она живёт в базе данных, не попадает в git, и нет адекватного механизма переноса между окружениями. При этом объём этой конфигурации на реальных проектах значительный: десятки смарт-процессов, сотни пользовательских полей, сложные роботы с условиями, матрицы прав доступа, кастомные виды карточек. Всё это нужно как-то синхронизировать. В Битрикс24 есть разрозненные инструменты для переноса отдельных частей настроек — штатный экспорт некоторых сущностей через интерфейс, партнёрские модули, закрывающие часть задач. Но каждый работает по-своему, покрывает свой кусок, и ни один не даёт того, что нужно на реальном проекте: полного покрытия CRM-конфигурации в одном инструменте, версионируемого вместе с кодом. Мы прошли этот путь и в итоге написали набор Version Builder'ов для модуля sprint.migration , покрывающих основные сущности CRM Битрикс24. В этой статье — о самой задаче, подходе и подводных камнях. Пишите в личку по вопросам.
https://habr.com/ru/articles/1036734/
#битрикс24 #crm #миграции #sprintmigration #php #деплой #автоматизация #воронки
-
Миграции конфигурации Битрикс24 CRM: как мы перестали делать это руками
Если вы разрабатываете на Битрикс24 и поддерживаете несколько окружений — тест, стейдж, прод — вы знаете эту боль. Настроил воронку, добавил пользовательские поля, написал робота с десятком условий, всё это поправил в карточке, назначил права. А потом нужно повторить то же самое на проде. Руками. Забыв половину. Конфигурация CRM — это не код. Она живёт в базе данных, не попадает в git, и нет адекватного механизма переноса между окружениями. При этом объём этой конфигурации на реальных проектах значительный: десятки смарт-процессов, сотни пользовательских полей, сложные роботы с условиями, матрицы прав доступа, кастомные виды карточек. Всё это нужно как-то синхронизировать. В Битрикс24 есть разрозненные инструменты для переноса отдельных частей настроек — штатный экспорт некоторых сущностей через интерфейс, партнёрские модули, закрывающие часть задач. Но каждый работает по-своему, покрывает свой кусок, и ни один не даёт того, что нужно на реальном проекте: полного покрытия CRM-конфигурации в одном инструменте, версионируемого вместе с кодом. Мы прошли этот путь и в итоге написали набор Version Builder'ов для модуля sprint.migration , покрывающих основные сущности CRM Битрикс24. В этой статье — о самой задаче, подходе и подводных камнях. Пишите в личку по вопросам.
https://habr.com/ru/articles/1036734/
#битрикс24 #crm #миграции #sprintmigration #php #деплой #автоматизация #воронки
-
manage.py migrate в пятницу в 17:30 на проде с 3K RPS и таблицей 200М строк
Всем привет! Меня зовут Макс, я Lead Backend и автор YouTube-канала PyLounge . Это третья часть мини-серии о Django-миграциях. В первой части мы готовились к миграциям и разбирались с конфликтами, во второй чинили типичные подводные камни. Если их не читали, то рекомендую начать именно с них, а затем вернуться сюда. В этом же материале поговорим о самом интересном: что происходит, когда python manage.py migrate запускается в 17:30 в пятницу на проде, под 3k RPS и таблицей в 200 миллионов строк. Расскажу какие блокировки в PostgreSQL берёт каждая операция Django, что внутри atomic = False , как пишется правильный паттерн expand-migrate-contract , зачемнужны AddIndexConcurrently , AddConstraintNotValid , SeparateDatabaseAndState и как обновлять данные на больших таблицах. P.S. примеры намеренно упрощены, чтобы влезли в статью и не задушили. В реальной жизни всё ещё хуже - но шаги те же. P.S.S. При подготовки этого материала ни одна продовая база данных не пострадала.
https://habr.com/ru/articles/1035830/
#python #django #pylounge #базы_данных #миграции_django #миграции #postgresql #программирование
-
manage.py migrate в пятницу в 17:30 на проде с 3K RPS и таблицей 200М строк
Всем привет! Меня зовут Макс, я Lead Backend и автор YouTube-канала PyLounge . Это третья часть мини-серии о Django-миграциях. В первой части мы готовились к миграциям и разбирались с конфликтами, во второй чинили типичные подводные камни. Если их не читали, то рекомендую начать именно с них, а затем вернуться сюда. В этом же материале поговорим о самом интересном: что происходит, когда python manage.py migrate запускается в 17:30 в пятницу на проде, под 3k RPS и таблицей в 200 миллионов строк. Расскажу какие блокировки в PostgreSQL берёт каждая операция Django, что внутри atomic = False , как пишется правильный паттерн expand-migrate-contract , зачемнужны AddIndexConcurrently , AddConstraintNotValid , SeparateDatabaseAndState и как обновлять данные на больших таблицах. P.S. примеры намеренно упрощены, чтобы влезли в статью и не задушили. В реальной жизни всё ещё хуже - но шаги те же. P.S.S. При подготовки этого материала ни одна продовая база данных не пострадала.
https://habr.com/ru/articles/1035830/
#python #django #pylounge #базы_данных #миграции_django #миграции #postgresql #программирование
-
manage.py migrate в пятницу в 17:30 на проде с 3K RPS и таблицей 200М строк
Всем привет! Меня зовут Макс, я Lead Backend и автор YouTube-канала PyLounge . Это третья часть мини-серии о Django-миграциях. В первой части мы готовились к миграциям и разбирались с конфликтами, во второй чинили типичные подводные камни. Если их не читали, то рекомендую начать именно с них, а затем вернуться сюда. В этом же материале поговорим о самом интересном: что происходит, когда python manage.py migrate запускается в 17:30 в пятницу на проде, под 3k RPS и таблицей в 200 миллионов строк. Расскажу какие блокировки в PostgreSQL берёт каждая операция Django, что внутри atomic = False , как пишется правильный паттерн expand-migrate-contract , зачемнужны AddIndexConcurrently , AddConstraintNotValid , SeparateDatabaseAndState и как обновлять данные на больших таблицах. P.S. примеры намеренно упрощены, чтобы влезли в статью и не задушили. В реальной жизни всё ещё хуже - но шаги те же. P.S.S. При подготовки этого материала ни одна продовая база данных не пострадала.
https://habr.com/ru/articles/1035830/
#python #django #pylounge #базы_данных #миграции_django #миграции #postgresql #программирование
-
manage.py migrate в пятницу в 17:30 на проде с 3K RPS и таблицей 200М строк
Всем привет! Меня зовут Макс, я Lead Backend и автор YouTube-канала PyLounge . Это третья часть мини-серии о Django-миграциях. В первой части мы готовились к миграциям и разбирались с конфликтами, во второй чинили типичные подводные камни. Если их не читали, то рекомендую начать именно с них, а затем вернуться сюда. В этом же материале поговорим о самом интересном: что происходит, когда python manage.py migrate запускается в 17:30 в пятницу на проде, под 3k RPS и таблицей в 200 миллионов строк. Расскажу какие блокировки в PostgreSQL берёт каждая операция Django, что внутри atomic = False , как пишется правильный паттерн expand-migrate-contract , зачемнужны AddIndexConcurrently , AddConstraintNotValid , SeparateDatabaseAndState и как обновлять данные на больших таблицах. P.S. примеры намеренно упрощены, чтобы влезли в статью и не задушили. В реальной жизни всё ещё хуже - но шаги те же. P.S.S. При подготовки этого материала ни одна продовая база данных не пострадала.
https://habr.com/ru/articles/1035830/
#python #django #pylounge #базы_данных #миграции_django #миграции #postgresql #программирование
-
Production-стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит
Это восьмая статья из моей серии про инженерные решения в ONEMIX. До этого было про клиентскую часть мессенджера: кэш сообщений , E2E , WebRTC звонки , Electron , outbox-паттерн . Параллельно про AI-агента Лиру и мнение про вайб-кодинг . Сегодня про серверную сторону. Backend ONEMIX — это один файл main.py на 19603 строки , 379 эндпоинтов, FastAPI + SQLite, держит мессенджер с регистрацией через SMS, звонками через LiveKit, E2E через Double Ratchet, push-нотификациями на iOS и Android. Этот файл я пишу больше года. За это время он эволюционировал из прототипа на 800 строк в production монолит. В статье разберу почему стек именно такой, какие решения оказались правильными, какие я бы поменял если бы начинал сейчас, и где у этого подхода границы применимости. Сразу важная оговорка. У меня не было требования держать 100к одновременных пользователей или 10к RPS. Это бэкенд под мобильное приложение с трафиком который для соло-разработчика разумно поддерживать одному. Если у вас задачи другого масштаба, мой опыт может не подойти.
https://habr.com/ru/articles/1034814/
#fastapi #sqlite #python #монолит #websocket #мессенджер #бэкенд #продакшн #авторизация #миграции
-
Production-стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит
Это восьмая статья из моей серии про инженерные решения в ONEMIX. До этого было про клиентскую часть мессенджера: кэш сообщений , E2E , WebRTC звонки , Electron , outbox-паттерн . Параллельно про AI-агента Лиру и мнение про вайб-кодинг . Сегодня про серверную сторону. Backend ONEMIX — это один файл main.py на 19603 строки , 379 эндпоинтов, FastAPI + SQLite, держит мессенджер с регистрацией через SMS, звонками через LiveKit, E2E через Double Ratchet, push-нотификациями на iOS и Android. Этот файл я пишу больше года. За это время он эволюционировал из прототипа на 800 строк в production монолит. В статье разберу почему стек именно такой, какие решения оказались правильными, какие я бы поменял если бы начинал сейчас, и где у этого подхода границы применимости. Сразу важная оговорка. У меня не было требования держать 100к одновременных пользователей или 10к RPS. Это бэкенд под мобильное приложение с трафиком который для соло-разработчика разумно поддерживать одному. Если у вас задачи другого масштаба, мой опыт может не подойти.
https://habr.com/ru/articles/1034814/
#fastapi #sqlite #python #монолит #websocket #мессенджер #бэкенд #продакшн #авторизация #миграции
-
Production-стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит
Это восьмая статья из моей серии про инженерные решения в ONEMIX. До этого было про клиентскую часть мессенджера: кэш сообщений , E2E , WebRTC звонки , Electron , outbox-паттерн . Параллельно про AI-агента Лиру и мнение про вайб-кодинг . Сегодня про серверную сторону. Backend ONEMIX — это один файл main.py на 19603 строки , 379 эндпоинтов, FastAPI + SQLite, держит мессенджер с регистрацией через SMS, звонками через LiveKit, E2E через Double Ratchet, push-нотификациями на iOS и Android. Этот файл я пишу больше года. За это время он эволюционировал из прототипа на 800 строк в production монолит. В статье разберу почему стек именно такой, какие решения оказались правильными, какие я бы поменял если бы начинал сейчас, и где у этого подхода границы применимости. Сразу важная оговорка. У меня не было требования держать 100к одновременных пользователей или 10к RPS. Это бэкенд под мобильное приложение с трафиком который для соло-разработчика разумно поддерживать одному. Если у вас задачи другого масштаба, мой опыт может не подойти.
https://habr.com/ru/articles/1034814/
#fastapi #sqlite #python #монолит #websocket #мессенджер #бэкенд #продакшн #авторизация #миграции
-
Production-стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит
Это восьмая статья из моей серии про инженерные решения в ONEMIX. До этого было про клиентскую часть мессенджера: кэш сообщений , E2E , WebRTC звонки , Electron , outbox-паттерн . Параллельно про AI-агента Лиру и мнение про вайб-кодинг . Сегодня про серверную сторону. Backend ONEMIX — это один файл main.py на 19603 строки , 379 эндпоинтов, FastAPI + SQLite, держит мессенджер с регистрацией через SMS, звонками через LiveKit, E2E через Double Ratchet, push-нотификациями на iOS и Android. Этот файл я пишу больше года. За это время он эволюционировал из прототипа на 800 строк в production монолит. В статье разберу почему стек именно такой, какие решения оказались правильными, какие я бы поменял если бы начинал сейчас, и где у этого подхода границы применимости. Сразу важная оговорка. У меня не было требования держать 100к одновременных пользователей или 10к RPS. Это бэкенд под мобильное приложение с трафиком который для соло-разработчика разумно поддерживать одному. Если у вас задачи другого масштаба, мой опыт может не подойти.
https://habr.com/ru/articles/1034814/
#fastapi #sqlite #python #монолит #websocket #мессенджер #бэкенд #продакшн #авторизация #миграции
-
33 несчастья или история одного проекта
Эту печальную историю стоит прочесть всем, кто еще не понял разницы между «создать» и «владеть» применительно к программному обеспечению. Заодно узнаете, чем на самом деле занимаются большинство разработчиков на крупных проектах.
https://habr.com/ru/articles/1019456/
#scala #spring #hibernate #продукт #java #javascript #история_успеха #миграции
-
33 несчастья или история одного проекта
Эту печальную историю стоит прочесть всем, кто еще не понял разницы между «создать» и «владеть» применительно к программному обеспечению. Заодно узнаете, чем на самом деле занимаются большинство разработчиков на крупных проектах.
https://habr.com/ru/articles/1019456/
#scala #spring #hibernate #продукт #java #javascript #история_успеха #миграции
-
33 несчастья или история одного проекта
Эту печальную историю стоит прочесть всем, кто еще не понял разницы между «создать» и «владеть» применительно к программному обеспечению. Заодно узнаете, чем на самом деле занимаются большинство разработчиков на крупных проектах.
https://habr.com/ru/articles/1019456/
#scala #spring #hibernate #продукт #java #javascript #история_успеха #миграции
-
33 несчастья или история одного проекта
Эту печальную историю стоит прочесть всем, кто еще не понял разницы между «создать» и «владеть» применительно к программному обеспечению. Заодно узнаете, чем на самом деле занимаются большинство разработчиков на крупных проектах.
https://habr.com/ru/articles/1019456/
#scala #spring #hibernate #продукт #java #javascript #история_успеха #миграции
-
Техрадар на максималках: от визуализации техдолга к автоматическому управлению миграциями
В прошлой статье я рассказывал, как мы оживили техрадар: научили систему автоматически обходить git репозитории, определять стек технологий, находить устаревшие зависимости и визуализировать технологический ландшафт компании. Это важный шаг в развитии внутренних процессов, но он покрывал только часть потребностей команды. Со временем стабилизация сбора и анализа состава ИТ-ландшафта позволила нам выйти на следующий логический этап - управление изменениями. Сегодня техрадар — это уже не просто система наблюдения, но полноценный пункт управления вашим ИТ-ландшафтом, умеющий управлять миграциями технологий системно и автоматически. Подробности под катом
https://habr.com/ru/articles/1000400/
#мониторинг #разработка #управление_разработкой #аудит #миграции #проблемы_разработки_по #технологический_стек #техрадар #techradar #it_инфраструктура
-
Техрадар на максималках: от визуализации техдолга к автоматическому управлению миграциями
В прошлой статье я рассказывал, как мы оживили техрадар: научили систему автоматически обходить git репозитории, определять стек технологий, находить устаревшие зависимости и визуализировать технологический ландшафт компании. Это важный шаг в развитии внутренних процессов, но он покрывал только часть потребностей команды. Со временем стабилизация сбора и анализа состава ИТ-ландшафта позволила нам выйти на следующий логический этап - управление изменениями. Сегодня техрадар — это уже не просто система наблюдения, но полноценный пункт управления вашим ИТ-ландшафтом, умеющий управлять миграциями технологий системно и автоматически. Подробности под катом
https://habr.com/ru/articles/1000400/
#мониторинг #разработка #управление_разработкой #аудит #миграции #проблемы_разработки_по #технологический_стек #техрадар #techradar #it_инфраструктура
-
Техрадар на максималках: от визуализации техдолга к автоматическому управлению миграциями
В прошлой статье я рассказывал, как мы оживили техрадар: научили систему автоматически обходить git репозитории, определять стек технологий, находить устаревшие зависимости и визуализировать технологический ландшафт компании. Это важный шаг в развитии внутренних процессов, но он покрывал только часть потребностей команды. Со временем стабилизация сбора и анализа состава ИТ-ландшафта позволила нам выйти на следующий логический этап - управление изменениями. Сегодня техрадар — это уже не просто система наблюдения, но полноценный пункт управления вашим ИТ-ландшафтом, умеющий управлять миграциями технологий системно и автоматически. Подробности под катом
https://habr.com/ru/articles/1000400/
#мониторинг #разработка #управление_разработкой #аудит #миграции #проблемы_разработки_по #технологический_стек #техрадар #techradar #it_инфраструктура
-
Техрадар на максималках: от визуализации техдолга к автоматическому управлению миграциями
В прошлой статье я рассказывал, как мы оживили техрадар: научили систему автоматически обходить git репозитории, определять стек технологий, находить устаревшие зависимости и визуализировать технологический ландшафт компании. Это важный шаг в развитии внутренних процессов, но он покрывал только часть потребностей команды. Со временем стабилизация сбора и анализа состава ИТ-ландшафта позволила нам выйти на следующий логический этап - управление изменениями. Сегодня техрадар — это уже не просто система наблюдения, но полноценный пункт управления вашим ИТ-ландшафтом, умеющий управлять миграциями технологий системно и автоматически. Подробности под катом
https://habr.com/ru/articles/1000400/
#мониторинг #разработка #управление_разработкой #аудит #миграции #проблемы_разработки_по #технологический_стек #техрадар #techradar #it_инфраструктура
-
[Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)
Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.
https://habr.com/ru/companies/otus/articles/993542/
#Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql
-
[Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)
Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.
https://habr.com/ru/companies/otus/articles/993542/
#Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql
-
[Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)
Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.
https://habr.com/ru/companies/otus/articles/993542/
#Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql
-
[Перевод] Мы научили ИИ писать настоящий код для Postgres (и выложили в open source)
Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене. В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.
https://habr.com/ru/companies/otus/articles/993542/
#Postgres #миграции #индексы #типы_данных #LLMагенты #best_practices #postgresql
-
Обратная совместимость в Java-мире
От приложения мы хотим стабильности и предсказуемости. Мы хотим, чтобы приложение было одинаковым. Эта предсказуемость и обратная совместимость являются эдакой священной коровой, которая движет Java вперёд, возможно, движет назад и, возможно, по некоторым сведениям, из-за этого Java и умрёт. Однако 30 лет Java прожила. Давайте посмотрим, как это всё было и что было в начале.
https://habr.com/ru/companies/axiomjdk/articles/941808/
#java #kotlin #обратная_совместимость #версионирование #аннотации #api #сигнатура #миграции #программирование #разработка
-
Обратная совместимость в Java-мире
От приложения мы хотим стабильности и предсказуемости. Мы хотим, чтобы приложение было одинаковым. Эта предсказуемость и обратная совместимость являются эдакой священной коровой, которая движет Java вперёд, возможно, движет назад и, возможно, по некоторым сведениям, из-за этого Java и умрёт. Однако 30 лет Java прожила. Давайте посмотрим, как это всё было и что было в начале.
https://habr.com/ru/companies/axiomjdk/articles/941808/
#java #kotlin #обратная_совместимость #версионирование #аннотации #api #сигнатура #миграции #программирование #разработка
-
Обратная совместимость в Java-мире
От приложения мы хотим стабильности и предсказуемости. Мы хотим, чтобы приложение было одинаковым. Эта предсказуемость и обратная совместимость являются эдакой священной коровой, которая движет Java вперёд, возможно, движет назад и, возможно, по некоторым сведениям, из-за этого Java и умрёт. Однако 30 лет Java прожила. Давайте посмотрим, как это всё было и что было в начале.
https://habr.com/ru/companies/axiomjdk/articles/941808/
#java #kotlin #обратная_совместимость #версионирование #аннотации #api #сигнатура #миграции #программирование #разработка
-
Обратная совместимость в Java-мире
От приложения мы хотим стабильности и предсказуемости. Мы хотим, чтобы приложение было одинаковым. Эта предсказуемость и обратная совместимость являются эдакой священной коровой, которая движет Java вперёд, возможно, движет назад и, возможно, по некоторым сведениям, из-за этого Java и умрёт. Однако 30 лет Java прожила. Давайте посмотрим, как это всё было и что было в начале.
https://habr.com/ru/companies/axiomjdk/articles/941808/
#java #kotlin #обратная_совместимость #версионирование #аннотации #api #сигнатура #миграции #программирование #разработка
-
Техдолг: как мы вдохнули жизнь в техрадар
От ручного ада в большой компании до автоматизированного техрадара с живыми правилами и визуализацией.
-
Техдолг: как мы вдохнули жизнь в техрадар
От ручного ада в большой компании до автоматизированного техрадара с живыми правилами и визуализацией.
-
Техдолг: как мы вдохнули жизнь в техрадар
От ручного ада в большой компании до автоматизированного техрадара с живыми правилами и визуализацией.
-
Техдолг: как мы вдохнули жизнь в техрадар
От ручного ада в большой компании до автоматизированного техрадара с живыми правилами и визуализацией.
-
Как мигрировать смарт-процессы в Битрикс и не сгореть
Привет, меня зовут Евгений, я разработчик из Байовэр в компании НЛМК ИТ. Довелось мне тут столкнуться с разработкой системы опытно-промышленных испытаний на производстве, и если описать это коротко, то в целом большое количество людей разного уровня допуска должны совершить определенные действия в строгой последовательности (или местами асинхронно) для вынесения вердикта относительно качества продукта, и при этом управляться все это должно из одного места (как странно-то прозвучало:) Так как это достаточно инерционный процесс, который может занимать от нескольких месяцев до года, система, которая может рассылать ответственным за текущий шаг уведомления (а в случае простоя, и их руководству), позволяет ускорить прохождение большинства шагов бизнес-процессов (БП). Приведу пример – требуются лакокрасочные покрытия от стороннего поставщика для работы цеха, но перед заключением контракта на массовые поставки, нужно убедиться, что товар не разбавлен. Ну то есть надлежащего качества:) Заранее прошу прощения за качество юмора, вы привыкнете. Для этого закупается небольшая опытная партия, она проходит определенные испытания, и если результаты устраивают, процесс масштабируется на опытно-промышленную партию, побольше. Если же и в этом случае все испытания пройдены, то поставщик признается годным и материал одобряется к серийному применению. Собственно процесс испытаний мы и реализовали с помощью смарт-процессов. В данный момент у нас внедрено три категории материалов для испытаний (лакокрасочные материалы, огнеупорные материалы, наконечники медных фурм), они гораздо сложнее примера, который я хочу здесь описать, но его должно быть достаточно для масштабирования под нужды бизнеса.
-
Как мигрировать смарт-процессы в Битрикс и не сгореть
Привет, меня зовут Евгений, я разработчик из Байовэр в компании НЛМК ИТ. Довелось мне тут столкнуться с разработкой системы опытно-промышленных испытаний на производстве, и если описать это коротко, то в целом большое количество людей разного уровня допуска должны совершить определенные действия в строгой последовательности (или местами асинхронно) для вынесения вердикта относительно качества продукта, и при этом управляться все это должно из одного места (как странно-то прозвучало:) Так как это достаточно инерционный процесс, который может занимать от нескольких месяцев до года, система, которая может рассылать ответственным за текущий шаг уведомления (а в случае простоя, и их руководству), позволяет ускорить прохождение большинства шагов бизнес-процессов (БП). Приведу пример – требуются лакокрасочные покрытия от стороннего поставщика для работы цеха, но перед заключением контракта на массовые поставки, нужно убедиться, что товар не разбавлен. Ну то есть надлежащего качества:) Заранее прошу прощения за качество юмора, вы привыкнете. Для этого закупается небольшая опытная партия, она проходит определенные испытания, и если результаты устраивают, процесс масштабируется на опытно-промышленную партию, побольше. Если же и в этом случае все испытания пройдены, то поставщик признается годным и материал одобряется к серийному применению. Собственно процесс испытаний мы и реализовали с помощью смарт-процессов. В данный момент у нас внедрено три категории материалов для испытаний (лакокрасочные материалы, огнеупорные материалы, наконечники медных фурм), они гораздо сложнее примера, который я хочу здесь описать, но его должно быть достаточно для масштабирования под нужды бизнеса.
-
Как мигрировать смарт-процессы в Битрикс и не сгореть
Привет, меня зовут Евгений, я разработчик из Байовэр в компании НЛМК ИТ. Довелось мне тут столкнуться с разработкой системы опытно-промышленных испытаний на производстве, и если описать это коротко, то в целом большое количество людей разного уровня допуска должны совершить определенные действия в строгой последовательности (или местами асинхронно) для вынесения вердикта относительно качества продукта, и при этом управляться все это должно из одного места (как странно-то прозвучало:) Так как это достаточно инерционный процесс, который может занимать от нескольких месяцев до года, система, которая может рассылать ответственным за текущий шаг уведомления (а в случае простоя, и их руководству), позволяет ускорить прохождение большинства шагов бизнес-процессов (БП). Приведу пример – требуются лакокрасочные покрытия от стороннего поставщика для работы цеха, но перед заключением контракта на массовые поставки, нужно убедиться, что товар не разбавлен. Ну то есть надлежащего качества:) Заранее прошу прощения за качество юмора, вы привыкнете. Для этого закупается небольшая опытная партия, она проходит определенные испытания, и если результаты устраивают, процесс масштабируется на опытно-промышленную партию, побольше. Если же и в этом случае все испытания пройдены, то поставщик признается годным и материал одобряется к серийному применению. Собственно процесс испытаний мы и реализовали с помощью смарт-процессов. В данный момент у нас внедрено три категории материалов для испытаний (лакокрасочные материалы, огнеупорные материалы, наконечники медных фурм), они гораздо сложнее примера, который я хочу здесь описать, но его должно быть достаточно для масштабирования под нужды бизнеса.
-
Как мигрировать смарт-процессы в Битрикс и не сгореть
Привет, меня зовут Евгений, я разработчик из Байовэр в компании НЛМК ИТ. Довелось мне тут столкнуться с разработкой системы опытно-промышленных испытаний на производстве, и если описать это коротко, то в целом большое количество людей разного уровня допуска должны совершить определенные действия в строгой последовательности (или местами асинхронно) для вынесения вердикта относительно качества продукта, и при этом управляться все это должно из одного места (как странно-то прозвучало:) Так как это достаточно инерционный процесс, который может занимать от нескольких месяцев до года, система, которая может рассылать ответственным за текущий шаг уведомления (а в случае простоя, и их руководству), позволяет ускорить прохождение большинства шагов бизнес-процессов (БП). Приведу пример – требуются лакокрасочные покрытия от стороннего поставщика для работы цеха, но перед заключением контракта на массовые поставки, нужно убедиться, что товар не разбавлен. Ну то есть надлежащего качества:) Заранее прошу прощения за качество юмора, вы привыкнете. Для этого закупается небольшая опытная партия, она проходит определенные испытания, и если результаты устраивают, процесс масштабируется на опытно-промышленную партию, побольше. Если же и в этом случае все испытания пройдены, то поставщик признается годным и материал одобряется к серийному применению. Собственно процесс испытаний мы и реализовали с помощью смарт-процессов. В данный момент у нас внедрено три категории материалов для испытаний (лакокрасочные материалы, огнеупорные материалы, наконечники медных фурм), они гораздо сложнее примера, который я хочу здесь описать, но его должно быть достаточно для масштабирования под нужды бизнеса.
-
Lite-версия мигратора Flyway для PostgreSQL на TypeScript
Так как я активно использую возможности Flyway , такие как repeatable migrations и callbacks , и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL .
https://habr.com/ru/articles/874028/
#flyway #database #postgres #migrations #nodejs #миграции #постгрес #sql #консольная_утилита
-
Lite-версия мигратора Flyway для PostgreSQL на TypeScript
Так как я активно использую возможности Flyway , такие как repeatable migrations и callbacks , и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL .
https://habr.com/ru/articles/874028/
#flyway #database #postgres #migrations #nodejs #миграции #постгрес #sql #консольная_утилита
-
Lite-версия мигратора Flyway для PostgreSQL на TypeScript
Так как я активно использую возможности Flyway , такие как repeatable migrations и callbacks , и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL .
https://habr.com/ru/articles/874028/
#flyway #database #postgres #migrations #nodejs #миграции #постгрес #sql #консольная_утилита
-
Lite-версия мигратора Flyway для PostgreSQL на TypeScript
Так как я активно использую возможности Flyway , такие как repeatable migrations и callbacks , и не хочу от них отказываться, а аналогов этих функций в других системах миграции нет, я решил написать собственный лёгкий клон Flyway на Node.js для PostgreSQL .
https://habr.com/ru/articles/874028/
#flyway #database #postgres #migrations #nodejs #миграции #постгрес #sql #консольная_утилита
-
Большой гайд по миграциям в Django: полезные советы и обход типичных подводных камней
Привет! Меня зовут Макс, я backend-разработчик в компании ИдаПроджект и автор YouTube-канала PyLounge . Эта вторая часть большой статьи по Django-миграциям для начинающих. Если вы пропустили или потеряли первую часть — держите ссылку . Что здесь будет? Разберем фиктивное применение, миграции данных, «сухую проверку» и основные проблемы, которые возникают у начинающих. Также поделюсь полезными советами и подсвечу детали работы. Примеры из практики — обязательно будут. Дисклеймер (как и в первой части, чтобы не было недопониманий): все примеры специально упрощены, чтобы неокрепший ум выцепил концепции, а не детали реализации. Не бейте, или бейте там, где синяков не видно :)
https://habr.com/ru/companies/idaproject/articles/865036/
#python #django #идапроджект #базы_данных #программирование #миграции
-
Большой гайд по миграциям в Django: полезные советы и обход типичных подводных камней
Привет! Меня зовут Макс, я backend-разработчик в компании ИдаПроджект и автор YouTube-канала PyLounge . Эта вторая часть большой статьи по Django-миграциям для начинающих. Если вы пропустили или потеряли первую часть — держите ссылку . Что здесь будет? Разберем фиктивное применение, миграции данных, «сухую проверку» и основные проблемы, которые возникают у начинающих. Также поделюсь полезными советами и подсвечу детали работы. Примеры из практики — обязательно будут. Дисклеймер (как и в первой части, чтобы не было недопониманий): все примеры специально упрощены, чтобы неокрепший ум выцепил концепции, а не детали реализации. Не бейте, или бейте там, где синяков не видно :)
https://habr.com/ru/companies/idaproject/articles/865036/
#python #django #идапроджект #базы_данных #программирование #миграции
-
Большой гайд по миграциям в Django: полезные советы и обход типичных подводных камней
Привет! Меня зовут Макс, я backend-разработчик в компании ИдаПроджект и автор YouTube-канала PyLounge . Эта вторая часть большой статьи по Django-миграциям для начинающих. Если вы пропустили или потеряли первую часть — держите ссылку . Что здесь будет? Разберем фиктивное применение, миграции данных, «сухую проверку» и основные проблемы, которые возникают у начинающих. Также поделюсь полезными советами и подсвечу детали работы. Примеры из практики — обязательно будут. Дисклеймер (как и в первой части, чтобы не было недопониманий): все примеры специально упрощены, чтобы неокрепший ум выцепил концепции, а не детали реализации. Не бейте, или бейте там, где синяков не видно :)
https://habr.com/ru/companies/idaproject/articles/865036/
#python #django #идапроджект #базы_данных #программирование #миграции
-
Большой гайд по миграциям в Django: полезные советы и обход типичных подводных камней
Привет! Меня зовут Макс, я backend-разработчик в компании ИдаПроджект и автор YouTube-канала PyLounge . Эта вторая часть большой статьи по Django-миграциям для начинающих. Если вы пропустили или потеряли первую часть — держите ссылку . Что здесь будет? Разберем фиктивное применение, миграции данных, «сухую проверку» и основные проблемы, которые возникают у начинающих. Также поделюсь полезными советами и подсвечу детали работы. Примеры из практики — обязательно будут. Дисклеймер (как и в первой части, чтобы не было недопониманий): все примеры специально упрощены, чтобы неокрепший ум выцепил концепции, а не детали реализации. Не бейте, или бейте там, где синяков не видно :)
https://habr.com/ru/companies/idaproject/articles/865036/
#python #django #идапроджект #базы_данных #программирование #миграции
-
Большой гайд по миграциям в Django: готовимся к миграциям и избегаем конфликтов
Привет! Меня зовут Макс, я backend-разработчик в компании idaproject и автор Y ouTube-канала PyLounge . Я всегда хотел создавать контент, который пригодился бы мне самому в прошлом или настоящем. Эта большая статья — не исключение. Она для тех, кто только начинает изучение Django: жалею, что когда я начинал, мне не попался подобный материал. Надеюсь, он станет для вас хорошим подспорьем. Кому-то всё сказанное здесь покажется очевидным, но я всегда придерживался принципа — «то что очевидно мне или вам, не всегда очевидно другому». Что будет? Я расскажу, что такое миграции, зачем они нужны, как подготовиться к работе с ними и провести базовую работу на Django; отдельно подсвечу тему конфликтов и схлопываний, покажу, как содержать в чистоте историю миграций. Всё это с примерами на практике и иллюстрациями. Погнали!
-
Большой гайд по миграциям в Django: готовимся к миграциям и избегаем конфликтов
Привет! Меня зовут Макс, я backend-разработчик в компании idaproject и автор Y ouTube-канала PyLounge . Я всегда хотел создавать контент, который пригодился бы мне самому в прошлом или настоящем. Эта большая статья — не исключение. Она для тех, кто только начинает изучение Django: жалею, что когда я начинал, мне не попался подобный материал. Надеюсь, он станет для вас хорошим подспорьем. Кому-то всё сказанное здесь покажется очевидным, но я всегда придерживался принципа — «то что очевидно мне или вам, не всегда очевидно другому». Что будет? Я расскажу, что такое миграции, зачем они нужны, как подготовиться к работе с ними и провести базовую работу на Django; отдельно подсвечу тему конфликтов и схлопываний, покажу, как содержать в чистоте историю миграций. Всё это с примерами на практике и иллюстрациями. Погнали!