Дмитро Охріменко
Статистика💼 Co-Founder: ITVDN та CyberBionic Systematics 🎓 Розробка та консалтинг в сфері IT понад 18 років 💻 Ментор та автор курсів Miй інстаграм https://www.instagram.com/dm.okhrimenko Чат для лампового спілкування - https://t.me/+tVRybZbaI_k1ZThi
- Последний пост
- 24 июн.
- Последнее чтение
- 13 авг.
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- украинский
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Привіт. Завтра стартує новий потік JavaScript, який я проводжу особисто. Деталі програми та реєстрація
Привіт. Минулого тижня провів вебінар про JavaScript та використання AI в розробці. Якщо не встигли приєднатися до ефіру, запис вже доступний за посиланням. Вебінар буде корисним тим, хто тільки починає вивчати програмування, а також розробникам, які хочуть розібратися, як ефективно використовувати AI у своїй роботі. На практичних прикладах показував роботу з Codex, але загальні підходи однаково актуальні й для Claude Code та інших AI-асистентів. До речі, цікаво почути вашу думку. Чи використовуєте ви локальні LLM у своїй роботі? Якщо так, то які моделі та інструменти обрали і наскільки задоволені результатом?
Привіт. 18 червня о 19:00 проведу безкоштовний вебінар про JavaScript та використання AI в розробці. Розповім про те: - чому JavaScript залишається однією з найпопулярніших мов програмування; - де і як JavaScript використовують сьогодні; - як розробники працюють з AI, як виглядає флоу розробки з використанням штучного інтелекту. Деталі та реєстрація
Привіт 👋 З 20 до 31 травня курс «Docker» на ITVDN безкоштовний. Якщо давно хотіли розібратися з контейнеризацією - гарний момент. 👉 https://itvdn.com/ua/shares/free-docker-course
Привіт👋 13 травня проведемо розіграш подарунків. Розігруємо книгу «Грокаємо алгоритми» від видавництва ArtHuss. Це хороша базова книга, щоб розібратися з алгоритмами. Все просто і цікаво пояснюється, книжку рекомендую. Також можна виграти сертифікати на навчання в ITVDN. Буде три «Стартових» пакети з доступом до всіх відеокурсів на 3 місяці. Розіграш відбудеться 13 травня о 15:00 в прямому ефірі на YouTube-каналі ITVDN. Переможців визначимо через random.org. Умови участі: https://cutt.ly/8tXwy16C
Привіт, Завтра розігруємо книгу "Lean UX. Створення класних продуктів із командами Agile". Якщо ще не встигли - є можливість зареєструватися та взяти участь у розіграші. Короткий огляд книги Поислання на розіграш
Привіт. 2 квітня о 19:00 проводжу вебінар, присвячений Fullstack-розробці. Багато хто, думаю, помітив, що цей напрям стає дедалі популярнішим. На вебінарі розберемо все по кроках - від базових концепцій до цілісного розуміння, як будується вебзастосунок. Реєстрація за посиланням. До зустрічі.
Привіт. 👋 На ITVDN опубліковано мій оновлений курс по Angular 21. Це систематизовані приклади та базові концепції, які необхідно розуміти, щоб впевнено працювати з цим фреймворком. Курс підійде тим, хто вже знає основи JavaScript і хоче системно розібратися з Angular та підготуватися до роботи. У курсі розглядається весь базовий набір тем - від створення нового проєкту та роботи з компонентами до створення кастомних валідаторів і пайпів. Також у курсі є практичний проєкт. Це простий backend сервіс з авторизацією, кількома endpoint-ами та Swagger документацією. Практична частина включає задачі на Angular, де потрібно організувати взаємодію з цим сервісом і реалізувати необхідний функціонал Детальна програма та відео лекції доступні на ITVDN Якщо ви вже працюєте з Angular, вам може бути цікавим запис вебінару про Change Detection та пов’язані зміни у версії 21: https://www.youtube.com/watch?v=qE2hmfbcoMQ Якщо ви розглядаєте інші напрями, рекомендую вебінар про FullStack розробку з детальними картами спеціальностей під різні технологічні стеки: https://www.youtube.com/watch?v=-aRolKWvGyI
Вебінар: Change Detection в Angular: тригери, OnPush, Signals і Zoneless 📆Дата та час: 3 березня (19:00 - 21:00) 👨🏻💻Спікер: Дмитро Охріменко — co-founder CyberBionic Systematics / ITVDN, Microsoft Certified Trainer, автор курсів ITVDN. На вебінарі ми розберемо, як працює Change Detection в Angular і чому його розуміння критично важливе для стабільної та продуктивної роботи застосунків. Почнемо з базової логіки синхронізації компонентів із DOM, щоб сформувати чітку ментальну модель того, як Angular знаходить і оновлює зміни. Розглянемо основні тригери детекції змін — DOM-події, асинхронні операції та роль Zone.js. З’ясуємо, чому Change Detection інколи запускається занадто часто і як це впливає на продуктивність. Також поговоримо про стратегію OnPush і сучасний підхід Angular 18+ — zoneless та local change detection. Сформуємо набір практичних рекомендацій для побудови ефективних застосунків і визначимо роль signals та інших інструментів у роботі з Angular. 🎟 Зареєструватися - https://cutt.ly/1tWMLXKe
Опублікували повний безкоштовний курс з JavaScript на каналі CodeUA: 14 уроків, 8 годин відео, приклади та практичні завдання. Посилання: https://www.youtube.com/watch?v=U4zjq-Uac2I Переходьте, навчайтеся та підтримайте курс лайком.
Привіт. 👋 Останні місяці були насичені тренінгами, тому я трохи випав з публічного простору. Зараз хороший момент повернутися і поділитися фокусами на 2026 рік. Я регулярно працюю з цілями і переглядаю їх у процесі. Цього року планую інвестувати час у професійний ріст, який напряму впливає і на мою роботу, і на навчальні продукти. Мої ключові напрями у порядку зростання складності та обсягу: Поглиблення роботи з Linux та Docker Хочу глибше розібратися в нюансах - docker-compose, networking, volumes, безпека, оптимізація образів і розуміння того, що відбувається під капотом, щоб приймати більш усвідомлені технічні рішення як розробник. Web Performance Engineering Краще розуміти, вимірювати і прогнозувати продуктивність веб-застосунків на рівні браузера, мережі та архітектури. Core Web Vitals, rendering pipeline, мережеві обмеження. Web Security Пройтися по OWASP Top 10 і переосмислити типові вразливості з точки зору сучасних підходів, фреймворків і практичного досвіду, накопиченого за останні роки. Штучний інтелект та RAG-системи Глибоко розібратися з Retrieval-Augmented Generation - взяти участь у плануванні архітектури та безпосередній розробці RAG-системи одного із запланованих проєктів на цей рік. Окремий фокус цього року - навчальний відеоконтент. Ми активніше розвиваємо YouTube-канал ITVDN. Уже на цих вихідних виходить безкоштовний курс з JavaScript, а протягом року плануємо регулярно випускати відео на теми, які напряму перетинаються з напрямами вище. Також ми оновили програми в CyberBionic Systematics за Frontend-напрямом і кількома іншими спеціальностями, які потребували ревізії. Логічний наступний крок - оновлення відповідних відеокурсів. Цікаво почитати: на які технічні або професійні напрями ви хочете зробити ставку цього року?
Webinar: Frontend in 2026 This webinar is your support at the starting line. Together, we’ll explore what’s happening in the world of frontend development in 2025, which skills truly matter, and why artificial intelligence isn’t an enemy — it’s your new super tool. Webinar Program: ✅ Why it’s hard for beginners to start in 2025 ✅ How the role of a frontend developer has evolved ✅ AI in programming: opportunities and limitations ✅ What remains human: irreplaceable skills ✅ 8 rules for a confident start ✅ How to create your personal development plan ✅ Q&A session Webinar Program: Speakers: — Dmytro Okhrimenko, Co-Founder CyberBionic Systematics, Microsoft Certified Trainer, author of video courses on ITVDN. — James Turner, experienced Frontend Developer and IT instructor with hands-on expertise in modern technologies including HTML CSS, JavaScript, Angular. 🚩Event language: English
Вже наступного тижня я починаю проводити тренінг по курсу Angular. Початок 3 листопада о 18:00. Подробиці за посиланням Формат: живі онлайн-заняття двічі на тиждень, всі уроки записуються та назавжди будуть доступні. 👨💻Все навчання буде базуватися на останній версії фреймворку Angular 20. Вивчивши матеріали курсу, ви зможете реалізувати проєкт з правильною архітектурою, вміти використовувати всі головні інструменти для побудови SPA застосунку і знати відповіді на запитання на співбесіді. 🔥До 31 жовтня діє знижка на курс - 111 USD (замість 158 USD). Кількість місць обмежена, тож бронюйте місце у групі вже зараз.
Привіт. 👋 23 жовтня о 19:00 проводжу вебінар про FullStack розробку. Будуть рекомендації щодо того що і в якій послідовності вчитися та на чому концентрувати увагу. Реєстрація за посиланням
Async/await Супроводжувати синхронний код завжди простіше, ніж асинхронний. У 2012 році в мові C# з’явився синтаксичний цукор, який значно спростив роботу з асинхронними операціями: замість вкладених callback можна було використовувати послідовний синтаксис з новими ключовими словами async та await. Згодом цю концепцію перейняли й інші мови програмування, зокрема Python та JavaScript. В JavaScript підтримку async/await додали у 2017 році. Призначення ключових слів async - додається до функції та вказує, що вона завжди повертає Promise. await - використовується перед об’єктом-промісом, щоб "дочекатися" результату перед виконанням наступних рядків коду. Перепишемо попередній приклад із завантаженням зображень, використовуючи async/await: let image = null; image = await downloadImage(url1); document.body.append(image); image = await downloadImage(url2); document.body.append(image); image = await downloadImage(url3); document.body.append(image); Тепер код виглядає як звичайний синхронний: немає вкладених callback, усе читається рядок за рядком. Можна подумати, що await "зупиняє" виконання, очікуючи на результат промісу. Насправді ж код не блокує основний потік - під капотом він перетворюється на машину станів, де кожен стан описує дію до або після await. Ще одна перевага async/await - знайомий синтаксис для обробки помилок: try { let image = null; image = await downloadImage(url1); document.body.append(image); image = await downloadImage(url2); document.body.append(image); image = await downloadImage(url3); document.body.append(image); } catch (ex) { // обробка помилки } У результаті асинхронний код виглядає так само зрозуміло, як і синхронний, що значно спрощує його супровід.
Використання Promise Це пост з серії постів про асинхронний код у JS Promise - це об’єкт, який представляє асинхронну операцію. У перекладі з англійської promise означає «обіцянка». Можна уявити, що це обіцянка від браузера надати в майбутньому або результат операції, або помилку, пов’язану з її виконанням. Приклад використання: перепишемо попередню функцію downloadImage, щоб вона повертала Promise. let promise = downloadImage(url1); promise.then(image => document.body.append(image)); Тут ми все одно використовуємо callback-функцію, але передаємо її вже в метод .then() об’єкта promise. Це важливий момент: - тепер асинхронна операція має об’єктне представлення, яке можна передавати як параметр у різні частини коду; - можна будувати ланцюжки промісів, позбуваючись вкладеності, яка виникала з callback. Приклад: downloadImage(url1) // отримуємо проміс .then(image => { // вказуємо що робити коли promise перейде в стан resolved document.body.append(image); return downloadImage(url2); // виконуємо метод, який повертає promise }) .then(image => { // результат роботи попереднього промісу передається як значення document.body.append(image); return downloadImage(url3); }) .then(image => { document.body.append(image); }); Тепер код виглядає лінійним і набагато зручнішим для супроводу. У прикладах вище ми не розглядали, як саме створюється Promise, адже важливо зрозуміти мотивацію використання цих об’єктів. Тим більше, що більшість API браузера вже повертають готові проміси. Наприклад: fetch('<https://jsonplaceholder.typicode.com/users>') .then(res => res.json()); що хочете детальніше розібратися зі створенням Promise вручну - перегляньте документацію на MDN або мій відео урок на ITVDN.
Google почав новий набір на освітню програму «Розвивайте кар’єру з Google Cloud», де можна здобути знання та практичні навички роботи з хмарними технологіями. Сьогодні о 17 перший вебінар
Цікава думка від Мартіна Фаулера про LLM як новий рівень абстракції у програмуванні Поява LLM у програмуванні схожа на стрибок від асемблера до перших високорівневих мов. Але з однією важливою відмінністю. Мови програмування піднімали рівень абстракції, але залишались детермінованими: один і той самий код завжди дає той самий результат. LLM - це абстракція недетермінована. Ти не можеш покласти промпт у git і бути впевненим, що завтра отримаєш той самий код. Тобто ми не просто рухаємось «вище» в абстракції, а ще й «убік» - у світ, де результат залежить від імовірності. Це зовсім новий вимір програмування.
StackOverflow опублікував звіт за 2025 рік. В опитуванні взяли участь 49 тисяч технічних фахівців із 177 країн. Ось кілька ключових трендів, які мені здалися цікавими: 1. Високе поширення AI-інструментів, але зниження довіри до них ~84 % розробників використовують або планують використовувати інструменти з AI у своїй роботі. Але одночасно значно більше людей заявляють, що не довіряють точності результатів AI (≈ 46 %, порівняно з ~31 % минулого року) і часто скаржаться, що виправлення помилок, створених AI, займає багато часу. 2. Мови програмування: стабільно ‒ JavaScript, Python Найпопулярніші мови серед тих, з якими працюють зараз: JavaScript, HTML/CSS, SQL, Python. Python помітно виріс - плюс ~7 % до попереднього року. Це свідчить, що його популярність далі зростає, особливо в галузях AI, data science, бекенду. 3. Україна серед активних Україна посіла 7-ме місце серед країн за часткою відповідей в опитуванні. 4. Популярність технологій, які мають потенціал на майбутнє ‒ Admired (шановані) та Desired (той, з яким хотіли б працювати) мови: Rust, Go, інші менш традиційні мови отримують все більше уваги. ‒ Технології контейнеризації / середовища (наприклад Docker) мають помітне зростання. 5. Робота: віддалено й гібридно продовжують бути нормою Частка розробників, які працюють повністю віддалено або гібридно, залишається великою. Наприклад в США ~45 % повністю віддалених розробників
Callback-функцій. Це найпростіший підхід, але він може призвести до заплутаного коду, особливо коли одна асинхронна операція запускає іншу, і так утворюється ланцюг. Уявімо, що маємо функцію downloadImage(url, callback), яка завантажує зображення асинхронно, не блокуючи основний потік. Перший параметр - це адреса зображення, яке потрібно завантажити, а другий - функція, яку буде викликано після завершення завантаження. При цьому саме зображення буде передане як параметр у callback. Приклад використання: downloadImage(url1, image => document.body.append(image)) На перший погляд усе просто. Але якщо потрібно завантажити кілька зображень послідовно, код стає менш зрозумілим: downloadImage(url1, image => { document.body.append(image); downloadImage(url2, image => { document.body.append(image); downloadImage(url3, image => { document.body.append(image); }) }) }); Така вкладена структура швидко ускладнюється, особливо якщо замість одного рядка з DOM-змінами з’являється додаткова логіка. Подібний стиль називають "Pyramid of Doom", і його краще уникати. Один зі способів спростити обробку асинхронних викликів - це використання Promise.