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

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

Рекламу не розміщую!
Download Telegram
Олесь Петрів про AGI, DeepSeek, OpenAI, смерть копірайту, та останніх людей БЕЗ штучного інтелекту
Якраз за тиждень до цього випуску на одному івенті обговорював з Олесем ідеї розвитку штучного інтелекту, а тут ще вийшлов крутий випуск на УТ-2. Олесь це та людина, яка має дуже круте абстрактне мислення й в той самий час дуже вміє в реалізацію. Тому навіть складні математичні ідеї чи концепції теорії інформації, чи ШІ, Олесь може пояснити на пальцях. Відео більше 3-х годин, але можна слухати в форматі подкасту (головне не втратити хід думки). Також попереджу, що дискусія досить концептуальна вийшла, тому будьте готові.

PS: Нейростендап у відео - топ :)

ВІДЕО: https://youtu.be/ghvDMHzHALU?si=l5Q1yZaDhL-YEWap
👍409👌2🤮1🤣1
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.

Я ніби за цим всім стежу дуже давно, але мене все одно вражає, як воно все збирається зі шматочків завдяки гарно спроектованим абстракціям. А як вам?
🔥146👍1310👌5🤮1🙉1
TypeScript, AI, технічний борг
Я вже робив пост на цю тему й казав, що AI полегшує використання TypeScript (https://t.iss.one/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
😁734👍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 (цікавий продукт, якщо треба страхувати другу машину в сім'ї, яка не сильно багато наїзджає)

ВАКАНСІЯ: https://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