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

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

Рекламу не розміщую!
Download Telegram
Viktor Turskyi on Programming
Вирішив запустити англійську версію свого ютуб-каналу про програмування. Поки просто перекладаю відео за допомогою ШІ й заливаю в канал. Ось перше відео - https://www.youtube.com/watch?v=4BzRkxQyPJ4

Ставте вподобайку й підписуйтесь :)
🔥81👍213👎1
Gemini CLI та Claude Code написані на React 🤯
Gemini CLI та Claude Code - це інструменти, які працюють у командному рядку, але водночас вони написані на React. Як це можливо?

Власні рендерери
React надає зручну абстракцію для побудови інтерфейсів. Netflix була однією з компаній, яка почала використовувати React для рендерингу своїх інтерфейсів не для браузера, а для телевізорів. У той час їм ще доводилося патчити React (пам'ятаю, як мене вразила їхня доповідь). Сьогодні ж рендерери React абстраговані, що надає значну гнучкість. Наприклад, ми маємо окремий рендерер для браузера - ReactDOM, а також рендерер для мобільних платформ - React Native. Але їх значно більше https://github.com/chentsulin/awesome-react-renderer

Ink
Оскільки рендерери тепер абстраговані, можна створити рендерер і під CLI. Існує чудовий проєкт від українського інженера - Ink (https://github.com/vadimdemedes/ink) , який дозволяє писати CLI-інтерфейси на React. Саме його використовують Google, Anthropic, OpenAI та багато інших великих компаній. Але це ще не все: Ink створює адаптивні CLI-інтерфейси й підтримує Flexbox. Але як це працює?

Yoga
Коли Facebook створював React Native, вони хотіли, щоб розробка мобільних застосунків була схожою на створення вебдодатків. Проблема полягала в тому, що візуальні компоненти в iOS та Android за замовчуванням позиціюються абсолютно (position: absolute). Хоча для вирішення цієї проблеми існують різні підходи, у браузері є така зручна річ, як CSS Flexbox, що дозволяє описувати адаптивну верстку в CSS, а браузер уже сам усе робить. Інженери Facebook, а точніше Крістофер Шедо (vjeux), вирішили створити рушій для верстки на C++, який би отримував на вхід Flexbox-макет, а на виході видавав для кожного елемента абсолютну позицію та розміри. Так і з'явилася Yoga (https://yogalayout.dev/). Пам'ятаю доповідь vjeux про те, як вони писали автоматизовані тести для Yoga, порівнюючи результат роботи бібліотеки з тим, що рендерить браузер. Таким чином, Yoga працює під капотом як у React Native, так і в Ink.

Я ніби за цим всім стежу дуже давно, але мене все одно вражає, як воно все збирається зі шматочків завдяки гарно спроектованим абстракціям. А як вам?
🔥145👍1310👌5🤮1🙉1
TypeScript, AI, технічний борг
Я вже робив пост на цю тему й казав, що AI полегшує використання TypeScript (https://xn--r1a.website/jabascript/335). Але сьогодні поділюсь ще однією думкою, що є й зворотня залежність - TypeScript полегшує використання AI.
Коли використовуєте якогось кодінг агента, то йому треба верифікувати коректність змін, що є критичної складовою його роботи. Запустити все й вручну потестувати в браузері агент повноцінно не може. Тому треба автоматизований спосіб, й тут два варіанти:
Статичний аналіз
Запустити тести
Тести не завжди є на момент написання нового коду. Також виконання тестів вимагає часу. А от TypeScript дає можливості статичного аналізу відразу; також помилки його зрозумілі агенту й вказують на конкретні рядки. Тому, використання TypeScript стає критичним сьогодні, якщо ви використовуєте агентів.

Але є ще один важливий аспект - технічний борг й AI.
З використанням AI якісний код в проекті стає ще більш важливим, ніж до цього. AI пише умовно як джуніор розробник. Тобто, він дивиться на існуючі приклади в проекті й пише по аналогії. Й чим краще у вас архітектура й якісніші абстракції, тим агенту легшу написати по аналогії код. Але гарної структури у вас немає й в проекті каша - то агент буде генерувати таку саму кашу. Якщо у вас є код, який містить застарівші підходи, то агент буде їх теж копіювати по проекту. Але, якщо у вас є добре структурований код, архітектура, можливо, документація, то агент буде показувати просто неймовірні результати.

Де взяти час на якісний код й на якісні абстракції?
Насправді, оскільки агент пише за вас весь рутиний код, то у вас залишається весь час для того, щоб створювати йому правильний архітектурний технічний контекст. Бо, як казав Andrej Karpathy, це не prompt engineering, а context engineering. Тобто, наша задача - це менеджмент контексту (бізнесового, продуктового, технічного й тд) й маючи контекст AI може добре й новий код писати й виправляти баги реалізації.

Тобто, у нас є можливість бути продуктивнішими й мати більш якісний код. Так, й до AI більш якісний код був дешевшим з точки зору підтримки, але тоді на архітектуру час закладався, а от дрібниці постійно накопичувалися (бо менш критичні, а їх фікс часу може займати багато). Зараз же у нас ситуація така, що розробник відповідає за абстракції й рев'ю, а агент працює над реалізацією кожного компонета. Доречі, принцип "Assemble first" (розповідав на DOU Day минулого року) тут стає ще більш актуальним й важливим, бо потім просто реалізовувати дрібні компоненти агенту буде значно простіше.

Що думаєте? Які інсайти у вас при роботі з кодінг-агентами?
👍621
Ми всі трохи Лінуси тепер? 😅
https://x.com/tailwiinder/status/1945198890459840807?t=JHckjt84mONL9ImInNWFBA&s=19
PS: якщо раптом не знаєте, хто такий Лінус, то це чувак, який створив Linux й Git
😁724👍2
Нетворкінг і комунікація в IT
Прослухав випуск з Артемом Захарченко про конференції й нетворкінг й згадав, як воно було до повномасштабного вторгнення. Артем професіонал дуже високого рівня, а KharkivJS була однією з моїх найбільш улюблених JS-конференцій. Гарний подкаст, цікава бесіда. Налив собі каву й насолоджувався дискусією ❤️
https://www.youtube.com/watch?v=Lg_hfAGx1ek
23🔥5👍3
Інтерактивні симуляції світів в реальному часі
Тобто в реальному часі можна керувати персонажем, крутити камерою й це все виглядає, як справжнє. Мене такий прогрес вражає 🤯
PS: чекаю на remake гри Stray на базі ai симуляцій 😁
https://x.com/demishassabis/status/1952756363970466297
🔥34🦄21😱1
Космічна битва (навайбкодив гру)
Давно хотів створити гру, вертикальний скроллер шутер в космосі. Трохи вайб-кодингу в Gemini й гра готова (точніше невеликий прототип). Там навіть є фінальний бос 🤓 Зацініть - https://g.co/gemini/share/9bad026a188f

Важливі ігрові механіки:
Використовуйте лазер. Перезаряджається десять секунд. Після зарядки, ваш спейшіп підсвічується зеленим.
Використовуйте щит. Він дається на певну кількість секунд й його потрібно вмикати й вимикати в потрібні моменти.
Зірка це супер-зброя. Якщо під час однієї гри не випала, то випаде під час іншої.
Фінальний бос має індикатор заряду його лазеру й можна відповідно розрахувати момент, щоб не потрапити під лазер.

PS: для гри треба клавіатура! з телефона не працює
🔥34😐7👍31👏1😢1😎1
This media is not supported in your browser
VIEW IN TELEGRAM
Я на 14:00 на ретросцені. Деталі в коментарях. Буду радий спілкуванню 🤓
47🔥14🤓2👍1👎1🎅1
Forwarded from DOU
Що для вас важливо у виборі IT-компанії: команда, зарплата, формат роботи чи щось інше? Збираємо відповіді про це в опитуванні про компанію-мрії 👉 https://jobs.dou.ua/questionary/

Анкета анонімна, приєднуйтесь!
8😢1👌1
Роблю доповідь "Що таке продуктовий майндсет для інженера" на івенті від Skelar
11-12 жовтня буде безкоштовний офлайн (Київ й Варшава) івент від Skelar, де я буду з доповіддю про продуктовий майндсет для інженера. Але це той випадок, коли програма всього івенту настільки крута (для мене персонально), що хочеться побачити всі доповіді - буду обидва дні🤓
Реєстрація й деталі тут - https://code2lead.skelar.tech/
👍424
Наступні три дні на Lviv IT Arena 2025
Перший раз на цьому івенті й не знаю, що очікувати від нього 🙈 Але оскільки людей багато, то планую багато спілування) Буду радий випити кави. Якщо що, то пінгуйте мене @koorchik
PS: також потрохи вхожу в життевий ритм. Хоча й не планую нікуди на роботу поки не допишу дисертацію, але займаюсь консалтингом по процесам розробки, архітектурі програмних систем, інженерній культурі, бізнес процесам, впровадженню ШІ. Також адвайзінг деяких стартапів й менторінг. Монетизую свої 20+ років досвіду в розробці на позиціях CTO, CEO, Solution Architect, роботи в продукті, аутсорсі, Google й деякий досвід в кібербезпеці 🤓
🔥498👍3😎1
Technical Product Manager (Insurtech domain).
Тут мене попросили розмістити цікаву вакансію в каналі. Шукають технічного продакт-менедежера, але готові взяти людину, яка хочу перемикнутися в продуктовий менеджмент з інших суміжних спеціальностей. Наприклад, якщо ви працюєте QA, то скоріше за все вже вмієте розбиратися в продукті, аналізувати вимоги, аналізували фідбек користувачів, співпрацюєте з інженерами, та й створили не один тікет 😉.
Продукти виглядаєють цікаво. Я навіть встановив собі Easy Peasy (цікавий продукт, якщо треба страхувати другу машину в сім'ї, яка не сильно багато наїзджає)

ВАКАНСІЯ: http://bit.ly/4nqesPr
Чи думали колись світчнутися в продакт-менеджери?
👍11😁41🥴1
Forwarded from GDG Kyiv
🔥Анонсуємо наступного спікера - Viktor Turskyi


👀 Що буде?
Цього разу не просто слухаємо, а пишемо код разом зі спікером 💻
Ноут — не обов’язково, але дуже корисно, якщо хочете повторювати всі кроки за спікером.

🧠 Тема:
Як задеплоїти в хмару те, що я навайбкодив?

За допомогою AI ми вже можемо створити прототип або навіть повноцінний застосунок — але як його швидко розгорнути?

Під час воркшопу ми створимо прості застосунки в Google AI Studio, Firebase Studio та Vertex AI, а потім спробуємо різні підходи до їх розгортання в Google Cloud Run.

Також на практиці розберемо, які переваги дає хмарне розгортання і як перетворити ваш “вайб-код” на масштабований вебсервіс ☁️


🚀Готуйте ноутбук, гарний настрій — ми вас чекаємо на DevFest 2025!
35👍17🔥10😁1
Чекаю, коли вже нарешті запустять в паблік 🤓
👍521
DOU PHP Meetup (2 грудня)
Для тих, хто не тільки по JS 😉. Якщо раптом плануєте бути на DOU PHP Meetup (2 грудня), то отримав знижку для підписників.
Промокод FROMTURSKYI15PHP дає 15% знижки на квиток.
Деталі тут: https://dou.ua/goto/CnMm
20👌3🗿1
Оживляю свої ютуб-канали
Перший стрім буде на "Ретрогеймінг на релаксі". На цьому каналі я тестую обладнанняй різні підходи, говорю про життя, граю в старі ігри.
В цю суботу (29-го листопада) в 11 ранку - https://www.youtube.com/live/o1ev4nY_HbE?si=1kFSpo0eQJTfQz8u
👍258🔥7👏1
Forwarded from DOU
Стартувало зимове зарплатне опитування DOU і рейтинг мов програмування

Чекаємо всіх айтівців — тих, хто живе в Україні та за кордоном. І спеціалістів усіх напрямів: розробників, QA, менеджерів, DevOps, маркетологів, сапорт, сейлз, HR тощо. Гайда до анкети! На це потрібно не більше 10 хвилин: https://dou.ua/goto/HHph
6🗿5