Я был не прав, когда предлагал изолировать внутренние абстракции Node.js через отдельные V8 контексты. Но после дополнительного исследования оказалось, что просадка производительности больше чем у primordials. Но у меня есть лучшее решение.
Идея выглядела красиво: защитить internal built-ins от userland pollution. Но на практике пересечение v8 realm boundary оказывается слишком дорогим, а сохранение нормальной семантики для instanceof, Promise, Array и patchable prototype еще добавляет накладные расходы.
Исследование тут:
https://github.com/tshemsedinov/poc-node-isolate-internals
Идея выглядела красиво: защитить internal built-ins от userland pollution. Но на практике пересечение v8 realm boundary оказывается слишком дорогим, а сохранение нормальной семантики для instanceof, Promise, Array и patchable prototype еще добавляет накладные расходы.
Исследование тут:
https://github.com/tshemsedinov/poc-node-isolate-internals
❤9🤷♂7👍3😢3🔥1🤝1
Forwarded from HowProgrammingWorks - JavaScript and Node.js Programming
Вспомните, как часами отлаживаете код, потому что он работает не так, как должен?
Разве могу осуждать мух за то, что ебутся? Однако когда у меня в node_modules, злит. Так же и авторы npm зависимостей. Когда в тихом уединении делают то, к чему лежат их души, кто возразит? Но они устраивают манкипатчинг встроенных прортотипов, делают гребаные полифилы, дудят в дудки, бьют в барабаны и кричат, чтобы все знали про их нрав — что-де лупятся в о... и долбятся в ж... Истинно, они хуже мух, ибо мухи только изредка согрешают на моей голове, авторы npm библиотек же изо дня в день пытаются совокупиться в самом центре node_modules. Мухи по недомыслию, авторы оупенсорса же хладнокровно и сознательно.
Одна библиотека улучшила прототип, другая рассчитывала на стандартное поведение, третья защищалась от этого туалетным ершиком, а виноватым в итоге остается ваш код. Да ладно такм код, время вашей жизни кто вернет? В такие моменты кажется, что это невозможно, что ошибка где-то рядом, что надо просто еще немного вывести console.log, запустить с дебагере. Ну найдете вы, что кто-то пропатчил
Именно поэтому нужно понять, что такое primordials. Не для того, чтобы знать, как Node.js защищает встроенные прототипы, а для того, чтобы понять сам принцип и защитить свой код от "магии", которую почти невозможно локализовать. Чтобы изолировать одну библиотеку от другой. Допустим, primordials не самый удобный для этого метод, но у меня уже несколько альтернативных. Осталось довести этот ресерч до выбора оптимального варианта и я расскажу, как оно работает.
Если хочется самому копнуть, то тут можно начать - https://github.com/nodejs/TSC/issues/1439#issuecomment-4413664027
map вдруг возвращает не array, а array-like object, error instanceof Error неожиданно дает false, или Promise.then() ведет себя будто вместо микротасков, начал использовать макротаски, возможно then теперь реализован через setTimeout, обычный for...of или Array.from() ломается на ровном месте, ну вообще js себя так не должен вести, это невозможно, вы не верите своим глазам...Разве могу осуждать мух за то, что ебутся? Однако когда у меня в node_modules, злит. Так же и авторы npm зависимостей. Когда в тихом уединении делают то, к чему лежат их души, кто возразит? Но они устраивают манкипатчинг встроенных прортотипов, делают гребаные полифилы, дудят в дудки, бьют в барабаны и кричат, чтобы все знали про их нрав — что-де лупятся в о... и долбятся в ж... Истинно, они хуже мух, ибо мухи только изредка согрешают на моей голове, авторы npm библиотек же изо дня в день пытаются совокупиться в самом центре node_modules. Мухи по недомыслию, авторы оупенсорса же хладнокровно и сознательно.
Одна библиотека улучшила прототип, другая рассчитывала на стандартное поведение, третья защищалась от этого туалетным ершиком, а виноватым в итоге остается ваш код. Да ладно такм код, время вашей жизни кто вернет? В такие моменты кажется, что это невозможно, что ошибка где-то рядом, что надо просто еще немного вывести console.log, запустить с дебагере. Ну найдете вы, что кто-то пропатчил
Array, Promise, Error, итераторы, прототипы. Что делать то?Именно поэтому нужно понять, что такое primordials. Не для того, чтобы знать, как Node.js защищает встроенные прототипы, а для того, чтобы понять сам принцип и защитить свой код от "магии", которую почти невозможно локализовать. Чтобы изолировать одну библиотеку от другой. Допустим, primordials не самый удобный для этого метод, но у меня уже несколько альтернативных. Осталось довести этот ресерч до выбора оптимального варианта и я расскажу, как оно работает.
Если хочется самому копнуть, то тут можно начать - https://github.com/nodejs/TSC/issues/1439#issuecomment-4413664027
👍9❤5😁5🤯2🎉1
Заощадили на AI — отримали кодову базу, яку підтримувати дорого
Заощадили на архітекторі — отримали кодову базу, яку підтримувати дорого
Зекономили на синьорі — отримали кодову базу, яку підтримувати дорого
Зекономили на мідлі — це хороша економія
Зекономили на джуні — ви б ще на сірниках заощаджували
Заощадили на архітекторі — отримали кодову базу, яку підтримувати дорого
Зекономили на синьорі — отримали кодову базу, яку підтримувати дорого
Зекономили на мідлі — це хороша економія
Зекономили на джуні — ви б ще на сірниках заощаджували
😁54😢3❤2🎉1💯1
Месяц назад мы c Ильей начали проект форового образования NextTick
Набрали пробную группу в 500 человек, кто не успел, попали в предзапись.
И в этой очереди уже сильно больше людей, чем мы рассчитывали.
Заявки продолжают идти весь месяц, просто каждый час.
Закрываем предзапись через 24 часа.
Кто в анкете, тот заходит первым.
https://tg.pulse.is/next_tick_bot?start=69ce57941f15eb55e90ea47a&source_channel=timur_tg_metarhia
Набрали пробную группу в 500 человек, кто не успел, попали в предзапись.
И в этой очереди уже сильно больше людей, чем мы рассчитывали.
Заявки продолжают идти весь месяц, просто каждый час.
Закрываем предзапись через 24 часа.
Кто в анкете, тот заходит первым.
https://tg.pulse.is/next_tick_bot?start=69ce57941f15eb55e90ea47a&source_channel=timur_tg_metarhia
❤12👍5💯3
Схаменіться божевільні - Це вам точно не сниться!
Зараз кожен тиждень приносить новий інцидент із зломом із застосуванням AI.
Виділіть час, перевірте:
- всі dependencies вони точно потрібні?
- в CI використовувати тільки npm ci
- lockfile обов'язковий
- зміни залежностей тільки через review
- додайте npm audit, Dependabot
- npm scripts: postinstall, prepare, preinstall
- увімкніть 2FA (двофакторку) для GitHub/GitLab/npm/cloud
- увімкніть secret scanning, push protection
- захистіть гілки main/release: required reviews, no force push
- обмежте Actions/CI permissions до мінімальних
- не публікуємося з Actions/CI
- не давайте secrets у PR з форкнутих ріп
- Deploy тільки з protected branches/tags
- увімкнути backups та регулярно перевіряти restore
- AI-code проходить review/tests/scans
- AI не отримують prod secrets/write access
Зараз кожен тиждень приносить новий інцидент із зломом із застосуванням AI.
Виділіть час, перевірте:
- всі dependencies вони точно потрібні?
- в CI використовувати тільки npm ci
- lockfile обов'язковий
- зміни залежностей тільки через review
- додайте npm audit, Dependabot
- npm scripts: postinstall, prepare, preinstall
- увімкніть 2FA (двофакторку) для GitHub/GitLab/npm/cloud
- увімкніть secret scanning, push protection
- захистіть гілки main/release: required reviews, no force push
- обмежте Actions/CI permissions до мінімальних
- не публікуємося з Actions/CI
- не давайте secrets у PR з форкнутих ріп
- Deploy тільки з protected branches/tags
- увімкнути backups та регулярно перевіряти restore
- AI-code проходить review/tests/scans
- AI не отримують prod secrets/write access
🔥18👍12❤4💯2🎉1🤝1
🕳 AI: Event Horizon for IT
Коллапс, образование, AI пузырь, работа
👤 Vlad Ten
👤 Timur Shemsedinov
Fri, 22 May 2026, 19-00
https://www.youtube.com/live/17RqGlJjb50
Коллапс, образование, AI пузырь, работа
👤 Vlad Ten
👤 Timur Shemsedinov
Fri, 22 May 2026, 19-00
https://www.youtube.com/live/17RqGlJjb50
YouTube
🕳️ AI: Горизонт событий в IT — Влад Тен и Тимур Шемсединов
👤 Vlad Ten 👤 Timur Shemsedinov ⬢ Коллапс в IT, и в IT образовании ⬢ AI — пузырь? ⬢ AI причина коллапса? ⬢ Как будет выглядеть мир после AI-похмелья ⬢ Как искать работу и как не вылететь ⬢ Как собеседовать и как проходить собеседования ⬢ Что учить и где…
🔥10👍3😎2🤩1🤝1
Минув місяць нашого нового формату – фонове навчання
Загалом я задоволений тим, що виходить.
- Люди вдячні, їм допомагає знайти опору у нестабільний час та зорієнтуватися у професії
- Ми зробили акцент на AI, архітектурі, комунікаціях, хардскілах
- Синьйори та синьйорити на курсі зміцнили свої позиції в компаніях, стали приносити більше очевидної користі для бізнесу
Ми відкриваємо новий набір, він теж обмежений, хто встигне - заходить, решта в чергу
https://tg.pulse.is/next_tick_bot?start=69ce57941f15eb55e90ea47a&source_channel=timur_tg_metarhia
Загалом я задоволений тим, що виходить.
- Люди вдячні, їм допомагає знайти опору у нестабільний час та зорієнтуватися у професії
- Ми зробили акцент на AI, архітектурі, комунікаціях, хардскілах
- Синьйори та синьйорити на курсі зміцнили свої позиції в компаніях, стали приносити більше очевидної користі для бізнесу
Ми відкриваємо новий набір, він теж обмежений, хто встигне - заходить, решта в чергу
https://tg.pulse.is/next_tick_bot?start=69ce57941f15eb55e90ea47a&source_channel=timur_tg_metarhia
❤5👍2🔥1🎉1
З кожної праски ми чуємо "AI забере" та "компанія з агентів". Такі C-level галюцинатори вже знищили Bun, і дутимуть у свій бабл, поки він не лусне.
Я зовсім не скептик. Навпаки, я щодня програмую з AI і дуже задоволений. У мене він забрав лише нецікаві задачі та звільнив час для того, що я насправді люблю.
Але у більшості розробників справді проблеми, тому що вони писали на роботі бойлерплейт з ранку до вечора, модельки, апішки, формочки, контролери, сервіси, це все типова рутина.
Мене цікавить писати тільки такий код, який пишеться перший раз, ну може, перші 5-10 разів в історії програмування, поки автори не знають про роботу один одного, до перших статей або доповідей. Інший код мене й не цікавить писати. Якщо ви звичайний мідл, то так, у вас обгрунтована тривога, потрібно думати про системне програмування, продуктовий код, ресерч, архітектуру, оптимізацію, ну якусь глибоку експертизу.
Я зовсім не скептик. Навпаки, я щодня програмую з AI і дуже задоволений. У мене він забрав лише нецікаві задачі та звільнив час для того, що я насправді люблю.
Але у більшості розробників справді проблеми, тому що вони писали на роботі бойлерплейт з ранку до вечора, модельки, апішки, формочки, контролери, сервіси, це все типова рутина.
Мене цікавить писати тільки такий код, який пишеться перший раз, ну може, перші 5-10 разів в історії програмування, поки автори не знають про роботу один одного, до перших статей або доповідей. Інший код мене й не цікавить писати. Якщо ви звичайний мідл, то так, у вас обгрунтована тривога, потрібно думати про системне програмування, продуктовий код, ресерч, архітектуру, оптимізацію, ну якусь глибоку експертизу.
💯16❤2👍2
Forwarded from JavaScript.Ninja News (Illya Klymov 🇺🇦)
Немного пропал из публичного пространства из-за двух конференций (DOU Day + fwdays), с 1 июня возвращаюсь в строй
А пока сегодня давайте поговорим про последствия внедрения ИИ в компаниях. приходите
https://youtube.com/live/IZ4Obq31UTA?feature=share
А пока сегодня давайте поговорим про последствия внедрения ИИ в компаниях. приходите
https://youtube.com/live/IZ4Obq31UTA?feature=share
YouTube
Первому игроку приготовиться.... на выход? Как ИИ превращает вас в NPC
Агенты, агенты, агенты, агенты...
Учимся с ними работать, а что по итогу? Приходите, поговорим - поделюсь своим опытом консалтинга по внедрению ИИ и чем это чревато
Присоединиться к гильдии: https://tg.pulse.is/next_tick_bot?start=69ce57941f15eb55e90ea…
Учимся с ними работать, а что по итогу? Приходите, поговорим - поделюсь своим опытом консалтинга по внедрению ИИ и чем это чревато
Присоединиться к гильдии: https://tg.pulse.is/next_tick_bot?start=69ce57941f15eb55e90ea…
👍5🔥2❤1
А что вообще в мире делается?
- массовые увольнения
- найм сломан и работу найти сложно
- каждую неделю волна атак на npm, GitHub, CI/CD, AI
- AI-агенты бесконтрольно тащат зависимости
- тотальная потеря внимания у людей
- нужно быть на все руки мастером
- больше кода, меньше понимания
- тошнит от нейрослопа, он везде
- поток мусора на на ревью, глаз замылился
- живем без Security review? - вообще без review
- массовое производство кода без владения смыслом
- резкий рост copy-paste архитектуры
- потеря инженерного фокуса
- профессиональная демотивация
- время ускорилось, жизнь превратилась в гонку
- компании требуют внедрять AI без стратегии
- качество кода упало ниже плинтуса
- псевдо-архитектура,не выводиться из ограничений
https://youtu.be/_QeBvc12BaM
- массовые увольнения
- найм сломан и работу найти сложно
- каждую неделю волна атак на npm, GitHub, CI/CD, AI
- AI-агенты бесконтрольно тащат зависимости
- тотальная потеря внимания у людей
- нужно быть на все руки мастером
- больше кода, меньше понимания
- тошнит от нейрослопа, он везде
- поток мусора на на ревью, глаз замылился
- живем без Security review? - вообще без review
- массовое производство кода без владения смыслом
- резкий рост copy-paste архитектуры
- потеря инженерного фокуса
- профессиональная демотивация
- время ускорилось, жизнь превратилась в гонку
- компании требуют внедрять AI без стратегии
- качество кода упало ниже плинтуса
- псевдо-архитектура,не выводиться из ограничений
https://youtu.be/_QeBvc12BaM
YouTube
💬 AI и потеря контроля над архитектурой и кодом — как быть обычному фронтенд и бекенд мидлу
Подробнее про фоновое обучение: https://tg.pulse.is/next_tick_bot?start=69ce57941f15eb55e90ea47a&source_channel=timur_yt_tshemsedinov
👍12💯6❤4🔥2
Если Вы еще не поняли, что такое Гильдия NextTick и "фоновое обучение", то почитайте что написал Илья, похоже он постепенно начинает это понимать, но нужна ваша помощь, как подсказка, что бы вы хотели получить и как фидбек от тех, кто уже в гильдии: https://t.me/jsninja_news/1040
Telegram
JavaScript.Ninja News
Тем временем за первый месяц в гильдии:
* Выложили 8+ видео по коммуникациям и основам архитектуре
* Мы запустили AI трек, прошло уже пара стримов по переписыванию реального проекта с нуля в режиме "почти вайбкодинга"
* Обсудили кучу реальных проблем внутри…
* Выложили 8+ видео по коммуникациям и основам архитектуре
* Мы запустили AI трек, прошло уже пара стримов по переписыванию реального проекта с нуля в режиме "почти вайбкодинга"
* Обсудили кучу реальных проблем внутри…
😁7❤1👍1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
Как только станет понятно, что Anthropic феерически обосрались с Bun и не могут довести его до ума, это будет скандал.
Как можно было так бездумно оформить это на себя, без всякой мутной фирмы-прослойки. Если бы у нее не получилось, то они б могли сказать, что это мутные типы из интернетов не умеют пользоваться нашими моделями и у них не хватило бюджета.
Но чего Антропику не хватило? Бесконечные лимиты, любые эксперты, свобода в выборе проекта для переписывания. Тут придется отвечать за неудачу.
Как можно было так бездумно оформить это на себя, без всякой мутной фирмы-прослойки. Если бы у нее не получилось, то они б могли сказать, что это мутные типы из интернетов не умеют пользоваться нашими моделями и у них не хватило бюджета.
Но чего Антропику не хватило? Бесконечные лимиты, любые эксперты, свобода в выборе проекта для переписывания. Тут придется отвечать за неудачу.
💯17🤣14🔥4❤2👍2
Сегодня на стриме будут гости - мои ученики, коллеги, синьоры программисты, контрибьюторы открытого кода и профессионалы со всего мира. Расскажут нам, как они видят ситуацию в отрасли, и что делают, чтоб не пропустить момент изменений, ведь, это не только время сложностей, но и колоссальные возможности, которые, похоже, не повторяться и те, кто оседает волну изменений, будет определять правила игры завтра. https://youtube.com/live/C4giRiwGhB0
YouTube
🤖 AI: Гонка без стратегии — Тимур Шемсединов — Frontend, Backend, JavaScript, TypeScript, Node.js
⬢ массовые увольнения ⬢ найм сломан и работу найти сложно ⬢ каждую неделю волна атак на npm, GitHub, CI/CD, AI ⬢ AI-агенты бесконтрольно тащат зависимости ⬢ тотальная потеря внимания у людей ⬢ нужно быть на все руки мастером ⬢ больше кода, меньше понимания…
❤9👍4🔥3
Forwarded from Metarhia Chief Level
This media is not supported in your browser
VIEW IN TELEGRAM
👍4❤2💯2🤩1👀1
Сайт все ж таки краще структурує план фонового навчання і якось усе розкладає по поличках https://nexttick.it/?utm_source=timur_tg_metarhia
👍10❤5💯3👎2😁1🤩1
У використанні ШІ люди діляться на дві категорії.
Перші швидко й безславно випалюють ліміт, а потім страждають, що без ШІ вже не можуть працювати.
Другі страждають, що використали надто малий відсоток ліміту, і в останній день та останню годину підписки, щоб бабло не пропало, починають заливати в ШІ всяку дичину.
Перші швидко й безславно випалюють ліміт, а потім страждають, що без ШІ вже не можуть працювати.
Другі страждають, що використали надто малий відсоток ліміту, і в останній день та останню годину підписки, щоб бабло не пропало, починають заливати в ШІ всяку дичину.
😁22💯7👍2🔥1
В епоху AI найважливішим стає зменшення когнітивного навантаження на розробника та агентів. Щоб не вирішувати всі питання одночасно, не писати разом системний і прикладний код, не переписувати весь проект при кожній зміні, необхідно використовувати способи боротьби зі складністю.
Знижувати когнітивне навантаження ми навчилися ще до AI, і все це тепер стає ще актуальнішим:
1. Введення виразних та компактних DSL мов, вони приховують складність реалізації
2. Поділ на системний та прикладний код. В них є своя складність, але коли вони змішані, розробник змушений одночасно думати про бізнес-логіку, мережеві протоколи, потоки виконання, зберігання даних, безпеку та інфраструктуру. Поділ дозволяє вирішувати одне завдання за раз і пам'ятати лише той рівень абстракції, з яким працюєш зараз.
3. Декомпозиція – найочевидніше
4. Ізоляція складності - приховувати складність за абстракціями, інтерфейсами та контрактами
5. Стандартизація - винесення рішень, що часто зустрічаються, у платформу, стандарт або навіть саму мову, що робить прикладний код більш простим
6. Модульність - щоб пам'ятати лише частину ментальної моделі коду
7. Зниження зачеплення та зв'язування в коді (coupling & cohesion, тут обох видів)
8. Зменшення паразитної складності, тобто оверинженерингу
9. Локалізація змін - з часом структура проекту змінюється так, щоб зміни зачіпали мінімальну кількість модулів і абстракцій
10. Паттерни – використання готових рішень, потрібно менше замислюватись і автору та читачам
11. Зменшення варіативності - часто можна звузити сферу застосування програми, не втративши у функціональних вимогах, програмісти схильні включати до цієї сфери варіанти використання, які не були потрібні
12. Ну і нарешті – гарна стандартна бібліотека, при наявности потужного веб-апі, що саме її ми й не маємо у js, де наші списки та інші дженерік колекції, де дерева, де графи та стандартні алгоритми за утілітами? Так, вони у сраному нпм
Знижувати когнітивне навантаження ми навчилися ще до AI, і все це тепер стає ще актуальнішим:
1. Введення виразних та компактних DSL мов, вони приховують складність реалізації
2. Поділ на системний та прикладний код. В них є своя складність, але коли вони змішані, розробник змушений одночасно думати про бізнес-логіку, мережеві протоколи, потоки виконання, зберігання даних, безпеку та інфраструктуру. Поділ дозволяє вирішувати одне завдання за раз і пам'ятати лише той рівень абстракції, з яким працюєш зараз.
3. Декомпозиція – найочевидніше
4. Ізоляція складності - приховувати складність за абстракціями, інтерфейсами та контрактами
5. Стандартизація - винесення рішень, що часто зустрічаються, у платформу, стандарт або навіть саму мову, що робить прикладний код більш простим
6. Модульність - щоб пам'ятати лише частину ментальної моделі коду
7. Зниження зачеплення та зв'язування в коді (coupling & cohesion, тут обох видів)
8. Зменшення паразитної складності, тобто оверинженерингу
9. Локалізація змін - з часом структура проекту змінюється так, щоб зміни зачіпали мінімальну кількість модулів і абстракцій
10. Паттерни – використання готових рішень, потрібно менше замислюватись і автору та читачам
11. Зменшення варіативності - часто можна звузити сферу застосування програми, не втративши у функціональних вимогах, програмісти схильні включати до цієї сфери варіанти використання, які не були потрібні
12. Ну і нарешті – гарна стандартна бібліотека, при наявности потужного веб-апі, що саме її ми й не маємо у js, де наші списки та інші дженерік колекції, де дерева, де графи та стандартні алгоритми за утілітами? Так, вони у сраному нпм
❤13💯7👍1😁1
Ми з Іллєю вирішили відкритий канал IT Гільдія 🚀 що є безкоштовним аналогом гільдії NextTick
— для кого - Middle/Senior розробників
— що - новини у світі AI та IT
— фрагменти відео та матеріалів
— практичні поради
Заходьте https://t.me/itguild_next_tick
— для кого - Middle/Senior розробників
— що - новини у світі AI та IT
— фрагменти відео та матеріалів
— практичні поради
Заходьте https://t.me/itguild_next_tick
❤4👍2🎉1