Ілюзія ефективності АІ 😱
Сьогодні хочу поділитися своїми спостереженнями щодо використання AI. Він справді добре автоматизує рутину й дозволяє зосередитися на важливіших речах, але зі складними задачами є нюанси.
Зазвичай, на такі задачі найбільше впливає бізнес, який часто сам не розуміє, як усе має працювати. Через це вимоги змінюються частіше, ніж релізи нових JS-фреймворків.
У таких випадках AI створює ілюзію швидкості, бо за день-два генерує першу версію. Але що більше змін, то більше технічного боргу й втрати контексту в розробника. А це веде до того, що будь-які нові зміни можуть ламати вже наявний workflow.
Фактично, це проблеми, з якими стикалися всі, хто працював із legacy-системами. Але зазвичай, перехід у такий стан відбувається після місяців або років розробки, або після передачі системи на аутсорс в Індію 😁
У випадку з AI цей процес прискорюється: система чи окремі її компоненти дуже швидко переходять у стан legacy. З моїх спостережень, якби розробник не перекладав таку задачу повністю на AI, а використовував його як утиліту для контрольованої й точкової генерації коду, наприклад для створення сервісів, сутностей чи міграцій, то в short-term це було б трохи повільніше, ніж повна генерація через AI.
Але якщо дивитися на горизонт у кілька місяців, такий підхід дав би значно більше користі й створив би менше проблем, а впровадження змін було б в рази швидшим через повне розуміння того, як працює система.
Це ще раз доводить тезу: AI - це просто інструмент, який допомагає вирішувати задачі, але не вирішує фундаментальних проблем у розробці ПЗ.
Сьогодні хочу поділитися своїми спостереженнями щодо використання AI. Він справді добре автоматизує рутину й дозволяє зосередитися на важливіших речах, але зі складними задачами є нюанси.
Зазвичай, на такі задачі найбільше впливає бізнес, який часто сам не розуміє, як усе має працювати. Через це вимоги змінюються частіше, ніж релізи нових JS-фреймворків.
У таких випадках AI створює ілюзію швидкості, бо за день-два генерує першу версію. Але що більше змін, то більше технічного боргу й втрати контексту в розробника. А це веде до того, що будь-які нові зміни можуть ламати вже наявний workflow.
Фактично, це проблеми, з якими стикалися всі, хто працював із legacy-системами. Але зазвичай, перехід у такий стан відбувається після місяців або років розробки, або після передачі системи на аутсорс в Індію 😁
У випадку з AI цей процес прискорюється: система чи окремі її компоненти дуже швидко переходять у стан legacy. З моїх спостережень, якби розробник не перекладав таку задачу повністю на AI, а використовував його як утиліту для контрольованої й точкової генерації коду, наприклад для створення сервісів, сутностей чи міграцій, то в short-term це було б трохи повільніше, ніж повна генерація через AI.
Але якщо дивитися на горизонт у кілька місяців, такий підхід дав би значно більше користі й створив би менше проблем, а впровадження змін було б в рази швидшим через повне розуміння того, як працює система.
Це ще раз доводить тезу: AI - це просто інструмент, який допомагає вирішувати задачі, але не вирішує фундаментальних проблем у розробці ПЗ.
💯9❤6👍2
Найкращий інструмент, для залежностей в ваших тестах🔥
Один із важливих плюсів АІ в розробці - це можливість швидше і ефективніше покривати код тестами. Якщо з unit-тестами все зрозуміло: залежності можна замокати, ізолювати окремий модуль і перевірити його поведінку, то з інтеграційними та e2e-тестами все складніше.
Такі тести мають перевіряти, як система поводиться в умовах, максимально наближених до реального середовища і залежності у вигляді бази даних, кешу і т.д., мають відображати реальну поведінку.
На даний момент найкраще, з чим я зіштовхувався для керування залежностями, - це Testcontainers. Замість того, щоб страждати з розгортанням контейнерів вручну, просто встановлюєте його як
Наприклад вам потрібно протестувати код, який використовує ElasticSearch:
📎 - https://testcontainers.com/
Один із важливих плюсів АІ в розробці - це можливість швидше і ефективніше покривати код тестами. Якщо з unit-тестами все зрозуміло: залежності можна замокати, ізолювати окремий модуль і перевірити його поведінку, то з інтеграційними та e2e-тестами все складніше.
Такі тести мають перевіряти, як система поводиться в умовах, максимально наближених до реального середовища і залежності у вигляді бази даних, кешу і т.д., мають відображати реальну поведінку.
На даний момент найкраще, з чим я зіштовхувався для керування залежностями, - це Testcontainers. Замість того, щоб страждати з розгортанням контейнерів вручну, просто встановлюєте його як
npm-пакет і одразу починаєте використовувати. Наприклад вам потрібно протестувати код, який використовує ElasticSearch:
npm install @testcontainers/elasticsearch --save-dev
const container = await new ElasticsearchContainer("elasticsearch:7.17.7").start();
📎 - https://testcontainers.com/
Testcontainers
Testcontainers is an opensource library for providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
❤4🔥3
Сьогодні зарелізили Node.js 26.0.0 (Current)
З важливого -
Детальніше можна почитати тут
З важливого -
Temporal API тепер активне по замовчуванню🔥Детальніше можна почитати тут
nodejs.org
Node.js — Node.js 26.0.0 (Current)
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
🔥3👍2
Одне з найпоширеніших запитань на Junior/Middle позиціях - це JS Event Loop. Хоч це і доволі очевидно, але багато хто не розуміє базу і валиться на інтервʼю.
Тому якщо ви початківець і ще не розібралися з Event Loop, рекомендую подивитися це відео
Йому вже 11 років🚬, але як на мене, воно не втратило своєї актуальності і є одним з найкращих пояснень Event Loop.
Тому якщо ви початківець і ще не розібралися з Event Loop, рекомендую подивитися це відео
Йому вже 11 років🚬, але як на мене, воно не втратило своєї актуальності і є одним з найкращих пояснень Event Loop.
YouTube
What the heck is the event loop anyway? | Philip Roberts | JSConf EU
JavaScript programmers like to use words like, “event-loop”, “non-blocking”, “callback”, “asynchronous”, “single-threaded” and “concurrency”.
We say things like “don’t block the event loop”, “make sure your code runs at 60 frames-per-second”, “well of course…
We say things like “don’t block the event loop”, “make sure your code runs at 60 frames-per-second”, “well of course…
🔥17
REST, всі про нього знають, але зазвичай на рівні того, що ресурси треба описувати в множині, використовуючи сегменти URL. І так, це теж важливо, але основні концепції дизайну REST API значно глибші.
Щоб не роздувати пост до космічних масштабів, я коротко опишу основні моменти, а хто захоче розібратись, знайде детальніше в інтернетах:
Семантика HTTP
На ній заснований REST тому розуміння семантики є ключовою темою в дизайні. Тут все просто, разом з AI розбираєте сенс HTTP методів, статус кодів, заголовків, а також query i path параметрів.
Ідемпотентність
Це також частина семантики, але вона на стільки важлива, що я виділив її окремо. В контексті REST потрібно розуміти, які HTTP методи повинні бути ідемпотентні, а які ні.
Про ідемпотентність планував окремий пост, так як це одна з ключових концепцій розподілених систем і буде доречно висвітлити її в контексті мікросервісів.
Statelesness
Відсутність стану - це важливий технічний аспект, який має реалізовувати система при використанні REST. Ваш backend не повинен нічого знати про frontend, а вся потрібна інформація про клієнта, має міститись в запиті.
Щоб не роздувати пост до космічних масштабів, я коротко опишу основні моменти, а хто захоче розібратись, знайде детальніше в інтернетах:
Семантика HTTP
На ній заснований REST тому розуміння семантики є ключовою темою в дизайні. Тут все просто, разом з AI розбираєте сенс HTTP методів, статус кодів, заголовків, а також query i path параметрів.
Ідемпотентність
Це також частина семантики, але вона на стільки важлива, що я виділив її окремо. В контексті REST потрібно розуміти, які HTTP методи повинні бути ідемпотентні, а які ні.
Про ідемпотентність планував окремий пост, так як це одна з ключових концепцій розподілених систем і буде доречно висвітлити її в контексті мікросервісів.
Statelesness
Відсутність стану - це важливий технічний аспект, який має реалізовувати система при використанні REST. Ваш backend не повинен нічого знати про frontend, а вся потрібна інформація про клієнта, має міститись в запиті.
👍9🔥3💯3❤2
Fair Queue SQS 🔥
Одна з фундаментальних задач, яку потрібно вирішувати в Multi-tenant системі - це правильне розподілення ресурсів між tenants.
Проблема, що виникає при неправильному підході, називається Noisy Neighbor. Якщо розглядати цю проблему з точки зору SQS, вона виникає тоді, коли один tenant заповнює чергу своїми повідомленнями, що призводить до збільшення
Раніше це вирішувалося різними костилями, але не так давно AWS додав новий тип SQS - Fair. Про принцип роботи та міграцію можна почитати тут.
На діаграмі зображений noisy tenant A, який мав би заповнити Queue Backlog і перебрати ресурси на себе. Але SQS Fair розуміє, де bottleneck, і надає пріоритет обробці повідомлень для tenant C.
Одна з фундаментальних задач, яку потрібно вирішувати в Multi-tenant системі - це правильне розподілення ресурсів між tenants.
Проблема, що виникає при неправильному підході, називається Noisy Neighbor. Якщо розглядати цю проблему з точки зору SQS, вона виникає тоді, коли один tenant заповнює чергу своїми повідомленнями, що призводить до збільшення
latency для інших tenants.Раніше це вирішувалося різними костилями, але не так давно AWS додав новий тип SQS - Fair. Про принцип роботи та міграцію можна почитати тут.
На діаграмі зображений noisy tenant A, який мав би заповнити Queue Backlog і перебрати ресурси на себе. Але SQS Fair розуміє, де bottleneck, і надає пріоритет обробці повідомлень для tenant C.
🔥4
Масові скорочення через АІ😱
Я тримаю трохи акцій Cloudflare (NET.US) і сьогодні вони просіли на ~20%. Я звісно подивився в чому справа і виявляється, що в компанії скоротили 20% персоналу через АІ. Здебільшого звільнили back-office ролі по типу HR, finance, operations...також трохи інженерних ролей😁
Ось основні тейки з цієї ситуації після мінімального аналізу:
- Gross margin падає і цей квартал показав рекордно низький рівень, в тому числі через високі витрати на AI інфраструктуру, яка не окупається.
- Guidance мʼяко кажучи не Wow.
- Оцінка компанії була завищена.
- Походу скоро вони знову поломають половину інтернету 😁
І як це часто буває, кривий менеджмент не знайшов нічого кращого, ніж просто звільнити людей, щоб показати трохи кращі цифри в звітах.
Висновки які можна зробити
- Звільнення продовжаться, так як більшість компаній досі не реорганізували свій штат, який був найнятий в період дешевих "ковідних" грошей.
- В ІТ потрібно буде менше людей тому розширюйте горизонти, зосереджуйтесь на системному рівні і вирішенні проблем, а не на кодингу, фреймворках чи бібліотеках.
- Використовуйте АІ для вирішення задач. Це потужний інструмент, який зробить ваше життя трошки простішим.
Я тримаю трохи акцій Cloudflare (NET.US) і сьогодні вони просіли на ~20%. Я звісно подивився в чому справа і виявляється, що в компанії скоротили 20% персоналу через АІ. Здебільшого звільнили back-office ролі по типу HR, finance, operations...також трохи інженерних ролей😁
Ось основні тейки з цієї ситуації після мінімального аналізу:
- Gross margin падає і цей квартал показав рекордно низький рівень, в тому числі через високі витрати на AI інфраструктуру, яка не окупається.
- Guidance мʼяко кажучи не Wow.
- Оцінка компанії була завищена.
- Походу скоро вони знову поломають половину інтернету 😁
І як це часто буває, кривий менеджмент не знайшов нічого кращого, ніж просто звільнити людей, щоб показати трохи кращі цифри в звітах.
Висновки які можна зробити
- Звільнення продовжаться, так як більшість компаній досі не реорганізували свій штат, який був найнятий в період дешевих "ковідних" грошей.
- В ІТ потрібно буде менше людей тому розширюйте горизонти, зосереджуйтесь на системному рівні і вирішенні проблем, а не на кодингу, фреймворках чи бібліотеках.
- Використовуйте АІ для вирішення задач. Це потужний інструмент, який зробить ваше життя трошки простішим.
💯15🤔3❤2👍1
Нас вже більше 300 в Telegram каналі 🍾🎉🎉
Це дуже круто і яскравий приклад того, що людям цікавий інженерний контент
Дякую кожному, за те що читаєте❤️
Це дуже круто і яскравий приклад того, що людям цікавий інженерний контент
Дякую кожному, за те що читаєте❤️
👍13🔥8🤝3❤1🎉1
Що таке ідемпотентність❓
Цього тижня буду багато писати про розподілені системи та підходи, які часто в них використовуються. Почну з одного з найважливіших понять у мікросервісах - ідемпотентності. Це властивість операції, за якої її повторне виконання має такий самий кінцевий результат, як і одноразове виконання.
Найпростіший шлях - розібрати цю концепцію на прикладі
При багаторазовому виклику методів
В розподілених системах ми маємо опрацьовувати різні сценарії, де ідемпотентність відіграє ключову роль:
-
- Брокери повідомлень з
- Операції можуть виконуватися повторно через
- Нестабільність системи може запускати повторне опрацювання розподілених транзакцій;
Це лише декілька прикладів ситуацій, у яких нам потрібно забезпечувати ідемпотентність в мікросервісній архітектурі.
Цього тижня буду багато писати про розподілені системи та підходи, які часто в них використовуються. Почну з одного з найважливіших понять у мікросервісах - ідемпотентності. Це властивість операції, за якої її повторне виконання має такий самий кінцевий результат, як і одноразове виконання.
Найпростіший шлях - розібрати цю концепцію на прикладі
REST API, оскільки семантика HTTP чітко описує методи відносно ідемпотентності.При багаторазовому виклику методів
GET, PUT, DELETE стан системи буде таким самим, як і при одноразовому виклику. Тоді як метод POST змінює стан системи, створюючи нову сутність при кожному виклику.В розподілених системах ми маємо опрацьовувати різні сценарії, де ідемпотентність відіграє ключову роль:
-
Timeouts можуть провокувати повторні запити;- Брокери повідомлень з
at least once гарантією доставки можуть дублювати повідомлення;- Операції можуть виконуватися повторно через
retry-механізми;- Нестабільність системи може запускати повторне опрацювання розподілених транзакцій;
Це лише декілька прикладів ситуацій, у яких нам потрібно забезпечувати ідемпотентність в мікросервісній архітектурі.
🔥16❤1
Що таке гарантії доставки?
Це одне з найважливіших понять у брокерах повідомлень. Воно визначає, як повідомлення поводитимуться в ланцюжку producer → broker → consumer, а також описує їхню поведінку в разі збоїв системи.
Частіше всього, використовують три рівні гарантій доставки:
At most once - практично виключає дублікати, але повідомлення може загубитися при збоях в системі.
At least once - найпоширеніша гарантія доставки. Повідомлення може дублюватись, якщо брокер не отримав acknowledgement тому consumer повинен бути ідемпотентним (дивись допис вище up⬆️).
Exactly once - повідомлення буде оброблене рівно один раз. У теорії звучить добре, але на практиці реалізація потребує значних зусиль, тому використовується нечасто. Технічно це зазвичай досягається комбінацією
Це одне з найважливіших понять у брокерах повідомлень. Воно визначає, як повідомлення поводитимуться в ланцюжку producer → broker → consumer, а також описує їхню поведінку в разі збоїв системи.
Частіше всього, використовують три рівні гарантій доставки:
At most once - практично виключає дублікати, але повідомлення може загубитися при збоях в системі.
At least once - найпоширеніша гарантія доставки. Повідомлення може дублюватись, якщо брокер не отримав acknowledgement тому consumer повинен бути ідемпотентним (дивись допис вище up⬆️).
Exactly once - повідомлення буде оброблене рівно один раз. У теорії звучить добре, але на практиці реалізація потребує значних зусиль, тому використовується нечасто. Технічно це зазвичай досягається комбінацією
at least once і ідемпотентної обробки в задіяних вузлах.👍6
Зламали улюблену бібліотеку frontend молодьожі - TanStack😱
Останнім часом, дуже часто ламають frontend інструменти і як на мене єдиний спосіб вберегти себе від цього - переходити в backend.
📎 - https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
Останнім часом, дуже часто ламають frontend інструменти і як на мене єдиний спосіб вберегти себе від цього - переходити в backend.
📎 - https://tanstack.com/blog/npm-supply-chain-compromise-postmortem
TanStack
Postmortem: TanStack npm supply-chain compromise | TanStack Blog
On 2026-05-11, an attacker chained a pull_request_target Pwn Request, GitHub Actions cache poisoning across the fork↔base trust boundary, and OIDC token extraction from runner memory to publish 84 malicious versions across 42 @tanstack/* packages on npm.…
🤣15😁2❤1👻1
Трохи про танці: Оркестрація vs Хореографія
Ця тема доволі проста, але важлива для розуміння того, як відбувається взаємодія компонентів у розподілених системах.
Оркестрація
В цьому підході ми створюємо додатковий сервіс, який керує всім процесом і транзакціями. Головний плюс такого підходу - це те, що все знаходиться в одному місці, і працювати чи дебажити набагато простіше, ніж в хореографії.
Це, звісно, створює вузькі місця, і оркестратор може стати
Хореографія
Тут в нас немає центрального сервісу, який керує всім процесом. Кожен сервіс розуміє, як йому відреагувати на конкретну подію та куди "відкотити" транзакцію у разі збою.
З плюсів такого підходу - це простота і менша звʼязаність сервісів. Але якщо логіка ускладнюється, це часто перетворюється на хаос.
В реальності найчастіше використовують гібридний підхід. Для звичної взаємодії між сервісами використовується хореографія, а для складних flow - оркестрація.
Ця тема доволі проста, але важлива для розуміння того, як відбувається взаємодія компонентів у розподілених системах.
Оркестрація
В цьому підході ми створюємо додатковий сервіс, який керує всім процесом і транзакціями. Головний плюс такого підходу - це те, що все знаходиться в одному місці, і працювати чи дебажити набагато простіше, ніж в хореографії.
Це, звісно, створює вузькі місця, і оркестратор може стати
god service, що суперечить основній концепції Microservices - Loose coupling.Хореографія
Тут в нас немає центрального сервісу, який керує всім процесом. Кожен сервіс розуміє, як йому відреагувати на конкретну подію та куди "відкотити" транзакцію у разі збою.
З плюсів такого підходу - це простота і менша звʼязаність сервісів. Але якщо логіка ускладнюється, це часто перетворюється на хаос.
В реальності найчастіше використовують гібридний підхід. Для звичної взаємодії між сервісами використовується хореографія, а для складних flow - оркестрація.
🤣6
Що почитати по АІ?
Знайшов непогану книжечку про Agentic AI. Я тільки почав її читати і в цілому виглядає доволі непогано. Тут немає якихось революційних тем і для мене це більше рефреш і закріплення тем, які потрібно розуміти при роботі з будь яким агентним фреймворком по типу LangGraph.
З плюсів, які можу підкреслити зараз - це детальний опис тем і багато прикладів. Разом з тим книга читається доволі просто.
Рекомендую всім розробникам, які планують розширювати експертизу в АІ.
📎 - https://github.com/DanieleSalatti/AgenticDesignPatterns/tree/main
Знайшов непогану книжечку про Agentic AI. Я тільки почав її читати і в цілому виглядає доволі непогано. Тут немає якихось революційних тем і для мене це більше рефреш і закріплення тем, які потрібно розуміти при роботі з будь яким агентним фреймворком по типу LangGraph.
З плюсів, які можу підкреслити зараз - це детальний опис тем і багато прикладів. Разом з тим книга читається доволі просто.
Рекомендую всім розробникам, які планують розширювати експертизу в АІ.
📎 - https://github.com/DanieleSalatti/AgenticDesignPatterns/tree/main
GitHub
GitHub - DanieleSalatti/AgenticDesignPatterns: Agentic Design Patterns: A Hands-On Guide to Building Intelligent Systems by Antonio…
Agentic Design Patterns: A Hands-On Guide to Building Intelligent Systems by Antonio Gulli - DanieleSalatti/AgenticDesignPatterns
🔥6👍2
Ловіть ще одну Job board де публікують реальні вакансії. Постять їх не часто, але якщо ви маєте EU ФОП і працюєте в backend/full-stack - це буде +1 місце де шукати роботу.
https://www.jobs.nestjs.com/
https://www.jobs.nestjs.com/
Jobs | NestJS - A progressive Node.js framework
NestJS jobs is the best place to hire or get hired as NestJS developer. Find NestJS talent and reach to thousands of developers.
🔥8
Forwarded from Ruslan
https://learn.deeplearning.ai/
А не користувались цим ресурсом? Бачу його часто в лінкедин радять. Дивлюсь там навіть скіл білдер є, який роадмап тобі може сформувати
А не користувались цим ресурсом? Бачу його часто в лінкедин радять. Дивлюсь там навіть скіл білдер є, який роадмап тобі може сформувати
DeepLearning.AI - Learning Platform
deeplearning.ai learning platform
🔥4
Уявіть, вам стирають памʼять і ви можете переглянути цей шедевр ще раз 😁
https://www.youtube.com/watch?v=jj2TXJtzBQw&list=PLB86E02CE3735E3B6
https://www.youtube.com/watch?v=jj2TXJtzBQw&list=PLB86E02CE3735E3B6
YouTube
Курс HTML - Урок №01. Введение в HTML.
Бесплатный миникурс «Домен и хостинг»: https://4994.ru/2015
Бесплатный миникурс «Wordpress.Базовый»: https://4994.ru/3112
Бесплатная книга «Как зарабатывать на продаже знаний по системе Евгения Попова ТУРБИНА»: https://4994.ru/3113
Подписывайтесь на мой Инстаграм:…
Бесплатный миникурс «Wordpress.Базовый»: https://4994.ru/3112
Бесплатная книга «Как зарабатывать на продаже знаний по системе Евгения Попова ТУРБИНА»: https://4994.ru/3113
Подписывайтесь на мой Инстаграм:…
😁12👎1🥰1
Натрапив на цікавий проект - Floci
Фактично - це локальний емулятор AWS сервісів. На перший погляд він виглядає як LocalStack для бідних, так як підтримка сервісів дуже обмежена, але безкоштовно 😁
Як на мене, підійде тільки для чогось маленького, так як підтримка сервісів бідова і є велика імовірність впертись в обмеження Floci.
📎 - https://github.com/floci-io/floci
Фактично - це локальний емулятор AWS сервісів. На перший погляд він виглядає як LocalStack для бідних, так як підтримка сервісів дуже обмежена, але безкоштовно 😁
Як на мене, підійде тільки для чогось маленького, так як підтримка сервісів бідова і є велика імовірність впертись в обмеження Floci.
📎 - https://github.com/floci-io/floci
GitHub
GitHub - floci-io/floci: Light, fluffy, and always free - The AWS Local Emulator alternative
Light, fluffy, and always free - The AWS Local Emulator alternative - floci-io/floci
🔥6
Попалось цікаве відео від каналу IBM, про RAG
В цілому, нічого нового чи магічного, але для тих хто тільки почав знайомитись з AI в розробці буде цікаво
📎 - https://www.youtube.com/watch?v=UabBYexBD4k
В цілому, нічого нового чи магічного, але для тих хто тільки почав знайомитись з AI в розробці буде цікаво
📎 - https://www.youtube.com/watch?v=UabBYexBD4k
YouTube
Is RAG Still Needed? Choosing the Best Approach for LLMs
Ready to become a certified watsonx AI Assistant Engineer? Register now and use code IBMTechYT20 for 20% off of your exam → https://ibm.biz/BdpReK
Learn more about Retrieval Augmented Generation (RAG) here → https://ibm.biz/BdpReG
Are massive context windows…
Learn more about Retrieval Augmented Generation (RAG) here → https://ibm.biz/BdpReG
Are massive context windows…
🔥9
Security в WEB
Так як рівень API чи Frontend - це зазвичай відповідальність інженерів, потрібно розуміти основні болячки в безпеці.
Як на мене, найкращий ресурс - це OWASP Top 10. Тут зібрані найбільш критичні вразливості на поточний період (останній репорт за 2025).
Цей ресурс важливий не тільки для роботи, а і для проходження інтервʼю, як в наших, так і забугорних компаніях. Тому якщо ти шукаєш новий проект, обовʼязково ознайомся на базовому рівні.
Так як рівень API чи Frontend - це зазвичай відповідальність інженерів, потрібно розуміти основні болячки в безпеці.
Як на мене, найкращий ресурс - це OWASP Top 10. Тут зібрані найбільш критичні вразливості на поточний період (останній репорт за 2025).
Цей ресурс важливий не тільки для роботи, а і для проходження інтервʼю, як в наших, так і забугорних компаніях. Тому якщо ти шукаєш новий проект, обовʼязково ознайомся на базовому рівні.
🔥11👍6