👩💻 Відкрит набір на AWS She Builds Mentorship Program 2025!
Це безкоштовна глобальна програма 1:1 менторства для жінок у tech. Це програма вже не вперше та я чув позитивні відгуки.
Тут тебе поєднають із досвідченими менторками та менторами з AWS, щоб допомогти:
✅ Прокачати кар’єру
✅ Знайти свій вектор розвитку
✅ Отримати підтримку в реальному світі технологій
📅 Тривалість: 12 тижнів (1 вересня – 28 листопада 2025)
🕓 Дедлайн подачі: 30 червня
🌍 Участь — онлайн, з будь-якої точки світу
🔗 Подати заявку: тут
📌 Умови: для жінок 18+, які навчаються, працюють або хочуть увійти в сферу технологій
Так, я знаю, що більшість читачів каналу не відповідають критеріям цієї програми. Для вас, шановні колеги, я рекомендую прочитати книгу 12-тижневий рік. Саме стільки триватиме вищезгадана програма. Повірте, якщо ви будете застосовувати ідеї з цієї книги, то навіть без жодного наставника зможете прокачатися у AWS чи яку мету ви оберете.
Це безкоштовна глобальна програма 1:1 менторства для жінок у tech. Це програма вже не вперше та я чув позитивні відгуки.
Тут тебе поєднають із досвідченими менторками та менторами з AWS, щоб допомогти:
✅ Прокачати кар’єру
✅ Знайти свій вектор розвитку
✅ Отримати підтримку в реальному світі технологій
📅 Тривалість: 12 тижнів (1 вересня – 28 листопада 2025)
🕓 Дедлайн подачі: 30 червня
🌍 Участь — онлайн, з будь-якої точки світу
🔗 Подати заявку: тут
📌 Умови: для жінок 18+, які навчаються, працюють або хочуть увійти в сферу технологій
Так, я знаю, що більшість читачів каналу не відповідають критеріям цієї програми. Для вас, шановні колеги, я рекомендую прочитати книгу 12-тижневий рік. Саме стільки триватиме вищезгадана програма. Повірте, якщо ви будете застосовувати ідеї з цієї книги, то навіть без жодного наставника зможете прокачатися у AWS чи яку мету ви оберете.
❤10🥴3🤮2🫡2💩1🤡1
За замовчуванням Node.js використовує лише одне ядро, але ми можемо використовувати Worker threads або Child Process.
Якщо ви їх використовуєте, настійно рекомендую під час запуску програми перевіряти кількість доступних ядер для вашого застосунка. Таким чином ви гарантуєте, що програма матиме необхідну кількість ресурсів. Наприклад, DevOps не забув внести зміни у deployment файл для Kubernetes.
Приклад коду
Зверніть увагу, що availableParallelism віддає цілі значення, тоді як налаштування кількості ядер може бути дробовою. Приклад:
Звісно, ми можемо зробити це через /sys/fs/cgroup/cpu файли щоб отримати дробове значення, але це вже OS specific
Как це буде працювати?
Контейнер може одночасно запускати 2 потоки, але в сумі за 100 мс не повинен перевищувати 150 мс процесорного часу інакше Linux throttling починає «гальмувати» процеси всередині контейнера, знижуючи їх пріоритет. Ось щоб у нас не було throttling, нам й потрібно перевірити availableParallelism.
Якщо ви їх використовуєте, настійно рекомендую під час запуску програми перевіряти кількість доступних ядер для вашого застосунка. Таким чином ви гарантуєте, що програма матиме необхідну кількість ресурсів. Наприклад, DevOps не забув внести зміни у deployment файл для Kubernetes.
Приклад коду
import { availableParallelism } from ‘node:os'; // Node 18.4+
const vCPUs = availableParallelism();
if (vCPUs < 2) throw new Error(`Minimum 2 vCPUs is required`);
Зверніть увагу, що availableParallelism віддає цілі значення, тоді як налаштування кількості ядер може бути дробовою. Приклад:
docker run --rm --cpus=1.5 node:22-alpine node -e "console.log(require('os').availableParallelism())"
Звісно, ми можемо зробити це через /sys/fs/cgroup/cpu файли щоб отримати дробове значення, але це вже OS specific
Как це буде працювати?
Контейнер може одночасно запускати 2 потоки, але в сумі за 100 мс не повинен перевищувати 150 мс процесорного часу інакше Linux throttling починає «гальмувати» процеси всередині контейнера, знижуючи їх пріоритет. Ось щоб у нас не було throttling, нам й потрібно перевірити availableParallelism.
👍33❤8
Сьогодні хочу поділитися одною із email-розсилок, які регулярно читаю – це Simon Wilson Newsletter. Якщо ви віддаєте перевагу RSS чи блогам, можете читати й так – simonwillison.net
У Саймона класний контент, присвячений LLM/AI та інструментам, який він створює для них.
Ось інструменти, які потрібно знати:
- https://github.com/simonw/llm - Access large language models from the command-line
- https://github.com/simonw/files-to-prompt - Concatenate a directory full of files into a single prompt for use with LLMs
- https://github.com/simonw/sqlite-utils - CLI utility for manipulating SQLite databases
PS Я обіцяв своєму менті зробити підбірку з email-розсилок, які я читаю. Але просто дати їх списком, без пояснень, чому це варто читати, буде схоже на черговий карго культ. Тому я буду робити для вас такі публікації. Дайте вогник, якщо так краще.
У Саймона класний контент, присвячений LLM/AI та інструментам, який він створює для них.
Ось інструменти, які потрібно знати:
- https://github.com/simonw/llm - Access large language models from the command-line
- https://github.com/simonw/files-to-prompt - Concatenate a directory full of files into a single prompt for use with LLMs
- https://github.com/simonw/sqlite-utils - CLI utility for manipulating SQLite databases
PS Я обіцяв своєму менті зробити підбірку з email-розсилок, які я читаю. Але просто дати їх списком, без пояснень, чому це варто читати, буде схоже на черговий карго культ. Тому я буду робити для вас такі публікації. Дайте вогник, якщо так краще.
🔥125❤9👍5
Ви, скоріше за все, знаєте Лірана Таля за його доповідями про Node.js та безпеку. Він є автором:
🔗 npm Security Cheat Sheet
🔗 Node.js Docker Security Cheat Sheet
🔗 Node.js CLI Apps Best Practices
У нього також є email-розсилка Node.js Security Newsletter з якісним контентом. На цю ж тему він написав кілька книжок - їх можна як знайти на торентах, так і придбати, щоб підтримати автора.
Ще я стежу за ним у медіа, і як багато інших авторів у світі Node.js, він активно працює з AI.
Із останнього - він виклав два цікавих репозиторії:
- awesome-mp-best-practices — найкращі практики для MCP-серверів і клієнтів
- ls-mcp — npm-пакет CLI для перегляду конфігурацій MCP-серверів у системі
🔗 npm Security Cheat Sheet
🔗 Node.js Docker Security Cheat Sheet
🔗 Node.js CLI Apps Best Practices
У нього також є email-розсилка Node.js Security Newsletter з якісним контентом. На цю ж тему він написав кілька книжок - їх можна як знайти на торентах, так і придбати, щоб підтримати автора.
Ще я стежу за ним у медіа, і як багато інших авторів у світі Node.js, він активно працює з AI.
Із останнього - він виклав два цікавих репозиторії:
- awesome-mp-best-practices — найкращі практики для MCP-серверів і клієнтів
- ls-mcp — npm-пакет CLI для перегляду конфігурацій MCP-серверів у системі
👍42❤2🥴1
5 липня відбудеться офлайн-конференція 🤖 AI-конференція Fwdays+DevRain.
Усі доповіді проходитимуть офлайн, трансляція буде доступна онлайн. Конференція збере найкращих українських спікерами з Microsoft, Google, Reface, MacPaw, DevRain та інших. Так серед спікерів - лише ті, хто фізично перебуває в Україні.
🎯 Теми: GenAI, LLMs, безпека, ML в продуктах, практичні кейси.
Використайте промокодRecipes10 та отримайте знижку 10%, деталі за посиланням 👉 https://bit.ly/45fvOJA
Я подивлюся трансляцію або запис. Цікаво, яка частина спікерів буде використовувати napkin.ai для створення зображень для слайдів.
Усі доповіді проходитимуть офлайн, трансляція буде доступна онлайн. Конференція збере найкращих українських спікерами з Microsoft, Google, Reface, MacPaw, DevRain та інших. Так серед спікерів - лише ті, хто фізично перебуває в Україні.
🎯 Теми: GenAI, LLMs, безпека, ML в продуктах, практичні кейси.
Використайте промокод
Я подивлюся трансляцію або запис. Цікаво, яка частина спікерів буде використовувати napkin.ai для створення зображень для слайдів.
❤11👍7
На проєкті, де я надаю консалтинг, зупинилась розробка. AI Agent-и та розробники не можуть нічого робити бо CI/CD пайплайни зламані.
Можна, звісно, звинувачувати NPM - у них не працює встановлення пакетів (помилки 502/504), але справжня причина в іншому - у GitHub Actions не налаштовано кешування ні для NPM, ні для побудови Docker-образів.
Так робити не можна. Швидкість та стабільність ваших пайплайнів забезпечується саме кешуванням залежностей.
——
Ще я спостерігаю проблеми в інфраструктурі Google - Google Meet, Firebase Auth - хтозна, чи це збіг.
Можна, звісно, звинувачувати NPM - у них не працює встановлення пакетів (помилки 502/504), але справжня причина в іншому - у GitHub Actions не налаштовано кешування ні для NPM, ні для побудови Docker-образів.
Так робити не можна. Швидкість та стабільність ваших пайплайнів забезпечується саме кешуванням залежностей.
——
Ще я спостерігаю проблеми в інфраструктурі Google - Google Meet, Firebase Auth - хтозна, чи це збіг.
👍28❤8😨3
Сьогодні поговоримо про Terraform і на кого підписатися, щоб бути в курсі його екосистеми.
⠀
🤔Почну з головного питання – навіщо тобі, дорогий читачу, Terraform?
Щоб бути інженером, а не просто розробником.
Розробники вміють тільки писати код (на одній мові / фреймворку), тому їх легко замінює AI.
А от інженер створює продукти, відповідає за їхню роботу аж до продакшену і розуміє DevOps практики.
Terraform – це стандарт де-факто серед IaC (Infrastructure as a Code), тому знати його – мастхев.
⠀
🎓Власне, як його вчити? Перевірено на особистому досвіді.
📗Теоретична база:
1. Готуємося до сертифікації Terraform Associate
- learning path by HashiCorp
- відео by FreeCodeCamp
2. Опціонально здаємо іспит за $70 (робочих знижок чи ваучерів я не знайшов)
3. Читаємо Terraform Best Practices
⠀
🛠 Практика:
1. Паралельно з теорією пишемо інфру для свого комерційного або pet-проєкту в тому хмарному провайдері, що тобі зручний.
2. Поступово додаємо інструменти з Terraform-екосистеми:
- tfenv
- tflint
- tfupdate
- checkov
- pre-commit-terraform
⠀
📬 Як бути в курсі?
Книга і pre-commit-terraform написані моїм улюбленим AWS Hero – Антоном Бабенко.
Він регулярно стрімить на своєму YouTube-каналі та веде Terraform Weekly.
Я читаю його дайджести, а ще реліз-ноути Terraform та провайдерів, які використовую.
⠀
Наприкінці посилання на останнє відео Антона з AWS Community Day Armenia.
⠀
🤔Почну з головного питання – навіщо тобі, дорогий читачу, Terraform?
Щоб бути інженером, а не просто розробником.
Розробники вміють тільки писати код (на одній мові / фреймворку), тому їх легко замінює AI.
А от інженер створює продукти, відповідає за їхню роботу аж до продакшену і розуміє DevOps практики.
Terraform – це стандарт де-факто серед IaC (Infrastructure as a Code), тому знати його – мастхев.
⠀
🎓Власне, як його вчити? Перевірено на особистому досвіді.
📗Теоретична база:
1. Готуємося до сертифікації Terraform Associate
- learning path by HashiCorp
- відео by FreeCodeCamp
2. Опціонально здаємо іспит за $70 (робочих знижок чи ваучерів я не знайшов)
3. Читаємо Terraform Best Practices
⠀
🛠 Практика:
1. Паралельно з теорією пишемо інфру для свого комерційного або pet-проєкту в тому хмарному провайдері, що тобі зручний.
2. Поступово додаємо інструменти з Terraform-екосистеми:
- tfenv
- tflint
- tfupdate
- checkov
- pre-commit-terraform
⠀
📬 Як бути в курсі?
Книга і pre-commit-terraform написані моїм улюбленим AWS Hero – Антоном Бабенко.
Він регулярно стрімить на своєму YouTube-каналі та веде Terraform Weekly.
Я читаю його дайджести, а ще реліз-ноути Terraform та провайдерів, які використовую.
⠀
Наприкінці посилання на останнє відео Антона з AWS Community Day Armenia.
❤26👍9❤🔥4💅3
Щоб закрити тему Infrastructure as Code, публічно прокоментую альтернативні підходи:
- OpenTofu (форк Terraform) зроблений компаніями-конкурентами, щоб і далі заробляти на Terraform після зміни ліцензії HashiCorp у версії 1.6. Жодна з них не інвестує на рівні HashiCorp, тому продукт і екосистема однозначно програють Terraform.
- Pulumi – IaC, який просувається за рахунок можливості описувати інфру на вашій улюбленій мові програмування (не треба вчити ще одну мову, як для Terraform). Але з розквітом AI-enabled development ця перевага для мене повністю втратила сенс. Якщо хочеться погратися з таким підходом – подивіться CDK for Terraform: робить те саме, але залишає вас у найпопулярнішій екосистемі. Також не рекомендую через дорогу бізнес-модель – платити $0.37 за ресурс у кожному стеку / оточенні – це дорого для IaC.
- Vendor-specific IaC – CloudFormation від AWS, Azure Resource Manager, Cloud Deployment Manager від Google Cloud. Не рекомендую, бо жорстко прив’язують вас до екосистеми одного вендора.
- IaC від frontend-інженерів – alchemy.run, sst.dev та інші. Категорію назвав так, бо вона нагадує: «я не розібрався в наявних фреймворках – тому зробив свій». Виглядають цікаво, і можна отримати користь, якщо розібратись, як вони працюють. Але – низький adoption, незрозуміло, хто за ними стоїть і скільки вони протримаються на ринку – тому не можна використовувати для комерційних проєктів.
- Infrastructure from Code (IfC) – почитати можна тут. Сайт зроблений командою ampt. Змішує код і опис інфраструктури. Підхід не новий – так працює, наприклад, Firebase Functions. Але на практиці створює більше проблем, ніж переваг, і замикає вас у фреймворк, нав’язаний тулом.
Завершу фразою зі списку «Ось що я хотів би знати як професіонал, коли мені було 30»:
Так от, мій вибір – Terraform, бо в нього найбільш розвинена екосистема (є, по суті, будь-який провайдер і багато крутих утиліт) і класне ком’юніті.
- OpenTofu (форк Terraform) зроблений компаніями-конкурентами, щоб і далі заробляти на Terraform після зміни ліцензії HashiCorp у версії 1.6. Жодна з них не інвестує на рівні HashiCorp, тому продукт і екосистема однозначно програють Terraform.
- Pulumi – IaC, який просувається за рахунок можливості описувати інфру на вашій улюбленій мові програмування (не треба вчити ще одну мову, як для Terraform). Але з розквітом AI-enabled development ця перевага для мене повністю втратила сенс. Якщо хочеться погратися з таким підходом – подивіться CDK for Terraform: робить те саме, але залишає вас у найпопулярнішій екосистемі. Також не рекомендую через дорогу бізнес-модель – платити $0.37 за ресурс у кожному стеку / оточенні – це дорого для IaC.
- Vendor-specific IaC – CloudFormation від AWS, Azure Resource Manager, Cloud Deployment Manager від Google Cloud. Не рекомендую, бо жорстко прив’язують вас до екосистеми одного вендора.
- IaC від frontend-інженерів – alchemy.run, sst.dev та інші. Категорію назвав так, бо вона нагадує: «я не розібрався в наявних фреймворках – тому зробив свій». Виглядають цікаво, і можна отримати користь, якщо розібратись, як вони працюють. Але – низький adoption, незрозуміло, хто за ними стоїть і скільки вони протримаються на ринку – тому не можна використовувати для комерційних проєктів.
- Infrastructure from Code (IfC) – почитати можна тут. Сайт зроблений командою ampt. Змішує код і опис інфраструктури. Підхід не новий – так працює, наприклад, Firebase Functions. Але на практиці створює більше проблем, ніж переваг, і замикає вас у фреймворк, нав’язаний тулом.
Завершу фразою зі списку «Ось що я хотів би знати як професіонал, коли мені було 30»:
Ми обираємо не просто інструмент або фреймворк – ми обираємо цілу екосистему і спільноту.
Так от, мій вибір – Terraform, бо в нього найбільш розвинена екосистема (є, по суті, будь-який провайдер і багато крутих утиліт) і класне ком’юніті.
❤22👍6
lovable.dev – один із веб-інструментів для вайбкодингу безкоштовний у безлімітному режимі на цих вихідних.
Чудова нагода завайбкодити щось круте!
Чудова нагода завайбкодити щось круте!
❤17
Як розробник підходить до відладки?
Junior – додає console.log() і шукає помилку у виводі.
Middle – користується дебагером і покроково аналізує код.
Senior – пише тест, що відтворює баг, і виправляє проблему.
Junior – додає console.log() і шукає помилку у виводі.
Middle – користується дебагером і покроково аналізує код.
Senior – пише тест, що відтворює баг, і виправляє проблему.
🤡72😁31🔥14❤2👍2🌚2
Трохи контенту
- Подкаст з Сергій Бабіч Хто такий Senior Software Developer?
- Стаття на DOU Коли ШІ погано виконує роботу бекендерів і чи замінить він джуніорів
- Подкаст з Сергій Бабіч Хто такий Senior Software Developer?
- Стаття на DOU Коли ШІ погано виконує роботу бекендерів і чи замінить він джуніорів
❤15👍5🥱4
Останні кілька місяців маятник хитнувся в інший бік – бізнес починає впроваджувати LLM усюди.
Якщо раніше потрібно було переконувати, що тут доречно використовувати LLM, то тепер, навіть там, де є хороші, перевірені, традиційні способи, бізнес прагне саме LLM рішення.
На днях у мене з'явився чудовий приклад, чому LLM не завжди підходить. Знайомий GDE створював проект chessarena.ai, це opensource.
З його допомогою дуже зручно проілюструвати що спеціалізоване рішення для завдання може працювати краще, ніж LLM.
Якщо раніше потрібно було переконувати, що тут доречно використовувати LLM, то тепер, навіть там, де є хороші, перевірені, традиційні способи, бізнес прагне саме LLM рішення.
На днях у мене з'явився чудовий приклад, чому LLM не завжди підходить. Знайомий GDE створював проект chessarena.ai, це opensource.
З його допомогою дуже зручно проілюструвати що спеціалізоване рішення для завдання може працювати краще, ніж LLM.
👍20❤2
Об GPT‑5
Як я розумію у перекладі з маркетингової мови:
Користувачі запускають дорогі моделі навіть для простих запитів, які легко обробляють і попередні версії. На цьому ми втрачаемо гроші, тому тепер ми самі вирішуватимемо, яку модель використовувати.
Тепер GPT‑5 працює всередині ChatGPT як єдина система без потреби вручну обирати «режим мислення» — маршрутизатор автоматично активує просунуту версію моделі для складних запитів або якщо користувач прямо просить «подумати». Альтман назвав попередній інтерфейс вибору моделей «дуже заплутаним».
Як я розумію у перекладі з маркетингової мови:
Користувачі запускають дорогі моделі навіть для простих запитів, які легко обробляють і попередні версії. На цьому ми втрачаемо гроші, тому тепер ми самі вирішуватимемо, яку модель використовувати.
😁65👍36❤2🤡2🔥1💯1🤣1
Media is too big
VIEW IN TELEGRAM
Але іноді доводиться правити Tailwind.
У цьому більше виручає не AI, а розширення для Chrome 👉 gimli.app/tailwind
👍42🔥8
Відрізнити бота, користувача через LLM і людину, що сама натискала кнопки, стає дедалі складніше.
А це означає, що бізнес усе частіше просто не буде робити різниці між ними.
У якості підтвердження своїх спостережень пошлюся на пару новин:
Sam Altman, CEO OpenAI, написав:
У той же час розробники Chrome та Edge створюють WebMCP, щоб перенести Model Context Protocol (MCP) з backend на frontend:
Висновок: кордон між «користувачем» і «ботом» стирається. Продуктам дедалі важливіше працювати з користувацькими сценаріями, а не з «типом користувача»
А це означає, що бізнес усе частіше просто не буде робити різниці між ними.
У якості підтвердження своїх спостережень пошлюся на пару новин:
Sam Altman, CEO OpenAI, написав:
i never took the dead internet theory that seriously but it seems like there are really a lot of LLM-run twitter accounts now
У той же час розробники Chrome та Edge створюють WebMCP, щоб перенести Model Context Protocol (MCP) з backend на frontend:
Web pages that use WebMCP can be thought of as Model Context Protocol (MCP) servers that implement tools in client-side script instead of on the backend
Висновок: кордон між «користувачем» і «ботом» стирається. Продуктам дедалі важливіше працювати з користувацькими сценаріями, а не з «типом користувача»
🤔14👍12🫡2
Ось така розмова вийшла з колегою-архітектором.
привіт
1. як я тебе зрозумів
- є система (або група застосунків), код якої зберігається як polyrepo
- є технічна документація, що зберігається в окремому репозиторії
2. як я зрозумів проблему — неактуальність документації. Вона частково спричинена тим, що зміни в репозиторіях app1/appN із кодом не завжди супроводжуються змінами в репозиторії з документацією docs
3. що я припускаю за контекстом
- використовується GitHub Actions
- проблему не вдається вирішити використовуючи тількі інженерну дисципліну
4. що б я зробив
- продовжив би використовувати один репозиторій для документації як джерело правди
- додав би в кожен репозиторій папку docs
- створив би reusable GitHub Action, який копіює зміни з appN/docs у docs/appN
у результаті розробники відповідають за документацію на рівні репозиторію, а архітектори — на рівні docs
5. опційно
- для людей із репозиторію docs зробити автопублікацію сайту з документацією (є багато готових рішень для перетворення markdown → HTML)
- вибрати й задокументувати технічний стек у репозиторії docs, додати скрипти для перевірки відповідності у всіх репозиторіях (наприклад, версія TypeScript/Eslint/etc)
- реалізувати підхід для генерації специфікацій із коду (Swagger чи його аналоги) і збірку зі всіх репозиторіїв
- для AI coding agents — створити власний MCP сервер. Спочатку з документацією, пізніше з метриками з інфраструктури й даними з застосунків
А взагалі ведення узгодженої документації — це більше про допомогу людям домовитися й дотримуватись домовленостей, ніж про інженерію.
привіт Нікіта
можливо можеш трохи допомогти?
Треба інструмент котрий міг би полегшити документацію. Confluence не має. На данний момент вся документація створюється в окремому git проекті. Шо не є зручно.
Є купа репозиторієв в котрих є свої нюанси (як приклад як додавати переклади, сетапити перший запуск ...). Readme не дуже зруно юзати.
Можливо знаєшь якість інструменти? можливо якийсь npm пактет котрий міг би давати змогу вести зручну документацію для кожного репозиторія?у клієнта Azure інфраструктура
привіт
1. як я тебе зрозумів
- є система (або група застосунків), код якої зберігається як polyrepo
- є технічна документація, що зберігається в окремому репозиторії
2. як я зрозумів проблему — неактуальність документації. Вона частково спричинена тим, що зміни в репозиторіях app1/appN із кодом не завжди супроводжуються змінами в репозиторії з документацією docs
3. що я припускаю за контекстом
- використовується GitHub Actions
- проблему не вдається вирішити використовуючи тількі інженерну дисципліну
4. що б я зробив
- продовжив би використовувати один репозиторій для документації як джерело правди
- додав би в кожен репозиторій папку docs
- створив би reusable GitHub Action, який копіює зміни з appN/docs у docs/appN
у результаті розробники відповідають за документацію на рівні репозиторію, а архітектори — на рівні docs
5. опційно
- для людей із репозиторію docs зробити автопублікацію сайту з документацією (є багато готових рішень для перетворення markdown → HTML)
- вибрати й задокументувати технічний стек у репозиторії docs, додати скрипти для перевірки відповідності у всіх репозиторіях (наприклад, версія TypeScript/Eslint/etc)
- реалізувати підхід для генерації специфікацій із коду (Swagger чи його аналоги) і збірку зі всіх репозиторіїв
- для AI coding agents — створити власний MCP сервер. Спочатку з документацією, пізніше з метриками з інфраструктури й даними з застосунків
А взагалі ведення узгодженої документації — це більше про допомогу людям домовитися й дотримуватись домовленостей, ніж про інженерію.
👍29❤6🔥1🥱1
Якщо ви змінюєте модель даних так, що це призводить до незворотних втрат інформації – тобто одна міграція бази даних видаляє або змінює дані, – обов’язково передбачте план їх відновлення.
У мене є два взаємодоповнювальні плани:
1. Регулярні автоматизовані резервні копії (бекапи).
2. Використання в міграції команди, що створює резервну копію таблиці перед змінами:
Звісно, я застосовую цей підхід лише для таблиць із порівняно невеликою кількістю записів, де створення копії не впливає суттєво на продуктивність або час виконання міграції.
У мене є два взаємодоповнювальні плани:
1. Регулярні автоматизовані резервні копії (бекапи).
2. Використання в міграції команди, що створює резервну копію таблиці перед змінами:
CREATE TABLE "<table_name>_backup_<migration_timestamp>" AS TABLE "<table_name>"
Звісно, я застосовую цей підхід лише для таблиць із порівняно невеликою кількістю записів, де створення копії не впливає суттєво на продуктивність або час виконання міграції.
👍30❤6🥱5