Чи цікаві відео які рекомендуються в постах #worth_seeing? Я їх публікую у вихідні, але вони традиційно мають слабкий відгук. Хочу зрозуміти чому
Final Results
52%
Та я їх дивлюся. Публікація на вихідних чудова ідея
13%
Вони корисні, але не треба публікувати у вихідні
36%
Я їх не дивлюсь.
👍4
Хочу зрозуміти, чи цікавий вам відео формат від мене і який саме.
Можна вибрати кілька варіантів
Можна вибрати кілька варіантів
Final Results
28%
відео-подкасти із запрошеним гостем на тему (повернення війс-чатів у відео форматі)
54%
огляд новин пов'язаних з Node.js та Cloud Native
60%
огляд конкретних сервісів, бібліотек чи інструментів
60%
live-coding stream з моїх реальних проектів
15%
зараз достатньо відео контенту, краще роби більше рецептів
8%
я не дивлюсь відео контент
👍4
Як, і, найголовніше, для чого розпарсювати JWT?
Я не переказуватиму застосування та структуру JWT. Це вже добре зроблено у https://jwt.io/introduction.
Власне питання в заголовку я використовую для перевірки як кандидатів, так і AI. Так минулого літа Copilot пропонував мені лише варіант із викликом методу decode бібліотеки jsonwebtoken. Проте вже наприкінці осені він покращився і зміг запропонувати ще й щось таке:
const payloadBase64 = token.split('.')[1];
if (!payloadBase64) ...
const decodedJson = Buffer.from(payloadBase64, 'base64').toString();
const parsed = JSON.parse(decodedJson) as Record<string, unknown>;
З того часу до часу Copilot додався ChatGPT/Bard/etc, але що вони всі не вміють належним чином записувати jwt.verify помилки у логи. Вони або виводить JWT повністю до логів, створюючи серйозну security уразливість, або взагалі не логують нічого. Що саме логувати залежить від проекту, але нагадаю критерій добрих логів - з них можна зрозуміти, що відбувається з вашим застосунком. Для цього потрібно розпарсувати JWT (до verify або невдачного verify). Тоді можна залогувати його header/payload, але не signature.
На завершення наведу два приклади застосування:
– велика кількість JWT із завершеним строком дії може вказувати на те, що розробники клієнтської частини не контролюють термін дії JWT та не оновлюють його заздалегідь.
– велика кількість JWT з неправильною сигнатурою може свідчити про хакерську атаку або проблеми у процесах DevOps – наприклад, невірний напрямок трафіку через некоректне середовище.
Я не переказуватиму застосування та структуру JWT. Це вже добре зроблено у https://jwt.io/introduction.
Власне питання в заголовку я використовую для перевірки як кандидатів, так і AI. Так минулого літа Copilot пропонував мені лише варіант із викликом методу decode бібліотеки jsonwebtoken. Проте вже наприкінці осені він покращився і зміг запропонувати ще й щось таке:
const payloadBase64 = token.split('.')[1];
if (!payloadBase64) ...
const decodedJson = Buffer.from(payloadBase64, 'base64').toString();
const parsed = JSON.parse(decodedJson) as Record<string, unknown>;
З того часу до часу Copilot додався ChatGPT/Bard/etc, але що вони всі не вміють належним чином записувати jwt.verify помилки у логи. Вони або виводить JWT повністю до логів, створюючи серйозну security уразливість, або взагалі не логують нічого. Що саме логувати залежить від проекту, але нагадаю критерій добрих логів - з них можна зрозуміти, що відбувається з вашим застосунком. Для цього потрібно розпарсувати JWT (до verify або невдачного verify). Тоді можна залогувати його header/payload, але не signature.
На завершення наведу два приклади застосування:
– велика кількість JWT із завершеним строком дії може вказувати на те, що розробники клієнтської частини не контролюють термін дії JWT та не оновлюють його заздалегідь.
– велика кількість JWT з неправильною сигнатурою може свідчити про хакерську атаку або проблеми у процесах DevOps – наприклад, невірний напрямок трафіку через некоректне середовище.
👍32🔥1💩1
Зробив тестовий стрим. Не дивлячись на всю підготовку, звичайно, щось пішло не так. Поки що не зрозумів це проблема провайдера чи перегрів роутера.
Із запланованого контенту вийшло лише 15 хвилин. З ним можна ознайомитись, щоб зрозуміти формат. Поки що я його бачу як щотижневий стрим, присвячений продуктовій розробці із застосуванням Node.js. Демонстрації коду у відео немає, але це точно буде.
Дякую всім за підтримку. Наступний ефір буде наступної середи.
Із запланованого контенту вийшло лише 15 хвилин. З ним можна ознайомитись, щоб зрозуміти формат. Поки що я його бачу як щотижневий стрим, присвячений продуктовій розробці із застосуванням Node.js. Демонстрації коду у відео немає, але це точно буде.
Дякую всім за підтримку. Наступний ефір буде наступної середи.
YouTube
[Test stream] Node Recipes – Weekly Review
🔥30👍6😢1
Новини Node.js розробки за минулий тиждень
#weekly_review
Node.js Security Releases – нові функції відсутні, виправлення безпеки не критичні, тому його можна пропустити.
Announcing TypeScript 5.2 RC – реліз спрямований на підтримку нових фіч EcmaScript: using та Decorator Metadata.
2023 State of the API Report – вийшов щорічний звіт про розробку API, Postman опитав 40000 розробників.
Is Jamstack Toast? – здається, термін вийшов у відставку, але сам підхід залишається актуальним для статичних сайтів.
Google introduced IDX, це web-IDE (Web Visual Studio), на основі Google Cloud Workstations з Codey AI.
#weekly_review
Node.js Security Releases – нові функції відсутні, виправлення безпеки не критичні, тому його можна пропустити.
Announcing TypeScript 5.2 RC – реліз спрямований на підтримку нових фіч EcmaScript: using та Decorator Metadata.
2023 State of the API Report – вийшов щорічний звіт про розробку API, Postman опитав 40000 розробників.
Is Jamstack Toast? – здається, термін вийшов у відставку, але сам підхід залишається актуальним для статичних сайтів.
Google introduced IDX, це web-IDE (Web Visual Studio), на основі Google Cloud Workstations з Codey AI.
👍31
Next Gen Package Management
#worth_seeing
Сьогоднішнє відео з конференції REFACTOR DX 2023, що відбулася минулого місяця в Торонто. Як можна здогадатися з назви, вона була присвячена досвіду розробника (Developer Experience). Дарсі Кларк виступив із захоплюючим keynote на заключення першого дня. Дарсі впродовж 4 років очолював інженерію npm. Наразі він працює над своїм стартапом, продовжуючи підтримувати проєкт Node.js та зусилля Фонду OpenJS Foundation у різних робочих групах. З таким багатим досвідом Дарсі дійсно має чим поділитися щодо JavaScript Package Management. Доповідь вийшла зрозумілою та насиченою інформацією, тому настійно рекомендую її переглянути.
#worth_seeing
Сьогоднішнє відео з конференції REFACTOR DX 2023, що відбулася минулого місяця в Торонто. Як можна здогадатися з назви, вона була присвячена досвіду розробника (Developer Experience). Дарсі Кларк виступив із захоплюючим keynote на заключення першого дня. Дарсі впродовж 4 років очолював інженерію npm. Наразі він працює над своїм стартапом, продовжуючи підтримувати проєкт Node.js та зусилля Фонду OpenJS Foundation у різних робочих групах. З таким багатим досвідом Дарсі дійсно має чим поділитися щодо JavaScript Package Management. Доповідь вийшла зрозумілою та насиченою інформацією, тому настійно рекомендую її переглянути.
👍29
Минуло два місяці, як я рекламував вам eslint-plugin-unicorn. Хочу це зробити ще раз. Якщо у вас його немає на проекті – встановіть його. Встановіть прямо зараз.
Приклади правил, які він додає:
–
– заборона використання
– імпортування вбудованих модулів тільки з
Повний список правил тут. У багатьох є автофікс, тому їх впровадження це питання кількох хвилин.
Приклади правил, які він додає:
–
replaceAll замість replace– заборона використання
array.forEach– імпортування вбудованих модулів тільки з
node:Повний список правил тут. У багатьох є автофікс, тому їх впровадження це питання кількох хвилин.
👍27🤔5🌚2
This media is not supported in your browser
VIEW IN TELEGRAM
За допомогою Postman можна в пару кліків відтворювати запити з Chrome.
👍84😍16🔥3
З Днем Незалежності🇺🇦
Node Recipes – Weekly Review можна подивитися тут
Node Recipes – Weekly Review можна подивитися тут
👍50❤18❤🔥1😁1🙏1
Через 4 години наступний огляд новин щодо продуктової Node.js розробки.
Підключайтеся подивитися та поставити запитання.
Підключайтеся подивитися та поставити запитання.
🔥33👍10
Forwarded from GDG Cloud Kyiv (Nikita)
За годину відбудеться ефір з Нікітою Галкіним та Віктором Турським. Хлопці розберуть новинки, представлені на Google Next 2023.
До зустрічі в ефірі!
До зустрічі в ефірі!
👍11
Weekly Review буде за 4 години. Подивимося, чи вдасться мені в прямому ефірі запустити bun 1.0 для реального проекту.
👀 https://www.youtube.com/watch?v=ylt3kmunwVA
👀 https://www.youtube.com/watch?v=ylt3kmunwVA
YouTube
Node.js Weekly: Bun 1.0, Ngrok
Посилання:
https://bun.sh/blog/bun-v1.0
https://stripe.com/docs/upgrades#2023-08-16
https://ngrok.com/blog-post/free-static-domains-ngrok-users
https://blog.jetbrains.com/webstorm/2023/09/2023-3-roadmap/
https://lp.jetbrains.com/marketplace-anniversary/
…
https://bun.sh/blog/bun-v1.0
https://stripe.com/docs/upgrades#2023-08-16
https://ngrok.com/blog-post/free-static-domains-ngrok-users
https://blog.jetbrains.com/webstorm/2023/09/2023-3-roadmap/
https://lp.jetbrains.com/marketplace-anniversary/
…
👍23👀6👏2
Нагадаю, що наступного тижня я роблю доповідь на Software Architecture fwdays'23 conference. Тому я маю промокод на 100% знижку на онлайн квиток. Він одноразовий, тому я зробив micro hack challange:
Правильна відповідь складається з 10 символів. Приклад промокоду на 10% знижку – 577310D705.
UPDATE промокод був використаний
new URL('SzLS7kC7', 'https://ss.galk.in')Правильна відповідь складається з 10 символів. Приклад промокоду на 10% знижку – 577310D705.
UPDATE промокод був використаний
👍13
Якщо у вас на проекті використовується sharp щоб конвертувати зображення, то у мене для вас важливи новини. Цього тижня у libwebp, який sharp використовує під капотом, знайдена вразливість. Вона дозволяє зробити виконання довільного коду.
Деталі і як захистити ваш код доки ми чекаємо оновленої версії описані у issue.
Деталі і як захистити ваш код доки ми чекаємо оновленої версії описані у issue.
👍21❤7😱5
Чому розробнику необхідно використати термінал?
#cli
Під час інтерв'ю чи сесії парного програмування я часто даю зворотний зв'язок використовувати термінал замість click-based інструментів. Термінал, на відміну візуальних інструментів, веде історію. Вона доступна за командою history і при локальній розробці, і при віддаленому налагодженні Docker або EC2. З її допомогою можна зрозуміти як система прийшла до поточного стану. У разі використання візуальних click-based інструментів у нас такої можливості немає.
Розробникам-початківцям освоєння терміналу для повсякденного використання найкраще почати з cli версії git. Там є чудова команда git reflog, яка неодноразово допомагала повернути втрачені коміти.
Чи зміниться ця відповідь на це запитання через кілька років, коли додатковим інструментом розробника до пари миша/клавіатура додасться голос, я не знаю. Тому що цю нотатку я набираю для вас саме голосом.
#cli
Під час інтерв'ю чи сесії парного програмування я часто даю зворотний зв'язок використовувати термінал замість click-based інструментів. Термінал, на відміну візуальних інструментів, веде історію. Вона доступна за командою history і при локальній розробці, і при віддаленому налагодженні Docker або EC2. З її допомогою можна зрозуміти як система прийшла до поточного стану. У разі використання візуальних click-based інструментів у нас такої можливості немає.
Розробникам-початківцям освоєння терміналу для повсякденного використання найкраще почати з cli версії git. Там є чудова команда git reflog, яка неодноразово допомагала повернути втрачені коміти.
Чи зміниться ця відповідь на це запитання через кілька років, коли додатковим інструментом розробника до пари миша/клавіатура додасться голос, я не знаю. Тому що цю нотатку я набираю для вас саме голосом.
❤25👍16😁4❤🔥3
Сьогодні був перший дзвінок програмного комітету Node.js fwdays'23. На ньому я познайомився з Олександром Зіневичем. Він веде Node.js Digest на DOU. Судячи з кількості переглядів у тисячу, ком'юніті не знає про цей дайджесет. Хочу це виправити!
👉 Читати вересневий випуск
👉 Читати вересневий випуск
❤26👍1
Один із проектів, до якого я прикладаю руку, виходить у паблік. Це курс Віталія Ратушного з Promt Engineering. Я допомагаю Віталію не перший рік. Постійні читачі каналу пам'ятають, як я промотив його збір минулого року.
За останні три місяці я кілька разів обговорював із Віталієм контент курсу. Хороша цитата з цих обговорень: "Більшість використовують ChatGPT як Google. Це немов у 2000 році використовувати MATLAB лише як калькулятор."
На мій погляд, головний челендж курсу, це залишитися в області саме складання промтів (запитів до AI), а не скотитися в деталі їх запуску та кешування на рівні коду. Код інженери вміють писати, мета ж курсу навчитися писати саме промти.
Якщо 29-го ви будете на IT Arena у Львові, рекомендую заглянути на його воркшоп. Воркшоп буде не таким глибоким як курс, зате це оффлайн!
На завершення відповім на ваше запитання, яке легко передбачити, "а що там із твоїм курсом по ноді?" На жаль, я ще не готовий про це публічно розповідати. Однак Віталій поділитися, офертою та іншими юр. моментами, потрібними для запуску, тому цей пост можна вважати маленьким кроком уперед.
За останні три місяці я кілька разів обговорював із Віталієм контент курсу. Хороша цитата з цих обговорень: "Більшість використовують ChatGPT як Google. Це немов у 2000 році використовувати MATLAB лише як калькулятор."
На мій погляд, головний челендж курсу, це залишитися в області саме складання промтів (запитів до AI), а не скотитися в деталі їх запуску та кешування на рівні коду. Код інженери вміють писати, мета ж курсу навчитися писати саме промти.
Якщо 29-го ви будете на IT Arena у Львові, рекомендую заглянути на його воркшоп. Воркшоп буде не таким глибоким як курс, зате це оффлайн!
На завершення відповім на ваше запитання, яке легко передбачити, "а що там із твоїм курсом по ноді?" На жаль, я ще не готовий про це публічно розповідати. Однак Віталій поділитися, офертою та іншими юр. моментами, потрібними для запуску, тому цей пост можна вважати маленьким кроком уперед.
🔥26🤔1