ar
Feedback
Dev News от Максима Соснова

Dev News от Максима Соснова

الذهاب إلى القناة على Telegram

Привет! Меня зовут Максим Соснов и по утрам я читаю всякие разные дайджесты про фронтенд, разработку и управление разработкой. Самые интересные, по моему мнению, ссылки из этих дайджестов я кидаю в этот канал с небольшим описанием. Контакт: @msosnov

إظهار المزيد
2 808
المشتركون
-124 ساعات
+67 أيام
+1430 أيام

جاري تحميل البيانات...

جذب المشتركين
يونيو '26
يونيو '26
+18
في 0 قنوات
مايو '26
+46
في 1 قنوات
Get PRO
أبريل '26
+41
في 0 قنوات
Get PRO
مارس '26
+39
في 0 قنوات
Get PRO
فبراير '26
+41
في 0 قنوات
Get PRO
يناير '26
+31
في 0 قنوات
Get PRO
ديسمبر '25
+27
في 1 قنوات
Get PRO
نوفمبر '25
+33
في 1 قنوات
Get PRO
أكتوبر '25
+65
في 2 قنوات
Get PRO
سبتمبر '25
+54
في 1 قنوات
Get PRO
أغسطس '25
+52
في 0 قنوات
Get PRO
يوليو '25
+86
في 7 قنوات
Get PRO
يونيو '25
+50
في 0 قنوات
Get PRO
مايو '25
+57
في 0 قنوات
Get PRO
أبريل '25
+68
في 4 قنوات
Get PRO
مارس '25
+79
في 2 قنوات
Get PRO
فبراير '25
+72
في 2 قنوات
Get PRO
يناير '25
+75
في 1 قنوات
Get PRO
ديسمبر '24
+88
في 2 قنوات
Get PRO
نوفمبر '24
+156
في 1 قنوات
Get PRO
أكتوبر '24
+96
في 1 قنوات
Get PRO
سبتمبر '24
+87
في 0 قنوات
Get PRO
أغسطس '24
+134
في 3 قنوات
Get PRO
يوليو '24
+87
في 1 قنوات
Get PRO
يونيو '24
+111
في 0 قنوات
Get PRO
مايو '24
+795
في 2 قنوات
Get PRO
أبريل '24
+41
في 0 قنوات
Get PRO
مارس '24
+55
في 1 قنوات
Get PRO
فبراير '24
+63
في 1 قنوات
Get PRO
يناير '24
+98
في 1 قنوات
Get PRO
ديسمبر '23
+94
في 2 قنوات
Get PRO
نوفمبر '23
+31
في 1 قنوات
Get PRO
أكتوبر '23
+88
في 1 قنوات
Get PRO
سبتمبر '23
+58
في 0 قنوات
Get PRO
أغسطس '23
+47
في 0 قنوات
Get PRO
يوليو '23
+36
في 0 قنوات
Get PRO
يونيو '23
+44
في 0 قنوات
Get PRO
مايو '23
+27
في 0 قنوات
Get PRO
أبريل '23
+54
في 0 قنوات
Get PRO
مارس '23
+61
في 0 قنوات
Get PRO
فبراير '23
+33
في 0 قنوات
Get PRO
يناير '23
+42
في 0 قنوات
Get PRO
ديسمبر '22
+35
في 0 قنوات
Get PRO
نوفمبر '22
+138
في 0 قنوات
Get PRO
أكتوبر '22
+65
في 0 قنوات
Get PRO
سبتمبر '22
+114
في 0 قنوات
Get PRO
أغسطس '22
+18
في 0 قنوات
Get PRO
يوليو '22
+48
في 0 قنوات
Get PRO
يونيو '22
+32
في 0 قنوات
Get PRO
مايو '22
+15
في 0 قنوات
Get PRO
أبريل '22
+4
في 0 قنوات
Get PRO
مارس '22
+4
في 0 قنوات
Get PRO
فبراير '22
+21
في 0 قنوات
Get PRO
يناير '22
+64
في 0 قنوات
Get PRO
ديسمبر '21
+6
في 0 قنوات
Get PRO
نوفمبر '21
+8
في 0 قنوات
Get PRO
أكتوبر '21
+333
في 0 قنوات
التاريخ
نمو المشتركين
الإشارات
القنوات
17 يونيو+3
16 يونيو0
15 يونيو+5
14 يونيو+1
13 يونيو+4
12 يونيو0
11 يونيو+1
10 يونيو0
09 يونيو+1
08 يونيو0
07 يونيو+1
06 يونيو0
05 يونيو0
04 يونيو+1
03 يونيو0
02 يونيو0
01 يونيو+1
منشورات القناة
ESLint – React – You Might Not Need An Effect ESLint-плагин, который ловит лишние useEffect. Создан по мотивам официальной статьи React You Might Not Need An Effect. Целый набор антипаттернов с конкретными подсказками и ссылками на доку. Плагин анализирует state, props, refs и их источники, учитывает зависимости effect и пытается держать высокое соотношение полезных срабатываний к шуму. Есть 9 правил: - no-derived-state — derived state в effect вместо вычисления при рендере - no-chain-state-updates — цепочки setState в effect - no-event-handler — effect как event handler через state/props - no-adjust-state-on-prop-change / no-reset-all-state-on-prop-change — сброс state при смене props (вместо key) - no-pass-live-state-to-parent / no-pass-data-to-parent — прокидывание данных наверх через effect - no-external-store-subscription — подписка на внешний store вместо useSyncExternalStore - no-initialize-state — инициализация state в effect Выглядит интересно, надо попробовать. https://github.com/nickjvandyke/eslint-plugin-react-you-might-not-need-an-effect #development #react #eslint #hooks #useeffect #lint

2
Deprecating a React component using TypeScript Overload Статья про хитрый способ ввести breaking change в компонент, не создавая ComponentNameV2. Автор использует трюк с TypeScript overloads и @deprecated. Что он делает. Есть у вас компонент Card export interface CardProps { title: string; content: string; style?: React.CSSProperties; } const Card = ({title, content, style}: CardProps) => {} Вам нужно сделать новый компонент с тем же интерфейсом. const NewCard = ({title, content, style}: CardProps) => {} При этом вы хотите, чтобы пользователи не автоматически обновляли компонент, а осознанно (ну, допустим, изменение значительное). В этом случае вы делаете враппер export interface NewCardProps extends CardProps { new: true; } function Card(props: CardProps | NewCardProps): React.JSX.Element { if ('new' in props) { return NewCard(props); } return LegacyCard(props); } Все пользователи так и импортируют Card и используют старую реализацию, но надо как-то подсказать пользователям что им надо прокинуть проп new для перехода на новую версию. /* eslint-disable no-redeclare */ /** @deprecated Use Card with "new" prop on it instead */ function Card(props: CardProps): React.JSX.Element; function Card(props: NewCardProps): React.JSX.Element; При таком определении IDE будет отображать использование компонента без пропа new как депрекейтнутное (зачеркивать его). Трюк немного сомнительный, но, вместе с тем, и очень интересный. https://dev.to/mbarzeev/deprecating-a-react-component-using-typescript-overload-2ka #development #react #typescript #components #deprecation #monorepo
614
3
Дайджест за 2026-06-08 - 2026-06-12 Bun's unreleased Rust port has 13,365 unsafe blocks. Most can be removed. Сначала Anthropic купили Bun, а затем переписали его с Zig на Rust с помощью Claude Code, но пока не влили. Большое переписывание - большой шитшторм. Быстро вскрылось, что код переписан "плохо" - не rust-way и много unsafe в кодовой базе. Команда Bun опубликовала большой интерактивный аудит всех unsafe-блоков в ещё не выпущенном Rust-порте рантайма. После AI-перевода с Zig на Rust там насчитали 13 365 unsafe — и разобрали каждый: откуда он взялся, можно ли убрать и что для этого нужно. Mitos Oxide Computer выложили в опенсорс Mitos — веб-инструмент для генерации ASCII-арта на основе изображений или gif. Выглядит реально круто. Вставляете картинку или гиф, а экспортируете текст, png или mp4. TypeScript Tips Everyone Should Know Никогда не было и вот опять - читшит с бест практисами по Typescript. 15 простых бест-практисов, которые можно брать в любой проект (или отдать агенту в виде скилла). Т.к. читшит ультра короткий, то приведу примеры из него прямо в посте —————————————— Спасибо что читаете, ставите реакции, отмечаетесь в комментариях и рассказываете о канале друзьям и коллегам. —————————————— Я работаю в Т-Банке и у нас идет активный найм. Если вам интересна работа в Т-Банке - переходите по ссылке и пишите в личку - отвечу на любые вопросы
635
4
TypeScript Tips Everyone Should Know Никогда не было и вот опять - читшит с бест практисами по Typescript. 15 простых бест-практисов, которые можно брать в любой проект (или отдать агенту в виде скилла). Т.к. читшит ультра короткий, то приведу примеры из него прямо в посте Prefer unknown Over any - тут всем всё понятно, unknown безопаснее any Let Type Inference Do the Work - если TS может вывести тип сам, то и не надо его описывать const name = "Ada"; // вместо const name: string = "Ada"; Prefer satisfies Over as - satisfies позволяет проверить на соответствие типу без приведения типов, в отличие от as const routes = { home: "/", about: "/about", } satisfies Record<string, string>; Derive Types From Values Instead of Duplicating Them - получайте типы из значений, а не делайте копию в типах. const roles = ["admin", "user", "guest"] as const; type Role = (typeof roles)[number]; Model Impossible States With Discriminated Unions - делайте некорректные состояния невозможными с помощью Discriminated Unions type State = | { status: "loading" } | { status: "success"; data: User } | { status: "error"; error: Error }; Use Exhaustive Checks With never - при проверках switch/case (да и в других вариантах), в default следует возвращать never. Если вдруг TypeScript поймет, что не все ветвления проверены и можно войти в ветку с never, то TS кинет ошибку function render(state: State) { switch (state.status) { case "loading": return <Spinner />; case "success": return <UserCard data={state.data} />; case "error": return <ErrorMessage error={state.error} />; default: { const exhaustive: never = state; return exhaustive; } } } Use as const for Configuration and Constants - фиксируйте типы конфигов и констант через as const, они будут точнее выведены const theme = { mode: "dark" } as const; Use Type Predicates for Reusable Narrowing function isUser(value: unknown): value is User { return typeof value === "object" && value !== null && "id" in value; } Build New Types From Existing Types - используйте Pick, Omit, Partial, Required и другие type utils для построения производных типов type UserPreview = Pick<User, "id" | "name">; Validate External Data at Runtime - TypeScript не проверяет данные из внешнего мира. Валидируйте их на границе с API const UserSchema = z.object({ id: z.string(), name: z.string(), }); Avoid enum in Most Cases - union проще рефакторить, сериализовать и приносит меньше сюрпризов в рантайме, чем Enum. const roles = ["admin", "user"] as const; // вместо enum Role { Admin, User } Prefer Generics That Infer Automatically - если generic может сам вывести тип — так и делайте. Хороший API не заставляет писать тип вручную getData(userSchema); // вместо getData<User>(userSchema) Enable Strict Compiler Options - удивительно, что в конце списка :). Включите строгий режим проверок. Learn Template Literal Types - используйте строковые шаблоны в типах. type Route = `/api/${string}`; "Type-Safe" Does Not Mean "Runtime Safe" - даже если вы используете строгий TS, у вас нет any, ts-expect-error и всё чётко, это не гарантирует, что в рантайме у вас не будет ошибок. https://github.com/AllThingsSmitty/typescript-tips-everyone-should-know #development #typescript #javascript #best-practices #cheatsheet
888
5
Mitos Oxide Computer выложили в опенсорс Mitos — веб-инструмент для генерации ASCII-арта на основе изображений или gif. Выглядит реально круто. Вставляете картинку или гиф, а экспортируете текст, png или mp4. Поиграться можно здесь https://mitos.shared.oxide.computer/ https://github.com/oxidecomputer/mitos #development #oxide #ascii #tools #open-source
910
6
Bun's unreleased Rust port has 13,365 unsafe blocks. Most can be removed. Сначала Anthropic купили Bun, а затем переписали его с Zig на Rust с помощью Claude Code, но пока не влили. Большое переписывание - большой шитшторм. Быстро вскрылось, что код переписан "плохо" - не rust-way и много unsafe в кодовой базе. Команда Bun опубликовала большой интерактивный аудит всех unsafe-блоков в ещё не выпущенном Rust-порте рантайма. После AI-перевода с Zig на Rust там насчитали 13 365 unsafe — и разобрали каждый: откуда он взялся, можно ли убрать и что для этого нужно. Важно: версию на Rust ещё не влили. Главный вывод из отчёта: 13 365 unsafe — это очень много, но большинство из них (~9 300) можно перевести в safe. Остальные unsafe останутся, в основном это FFI и работа с C/C++. Сам отчёт просто бомбический: удобно смотреть, классно выглядит, полностью основан на данных и показывает, откуда берутся эти unsafe. Но самый кайф — хороший пример инженерной работы: всё подсчитано, сделан анализ, выводы, показаны детали, которые повлияли на выводы. https://bun.com/bun-unsafe-audit #development #bun #rust #unsafe #audit
1 091
7
ужин?
1
8
Дайджест за 2026-05-18 - 2026-05-22 spawn-agent Библиотека, использующая Vercel AI SDK для запуска локальных AI-агентов на компьютере через Agent Client Protocol. Поддерживает Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Factory Droid, Pi. portless Утилита от Vercel Labs, которая открывает урлы вида http://localhost:3000 на именованных доменах .localhost. Например, вместо http://localhost:3000 можно открывать https://myapp.localhost. Из коробки поддерживает HTTPS и HTTP/2. Warp — открыли исходный код Warp, терминал с Rust, который, как и Zed, прошел большой путь от "мы просто очень быстрый терминал" через "Мы терминал++ - следующее поколение терминалов с крутыми фичами" до "мы теперь AI IDE". Warp выложили исходники в опенсорс. —————————————— Спасибо что читаете, ставите реакции, отмечаетесь в комментариях и рассказываете о канале друзьям и коллегам. —————————————— Я работаю в Т-Банке и у нас идет активный найм. Если вам интересна работа в Т-Банке - переходите по ссылке и пишите в личку - отвечу на любые вопросы
1 404
9
Warp — открыли исходный код Warp, терминал с Rust, который, как и Zed, прошел большой путь от "мы просто очень быстрый терминал" через "Мы терминал++ - следующее поколение терминалов с крутыми фичами" до "мы теперь AI IDE". Warp выложили исходники в опенсорс. Это круто, т.к. лично я считаю, что warp - самый удобный терминал для работы. Банальный textarea, который ведет себя также как редактирование кода в IDE, выводит опыт работы с терминалом на следующий уровень. https://github.com/warpdotdev/warp #development #warp #terminal #open-source #rust #ai
1 449
10
portless Утилита от Vercel Labs, которая открывает урлы вида http://localhost:3000 на именованных доменах .localhost. Например, вместо http://localhost:3000 можно открывать https://myapp.localhost. Из коробки поддерживает HTTPS и HTTP/2. Работает просто: portless myapp dev # https://myapp.localhost portless сам выпустит сертификат и даст доступ к https. Поддерживаются разные фреймворки, порты, под-домены, монорепозитории. Из интересного - подхват git worktree. Если portless видит, что приложение запущено из worktree, то название worktree становится именем домена https://github.com/vercel-labs/portless #development #tools #localhost #vercel #devtools #github
3 181
11
spawn-agent Библиотека, использующая Vercel AI SDK для запуска локальных AI-агентов на компьютере через Agent Client Protocol. Поддерживает Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Factory Droid, Pi. Пример запуска с кастомными cwd, разрешениями и mcp import { generateText } from "ai"; import { spawnAgent } from "spawn-agent"; const { text } = await generateText({ model: spawnAgent("codex", { cwd: "/Users/me/project", permission: "auto-allow", mcpServers: [ { type: "stdio", name: "filesystem", command: "npx", args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"], }, ], }), prompt: "Summarize README.md in three bullets", }); https://github.com/millionco/spawn-agent #development #ai #agents #acp #vercel #github
1 217
12
Дайджест за 2026-05-11 - 2026-05-15 How we made the Angular Compiler faster using AI VoidZero сделали эксперимент — с помощью ИИ сделали компилятор Angular на Rust (на базе Oxc). Итоговые цифры: в 6 раз быстрее чем Angular CLI и в 20 раз быстрее Webpack + @ngtools/webpack на Bitwarden. The Prompt API Команда Chrome встроила API для работы с локальным Gemini Zed is 1.0 Редактор Zed прошел огромный путь и наконец-то получил версию 1.0. Пять лет разработки, собственный UI-фреймворк GPUI на Rust, своя архитектура без Electron. —————————————— Спасибо что читаете, ставите реакции, отмечаетесь в комментариях и рассказываете о канале друзьям и коллегам. —————————————— Я работаю в Т-Банке и у нас идет активный найм. Если вам интересна работа в Т-Банке - переходите по ссылке и пишите в личку - отвечу на любые вопросы
954
13
Zed is 1.0 Редактор Zed прошел огромный путь и наконец-то получил версию 1.0. Пять лет разработки, собственный UI-фреймворк GPUI на Rust, своя архитектура без Electron. Помню ставил его еще на ранних этапах, когда обещали просто быструю работу. Затем ставил, когда туда завезли удобный механизм для парного программирования. Потом уже не ставил, но слышал что завезли AI-агентов. Теперь, видимо, интегрировали ACP. Надо еще раз поставить и посмотреть, что там есть. https://zed.dev/blog/zed-1-0 #development #zed #editor #release #rust
1 116
14
The Prompt API Команда Chrome встроила API для работы с локальным Gemini API выглядит так: const session = await LanguageModel.create(); const result = await session.prompt('Write me a poem'); Браузер скачивает модель и затем использует ее на устройстве пользователя. Системные требования: 22 ГБ на диске, GPU >4GB VRAM или 16GB RAM. Поддерживает текст, изображения и аудио на входе, JSON Schema для структурированного вывода, стриминг через promptStreaming(), сессии с историей и клонирование. API хорошо продумано - там и управление сессиями, и структурированный ввод-вывод, и добавление сообщений в контекст, и работа с аудио и видео. Реализация такого API - это очень важный шаг. Для разработчиков это возможность интегрировать AI-опыт, к которому привыкли пользователи смартфонов. При этом не нужен никакой бекенд - все работает на устройстве пользователя. Для рынка это понятный ход Google: проложить свой API как стандарт для встроенного AI в браузере, пока другие игроки не смогли закрепиться в этом поле. Пока API доступно в бетке хрома (138+) за флагом, но тренд очевиден — готовимся к возможности запускать локальные модели прямо из JS-кода в браузере. Хотя, конечно, это может привнести новые проблемы. Например, это API будет доступно и аналитическим скриптам, которые могут запускать локальные модели для сбора какой-то информации и излишне нагружать устройство. https://developer.chrome.com/docs/ai/prompt-api #development #ai #chrome #gemini #api #google
1 217
15
How we made the Angular Compiler faster using AI VoidZero сделали эксперимент — с помощью ИИ сделали компилятор Angular на Rust (на базе Oxc). Итоговые цифры: в 6 раз быстрее чем Angular CLI и в 20 раз быстрее Webpack + @ngtools/webpack на Bitwarden. За счёт чего: По факту срезали углы. Angular-компилятор компилирует HTML-шаблоны в TypeScript, а потом запускает компиляцию TS, включая проверку типов. Чуваки же сделали компиляцию шаблонов на Rust, минуя проверку TS. Основной прирост не от Rust, а от того, что не надо гонять TypeScript Compiler на каждую сборку. Причем тут AI: Автор работал с Claude Code и Codex. - Сначала Claude Code в Plan Mode проанализировал весь Oxc-проект: как там устроен парсер, семантика, трансформеры, тесты. - Дал промпт, в котором Claude выступал оркестратором: диспатчил задачи саб-агентам (discover → fixer) и гонял цикл, пока тесты не проходят. Claude мог работать автономно 4–6 часов подряд (видимо пока не выжирал 5 часовые лимиты) - Для проверки работы нового компилятора шаблонов брались существующие репозитории и прогонялись на дефолтном компиляторе и на новом. Если итоговый код расходился - это знак что надо править компилятор. - Далее подключил Codex для code review. Codex искал несовпадения control flow с оригинальным TS-компилятором (например, неправильный guard в @for track optimization, порядок @default в @switch) - Codex фидбек отдавали обратно Claude Code — он фиксил и добавлял тесты - Ещё ~3 недели циклов code review → fix, пока Codex не перестал находить серьёзные проблемы В общем, заметка больше интересна как хорошее описание того, как работать с ИИ-агентами. Достаточно подробно описана методика работы и все промпты. Рекомендую посмотреть. https://voidzero.dev/posts/oxc-angular-compiler #development #angular #oxc #rust #vite #ai #voidzero
976
16
Дайджест за 2026-05-04 - 2026-05-08 WebKit PR #63082: site-specific quirk для mouse-focus Вот так вот разрабатываешь сайт, делаешь разные хаки для корректной работы в специфичных кейсах в safari, firefox, webview. А потом оказывается, что если ты достаточно крупный сайт, то это браузеры будут адаптироваться под тебя, а не ты под них. В WebKit смержили интересный PR - костыли, меняющие поведение браузера на thesaurus.com и dictionary.com What's actually new in JavaScript (and what's coming next) Хороший обзор уже вышедших новшеств ES2025 и грядущих новшеств в ES2026. Обзор очень большой - там приводится и краткая история изменений, и примеры в стиле "до и после" и в каких версиях браузеров уже доступны изменения. Поэтому делаю вам обзор на обзор, чтобы вы могли быстро ознакомиться с изменениями. Announcing Rspack 2.0 Вышел Rspack 2.0. За полтора года прошли путь от 100К еженедельных загрузок до 5М. В 2.0 начинают отходить от webpack-дефолтов, но совместимость с webpack-экосистемой сохраняют. Обзор программы HolyJS Буду смотреть HolyJS в онлайне. Точнее один день буду смотреть онлайн, а второй в записи т.к. конфа выпадает на мой день рождения, а у меня там другие планы. Конфа будет проходить 14-15 мая в Москве. Предварительно я глянул тезисы докладов, чтобы разобрать их на категории "мастхев", "сойдет", "точно мимо". Делюсь с вами своим видением программы HolyJS. Но если коротко - программа очень хорошая, хотя некоторые доклады очень странные. —————————————— Спасибо что читаете, ставите реакции, отмечаетесь в комментариях и рассказываете о канале друзьям и коллегам. —————————————— Я работаю в Т-Банке и у нас идет активный найм. Если вам интересна работа в Т-Банке - переходите по ссылке и пишите в личку - отвечу на любые вопросы
787
17
Последняя секция - что-то странное, хардкорное или гиковое. Лично я не буду смотреть, но думаю найдутся люди, для которых тема супер актуальна Послушный дом и JS Умный дом на JS или JS + IoT. Но по мне, если уж делать свой IoT, то надо хардкорить на C и получать кайф не только от крафтовой железки, но и от крафтового кода. Минимально жизнеспособный дизайн: UX для каждого 🐟 Как фронтендеру сделать хороший UX Я не знаю JavaScript 🐟 Доклад про фундаментальные основы JS. С одной стороны может быть интересно, потому что в JS есть контр-интуитивные штуки, с другой - зачем оно надо? Без исходников — UT99 мультиплеер в браузере Мультиплеер для Unreal Tournament прямо в браузере - это круто, но лично я применить не смогу. FSD — это беда, спасет только FDA! 🐟 В Fractal Domain Architecture ключевой принцип "разделяй систему на домены, а домены на под-домены". Доклад одновременно может быть полезным, если углубится в тонкости применения этого принципа, а может быть поверхностным, если фокус будет вокруг обзора альтернатива Чистый Node.js: разработка бэкенда без фреймворков В докладе расскажут как сделать свой Express. Тут вспоминается мем с троллейбусом из буханки хлеба. Можно, но зачем? Креативный код без магии: как графика прокачивает перформанс и мышление Хардкор про оптимизацию рендера в Tree.js
949
18
Теперь перейдем к практикам работы с кодом Модульный BFF во фронтенде 👀🔥 BFF - паттерн, когда мы создаем бекенд для фронтенда, который закрывает всю сложность работы с реальным бекендом и адаптирует сценарии под фронтенд. Если делать это наивно, то можно получить проблему в стиле "призрачный монолит" - монолита вроде нет, но связаность в bff делает больно. В докладе рассказывают как эту проблему решает plugin-based архитектура Реактивный CSS 🔥 Еще один шаг в сторону должности css-архитектора. CSS стал настолько мощным, что много логики по отображению можно перейти туда. Одновременно он стал настолько сложным, что появляется возможность для открытия позиции CSS-архитектор, которую еще и ИИ не сможет заменить так быстро, как JS-разработчика Observability микрофронтендов 👀🔥 Микрофронтенды должны быть наблюдаемыми. Это естественное требование, если у вас работа начинает строиться вокруг микрофрнтендов. Авито рассказывает о своем опыта выстраивания обсервабилити Типизируем не только код: договоренности между слоями 👀🔥 Типизация - это хорошо. Но сквозная и полная типизация - это сложно. В докладе расскажут про практики, которые помогают типизировать на проекте все - от css до дизайн-токенов PWA вместо App Store: реальный опыт замены нативного iOS-приложения и технические ограничения 👀 Редко компании делятся своим опытом по каким-то специфичным областям. PWA - одна из них. РСХБ рассказывает про свой опыт использования PWA. 2 доклада про работу в фреймворках - Мифы и легенды о современном Angular: что не так с вашими представлениями - Искусство Vue-компонентов Мы переписывали фреймворк три раза и сделаем это снова: тяжелые уроки Vuetify Интересно послушать именно как историю развитие сложного технического продукта.
706
19
Теперь перейдем к перформансу Degradation вместо downtime: Node.js под пиковыми нагрузками и DDoS 👀🔥 Многие не знают, но когда клиент отменяет запрос, то это не значит, что сервер перестает работать. Надо остановить работу в nodejs, балансере и куче других мест и часто это не делается автоматически. Более того, когда то давно я слушал выпуски подлодки и там чел, который глубоко погружен в специфику работы ОС, рассказывал, что когда мы из кода закрываем соединение, ОС может держать открытым сокет потому что может. В докладе разбирается реальный инцидент с тем, что пользователя отменяли запросы, но работа сервера не останавливалась и как ее решить. Кеширование данных на максималках. Как построить кеш для энтерпрайза Кеширование, это одновременно и просто, и сложно. По тезисам кажется, что тут будет больше про "сложно". Нефронтендерские оптимизации: ускорение без единой строчки JS 🔥 Часто, когда говорят "надо ускорить сайт", многие разработчики воспринимают как "надо оптимизировать код", хотя 99% работы - это настройка всего вокруг кода. В докладе скорее всего базовая база по улучшению перформанса не через код, а через инфраструктуру. Но базовая база в 2к26 такая, что можно книгу писать Как находить утечки памяти: практический воркшоп в Chrome DevTools Воркшоп про поиск утечек через Chrome DevTools. Звучит полезно, но выглядит как кандидат в скилл) За пределами Web Vitals Много внимания в индустрии уделяется метрикам Web Vitals, но на самом деле перформанс - это не только про Web Vitals, но и про рантайм перформанс. Ребята рассказывают кейс из опыта разработки графического редактора Я ПРОЧИТАЛ ВСЕ issue:memory ПО NODEJS, И ВОТ ЧТО Я УЗНАЛ 🐟 Кликбейт-название, но изучение работы сообщества nodejs может привести как к интересным инсайтам, так и к чему-то совершенно банальному или неинтересному
643
20
Сначала разберем горяченькое - ИИ. Сейчас ничего в IT не может обойтись без упоминания ИИ, поэтому на конференциях тоже обозревают эту тему. Оффтоп: есть некоторая ирония в том, что конференции одни из первых пострадавших от ИИ. Зачем ходить на доклады, если всю инфу можно спросить у chatgpt и тот соберет обзорный доклад по теме не хуже человека? Конференциям теперь недостаточно просто показывать доклады, надо искать что-то еще. Возвращаемся к блоку про ИИ. Доклады на конфе разные. По крайней мере по тезисам некоторых докладов кажется, будто чуваки сделали освоили переиспользование скиллов и пришли об этом рассказывать. Анатомия агентских систем 👀🔥 Как, вы еще не делаете свой harness? Все в твиттере делают свой harness и вы должны! Доклад про то как в базе работают ИИ-агенты и как их делать. Одновременно базовый доклад и инструкция по построению своего *harness* чтобы похвастаться перед друзьями. Ну или решить какую-то свою кастомную задачу, с которой доступные агенты справляются хуже, дольше или дороже. *Дед этот harness двадцать лет пилил, а вы выбрасываете*. Говорят, AI уже везде. Раз такое дело, может быть, что-то автоматизируем? 🔥👀 Очевидная идея: если агент может делать простые правки, то если дать ему простых задач, он их выполнит. Проблему в том, что никто не хочет описывать простые задачи для агента. Но на самом деле простые задачи уже есть у вас в Jira (простые баги) или в логах (ошибки, мониторинг, алертинг). В докладе рассказывают как сделать такую систему, которая разбирает простые задачи и выполняет их с PR в кодовую базу. Сам недавно пробовал делать что-то подобное в рабочем проекте. Подход рабочий, хотя, конечно, это сложнее чем просто "дай промпт + скиллы + mcp и жди что все будет ОК" WebMCP — на стыке фронтенда и AI-агентов 👀 Уже в канале обозревал, что крупные компании предложили инциативу WebMCP - когда на сайте есть разметка тулинга для агентов, чтобы агенты могли эффективно взаимодействовать с сайтом. Интересно послушать доклад про это, особенно если там будут реальные кейсы. AI-Driven UI: каким станет UI в эпоху агентов 👀 Тоже уже были обсуждения в канале. Зачем мы делаем крафтовые интерфейсы, если агент может сам собрать интерфейс для пользователя? AIUI как раз про это. В докладе будет и про общую движуху и про конкретную реализацию подхода.
742