Розробка третьої хвилі
前往频道在 Telegram
Українською про веб-технології, і не тільки. Як кав'ярня, тільки про технології. https://www.bohdanptyts.com/
显示更多490
订阅者
无数据24 小时
+287 天
+3430 天
帖子存档
Ще трохи рефлексії на схожу тему
Часто помічаю, здебільшого, дві категорії людей:
• фокусуються на вузькій темі, не мають додаткових векторів уваги, суто обмежений набір речей
• розділяють фокус на дуже багато векторів
і за можливості трохи розпитую в одних та інших про їх підходи. Поки що, всі відповіді різняться, немає чогось одного. А мій інтерес, десь підсвідомо, полягає в тому, щоб зрозуміти що є кращим, продуктивнішим, більш виправданим в довгострокопій перспективі.
Трошки подосліджував цю тему, виявилось що немає однозначної відповіді (неймовірно, правда?). Хоча, деякі дослідження схиляються до того що розділений фокус може чуть краще перформити в довгу, якось несподівано.
Можливо чули терміни
specialist-vs-generalist, foxes-vs-hedgehogs або навіть monotropism-vs-polytropism. А чи задумувались в яку з двох категорій ви б попали самі?
Я б себе відніс до generalist, здебільшого. Моя рефлексія також викликана пошуком кращих підходів, кращої власної продуктвності і загалом певним внутрішнім незадоволенням власного розпорошеного фокусу.
Взагалі, я інколи можу займатись 5ма різними речима одночасно, і досить часто це має класну продуктивність, навіть якась додаткова вмотивованість виникає. Найраще, звісно ж, коли частина з паралельних процесів вже добре вивчені і не потребують додаткового обдумування, або просто є рутинними.
Але, зрештою, це втомлює.
А зараз, коли так легко перекинути "думання" на LLM (впевнений, всі цим грішимо) - кількість векторів фокусу росте суттєво. Все це підсилено відчуттям отупіння всіх, якої стагнації. Короче, в цікавий час живемо.
Не знав яку фотку додати, тримайте Бакса 🐶Часто ловлю себе на думці, що крім роботи і власних проектів часу на інші речі майже не вистачає. А я щей так люблю мати купу різних хоббі. Щось в машині поробити, детейлінг, колись фотографував, 3д принтери, щось смачне приготувати і тд. Колись трошки грав ігри, зараз майже ні.
І, якщо раніше перепрацьовування могло швидше втомлювати, а код доводилось писати руками - все це відчувалось чуть інакше. А зараз, з АІ бустом, ніби і простіше, тай якось вже і адаптувався працювати над декількома речима одночасно. Але всеодно замучує.
Всі почали деліверити не кращі речі а більше речей, і я теж в цій когорті. Задоволення це не обовязково більше приносить, але виснажує.
Короче, на фоні цієї статті накидав думок, ділюсь
https://lucumr.pocoo.org/2025/9/4/996/
Мрія дитинства, тільки не було декілька зайвих мільйонів в кишені
https://lanparty.house/
Але подобається
https://x.com/dnaijatechguy/status/2060322817296519427
Щей можна самому поклацати: https://www.loaders.wtf/
Такс, додав таку фічу, запарився над різними деталями
• локація запамятовується
• ресайз в напрямку центру, ну тобто з кожного кута буде чуть інакше виглядати
• гарний морф коли переключаєшся між лінками
і інші дрібниці
cooked чи не cooked? 👨🍳
Трошки порісьорчив - вишірив спробувати VM в OrbStack
Виглядає як досить просте і зрозуміле рішення, один глобальний sandbox для всіх проектів.
Ось що зробив одразу:
1. Ізолював файлову систему, з VM не вийде залізти на хост машину
2. Зробив собі скрипт для відтворення VM, на випадок якщо поломаю щось - має бути простий спосіб підняти таку ж VM з нуля. Це окремо запушив в приватний репозиторій
3. Обмежив ресурси на всю VM, дозволяє захистити від випадків, коли хост не стягує
Docker контейнери будуть в окремій ізоляції з доступом по Network.
В Zed відкрив проект по SSH, ніби все ок.
Можливо ще додам якусь систему бекапів.
Плюс це дає можливість підключитись до цієї VM віддалено і мати повноцінне середовище, якщо хост включений. Можна взагалі колись купити mac mini і на ньому це хостити.
Думаю, тут ще вилізуть якісь мінуси, але ця хвиля атак мене дуже напрягає, і краще я чуть потерплю, але спатиму спокійно.
На горизонті засвітився effect-based фреймворк - Foldkit
Для реакту вже є effect-atom, але тут підхід глобальніший
Потім почитаю про це більше
З основного - нема JSX
https://foldkit.dev/
якщо pnpm наблизиться по перформансу до bun - я задумають про перехід
лиш штука така, що багато кастомних скриптів з Bun-specific модулями, але то не велика біда
може взагалі пора думати про Deno i JSR? навіть не знаю, трошки страшить міграції bun на Rust
https://x.com/DavidSherret/status/2058960074177925173
В світлі останніх подій - все більше думаю про ізоляцію проектів
От в Zed дев контейнери постійно пропонуються, думав про це
Також мені дууууже вже нахвалювали Nix, але я перед цим його пробував і замучився (хз чи він дає sandboxing)
Але точно - тепер я суттєво прискіпливіший до сетапу у всіх проектах, наприклад з таким гайдом
https://snyk.io/articles/npm-security-best-practices-shai-hulud-attack/#8-work-in-dev-containers
В мене змішані відчуття про це, але сподобалось відео, багато з чим згоден
https://www.youtube.com/watch?v=AjfrlcmObus
Прийняв стратегічне рішення відключити Chromatic і замінити його на https://github.com/reg-viz
1. Закидаємо все на R2, крутимо в СІ
2. Суттєво вищий контроль над інстурментом
3. Закриває ті самі задачі що і були до цього
4. Коштуватиме може 1% від Chromatic, бо платиш лиш на СІ і R2
Спершу думав накинути повністю кастомне рішення, а потім знайшов оце. Можливо інтерфейс не вау, але для visual regression testing вистачить з головою
Трошки розповім про visual regression testing і те, як вийшло зробити замкнутий цикл для агента для великої міграції
Я раніше писав про PandaCSS, така собі альтернатива Tailwind, тільки більш JS-орієнтована. Там є свої цікаві плюси, хоча, зараз вони все менш важливі.
Так от, ми це досить довго юзали і вибрали таке рішення виходячи з технічних планів на майбутнє. Час йде, плани міняються, PandaCSS починає перетворюватись з інстурменту в певний блокер.
Різні причини, але основне це те, що LLM просто краще юзає Tailwind. Також для клієнтів які юзають наш пакет і мають TW це додатковий напряг. Ну і ще різні дрібні причини
Тож, я прийняв рішення нарешті повністю замінити Panda на TW. В теорії це мало би бути просто, самі класи майже ідентичні. Але це все в теорії, на практиці багато нюансів, різний
preflight шар, конфлікти і тд.
Роботи тут просто дуже багато, в ручну я б спокійно робив це тиждень часу, тому простіше віддати це агенту в роботу. Але, виникає проблема в тому, щоб він міг сам перевірити чи нічого не погіршилось на інтефейсах.
Для звичайної розробки ми використовуємо Chromatic, він запускається на ПР і генерує вам Diff як на скріншоті (джерело). Тільки от він не дає жодного нормального АРІ і запускати це 50 разів нефігово так буде коштувати.
Тому, простіше було спершу збудувати з агентом локальні інструменти, щоб він сам себе перевіряв. На щастя в сторібуку в мене дуже багато різних варінтів.
1️⃣ Локальний аналог Chromatic, фактично юзаючи Playwright агент сам запускає кожну Story, робить скріншот і перевіряє diff з baseline скріншотом. Інструмент може повертнути йому результут у %
2️⃣ Computed CSS snapshot. Ще одним basline є проходження по всіх сторі і збереження снапшотів того, яким є фінальний CSS на кожному елементі. Ми не можемо порівняти чи всі класи такі ж самі, але можемо легко порівняти чи фінальні стилі збігаються
3️⃣ Tailwind checker. Через те що об'єм токенів дуже великий - моделі можуть робити опечатки в класах, юзати неправильний синтаксис і тд. Тому є сенс взяти TW extractor і перевірити, чи всі знайдені стилі були конвертовані в нормальний CSS після білду
Загалом, підхід спрацював досить круто, але не ідеально. Думаю ідентичність збережно десь на 98-99%, але місцями є відмінності на 1 піксель, і тд.
Важливо додати що сама міграція навіть на фоні зайняла декілька днів, купу разів викликався /compact і велась локальна референс документація. Ну і тільки людина поки може побачити всі дрібниці які були помилково поламані.
Тим не менше, вважаю що це success story 😎