Іноді навіть проста система сповіщень з часом обростає дублюванням, if-ами та стає важко розширюваною.
Володимир, Backend Software Engineer, ділиться підходом впровадження патерну Abstract Factory.
Він показує, як винести створення об’єктів сповіщень у фабрики, зробити інтерфейси єдиними, а код — тестованим і зрозумілим.
Володимир, Backend Software Engineer, ділиться підходом впровадження патерну Abstract Factory.
Він показує, як винести створення об’єктів сповіщень у фабрики, зробити інтерфейси єдиними, а код — тестованим і зрозумілим.
Media is too big
VIEW IN TELEGRAM
Поговоримо про Android на DOU Mobile Day? 👀
Володимир, Team Lead Android в Hily, розповість про те, як писати код, що працюватиме роками без потреби все переписувати або запускати проєкт із нуля.
Поділиться реальними кейсами з побудови застосунків, пояснить, які рішення варто закладати з самого початку, а які — свідомо відкласти.
Не зволікайте з квитками, подія вже на наступному тижні 👉 https://dou.ua/goto/9LIP
Володимир, Team Lead Android в Hily, розповість про те, як писати код, що працюватиме роками без потреби все переписувати або запускати проєкт із нуля.
Поділиться реальними кейсами з побудови застосунків, пояснить, які рішення варто закладати з самого початку, а які — свідомо відкласти.
Не зволікайте з квитками, подія вже на наступному тижні 👉 https://dou.ua/goto/9LIP
💸 Взимку розробники, що пишуть на Scala, знову стали лідерами за розміром медіанних зарплат розробників – $6000. Далі — Ruby та Go.
Заповнюйте літню анкету, щоб подивилась, як змінилась ситуація за півроку! https://dou.ua/goto/9cyd
Заповнюйте літню анкету, щоб подивилась, як змінилась ситуація за півроку! https://dou.ua/goto/9cyd
Вийшов .NET 10 Preview 5. Нова версія отримала покращення продуктивності для середовища виконання, нові бібліотечні можливості, алгоритми постквантової криптографії, в C# — розширення операторів, оновлення F#, а також важливі фічі для ASP.NET Core, Blazor, .NET MAUI, WPF, Windows Forms, мобільних платформ і EF Core
👉 https://dou.ua/goto/jVNt
👉 https://dou.ua/goto/jVNt
У своєму дописі Олег Тесленко, розробник з BidsCube, ділиться практичним досвідом створення власного відеочату на базі LiveKit.
Він пояснює, чому обирає self-hosted рішення замість готових платформ, розкриває архітектуру з Angular/JavaScript, Node.js-бекендом для генерації токенів та LiveKit-сервером. Наводить готовий код для фронтенду та бекенду, розповідає про переваги кастомізації, контролю даних і економії — і закликає почати з LiveKit Cloud, а потім масштабувати під потреби бізнесу.
Він пояснює, чому обирає self-hosted рішення замість готових платформ, розкриває архітектуру з Angular/JavaScript, Node.js-бекендом для генерації токенів та LiveKit-сервером. Наводить готовий код для фронтенду та бекенду, розповідає про переваги кастомізації, контролю даних і економії — і закликає почати з LiveKit Cloud, а потім масштабувати під потреби бізнесу.
Маємо 4200 відповідей розробників в зарплатному дослідженні 🔥
Але наша мета – ще 2000 анкет 👉 https://dou.ua/goto/9cyd
А ще, кажуть, що якщо проігнорувати зарплатну анкету в п'ятницю 13-го, то endpoint
Але наша мета – ще 2000 анкет 👉 https://dou.ua/goto/9cyd
А ще, кажуть, що якщо проігнорувати зарплатну анкету в п'ятницю 13-го, то endpoint
/api/refresh
почне викликати сам себе. Тому заповнюйте! 😉У новому дописі Володимир, Backend Software Engineer, показує, як перетворити “if‑else” кашу в сервісі сповіщень на чисту архітектуру з використанням патерну Factory Method.
Він крок за кроком пояснює:
🔹 Що не так із жорстко закодованими switch/if-блоками;
🔹 Як створювати інтерфейс Notification і конкретні класи-сповіщення;
🔹 Як реалізувати фабрику та її специфічні версії для Email/SMS;
🔹 Як переписати NotificationService так, щоб додавати новий тип сповіщень було просто — без зміни основного коду.
Детальніше читайте в його публікації.
Він крок за кроком пояснює:
🔹 Що не так із жорстко закодованими switch/if-блоками;
🔹 Як створювати інтерфейс Notification і конкретні класи-сповіщення;
🔹 Як реалізувати фабрику та її специфічні версії для Email/SMS;
🔹 Як переписати NotificationService так, щоб додавати новий тип сповіщень було просто — без зміни основного коду.
Детальніше читайте в його публікації.
Media is too big
VIEW IN TELEGRAM
Дмитро Ковригін, iOS Tech Lead в Uklon запрошує вас на DOU Mobile Day 21 червня!
У своїй доповіді Дмитро розповість про підходи до аналізу коду з метою підтримання його консистентності та виявлення відхилень від внутрішніх стандартів. Окрім використання популярних сторонніх лінтерів і статичних аналізаторів, він поділиться досвідом розробки власних інструментів, створених для специфічних потреб команди, які не покриваються готовими рішеннями.
Шукай деталі про подію та квитки тут: https://dou.ua/goto/9LIP
У своїй доповіді Дмитро розповість про підходи до аналізу коду з метою підтримання його консистентності та виявлення відхилень від внутрішніх стандартів. Окрім використання популярних сторонніх лінтерів і статичних аналізаторів, він поділиться досвідом розробки власних інструментів, створених для специфічних потреб команди, які не покриваються готовими рішеннями.
Шукай деталі про подію та квитки тут: https://dou.ua/goto/9LIP
Всього 6 днів до конференції DOU Mobile Day — якщо ще без квитка, саме чаc його придбати 🎟️
Дивитися сторіс з події — не те саме, що бути там 😉
Квитки тут: https://dou.ua/goto/9LIP
Дивитися сторіс з події — не те саме, що бути там 😉
Квитки тут: https://dou.ua/goto/9LIP
Взимку збільшився розкид зарплат (різниця між найнижчими та найвищими зарплатами) у найдосвідченіших розробників: Team Lead, Tech Lead та Architect.
У Senior і Junior розробників знижувалися зарплати в усіх квартилях, у Middle — у третьому квартилі, тобто зарплати найоплачуваніших спеціалістів.
А як зараз у розробників із зарплатами? Заповнюйте анкету і дізнаємось 👉🏻 https://dou.ua/goto/6lm7
У Senior і Junior розробників знижувалися зарплати в усіх квартилях, у Middle — у третьому квартилі, тобто зарплати найоплачуваніших спеціалістів.
А як зараз у розробників із зарплатами? Заповнюйте анкету і дізнаємось 👉🏻 https://dou.ua/goto/6lm7
Forwarded from Web Overflow 🇺🇦
Next.js App Router 🚏
Колись давно, до Next.js 13, існував лише pages router. Він працював за доволі простими правилами: є папка pages, у якій кожен файл (крім деяких зарезервованих) автоматично стає сторінкою. Шлях до сторінки визначався її розташуванням у цій папці.
Однак із появою серверних компонентів, actions та підтримки streaming зʼявився і новий підхід до роутингу.
У Next.js 13 було представлено новий App Router. Замість папки pages тепер використовується папка app, де сторінками є лише файли з іменем page.tsx (чи з іншим відповідним розширенням). Такий підхід дозволяє використовувати всі нові можливості React: асинхронні компоненти, серверні функції, а також новий функціонал, зокрема layout, loading, паралельні роути тощо.
Загалом, з переваг можемо відмітити кращу модульність, більший фокус на сервері та можливості роботи з ним, та, здається, краща продуктивність. Але, на жаль, тим хто ще не перейшов на новий роутер потрібен час, щоб його вивчити та дослідити.
👉 А який тип роутера ви використовуєте у своїх застосунках?
#interview
Колись давно, до Next.js 13, існував лише pages router. Він працював за доволі простими правилами: є папка pages, у якій кожен файл (крім деяких зарезервованих) автоматично стає сторінкою. Шлях до сторінки визначався її розташуванням у цій папці.
Однак із появою серверних компонентів, actions та підтримки streaming зʼявився і новий підхід до роутингу.
У Next.js 13 було представлено новий App Router. Замість папки pages тепер використовується папка app, де сторінками є лише файли з іменем page.tsx (чи з іншим відповідним розширенням). Такий підхід дозволяє використовувати всі нові можливості React: асинхронні компоненти, серверні функції, а також новий функціонал, зокрема layout, loading, паралельні роути тощо.
Загалом, з переваг можемо відмітити кращу модульність, більший фокус на сервері та можливості роботи з ним, та, здається, краща продуктивність. Але, на жаль, тим хто ще не перейшов на новий роутер потрібен час, щоб його вивчити та дослідити.
👉 А який тип роутера ви використовуєте у своїх застосунках?
#interview
🔧 Toolbox Reality Check: мобільна інженерія 2025 — чесна розмова про інструменти, які ми любимо, терпіти не можемо, але все одно використовуємо. Обговоримо, що реально економить час, а що додає техборг, які тулзи “працюють з коробки”, а які — створюють лише ілюзію контролю. XcodeGen чи Tuist? Firebase чи Sentry? Лінтери — must-have чи біль розробника?
🎟️ Купуйте квитки та готуйте гострі питання: https://dou.ua/goto/9LIP
🎟️ Купуйте квитки та готуйте гострі питання: https://dou.ua/goto/9LIP
⚡ DOU Mobile Day вже цього тижня — зустрічаємось 21 червня в Києві!
Мобайл — це більше ніж просто код. Це про рішення, які масштабуються. Про досвід, який болів. Про архітектуру, яка тримає. Про таски, які змінюють продукт.
Долучайся — зарядись знаннями та натхненням на повну!
🔗 Квитки тут: https://dou.ua/goto/9LIP
Мобайл — це більше ніж просто код. Це про рішення, які масштабуються. Про досвід, який болів. Про архітектуру, яка тримає. Про таски, які змінюють продукт.
Долучайся — зарядись знаннями та натхненням на повну!
🔗 Квитки тут: https://dou.ua/goto/9LIP
Валентин Дружинін розповідає про Apache Airflow 3.0, до створення декількох нових фіч якого він доклав зусилля особисто.
Архітектурні зміни, покращення для розробників, повністю оновлений UI - всі деталі вже чекають на вас у огляді.
Архітектурні зміни, покращення для розробників, повністю оновлений UI - всі деталі вже чекають на вас у огляді.
Друзі, маємо вже 5000 анкет від розробників в зарплатному дослідженні. Серед них майже 3000 бекендерів та фулстеків 🔥
Це багато, але для класної аналітики потрібно більше. Приєднуйтесь, будь ласка, в нас лишилось зовсім мало часу 👉🏻 https://dou.ua/goto/6lm7
Вже в липні ми починаємо готувати аналітику і побачимо, хто зараз в топі зарплат 📊
Це багато, але для класної аналітики потрібно більше. Приєднуйтесь, будь ласка, в нас лишилось зовсім мало часу 👉🏻 https://dou.ua/goto/6lm7
Вже в липні ми починаємо готувати аналітику і побачимо, хто зараз в топі зарплат 📊
Дмитро Ноздрін підготував цикл матеріалів, у яких ділиться своїм досвідом розробки серверних застосунків.
У першій статті автор пропонує структуру побудови пакетів, яка може стати в пригоді як новачкам, так і досвідченим фахівцям при проєктуванні середніх та великих проєктів.
У першій статті автор пропонує структуру побудови пакетів, яка може стати в пригоді як новачкам, так і досвідченим фахівцям при проєктуванні середніх та великих проєктів.
Юлія, QA Automation з Playtika, спочатку досить скептично ставилася до Cursor AI — не вірила, що він зможе замінити одразу і Visual Studio Code, і IntelliJ IDEA. Але тепер визнає: Cursor AI дійсно вистрілив.
І ділиться, як з його допомогою вдалось оптимізувати робочий процес приблизно на 30%.
І ділиться, як з його допомогою вдалось оптимізувати робочий процес приблизно на 30%.
Андрій, Senior Full stack developer, ділиться власним підходом до архітектури великих Vue-додатків — без глобальних сторів, магії provide/inject і проп-дрілінгу.
Замість цього — самодостатні модулі з локальним станом, чіткою структурою та мінімумом сюрпризів.
👉 https://dou.ua/goto/Pmhk
Замість цього — самодостатні модулі з локальним станом, чіткою структурою та мінімумом сюрпризів.
👉 https://dou.ua/goto/Pmhk
Ще 500 анкет від розробників – і починаємо готувати статті зарплатної аналітики! 🔥
Дедлайн вже дуже близько, скоро закриємо дослідження. Але ви ще встигаєте відповісти на наші запитання 👉🏻 https://dou.ua/goto/6lm7
Саме ваша ЗП може вплинути на медіану зарплат бекендерів, фронтендерів, фулстеків, тож приєднуйтесь 💸
Дедлайн вже дуже близько, скоро закриємо дослідження. Але ви ще встигаєте відповісти на наші запитання 👉🏻 https://dou.ua/goto/6lm7
Саме ваша ЗП може вплинути на медіану зарплат бекендерів, фронтендерів, фулстеків, тож приєднуйтесь 💸