Мої відповіді на ваші запитання з коментарів та особистих повідомлень:
❓Ти бачив сторис для каналів? Будеш використовувати?
Не користуюся сторіс в інших соцемережах. Тому ще не знаю чи робитиму такий контент. Підштовхнути мене до цього можна тут
❓Курс з Promt Engineering коштує $750! А промокоди на знижку будуть?
15% знижка за кодом GALKIN_NODE для перших трьох учасників. А ще повторю свою точку зору, треба вчитися за рахунок роботодавця.
❓Коли наступний Node.js weekly?
Минулого тижня доповідь на Software Architecture fwdays'23. На цій доповідь по Developer Experience. У планах наступного тижня рестартанути з таймкодами.
❓Ти бачив сторис для каналів? Будеш використовувати?
Не користуюся сторіс в інших соцемережах. Тому ще не знаю чи робитиму такий контент. Підштовхнути мене до цього можна тут
❓Курс з Promt Engineering коштує $750! А промокоди на знижку будуть?
15% знижка за кодом GALKIN_NODE для перших трьох учасників. А ще повторю свою точку зору, треба вчитися за рахунок роботодавця.
❓Коли наступний Node.js weekly?
Минулого тижня доповідь на Software Architecture fwdays'23. На цій доповідь по Developer Experience. У планах наступного тижня рестартанути з таймкодами.
👍7❤2🤓1
За дві години буду в гостях на каналі Math.random. Обговоримо Developer Experience. Почнемо з DX у контексті всі JavaScript екосистеми, розглянемо як він може змінюватися від проекту до проекту та, звичайно, як його покращити для вашого локального оточення.
Приходьте послухати та поставити запитання:
👉 https://www.youtube.com/watch?v=Omu21o0d1Eo
Приходьте послухати та поставити запитання:
👉 https://www.youtube.com/watch?v=Omu21o0d1Eo
🔥11❤3
Мініопитування: Як вам буде зручніше запропонувати новину для огляду на ютубі або питання для рецепту для каналу?
Anonymous Poll
30%
Form on the site
13%
GitHub Disscussions
70%
Telegram Bot
1%
Додам свій варіант у коментарі
Як перевірити конфігурацію інструментарію?
#cli
Типовий набір інструментів у Web/Node.js проекті включає у себе п'ять та більше інструментів. Кожен з інструментів має свою конфігурацію, яка може наслідуватися з встановленого пакета або глобального конфігу, перевизначатися змінною оточення або на рівні вкладеної папки. Більшість інструментів вміють показувати використовуваний конфіг у явному вигляді або завдяки підвищенню рівня логування до дебагу.
Ось приклади команд для найпопулярніших інструментів:
Використовувати перевірку конфігурації варто не тільки для налагодження чи налаштування інструментів, але й під час оновлення версій пакетів. Для цього зручно виводити конфігурацію у файл за допомогою перенаправленням виводу (символ >). Приклад:
Наприкінці хочу наголосити: уникайте глобальних установок та налаштувань інструментів. У протилежному випадку ваше локальне середовище може давати інші результати, ніж середовища ваших колег чи CI/CD. Що призведе на витрату часу на пошук причин таких розбіжностей.
#cli
Типовий набір інструментів у Web/Node.js проекті включає у себе п'ять та більше інструментів. Кожен з інструментів має свою конфігурацію, яка може наслідуватися з встановленого пакета або глобального конфігу, перевизначатися змінною оточення або на рівні вкладеної папки. Більшість інструментів вміють показувати використовуваний конфіг у явному вигляді або завдяки підвищенню рівня логування до дебагу.
Ось приклади команд для найпопулярніших інструментів:
npm config list --longprettier --log-level=debug --check '{src,tests}/**/*.ts'eslint --print-config '{src,tests}/**/*.ts'tsc --project tsconfig.json --showConfigjest --debug --config jest.config.tsВикористовувати перевірку конфігурації варто не тільки для налагодження чи налаштування інструментів, але й під час оновлення версій пакетів. Для цього зручно виводити конфігурацію у файл за допомогою перенаправленням виводу (символ >). Приклад:
eslint --print-config '{src,tests}/**/*.ts' > eslint.v1.json Після оновлення версії пакета або його конфігурації можна порівняти два файли.Наприкінці хочу наголосити: уникайте глобальних установок та налаштувань інструментів. У протилежному випадку ваше локальне середовище може давати інші результати, ніж середовища ваших колег чи CI/CD. Що призведе на витрату часу на пошук причин таких розбіжностей.
👍43❤1
Як забезпечити іммутабельність у вашому коді?
#typescript
⚠️Уточнення для новачків іммутабельності це незмінність даних.
У заголовок винесено одне з моїх улюблених питань для співбесід. Наведу найкращу-гіршу відповідь як я почув її в оригіналі: "TypeScript provides readonly, but it is only compile-time immutable protection. So I prefer to use Immutable.js for my codebase. I've also used Object.freeze()"
Поясню чим саме ця відповідь погана для продуктової розробки: у продуктовому коді розробник має повний контроль усіх етапів створення, зміни та знищення даних. Це не код бібліотеки або фреймворку, який невідомо, як буде запущений. Це код продукту, який буде працювати повільніше через використання Immutable.js або Object.freeze().
TypeScript має відмінний функціонал:
➡️ readonly у параметрах інтерфейсів
➡️ генерік Readonly, який особливо зручний для аргументів ваших функцій
➡️ as const під час оголошення змінних
Цей функціонал покриває всі потреби продуктового коду і не впливає на run time. Для консистентності використання цих фічів є @typescript-eslint/prefer-readonly-parameter-types. Так же можливо написати свої eslint правила, щоб команда не забувала про readonly в іммутабельних структурах даних, наприклад DTO.
Щось таке я хотів би почути на інтерв'ю на вищеназване запитання. Це та ще трохи критики, що readonly як і інші TypeScript конструкції роблять код багатослівним та схожим на Java.
#typescript
⚠️Уточнення для новачків іммутабельності це незмінність даних.
У заголовок винесено одне з моїх улюблених питань для співбесід. Наведу найкращу-гіршу відповідь як я почув її в оригіналі: "TypeScript provides readonly, but it is only compile-time immutable protection. So I prefer to use Immutable.js for my codebase. I've also used Object.freeze()"
Поясню чим саме ця відповідь погана для продуктової розробки: у продуктовому коді розробник має повний контроль усіх етапів створення, зміни та знищення даних. Це не код бібліотеки або фреймворку, який невідомо, як буде запущений. Це код продукту, який буде працювати повільніше через використання Immutable.js або Object.freeze().
TypeScript має відмінний функціонал:
➡️ readonly у параметрах інтерфейсів
➡️ генерік Readonly, який особливо зручний для аргументів ваших функцій
➡️ as const під час оголошення змінних
Цей функціонал покриває всі потреби продуктового коду і не впливає на run time. Для консистентності використання цих фічів є @typescript-eslint/prefer-readonly-parameter-types. Так же можливо написати свої eslint правила, щоб команда не забувала про readonly в іммутабельних структурах даних, наприклад DTO.
Щось таке я хотів би почути на інтерв'ю на вищеназване запитання. Це та ще трохи критики, що readonly як і інші TypeScript конструкції роблять код багатослівним та схожим на Java.
👍26❤3🔥1
Let's talk about logging by Matteo Collina
#worth_seeing
Сьогодні у нас рекомендація відео від автора fastify та pino. Matteo починає з питань про логування, а потім показує, як залежно від відповідей необхідно налаштувати pino.
#worth_seeing
Сьогодні у нас рекомендація відео від автора fastify та pino. Matteo починає з питань про логування, а потім показує, як залежно від відповідей необхідно налаштувати pino.
👍18❤🔥5👏1
100 Seconds of Code
#worth_seeing
Сьогодні у рекомендаціях не одне відео, а цілий плейлист від Fireship. У ньому зібрані відео інструменти, що пояснюють за 100 секунд або підхід. Такі відео дуже зручно відправити колезі, коли йдеться про щось нове.
Ось кілька відео, які варто подивитися як приклад:
- NestJS in 100 Seconds
- Terraform in 100 Seconds
- Firebase in 100 Seconds
- Vite in 100 Seconds
#worth_seeing
Сьогодні у рекомендаціях не одне відео, а цілий плейлист від Fireship. У ньому зібрані відео інструменти, що пояснюють за 100 секунд або підхід. Такі відео дуже зручно відправити колезі, коли йдеться про щось нове.
Ось кілька відео, які варто подивитися як приклад:
- NestJS in 100 Seconds
- Terraform in 100 Seconds
- Firebase in 100 Seconds
- Vite in 100 Seconds
👍36❤4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Chrome зберігає не тільки положення DevTools, а й порядок табів.
❤28👍5🔥5
Хочу порадити Tech Interview Handbook. Сам його використовую для Behavioral interview preparation.
👍48🔥15
На наступному тижні буде GitHub Universe. На цій конференції GitHub показуватиме свої новинки. Основний фокус цього року – AI, а Microsoft це GitHub, тому явно буде щось цікаве для розробки.
Реєстрація тут.
Реєстрація тут.
👍18❤2🤔1
Сьогодні в @doucommunity о 19:00 відбудеться войсчат про продуктове мислення в розробці! Спікери поділяться своїм досвідом та поглядами на важливість продуктового мислення в сучасній індустрії розробки програмного забезпечення.
Поговоримо, як впроваджувати цей підхід, визначати його в колег та розвивати власні навички в цьому напрямку.
🗣Спікери:
— Вадим Ільченко, Lead Software Engineer в Mate academy
— Нікіта Галкін, Cloud Architect, Google Developer Expert, Node.js Tech Speaker
— Роман Кириленко, iOS Software Engineer в Quarks
👉Запис із таймкодами викладено на DOU.
Поговоримо, як впроваджувати цей підхід, визначати його в колег та розвивати власні навички в цьому напрямку.
🗣Спікери:
— Вадим Ільченко, Lead Software Engineer в Mate academy
— Нікіта Галкін, Cloud Architect, Google Developer Expert, Node.js Tech Speaker
— Роман Кириленко, iOS Software Engineer в Quarks
👉Запис із таймкодами викладено на DOU.
❤3👍3
6 років тому я почав робити огляд нових фіч у Node.js. Цієї суботи Node.js Fwdays' 23 conference. Там я зроблю огляд Node.js екосистемі. До зустрічі онлайн!
🔥44👍12😍1
This media is not supported in the widget
VIEW IN TELEGRAM
❤32👍6🤡6😁3💩2🥴1🤣1
Я швидко не знайшов бота для розіграшу квитка, тому спробуємо Telegram Giveaway.
Тестування показало, що я не можу чи не розумію, як додати свій текст.
Будь ласка, використовуйте реакцію 💩або її аналоги, якщо вбудований механізм вам не подобається.
А краще запропонуйте альтернативи, бо дві оповіщення від каналу мені не подобаються.
Власне, що я хотів доповнити:
- переможець отримає промокод на -100% із правом вибору онлайн/оффлайн.
- промокод на -15% доступний всім - 9884C3C4DF.
Тестування показало, що я не можу чи не розумію, як додати свій текст.
Будь ласка, використовуйте реакцію 💩або її аналоги, якщо вбудований механізм вам не подобається.
А краще запропонуйте альтернативи, бо дві оповіщення від каналу мені не подобаються.
Власне, що я хотів доповнити:
- переможець отримає промокод на -100% із правом вибору онлайн/оффлайн.
- промокод на -15% доступний всім - 9884C3C4DF.
🔥31👍12
Forwarded from GDG Cloud Kyiv (Nikita)
У грудні я проведу 3-тижневий курс по Terraform. Курс буде безкоштовним на базі @GDGCloudKyiv. Навчальні матеріали будуть у Google Classroom. Заплановано 6 вебінарів з їхнього розбору. Реєстрація вже відкрита та необхідна для підключення до вебінарів. Доступно 50 квитків.
Вчимося разом – ви Terraform-у, а я як автоматизувати перевірку ваших завдань.
Вчимося разом – ви Terraform-у, а я як автоматизувати перевірку ваших завдань.
❤18
Просто нагадаю, що @itskills4u допомагає українцям отримати AWS сертифікацію. Я в п'ятницю за 15 хвилин відповів на Cloud Practitioner Assessment на 30 запитань і сьогодні отримав ваучер. Якщо у вас ще немає жодної сертифікації, почніть саме з неї. Цей іспит Senior повинен складати без підготовки, що я й зроблю цього тижня.
👍28❤4👌3