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

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

Рекламу не розміщую!
Download Telegram
Ви чули про 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
Awesome technical talks 😎
Думав, де сбирати цікаві доповіді, які мені часом траплаються й зрозумів, що можна створити додатковий аккаунт на my-talks. Це як інстаграм, тільки для доповідей. Й як в інстаграмі ви можете викладати персональний контент й робити власне портфоліо доповідей або можна зробити аккаунт для агрегації чужого цікавого контента 😁

Якщо хочете отримувати сповіщення про нові доповіді, то підписуйтесь на аккаунт https://my-talks.net/awesome-technical-talks
👍1742
Applied Performance Theory
Дивився цю доповідь мабуть ще в 2018 й зараз вирішив передивитися. Одна з моїх улюблених доповідей про scalability. Доповідь про теорію й як характер навантаження впливає на поведінку системи. Однозначно рекомендую до перегляду!

Додав в список на my-talks - https://my-talks.net/awesome-technical-talks/kavya-joshi-applied-performance-theory
👍15
Hacking Google 😎
Документальний серіал на 1.5 години про те, як Google працює над безпекою й цікаві приклади взломів. Звісно зроблено для широкої аудиторії й драматично так зрежесовано, але вийшло пізнавально.

Насолоджуйтесь: https://www.youtube.com/playlist?list=PL590L5WQmH8dsxxz7ooJAgmijwOz0lh2H
👍17
JS Fwdays Europe - ще одна конференція від друзів🙂

Якщо дивитися онлайн, то безкоштовно. Якщо хочете доступ до записів й інші плюшки, тоді платно, але для підписників каналу отримав промокод зі зніжкою в 10% - AF6287B461

Плануються доповіді про: micro-frontends, Fullstack Components, JS фреймворки майбутнього, React 18, Playwright, e2e тестування etc
Серед спікерів: Chen Hui Jing, Kent C. Dodds, Steve Kinney, Артем Захарченко, Tejas Kumar та інші.

Конференція планувалася повністю англомовною, але оскільки багатьом простіше сприймати контент українською, то у якості експерименту, буде синхронний переклад треку В. Для перегляду українською мовою буде окремий плеєр на сайті.

ПОСИЛАННЯ: https://bit.ly/3UEOxWn

10% від вартості квитків йде на підтримку України🇺🇦
👍13🥰2
Чудова доповідь про те, як працює менеджмент пам’яті в різних реалізаціях Python. Інші мови мають подібні прийоми.

Наприклад, для Perl ви можете запустити цей код в консолі:
perl -MDevel::Peek -E 'my $num = 10; print Dump($num); my $string = "hello"; print Dump($string)'
і побачити внутрішні параметри змінних, які дуже схожі на cpython. Колись доводилоси оптимізувати споживання пам'яті й там є хитрі штуки.

Також JavaScript V8 робить pointer tagging, як це робить micropython – гугли V8 Small Integers(SMIs). Мені довелося зіткнутися з цим, коли оптимізував движок електронних таблиць у JS. Був дуже цікавий кейс, коли массив виду [a, b, c, d, e] я зконвертував в [a, b, [c, d, e]] й це дало великий буст в перформансі, хоча здавалося, що має зробити навпаки. Спрацювало, оскільки c, d, e - це адреса ячейки й це цілі числа, які влазять в 31 біт, що дозволило це масив упакувати в неперервну область пам'яті як native array

Доповідь додав в свій список (підписуйся 😉) - https://my-talks.net/awesome-technical-talks/kavya-joshi-the-memory-chronicles-a-tale-of-two-pythons
🔥14👍31
Raymond Hettinger "Modern Python Dictionaries"
Одна з найкращих доповідей про хештаблиці й техніки їх оптимізацій, які реально працюють в Python 3.6 й вище.
Хештаблиці одна з базових структур даний й одна з найбільш важливих. Практично кожен інженер знає, як вони працюють, але мало хто знає про додаткові оптимізації базового алгоритму. В доповіді поазано з десяток різноманітних оптимізацій на дуже простих прикладах. Однозначно рекомендую цю доповідь - багато цікавих ідей, які можуть допомогти й в інших ситуаціях.

Додав в свій список цікавих доповідей: https://my-talks.net/awesome-technical-talks/raymond-hettinger-modern-python-dictionaries

PS: Доповідь про фундаментальні штуки, не звертайте уваги, що це на прикладі Python
👍61🔥1