🔥 Вышла документалка про Angular! 🔥
На YouTube вышел документальный фильм про историю Angular! 🎬 Если вам интересно, как фреймворк прошел путь от внутреннего эксперимента Google до одного из самых обсуждаемых инструментов в мире JavaScript, этот фильм для вас!
🔹 Как Gmail и Google Maps отказались от AngularJS?
🔹 Почему команда решила полностью переделать фреймворк?
🔹 Какие вызовы стояли перед Angular 2, Ivy и Signals?
🔹 Как Angular снова становится важным для Google?
📺 Смотрим: YouTube
#Angular #JavaScript #WebDev #Frontend #Google
На YouTube вышел документальный фильм про историю Angular! 🎬 Если вам интересно, как фреймворк прошел путь от внутреннего эксперимента Google до одного из самых обсуждаемых инструментов в мире JavaScript, этот фильм для вас!
🔹 Как Gmail и Google Maps отказались от AngularJS?
🔹 Почему команда решила полностью переделать фреймворк?
🔹 Какие вызовы стояли перед Angular 2, Ivy и Signals?
🔹 Как Angular снова становится важным для Google?
📺 Смотрим: YouTube
#Angular #JavaScript #WebDev #Frontend #Google
YouTube
Angular: The Documentary | An origin story
Born as an internal Google experiment - and initially brushed off by Gmail and Google Maps - AngularJS soon became a JavaScript sensation. But when internal pressures pushed the team towards a radical overhaul of the framework, the community felt left behind.…
Все больше влюбляюсь в Deno
Одна из фич, которая мне нравится в Deno — это управление задачами через deno.json. Особенно удобно указывать dependencies для тасков.
Вот, например, конфиг:
Теперь при запуске deno task serve сначала выполняются build и generate, а потом уже поднимается сервер. Удобно? Ну ведь да! 🔥
Deno все больше радует меня простотой и мощью. 🚀
#Deno #TypeScript #WebDev
Одна из фич, которая мне нравится в Deno — это управление задачами через deno.json. Особенно удобно указывать dependencies для тасков.
Вот, например, конфиг:
{
"tasks": {
"build": "deno run -RW build.ts",
"generate": "deno run -RW generate.ts",
"serve": {
"description": "Start the server",
"command": "deno run -RN server.ts",
"dependencies": ["build", "generate"]
}
}
}
Теперь при запуске deno task serve сначала выполняются build и generate, а потом уже поднимается сервер. Удобно? Ну ведь да! 🔥
Deno все больше радует меня простотой и мощью. 🚀
#Deno #TypeScript #WebDev
🔥 это вообще законно? 🤯
Вы только посмотрите на эти цифры!
• Date.now() — 28.8 ns
• performance.now() — 534.0 ns
👉 Date.now() оказался 18.51x быстрее! 😳
А вы тоже думали, что performance.now() должен быть шустрее? Оказывается, далеко не всегда.
Иногда старые-добрые методы работают неожиданно быстрее.
#javascript #benchmark #webdev #performance
Вы только посмотрите на эти цифры!
• Date.now() — 28.8 ns
• performance.now() — 534.0 ns
👉 Date.now() оказался 18.51x быстрее! 😳
А вы тоже думали, что performance.now() должен быть шустрее? Оказывается, далеко не всегда.
Иногда старые-добрые методы работают неожиданно быстрее.
#javascript #benchmark #webdev #performance
🚀 Deno 2.2.0 уже доступен! 🔥
В этом релизе есть несколько интересных улучшений:
✅ Поддержка JavaScript-плагинов в deno lint (#27203) — теперь можно расширять функциональность линтера с помощью собственных плагинов, что делает процесс проверки кода более гибким. 🛠️
✅ Добавлена поддержка wildcard для deno task (#27007) — это позволяет запускать группы задач с общим префиксом
💥 Другие обновления:
- Реализация модуля node:sqlite — теперь Deno поддерживает работу с SQLite через стандартный модуль. 🗄️
- Поддержка WebTransport (нестабильная) — введена экспериментальная поддержка WebTransport
Полный список изменений доступен по ссылке: Deno 2.2.0 Release Notes
#Deno #JavaScript #TypeScript #WebDev #Release
В этом релизе есть несколько интересных улучшений:
✅ Поддержка JavaScript-плагинов в deno lint (#27203) — теперь можно расширять функциональность линтера с помощью собственных плагинов, что делает процесс проверки кода более гибким. 🛠️
✅ Добавлена поддержка wildcard для deno task (#27007) — это позволяет запускать группы задач с общим префиксом
💥 Другие обновления:
- Реализация модуля node:sqlite — теперь Deno поддерживает работу с SQLite через стандартный модуль. 🗄️
- Поддержка WebTransport (нестабильная) — введена экспериментальная поддержка WebTransport
Полный список изменений доступен по ссылке: Deno 2.2.0 Release Notes
#Deno #JavaScript #TypeScript #WebDev #Release
GitHub
feat(lint): add JavaScript plugin support by bartlomieju · Pull Request #27203 · denoland/deno
This commit adds an unstable lint plugin API.
Plugins are specified in the deno.json file under
lint.plugins option like so:
{
"lint": {
"plugins": [
...
Plugins are specified in the deno.json file under
lint.plugins option like so:
{
"lint": {
"plugins": [
...
🚀 Еще один фреймворк Honox
Часто стал использовать Hono для простых сервисов. На фоне этого начал присматриваться к Honox — мета-фреймворку на базе Hono. В целом выглядит интересно
🎉 И сегодня в honox влили мой первый контрибьют. Теперь можно возвращать объект ответа при использовании компонентов в роутинге. Подробности тут 👉 #263
Теперь компонент может возвращать Response, например, для редиректов 🔄
#hono #honox #webdev #opensource #javascript #framework
Часто стал использовать Hono для простых сервисов. На фоне этого начал присматриваться к Honox — мета-фреймворку на базе Hono. В целом выглядит интересно
🎉 И сегодня в honox влили мой первый контрибьют. Теперь можно возвращать объект ответа при использовании компонентов в роутинге. Подробности тут 👉 #263
import { Context } from 'hono';
export default async function About(c: Context) {
if (someCondition) {
return c.redirect('/');
}
return <h1>About</h1>;
}
Теперь компонент может возвращать Response, например, для редиректов 🔄
#hono #honox #webdev #opensource #javascript #framework
GitHub
Using the response to answer to request if it is returned by JSX routing · Issue #263 · honojs/honox
What is the feature you are proposing? Sometimes I need to redirect users to another page. If I have the JSX route I should to change it and use c.render and createRouter to do it. I think the simp...
🚀 Nx и self-hosted кэширование – надежда есть?
Наверное, многие из вас заметили, как я бомбил на тему отказа от кастомных раннеров в Nx (вот оригинальный issue с объявлением: #28434). Это фактически делало невозможным использование self-hosted решений для кэширования. Собственно, сразу после отправки этого поста я иду архивировать свое решение Nx Cloud CE.
Я писал об этом в Твиттере, как и многие другие пользователи. И вот что интересно – в том же issue пару дней назад Виктор Савкин заявил, что скоро появится RFC по self-hosted решению (коммент).
Похоже, команда услышала сообщество. Посмотрим, что из этого выйдет! 🤞
#Nx #DevOps #Caching #SelfHosted #WebDev
Наверное, многие из вас заметили, как я бомбил на тему отказа от кастомных раннеров в Nx (вот оригинальный issue с объявлением: #28434). Это фактически делало невозможным использование self-hosted решений для кэширования. Собственно, сразу после отправки этого поста я иду архивировать свое решение Nx Cloud CE.
Я писал об этом в Твиттере, как и многие другие пользователи. И вот что интересно – в том же issue пару дней назад Виктор Савкин заявил, что скоро появится RFC по self-hosted решению (коммент).
Похоже, команда услышала сообщество. Посмотрим, что из этого выйдет! 🤞
#Nx #DevOps #Caching #SelfHosted #WebDev
GitHub
Migrating Nx core to Rust & deprecating custom runners · Issue #28434 · nrwl/nx
UPDATE FROM JAN 15: Thank you to everyone for engaging with us. First, we are introducing a new API: #29637 It handles most of the functionality that custom tasks runners were used for, but in a mu...
🚀 Cloudflare запустил REST API для работы с браузером!
Cloudflare представил REST API для Browser Rendering API, который позволяет рендерить веб-страницы в облаке без необходимости поднимать свой браузер. Это мощный инструмент для автоматического скриншотинга, сбора метаданных, рендеринга JS-контента и других задач.
🔹 Под капотом — безголовый Chromium, работающий в изолированной среде на мощностях Cloudflare.
🔹 Поддержка скриншотов, HTML-снапшотов, извлечения контента и даже эмуляции мобильных устройств.
🔹 Интеграция с Worker-ами для максимально быстрой обработки.
🔥 Отличный вариант для тестирования, SEO-анализа, мониторинга и парсинга сайтов.
📜 Документация: developers.cloudflare.com/browser-rendering/rest-api
#cloudflare #api #webdev #automation #scraping
Cloudflare представил REST API для Browser Rendering API, который позволяет рендерить веб-страницы в облаке без необходимости поднимать свой браузер. Это мощный инструмент для автоматического скриншотинга, сбора метаданных, рендеринга JS-контента и других задач.
🔹 Под капотом — безголовый Chromium, работающий в изолированной среде на мощностях Cloudflare.
🔹 Поддержка скриншотов, HTML-снапшотов, извлечения контента и даже эмуляции мобильных устройств.
🔹 Интеграция с Worker-ами для максимально быстрой обработки.
🔥 Отличный вариант для тестирования, SEO-анализа, мониторинга и парсинга сайтов.
📜 Документация: developers.cloudflare.com/browser-rendering/rest-api
#cloudflare #api #webdev #automation #scraping
Cloudflare Docs
REST API · Browser Rendering docs
The REST API is a RESTful interface that provides endpoints for common browser actions such as capturing screenshots, extracting HTML content, generating PDFs, and more.
The following are the available options:
The following are the available options:
Новый блог 🚀
Надоело смотреть на странные, страшные и нефункциональные блоги. Хотелось больше управления, кастома и удобства.
И вот он – katsuba.dev! 🎉
🔗 Глянуть вживую: katsuba.dev
💻 Исходники на GitHub: github.com/IKatsuba/katsuba.dev
Проект полностью опенсорсный, так что если есть идеи или предложения – велкам в issues и PR’ы! 😎
#webdev #opensource #blog #katsubaDev
Надоело смотреть на странные, страшные и нефункциональные блоги. Хотелось больше управления, кастома и удобства.
И вот он – katsuba.dev! 🎉
🔗 Глянуть вживую: katsuba.dev
💻 Исходники на GitHub: github.com/IKatsuba/katsuba.dev
Проект полностью опенсорсный, так что если есть идеи или предложения – велкам в issues и PR’ы! 😎
#webdev #opensource #blog #katsubaDev
GitHub
GitHub - IKatsuba/katsuba.dev
Contribute to IKatsuba/katsuba.dev development by creating an account on GitHub.
💥 Oxlint в бете! Ещё один линтер?! 💥
Да-да, снова! Oxlint — новый линтер, который обещает заменить ESLint. Больше 500 правил, 🚀 в 2 раза быстрее, поддержка .astro, .svelte, .vue, и даже автоматические фиксы.
Как запустить?
Пробуем или уже устали от новых линтеров? 😆
Анонс
#Oxlint #ESLint #JavaScript #TypeScript #WebDev
Да-да, снова! Oxlint — новый линтер, который обещает заменить ESLint. Больше 500 правил, 🚀 в 2 раза быстрее, поддержка .astro, .svelte, .vue, и даже автоматические фиксы.
Как запустить?
npx oxlint@latest
Пробуем или уже устали от новых линтеров? 😆
Анонс
#Oxlint #ESLint #JavaScript #TypeScript #WebDev
Oxc
The JavaScript Oxidation Compiler
A collection of high-performance JavaScript tools written in Rust
🧵 Оптимизация рендеринга через scheduler.yield()
В Chrome завезли новый API — scheduler.yield(). Эта штука позволяет добровольно отдать управление потоку, если нужно освободить main-thread для более важных задач 🧠
Раньше для таких целей приходилось мутить что-то вроде setTimeout(() => {}, 0) или await Promise.resolve(), но они не всегда срабатывали как надо. Теперь с scheduler.yield() всё становится гораздо прозрачнее и надёжнее.
📌 Пример юзкейса: у тебя тяжёлая синхронная операция — парсинг JSON, массивов, трансформация DOM и т.п. Чтобы не фризить интерфейс, можно вставлять await scheduler.yield() в нужных местах, и браузер сам решит, стоит ли прервать выполнение и пропустить более важные задачи (рендер, инпуты и т.д.).
👨🔬 Сейчас работает только в Chrome-based браузерах. Но в статье можно найти полифил.
🔗 Подробнее: developer.chrome.com/blog/use-scheduler-yield
#JavaScript #WebPerformance #Chrome #Frontend #WebDev
В Chrome завезли новый API — scheduler.yield(). Эта штука позволяет добровольно отдать управление потоку, если нужно освободить main-thread для более важных задач 🧠
Раньше для таких целей приходилось мутить что-то вроде setTimeout(() => {}, 0) или await Promise.resolve(), но они не всегда срабатывали как надо. Теперь с scheduler.yield() всё становится гораздо прозрачнее и надёжнее.
📌 Пример юзкейса: у тебя тяжёлая синхронная операция — парсинг JSON, массивов, трансформация DOM и т.п. Чтобы не фризить интерфейс, можно вставлять await scheduler.yield() в нужных местах, и браузер сам решит, стоит ли прервать выполнение и пропустить более важные задачи (рендер, инпуты и т.д.).
👨🔬 Сейчас работает только в Chrome-based браузерах. Но в статье можно найти полифил.
🔗 Подробнее: developer.chrome.com/blog/use-scheduler-yield
#JavaScript #WebPerformance #Chrome #Frontend #WebDev
Chrome for Developers
Use scheduler.yield() to break up long tasks | Blog | Chrome for Developers
scheduler.yield() is a new API for ergonomically splitting up long tasks and getting prioritized continuation of execution.
🚨 А вы знали, что Signals хотят в JavaScript стандарт?
В TC39 обсуждают новый пропозал — JavaScript Signals. Это попытка стандартизировать реактивность прямо в языке, как когда-то сделали с промисами.
📦 Что такое Signals?
Это реактивные примитивы, которые автоматически отслеживают зависимости и обновляются только тогда, когда их реально читают. Без лишней подписки и ручного контроля.
🧠 Главное:
• .State() — изменяемое значение
• .Computed() — значение, вычисляемое из других Signals
• .Watcher — можно повесить эффект при изменении зависимостей
• .subtle.untrack() — можно временно выключить трекинг (да, небезопасно)
💥 Особенности:
• Lazy — вычисления запускаются только при чтении
• Memoized — если значения не поменялись, пересчёта не будет
• Glitch-free — никакой дерганины или устаревших значений
• DevTools-френдли — потенциально глубокая интеграция в браузеры
🌍 В разработке участвуют авторы Angular, Vue, Svelte, Solid, React (да, даже там), Qwik и других. Цель — создать единый базис для реактивности, который можно шарить между фреймворками без привязки к рендереру.
❗️Пока только Stage 1, но уже есть полифил и активная работа над интеграцией в реальные фреймворки.
🔗 Пропозал тут: https://github.com/tc39/proposal-signals
#JavaScript #TC39 #Signals #webdev #reactivity #frontend #jsframeworks
В TC39 обсуждают новый пропозал — JavaScript Signals. Это попытка стандартизировать реактивность прямо в языке, как когда-то сделали с промисами.
📦 Что такое Signals?
Это реактивные примитивы, которые автоматически отслеживают зависимости и обновляются только тогда, когда их реально читают. Без лишней подписки и ручного контроля.
const counter = new Signal.State(0);
const parity = new Signal.Computed(() => counter.get() % 2 ? 'odd' : 'even');
effect(() => {
console.log(parity.get());
});
counter.set(2); // лог покажет "even"
🧠 Главное:
• .State() — изменяемое значение
• .Computed() — значение, вычисляемое из других Signals
• .Watcher — можно повесить эффект при изменении зависимостей
• .subtle.untrack() — можно временно выключить трекинг (да, небезопасно)
💥 Особенности:
• Lazy — вычисления запускаются только при чтении
• Memoized — если значения не поменялись, пересчёта не будет
• Glitch-free — никакой дерганины или устаревших значений
• DevTools-френдли — потенциально глубокая интеграция в браузеры
🌍 В разработке участвуют авторы Angular, Vue, Svelte, Solid, React (да, даже там), Qwik и других. Цель — создать единый базис для реактивности, который можно шарить между фреймворками без привязки к рендереру.
❗️Пока только Stage 1, но уже есть полифил и активная работа над интеграцией в реальные фреймворки.
🔗 Пропозал тут: https://github.com/tc39/proposal-signals
#JavaScript #TC39 #Signals #webdev #reactivity #frontend #jsframeworks
GitHub
GitHub - proposal-signals/signal-polyfill: Implementation tracking the current state of https://github.com/tc39/proposal-signals
Implementation tracking the current state of https://github.com/tc39/proposal-signals - proposal-signals/signal-polyfill
🚧 Я переделал Angie!
Angie — это бот, который шарит в Angular:
📚 умеет лезть в доку
🌐 может что-то подсмотреть в Web
🐞 следит за issues и PR в репозитории Angular
Теперь он стал намного проще по коду — я перевез его с нативного OpenAI Assistant API на ai-sdk с обёрткой от mastra. Mastra, кстати, кайф — позволяет завернуть всю агентскую логику в удобную абстракцию и ещё немного плюшек сверху подвезла 😎
✅ Уже задеплоил новую версию.
❌ Личных чатов пока нет — не хочу делать бота платным, но не знаю, сколько он будет жрать ресурсов.
💬 Зато теперь есть публичный чат, где любой может пообщаться с Angie без ограничений:
👉 тык сюда
🧪 Планы:
— сделать web-версию с личкой
— потом покажу, как вообще делал этого бота
#Angular #AI #OpenAI #DevTools #JavaScript #TypeScript #Chatbot #WebDev #opensource
Angie — это бот, который шарит в Angular:
📚 умеет лезть в доку
🌐 может что-то подсмотреть в Web
🐞 следит за issues и PR в репозитории Angular
Теперь он стал намного проще по коду — я перевез его с нативного OpenAI Assistant API на ai-sdk с обёрткой от mastra. Mastra, кстати, кайф — позволяет завернуть всю агентскую логику в удобную абстракцию и ещё немного плюшек сверху подвезла 😎
✅ Уже задеплоил новую версию.
❌ Личных чатов пока нет — не хочу делать бота платным, но не знаю, сколько он будет жрать ресурсов.
💬 Зато теперь есть публичный чат, где любой может пообщаться с Angie без ограничений:
👉 тык сюда
🧪 Планы:
— сделать web-версию с личкой
— потом покажу, как вообще делал этого бота
#Angular #AI #OpenAI #DevTools #JavaScript #TypeScript #Chatbot #WebDev #opensource
🚀 В Angular обновили доку по реактивным формам!
В репозитории Angular залетел PR #59979, в котором обновили документацию по реактивным формам под новый стиль с standalone компонентами и директивами 💡
⚠️ Это только документация — никакой логики внутри Angular не менялось.
#Angular #JavaScript #TypeScript #WebDev #ReactiveForms #Frontend
В репозитории Angular залетел PR #59979, в котором обновили документацию по реактивным формам под новый стиль с standalone компонентами и директивами 💡
⚠️ Это только документация — никакой логики внутри Angular не менялось.
#Angular #JavaScript #TypeScript #WebDev #ReactiveForms #Frontend
GitHub
docs: migrate reactive forms to standalone by geromegrignon · Pull Request #59979 · angular/angular
PR Checklist
Please check if your PR fulfills the following requirements:
The commit message follows our guidelines: https://github.com/angular/angular/blob/main/CONTRIBUTING.md#commit
Tests for...
Please check if your PR fulfills the following requirements:
The commit message follows our guidelines: https://github.com/angular/angular/blob/main/CONTRIBUTING.md#commit
Tests for...
🔥 В Nx всё-таки завозят self-hosted remote cache server — и это хорошая новость!
Напомню, что недавно команда Nx анонсировала отказ от кастомных ранеров, что фактически ставило крест на self-hosted решениях. Это вызвало волну фидбэка от комьюнити — мол, не все хотят или могут юзать Nx Cloud.
📣 В итоге — прислушались и запилили RFC для собственного remote cache сервера
⚠️ Важно: фича заработает начиная с v21 Nx.
🛠 Хоть это еще и не работает — я уже сделал драфт такого сервера по предложенной спеке:
👉 https://github.com/IKatsuba/nx-cache-server
Теперь можно будет спокойно поднимать свой remote cache и не зависеть от облака 😎
#nx #typescript #monorepo #javascript #devtools #webdev #devops #opensource
Напомню, что недавно команда Nx анонсировала отказ от кастомных ранеров, что фактически ставило крест на self-hosted решениях. Это вызвало волну фидбэка от комьюнити — мол, не все хотят или могут юзать Nx Cloud.
📣 В итоге — прислушались и запилили RFC для собственного remote cache сервера
⚠️ Важно: фича заработает начиная с v21 Nx.
🛠 Хоть это еще и не работает — я уже сделал драфт такого сервера по предложенной спеке:
👉 https://github.com/IKatsuba/nx-cache-server
Теперь можно будет спокойно поднимать свой remote cache и не зависеть от облака 😎
#nx #typescript #monorepo #javascript #devtools #webdev #devops #opensource
GitHub
RFC: Nx Custom Self-Hosted Remote Cache RFC · nrwl/nx · Discussion #30548
Due to our ongoing rewrite of Nx core from TypeScript to Rust, we are removing the ability to load custom code during task execution. We want this part to be heavily optimized with strong guarantee...
🔥 Свежий RFC от команды Next.js!
На GitHub появился новый RFC: “Deployment Adapters API” 🚀
Что предлагают:
— Deployment Adapters API: новая система адаптеров для упрощения деплоя Next.js на различных платформах, включая серверлесс-решения. Теперь провайдерам будет легче интегрировать Next.js в свои сервисы.
Сейчас деплой Next.js на кастомные серверлесс-платформы был непростым из-за специфических требований. Новый API призван упростить этот процесс и обеспечить единообразие между разными провайдерами. 🌐
Обсуждение только началось, так что есть возможность внести свои предложения и повлиять на развитие Next.js. 💬
#NextJS #WebDev #Deployment #Serverless #JavaScript #RFC
На GitHub появился новый RFC: “Deployment Adapters API” 🚀
Что предлагают:
— Deployment Adapters API: новая система адаптеров для упрощения деплоя Next.js на различных платформах, включая серверлесс-решения. Теперь провайдерам будет легче интегрировать Next.js в свои сервисы.
Сейчас деплой Next.js на кастомные серверлесс-платформы был непростым из-за специфических требований. Новый API призван упростить этот процесс и обеспечить единообразие между разными провайдерами. 🌐
Обсуждение только началось, так что есть возможность внести свои предложения и повлиять на развитие Next.js. 💬
#NextJS #WebDev #Deployment #Serverless #JavaScript #RFC
GitHub
RFC: Deployment Adapters API · vercel/next.js · Discussion #77740
To ensure Next.js can be deployed anywhere, including severless platforms with custom requirements, we are planning to add deployment adapters. Vercel will use the same adapter API as every other p...
💣 Кажется, что у Angular команды созревает видение selectorless будущего!
Командой предложен экспериментальный PR с новым синтаксисом шаблонов без селекторов, где можно писать компоненты и директивы, не создавая кастомные HTML-теги и не указывая selector. Это реальный шаг к отказу от селекторов
🔍 Как это выглядит:
👆 Это полноценный Angular-шаблон, где:
• MatButton применяется на a-тег — создаётся компонент без селектора
• \@HasRipple и \@Tooltip — директивы без селекторов
• Все биндинги типа [disabled] чётко направлены в нужные директивы/компоненты
⚠️ Важно:
Это экспериментальный синтаксис, только для прототипирования. PR ещё обсуждается и до релиза — далеко.
💬 В обсуждении поднимаются интересные вопросы:
— Можно ли использовать одно и то же имя input’а в нескольких директивах?
— Что реально будет в DOM? (например, <MatButton:a> превратится в <a>, но с логикой компонента)
— Поддержка generic-типов в директивах?
🧪 PR: Selectorless template parsing #60724
#Angular #TypeScript #webdev #frontend #javascript #ngnews #AngularNextGen
Командой предложен экспериментальный PR с новым синтаксисом шаблонов без селекторов, где можно писать компоненты и директивы, не создавая кастомные HTML-теги и не указывая selector. Это реальный шаг к отказу от селекторов
🔍 Как это выглядит:
<MatButton:a
href="/admin"
@HasRipple
@Tooltip(message="Cannot navigate" [disabled]="hasPermissions")
>
Admin
</MatButton:a>
👆 Это полноценный Angular-шаблон, где:
• MatButton применяется на a-тег — создаётся компонент без селектора
• \@HasRipple и \@Tooltip — директивы без селекторов
• Все биндинги типа [disabled] чётко направлены в нужные директивы/компоненты
⚠️ Важно:
Это экспериментальный синтаксис, только для прототипирования. PR ещё обсуждается и до релиза — далеко.
💬 В обсуждении поднимаются интересные вопросы:
— Можно ли использовать одно и то же имя input’а в нескольких директивах?
— Что реально будет в DOM? (например, <MatButton:a> превратится в <a>, но с логикой компонента)
— Поддержка generic-типов в директивах?
🧪 PR: Selectorless template parsing #60724
#Angular #TypeScript #webdev #frontend #javascript #ngnews #AngularNextGen
GitHub
Selectorless template parsing by crisbeto · Pull Request #60724 · angular/angular
⚠️ Disclaimer ⚠️ this PR implements syntax that is still being designed and discussed. It's an initial prototype that will allow us experiment with the runtime and run user studies.
These c...
These c...
🚀 Анонс Zod v4!
Zod — это библиотека для валидации данных и вывода типов в TypeScript. И вот, спустя год разработки, вышла Zod v4 — быстрее, легче и мощнее! 💥
🔍 Что нового?
• Строки парсятся в 2.6 раза быстрее
• Массивы — почти в 3 раза
• Объекты — до 7 раз быстрее
• Новая архитектура
Бета уже доступна, и разработчики активно работают над поддержкой совместимости с популярными библиотеками
📦 Установка
📚 Подробнее
Официальная документация и гайд по миграции:
👉 https://v4.zod.dev/v4
🔥 Если ты используешь Zod в своих проектах, самое время попробовать новую версию и оценить прирост производительности!
#typescript #zod #validation #webdev #javascript
Zod — это библиотека для валидации данных и вывода типов в TypeScript. И вот, спустя год разработки, вышла Zod v4 — быстрее, легче и мощнее! 💥
🔍 Что нового?
• Строки парсятся в 2.6 раза быстрее
• Массивы — почти в 3 раза
• Объекты — до 7 раз быстрее
• Новая архитектура
Бета уже доступна, и разработчики активно работают над поддержкой совместимости с популярными библиотеками
📦 Установка
pnpm upgrade zod@next
📚 Подробнее
Официальная документация и гайд по миграции:
👉 https://v4.zod.dev/v4
🔥 Если ты используешь Zod в своих проектах, самое время попробовать новую версию и оценить прирост производительности!
#typescript #zod #validation #webdev #javascript
Zod
Introducing Zod 4 beta | Zod Docs
🔥 OpenAI выкатила GPT-4.1
И я уже обновил Angie до новой версии 🚀
Что завезли:
— до 1М токенов в контексте — теперь можно пихать вообще всё подряд
— +27% к скиллам в кодинге по сравнению с GPT-4.5
— стала лучше понимать инструкции
— и всё это ещё и дешевле и быстрее 😍
— знания теперь до июня 2024
💡 GPT-4.1 уже доступна через API
#gpt41 #openai #ai #devtools #webdev
И я уже обновил Angie до новой версии 🚀
Что завезли:
— до 1М токенов в контексте — теперь можно пихать вообще всё подряд
— +27% к скиллам в кодинге по сравнению с GPT-4.5
— стала лучше понимать инструкции
— и всё это ещё и дешевле и быстрее 😍
— знания теперь до июня 2024
💡 GPT-4.1 уже доступна через API
#gpt41 #openai #ai #devtools #webdev
🧠 OpenAI выкатили Codex CLI!
Вчера в репозитории openai/codex появился новый инструмент — это CLI-ассистент, который умеет помогать тебе писать код прямо из терминала.
Пример команды:
И он реально выдает тебе готовый код! 🤯
📌 Codex CLI — это как Copilot, но в shell. Под капотом — OpenAI API. Работает с любым языком, который ты укажешь в prompt’е.
❗️Но есть нюанс: сейчас CLI работает только, если ты сам пропишешь API-токен как OPENAI_API_KEY в env-переменных. Никаких oauth или автоматической авторизации пока нет 🫠 Несекъюрненько
🧪 Инструмент свежий, только запустили. Посмотреть можно тут:
👉 https://github.com/openai/codex
#openai #cli #codex #copilot #webdev #typescript #javascript #ai #devtools
Вчера в репозитории openai/codex появился новый инструмент — это CLI-ассистент, который умеет помогать тебе писать код прямо из терминала.
Пример команды:
codex "create a typescript function to validate an email"
И он реально выдает тебе готовый код! 🤯
📌 Codex CLI — это как Copilot, но в shell. Под капотом — OpenAI API. Работает с любым языком, который ты укажешь в prompt’е.
❗️Но есть нюанс: сейчас CLI работает только, если ты сам пропишешь API-токен как OPENAI_API_KEY в env-переменных. Никаких oauth или автоматической авторизации пока нет 🫠 Несекъюрненько
🧪 Инструмент свежий, только запустили. Посмотреть можно тут:
👉 https://github.com/openai/codex
#openai #cli #codex #copilot #webdev #typescript #javascript #ai #devtools
GitHub
GitHub - openai/codex: Lightweight coding agent that runs in your terminal
Lightweight coding agent that runs in your terminal - openai/codex
🚀 Использовал tutorialkit.dev как движок курса в ng.guide. Базово вроде ок, но как только начал кастомить... В какой-то момент понял, что больше времени проводил, копаясь в исходниках, чем делая курс. А еще кастомизация = правь исходники
💡 В итоге стартанул свой движок под ng.guide. Будет проще затащить Angie внутрь 🔥 Ну и полный контроль над всем
Пришлось зарыться в странные странности, но оно того стоило — теперь всё своё, всё под рукой 💪
#angular #buildinpublic #edtech #typescript #webdev
💡 В итоге стартанул свой движок под ng.guide. Будет проще затащить Angie внутрь 🔥 Ну и полный контроль над всем
Пришлось зарыться в странные странности, но оно того стоило — теперь всё своё, всё под рукой 💪
#angular #buildinpublic #edtech #typescript #webdev