Жабаскрипт (веде Віктор Турський)
4.58K subscribers
22 photos
2 videos
272 links
Авторський контент для JavaScript розробників, але не завжди про JS:). Пишу про архітектуру, best practices, продуктивність, безпеку, інструментарій.

Viktor Turskyi (@koorchik), Cofounder at Webbylab, SWE at Google

Рекламу не розміщую!
Download Telegram
Forwarded from Wild Wild Web
Всім привіт! Сьогодні трохи відірвемось від нудної та непотрібної безпекової складової в постах 🙂

Були часи, десь там у 2021 році, восени, коли ми ходили по конференціях та розповідали всякі технічні штуки. Десь в той час, я робив доповідь про те, як концептуально влаштований V8 в Node.js.

Нещодавно, запис було опубліковано на каналі Framework Days, де ви можете його переглянути. Я говорив про такі речі як:

- Що таке V8?
- Чим відрізняється інтерпретація від компіляції?
- Що таке JIT компіляція?
- Як концептуально влаштовані оптимізувальні компілятори?
- Невелике демо, на якому я показую байт коди й машинні коди.
- Декілька запитань та відповідей.

Бажаю приємного перегляду, багато кому доповідь дуже сподобалась!

https://youtu.be/QOcqsCChuJY
👍33
Як писати тести під React фронтенд? (доповідь 9-го липня на JS+React fwdays’22)

Я перебрав багато інфи про те, як люди пишуть тести під React й можу сказати, що не знайшов те, що шукав. Наприклад, react-testing-library ідентифікує проблему інкапсуляції, але вирішує її лише частково. А якщо подивится на тести Material UI(а вони використовують react-testing-library) , то стає зрозумілим, що проблема як була, так й залишається.

Під час доповіді, обговоримо, що не так з тестами в React світі. Але головне, хочу поділитися підходами, які працюють на практиці.

Також я радий, що хоч пройшло таке захоплення снапшот тестами (раніше вбачали ледь не срібну кулю в них). Але я спробую поділитися й ідеями, як трішки покращити й снапшот тестування.

Реєструйся на конференцію -
https://fwdays.com/event/react-fwdays-2022
Є два варіанти квитків "Free Online"(безкоштовний) й "Online Full" (платний).

Також нажимай на "Notify me when video is available" тут. Через 3-4 місяці відео буде й на ютубі, й тоді прийде нотифікація.

 Якщо сам теж спікер, то створюй своє портфоліо на https://my-talks.net. Платформу ми постійно розвиваємо й додаємо нові й нові фічі.
👍18
Обирайте або якість, або вартість. Насправді, ні

Згадав статтю про компроміс між якістю та вартістю в розробці програмного забезпечення. Що мені подобається в розробці програмного забезпечення, так це те, що краща внутрішня якість програмного забезпечення робить розробку програмного забезпечення дешевшою (а не навпаки).

Додавати нові фічі в говнокод складніше й дорожче. Звісно це при умові, якщо ми хочему зберегти зовнішню якість на тому самому рівні (стабільний й юзабельний продукт на виході з мінімальною кількістю багів)

Гарний пост Фаулера про це - https://martinfowler.com/articles/is-quality-worth-cost.html.

Основні висновки зі статті:
Якісний код насправді дешевше. Але має бути певний розмір проекту.
Яким має бути розмір? Код низької якості суттєво уповільнює роботу вже протягом кількох тижнів. Таким чином, ви можете отримати користь від ігнорування якості коду, лише якщо проект триває менше кількох тижнів.
Навіть найкращі команди створюють технічний борг. Звісно, що такі команди створюють його менше, але важливо те, що вони його зменьшують постійно теж. Технічний борг з’явиться в будь-якому випадку, але за ним потрібно слідкувити й виправляти.
🔥18👍4
У мене знайомі волонтери збирають кошти й попросили допомогти з розповсюдженням інфи
Повна інформація тут - https://www.facebook.com/bohemka/posts/pfbid0PdtzM4116R1XVEkzqkiqBPpyYbR59CFztsmJtRLKFMvsHSCxgWww7bzfMPwzbJ6Bl

Навіть невеликий донат буде корисним. Але все на ваш розсуд (щодо мене, то я вже задонатив)

UPD: зібрано! 🇺🇦💪
👍13
Щомісячний апдейт - https://t.me/webbylab/125
Продовжуємо підтримку ЗСУ! 🇺🇦💪
👍263
Ілля Клімов (один з найкращих JavaScript розробників в Україні) створив телеграм канал. Канал про все на світі (не про розробку)

Канал - https://t.me/xanf_dev

Я вже підписався 😎
👍20🔥1
Ви чули про Bun?
Зараз я бачу тренд, що nodejs додає підтримку все більше й більше Web APIs (ті що підтримуються браузерами), але все одно основна більшість всього побудовано на власних стандартах.

Також ми спостерігаємо, що зʼявляються нові рантайми типу Deno. Але сьогодні я взнав про новий рантайм - Bun (https://bun.sh/)

Приклад http серверу виглядає круто й побудований на Web API классах (Request/Response):

export default {
port: 3000,
fetch(request) {
return new Response("Welcome to Bun!");
},
};

Чимось мені нагадує uwsgi/psgi (шкода, що таких абстракцій не завезли в nodejs фреймворки).

Bun обіцяє бути дуже швидким й бути "drop-in replacement" для nodejs (кажуть, що підтримує 90% фіч nodejs).

Також коллега з Google накидав приклад, який в один клік піднімається на Cloud Run - https://twitter.com/steren/status/1544671563752083457

Не факт, що я буду переїзджати на Bun, але спостерігати цікаво й можливо потестую на pet-проектах 😃
👍15
У мене знайомі шукають волонтерів розробників. Проект, який донатить гроші на ЗСУ.
Стек: React, Redux, Node, MongoDB.

Всі деталі тут - https://v-tylu.work/uk/listings/1836779-javascript-react-developer-dlia-mientori-v-tilu

Якщо є бажання допомогти, то пишіть Артуру в тг - @fedorenkoart
6
Продовжуємо нашу підтримку ЗСУ
Як я в вже писав, ми в WebbyLab віддаємо весь прибуток ЗСУ. Завдяки спільним зусиллям, нам вдається заробляти гроші для нашої армії. В цей місяць ми відправили ще 882164,82 грн (разом з початку війни вже більше 5 млн грн).
Разом до перемоги! Слава Україні! 🇺🇦💪
👍84🔥41
Doom II й Інтерв'ю Джона Кармака
Нещодавно постив інтервью Джона Кармака. Мені дуже сподобалося й я вирішив, що настав момент зробити ретро стрім про Doom II й обговорити це інтервью. Якщо є бажання, то доєднуйтесь.

Ось анонс: https://t.me/RelaxRetroGaming/24 😎
🎉8👍3
Forwarded from Bite the Byte
Непогані шанси, що ви вже бачили — вчора вийшов новий (регулярний) випуск подкасту, з Іллєю Клімовим, з яким ми дивним чином раптово перетнулися у Києві. :)

Ілля (якщо хтось дивним чином цього не знає) — євангеліст джаваскріпта, розробник у Гітлабі (не у сенсі що він користується гітлабом, хаха), і один з небагатьох розробників в Україні з багатотисячною аудиторією на ютубі.

Він останнім часом витрачає багато енергії на волонтерство у Харкові, але розмовляли ми здебільшого про технології — багато цікавого зачепили, в тому числі і мікросервіси знов. 🤣

На подкаст-платформах 🎙

• SoundCloud 👉 https://bit.ly/3TqXfaX
• Apple Podcasts 👉 https://apple.co/3Kz44mY
• Google Podcasts 👉 https://bit.ly/3e6ANDY

Велкам дивитися, розповсюджувати, і давайте відгуки. :)
👍275🔥4
Що далі буде?

Очікую, що через пару тижнів буде трохи більше вільного часу. А то зараз сиджу тут й готую фічі до релізу, які мають бути показані на Google Cloud Next й нічого іншого не бачу :). Так от, через пару тижнів буде більше фільного часу й нарешті відбудеться запуск ютуб каналу по розробці. За кілька місяців я відтестував технічний сетап на іншому каналі (Ретрогеймінг на релаксі) й розібрався, як працює ютуб.

Зараз у мене є цікаві теми для відео, але питаю у вас про наступне:
1. Які теми найбільш цікаві?
2. Як назвати ютуб-канал?
👍41🔥21
Домовлятися завжди — Гевін Кеннеді. Книжковий клуб #2
Мене запросили на DOU івент одним із учасників. Всі читають одну й ту ж саму книгу, а потім обговорюють. Цікавіше було б обговорити якусь технічну літературу, але книга про перемовини теж не такий поганий варіант 🙂

ВІДЕО: https://www.youtube.com/watch?v=ryVjmuOHsfI
👍16
Автоматизовані тести для React фронтенду
Писати тести на фронті складно й часто вони є крихкими. Пару місяців тому робив доповідь на цю тему й спробував проаналізувати різноманітні підходи. Ну й поділився баченням, як зробити тести менш крихкими. В доповіді поступово йду від бази й закінчую вже робочим рішенням.

ВІДЕО: https://youtu.be/qOyWzQ1mfXE
👍393
Why Event Sourced Systems Fail [eng] / Greg Young
Класна доповідь від Грега для перегляду у вихідний.
Грег - батько івент сорсингу. Й в доповіді він розповідає про класичні проблеми й непорозуміння з цим підходом. Доповідь мені дуже сподобалася й починає Грег з основ - що таке Event Sourcing.

Я помітив, що люди часто плутають CQRS й Event Sourcing. CQRS значно ширший підхід й основна ідея, що у нас у нас різні об'єкти доменої модели для запису й читання (є класний слайд у Грега про це). Й цей підхід можна зустріти в багатьох проектах (й WebbyLab багато разів доводилося його використовувати). Event Sourcing теж передбачає таке саме розділення, але каже про те, що основним джерелом правди є збережені івенти. Такий підхід вже зустрічається не так часто, хоча мені доводилося реалізовувати цей паттерн (робив доповідь про це в 2018).

Також важливий аспект, що Event Sourcing це не фреймворк й не бібліотека, а просто підхід й може він бути реалізований зовсім по різному. Окрім того, не треба реалізовувати всю систему через Event Sourcing підхід, достатньо обмежитися тими частинами системи, де це реально потрібно й це повністю ок.

ДОПОВІДЬ ВІД ГРЕГА "Why Event Sourced Systems Fail [eng]": https://www.youtube.com/watch?v=FKFu78ZEIi8

МОЯ ДОПОВІДЬ з 2018 "Offline mode for a mobile application, Redux on server, event sourcing [ru]": https://my-talks.net/viktor-turskyi/offline-mode-for-a-mobile-application-redux-on-server-and-a-little-bit-about-event-sourcing
👍191🔥1