Змушений визнати, що мені не вдається робити відеоконтент у тому вигляді як я хочу. Настав час залишити спроби навчитися робити візуалізацію патернів коду, інфраструктури та архітектури у відео форматі. Це вимагає надто великої кількості зусиль, щоб зробити результат, який би мене влаштував. Мабуть, недаремно на ютубі є формат наукпоп (приклад https://www.youtube.com/@3blue1brown), але немає технопоп для пояснення в такому стилі інженерних концепцій.
У зв'язку з цим зараз опублікую пару опитувань.
У зв'язку з цим зараз опублікую пару опитувань.
👍9😢3
Чи цікаві відео які рекомендуються в постах #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