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

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

Рекламу не розміщую!
Download Telegram
24 книги по архітектурі софта за >=25$
Офер працює ще 10 годин.

🍄Пишіть в коментарях, що з цього рекомендуєте прочитати

https://www.humblebundle.com/books/software-architecture-2024-oreilly-books
👍35🔥21🤔3🌚21
22 книги з кібербезпеки за 25$
Ще один бандл https://www.humblebundle.com/books/cybersecurity-month-mega-bundle-2024-oreilly-books
🍄Пишіть в коментарях, що з цього рекомендуєте прочитати чи взагалі будь-які ресурси з кіберпезпеки, що рекомендуюте
🔥43👍4😱2
19 жовтня React+ fwdays'24 - конфа про JS та React 🤩
Онлайн та офлайн у Києві.
Для підписників знижка 15% по промокоду JABA15 (є знижки для студентів/аспірантів та військових, знижки не сумуються).
Був багато разів на івентах від fwdays й це завжди класний нетворкінг й цікаві спікери.

Які доповіді зацікавили?
Я би послухав би про мікрофронтенди 🤓

До речі, відгадайте, з якої версії ми в WebbyLab почали використовувати React в продакшені?

РЕЄСТРАЦІЯ👉 https://bit.ly/3Y4gifA
🔥26👍3👌31🥱1
Трохи про говнокодерство (aka технічний борг)
🍄 Спостереження 1:
Інженери не хочуть працювати на проектах, які погано написані, а хочуть там, де все красиво.
👉 Висновок: інженери не хочуть працювати з чужим говнокодом.

🍄 Спостереження 2:
Даєш інженеру новий проект, бо він не хоче йти на той, де говнокод. Через якійсь час інженер уходить з нового проекта, бо тепер й на цьому проекті говнокод.
👉 Висновок: інженери не хочуть працювати зі своїм говнокодом теж.

🍄 Спостереження 3:
Інженер говнокодить й через якійсь момент перестає розуміти, що він пише говнокод. Говнокод стає нормою.
👉 Висновок: говнокод псує інженера, бо він втрачає нюх на поганий код.

🍄 Спостереження 4:
Виходить, що на проекті не має бути говнокоду? Насправді, технічний борг часто як брудний посуд на кухні. Ти не можеш приготувати блюдо й не вимазати посуд. Тут головне просто не забути помити його.
👉 Висновок: не забувай регулярно "мити посуд" й робити періодичне прибирання.

🍄 Спостереження 5:
Якщо є гарна структура/архітектура коду й просто писати й писати новий код й завжди слідувати цій структурі/архітектурі, то може здатися що все добре, але насправді все одно буде зʼявлятися технічний борг, оскільки базова структура/архітектура була розрахована під один масштаб, а коли ви все більше додаєте коду, то масштаб змінюється.
👉 Висновок: ти створюєш технічний борг, навіть якщо просто пишеш схожий код.

🍄 Спостереження 6:
Коли проект в продакшені, то доводиться оновлювати фреймворки та бібліотеки. Й якщо цього не робити, то з часом це зробити все складніше й код стає в результаті складніше підтримувати.
👉 Висновок: технічний борг зʼявляється, навіть якщо ти не пишеш код

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

🍄 Спостереження 8:
З першого разу не вдається написати гарний код (навіть якщо попередньо витратив час на проектування), оскільки часто неможливо передбачити всі нюанси. Й після того, як код запрацював, може знадобитися декілька разів його переписати (навіть до того як було створено пул-реквест). З робочим кодом стають зрозумілі нові деталі й стає зрозумілішим, як краще його можна було спроектувати.
👉 Висновок: якісний код це результат ітеративної роботи й проектування коду не відірвати від процесу його написання.

Спостерігали таке? Діліться в коментарях й власними спостереженнями
👍21531😁18🔥134🤓1🤪1
🔥 Ми в WebbyLab шукаємо фул-стек техліда для IoT проєктів!
Позиція дійсно крута. Ти будеш лідером команди в 20 людей. Й в проекті все - від аплікух на React/RN й до різноманітних низькорівневих протоколів.
Тут детальніше - https://bit.ly/3UGChHm
🔥31👍9😁82
Forwarded from DOU
Серія книг «Math for Programmers» від видавництва Manning пропонує програмістам книги з математики і не тільки: від основ статистики і аналізу даних до глибинного навчання і теорії Баєса.

На сайті Humble Bundle ви можете самі вирішити, яку суму сплатити за книги з цієї серії, а частина коштів піде на підтримку видавництв, які ви оберете. Ціна варіюється: можна сплатити $1 за книгу, або купити всю серію, що складається з 19 книжок, за $25 👉 https://dou.ua/goto/etSz
47👍20🔥4
Зарплатне опитування й рейтинг мов програмування на DOU
Заповнюйте тут - https://tally.so/r/wA62By . Я вже заповнив. Результати будуть в січні на DOU
👍33👎2
Збір заявок на Премію DOU 2024 (до 16 січня)
Минулого року, завдяки вашій підтримці, мій канал "Віктор Турський про програмування" зайняв перше місце. Цього року я вирішив не подаватися, бо не було можливості зняти новий контент (тільки декілька відео для спонсорів), хоча зараз є вже відео в роботі :)
Але якщо у вас є цікавий проект, то обов'язково подавайтеся й діліться в коментарях під цим постом деталями.
Податись можна тут - https://dou.ua/awards-2024
👍39
Чи замініть ШІ мідлів в 2025?
Ось що, каже Цукерберг про це https://youtube.com/shorts/FlGFojKkIPg?si=Cq4F1Q3W1Z62oiRK

Пишіть в коментарях власні прогнози 🙈
🤣24😱4👍3💩2
Давайте оцінимо, чи ШІ може вже замінити сьогодні джуна в якійсь мірі. Хто продуктивніше?
Anonymous Poll
38%
Сеніор+Джун до появи ChatGPT
62%
Сеніор+ChatGPT сьогодні
6
Як я полюбив TypeScript
Колись я робив пост, в якому розповідав про те, чому ми мало використовували TypeScript в WebbyLab. Всі ті аргументи були дійсні на той час і для тієї ситуації. Ось пост — https://xn--r1a.website/jabascript/19.

Але якщо коротко, то
✴️ Порівнювати треба не TS vs JS, а TS + тести + процеси + тулінг проти JS + тести + процеси + тулінг. І якщо вибирати, що писати — тести чи типи, то ті 20% часу, які були використані на TypeScript, краще витратити на написання тестів. І якщо у вас вже є 80% покриття тестами й багато статичного аналізу (а ми залучали все, що могли для eslint, і використовували багато плагінів, навіть власні), то додавання TypeScript дає лише кілька відсотків в детекції багів, а вартість розробки збільшується значно. Хоча, звісно, завжди були певні проекти, які точно виграли б від використання TS (той самий Excel на JS, про який я робив доповіді).

✴️ Також на той час TypeScript був значно обмеженіший, і багато речей з JavaScript не можна було написати нормально в TS (хоча й зараз є нюанси).

✴️ Навчити джуна повноцінно TS було дорого й довго (6 місяців, а не 1-2 місяці, як з JS). Окрім обов'язкових тестів на бекенді, на фронті в нас усюди були обов'язкові PropTypes, що додавало рантайм перевірок. І якщо ти запускаєш свій код, то одразу бачиш проблеми.
Я сам не раз "залипав" на описах типів на години, а часом можна було й пару днів витратити, якщо це частина якогось фреймворку.

✳️ Що змінилося сьогодні?
ШІ зробив впровадження TypeScript значно дешевшим. Незрозуміла помилка в коді — спитав LLM, не знаєш, як краще описати інтерфейс — спитав LLM, не знаєш, як переписати складний клас з JS на TS — спитав LLM. Це як кожному джуну (і не тільки) дати експерта з TS, і він буде і допомагати вчитися, і підказувати, як написати, і допомагати дебажити, знати про більшість особливих фіч TS, і багато іншого.

Я не джун і пишу на TS вже багато років, але навіть мені LLM сильно спрощує роботу з описом типів. Правда, я помітив, що тепер лінь писати тести, треба також залучати LLM 🙈. TS це ніяк не заміна тестам, але код на TS без тестів все ж таки стабільніший за код на JS без тестів.

Сьогодні TS має бути, як вибір по замочуванню для JS проектів, так само як і вміння ефективно користуватися LLM. І якщо ви думаєте, що всі інженери у вашій компанії вміють ефективно користуватися LLM, то ви помиляєтесь.

Що думаєте з цього приводу?
👍12918👀9👎1🌚1🙈1
Христина й Віталій запустили новий подкаст "Давай Після Роботи" й попросили мене проанонсувавати. Нульовий випуск звісно присвячений штучному інтелекту 🤓
https://youtu.be/_CkVkceJNtE?si=SsrkLUsat4NkX4Tw

Це нульовий випуск й потрібен фідбек. Чи цікаво таке чи ні? Що було б цікаво? Конструктивна критика відносно будь-якого аспекту подкасту вітається.

Як вам подкаст?
🔥26👍11😐2🤮1💋1
Мене все ж таки подали на премію DOU :)
Не збирався цього року подаватися, але побачив, що мене хтось вже подав в категорії "Вони – надихають".

Сміливо підтримуйте:
Мене в моїй номінації
"Волонтерський Фонд WebbyLab" в номінації "Найпотужніша ініціатива від ІТ-компанії, що наближає перемогу".

В WebbyLab нас всього трохи більше 100 людей, але за 2024 рік загальна сума допомоги, яку з компанії спрямували на підтримку військових, сягнула 8 724 358 грн. З них 4 665 315 грн з волонтерського фонду та 4 059 043 грн - донати співробітників компанії, яким вдалося закрити 77 зборів. Придбали та передали на передову: автобуси, автомобілі, електробайки, дрони, рушниці, глушники, оптичні приціли, РЕБ, тепловізори, бронежилети, теплі речі, спальники, модулі живлення й акумулятори, старлінки, генератори, інструменти, каски, медикаменти, засоби гігієни тощо.

Голосуйте тут - https://dou.ua/awards-2025/
69👍11🔥8