DOU #tech
10.8K subscribers
1.08K photos
10 videos
1.43K links
Статті від українських айтівців про технології. З будь-яких питань — пишіть Редакції на [email protected]

Щодо публікації вакансій пишіть @cnfccnfc.
Download Telegram
Пишемо автотести на базі Playwright та Jest

Довгий час основним інструментом для автоматизації тестування був Selenium. Проте наразі на ринку представлено декілька гідних альтернатив, таких як Cypress, Puppeteer та Playwright.

Playwright ми і розглянемо в цій статті.

Для тестування будемо використовувати Node.js, Playwright, Jest, jest-playwright-preset та jest-html-reporters. Playwright використовуємо для взаємодії з браузерами. Jest використовуємо, як тест ранер. Jest-html-reporters потрібний для генерації HTML репорту: https://dou.ua/forums/topic/32025/?from=tg-tech

#QA #NodeJS
Ditsmod — новий TypeScript веб-фреймворк для Node.js. Його назва складається із DI + TS + Mod, щоб підкреслити важливі складові: Dependency Injection, TypeScript, Modularity (тобто модульність). Поглянемо на фреймворк ближче: https://dou.ua/forums/topic/32553/?from=tg-tech

#NodeJS
Архитектура JS Back-end: подводные камни, принципы работы, лайфхаки

Александр Бидюк, Fullstack, JS techlead в CoreTech, написал руководство при выборе стека и подходов к разработке продукта на JS. А еще о возможностях Node JS и архитектуре, подводных камнях и лайфхаках.

👉 https://dou.ua/goto/VR58

#JavaScript #NodeJS
Костянтин Третяк, TypeScript розробник, описав головні особливості та переваги Node.js-фреймворку Ditsmod v1.0.0.

На думку автора, станом на сьогодні сукупність його фіч є унікальною.

Читайте деталі у статті 👉 https://dou.ua/goto/8R8c

#NodeJS
Как реализовать прикладной протокол на основе TCP

Алексей Румянцев, Node.js-разработчик рассказывает о том, как реализовывал прикладной протокол на базе Transmission Control Protocol (TCP).

👉 https://dou.ua/goto/58k4

#JavaScript #NodeJS
GitLab CI: cache vs artifacts на примере Node.js проекта

Антон Якутович занимается тестированием более 8 лет. Специализируется на тестировании веб-сервисов, в основном бэкенда. В этой статье он на примерах объясняет разницу между кешем и артефактами и показывает, как оптимально настроить пайплайн для Node.js-приложения.

👉 https://dou.ua/goto/1eTu

#DevOps #NodeJS
Сергій Калачніков, Node.js Backend Developer, розповідає про автоматизацію тестування і обхід капчі - один з процесів, який допоможе розробнику не витрачати зайвий час. Матеріал буде корисний тим, у кого є однотипні завдання і їхнє вирішення можна автоматизувати.

👉 https://dou.ua/goto/8TJs

#NodeJS #Security
Як реалізувати турніри в казуальній грі

Юрій Коваленко, Node.js-розробник, розповідає про реалізацію механіки ігрової активності — турнірів. Ця фіча впливає на основні продуктові метрики, адже збільшує інтерес до гри, заохочує гравців змагатися між собою, а отже, збільшувати довжину сесії. А ще вона має досить гнучкі налаштування, які можна змінювати без складнощів.

Як її реалізовували в OBRIO — у статті.

👉 https://dou.ua/goto/dXRC

#gamedev #NodeJS
Как создать безопасную авторизацию пользователей с помощью UUID

Создать прозрачную, расширяемую и безопасную систему авторизации пользователей — задача, с которой недавно столкнулся Никита Мачехин, Node.js-разработчик в OBRIO.

В статье он рассказывает о решении, сравнивает существующие подходы, разбирает, с какими подводными камнями сталкиваются при создании модуля авторизации, и пишет авторизацию в приложении с нуля на примере Node.js.

👉 https://dou.ua/goto/SgBi

#NodeJS #Security
Node.js: Worker Threads проти C ++ Addons

CPU-bound завдання — одна з найбільших проблем JavaScript. У цій статті Олексій Новохацький, Software Engineer, розкриває шляхи її вирішення.

А щоб донести основну ідею, процес та результати досліджень, він обрав найпопулярнішу, найкрутішу та найпросунутішу гру 1999 року — Heroes of Might and Magic III. Читайте про боротьбу команди Node.js зі злом!

👉 https://dou.ua/goto/mGKg

#NodeJS #backend
Компиляция и интерпретация в современном JIT. Как понимание работы JIT помогает писать код чище, а движку исполнять его быстрее

JIT компилятор — потрясающий инструмент, в v8 он компилирует байт-код после предварительной работы интерпретатора и хранит результат компиляции в кеше, переиспользуя его при последующих обращениях.

В идеальных условиях его сочетание с интерпретатором обеспечивает скорость выполнения кода, сравнимую с компилируемыми языками.

В статье Вячеслав Орлов, Back-end Developer в ITOMYCH STUDIO, показывает, как понимание работы JIT поможет писать код чище, а движку исполнять его быстрее.

👉 https://dou.ua/goto/eeTk

#JavaScript #NodeJS
Використовуємо Golang для розробки Node.js-застосунків (Node.js: In Go We Trust)

Як відомо, Node.js добре справляється з I/O intensive завданнями. А от для вирішення CPU bound є декілька варіантів — child processes/cluster, worker threads. Також є можливість використати іншу мову програмування.

Software Engineer Олексій Новохацький у своїй статті описує підходи до використання Golang в розробці Node.js-застосунків для запуску деяких CPU intensive завдань (простої суми чисел, послідовності Фібоначчі, а також для таких хеш-функцій, як md5 та sha256).

👉 https://dou.ua/goto/onJo


#NodeJS #go_dou_tech
⚡️ Fetch API стане доступним у Node.js!
Відповідний pull request уже об’єднано в master.

👉 https://dou.ua/goto/Er6w

#Nodejs
Dependency Injection в Node.js на чистом JavaScript

Мова піде про те, як реалізувати шаблон проєктування Dependency Injection на чистому JavaScript під NodeJS.

Розповідаючи про спосіб реалізації DI без використання декораторів, автор описує і теорію, тому стаття буде корисною новачкам. Але, насамперед, розрахована на програмістів, яким доводиться мати справу з підтримкою legacy-коду, написаного ще в ті часи, коли відповідних фреймворків та бібліотек ще не існувало.

👉 https://dou.ua/goto/Q8GB

#JavaScript #NodeJS
Як швидко створити serverless Telegram-бота: покроковий гайд

Олексій Павленко, Engineering Manager в компанії iDeals, ділиться важливою інструкцією: створення Telegram-ботів для розсилки або інформування.

Розглянемо, як швидко створити свого бота і зробити його доступним для всіх.

Стек – NodeJs + AWS + Telegraf.

👉 https://dou.ua/goto/iHp1

#NodeJS
Вийшла нова версія Ditsmod — 2.0 beta (із RealWorld прикладами)

Ditsmod — це NodeJS фреймворк, написаний на TypeScript.

Головні особливості Ditsmod:
• модульна архітектура на декораторах, що дозволяє вам декларативно описувати структуру застосунку
• зручний механізм вказання та вирішення залежностей між різними класами застосунку
• можливість писати власні розширення
• можливість динамічно додавати та видаляти модулі після старту вебсервера без необхідності рестарта
• має підтримку OpenAPI та можливість робити валідацію HTTP-запитів, використовуючи метадані OpenAPI
• на сьогодні Ditsmod є одним із найшвидших серед Node.js веб-фреймворків.

Більше про бета другої версії Ditsmod – у статті.

👉 https://dou.ua/goto/AjVw

#NodeJS #TypeScript #backend
How to Make a Poster on Word