Spec-Driven Development на практике
Видео выходного дня.
Попалось на неделе видео от Кирилла Мокевнина, где они с Иваном Поддубным обсуждают применение OpenSpec как важной части общего процесса разработки в компании. Как внедряли, как тюнили под себя, где он не подходит и так далее.
Я с OpenSpec играюсь уже несколько месяцев — и мне нравится. Хотя есть и свои сложности полностью на него перейти.
Плюсы для меня:
• Перед тем, как начать писать код, нужно проработать спеку на человеческом языке. Словами объяснить, что должно получиться. И уже на этом этапе приходится хорошенько так разобраться в фиче, но с помощью LLM.
• Рядом с кодом лежит инструкция, как этот код должен работать.
• Тесты генерировать одно удовольствие.
• С хорошей спекой код пишется тоже сходу хороший.
• Очень круто подходит для новых проектов, где всё с нуля. Пет-проекты за вечер с OpenSpec поднимать ну очень приятно.
• Если спека достаточно подробная, то генерировать код можно и более дешёвой моделью без заметной потери качества — эффективность по токенам, все дела.
Минусы (не без них):
• «В PR из 600 строчек только около 100 про код» — такой справдливый комментарий получил на днях. Да, маркдауна в PR реально много.
• Чтобы генерация работала лучше, спеку нужно писать на английском — очевидно, код мы тоже пишем на английском ведь. Но я не думаю на английском, приходится сильно напрягаться, чтобы не упустить в спеке что-нибудь неочевидное.
• В legacy проектах есть свои приколы, которые OpenSpec норовит переписать, но без них всё разваливается. При этом документировать костыляо как-то стыдно.
• Для качественной спеки либо нужна дорогая модель (использую Sol), либо приходится сильно напрягать мозги (не, ерунда какая-то).
В общем, посмотрите-вдохновитесь, если ещё не применяете spec-driven разработку с LLM. Если применяете, то молодцы.
https://www.youtube.com/watch?v=oDxODi3X2Mg
Видео выходного дня.
Попалось на неделе видео от Кирилла Мокевнина, где они с Иваном Поддубным обсуждают применение OpenSpec как важной части общего процесса разработки в компании. Как внедряли, как тюнили под себя, где он не подходит и так далее.
Я с OpenSpec играюсь уже несколько месяцев — и мне нравится. Хотя есть и свои сложности полностью на него перейти.
Плюсы для меня:
• Перед тем, как начать писать код, нужно проработать спеку на человеческом языке. Словами объяснить, что должно получиться. И уже на этом этапе приходится хорошенько так разобраться в фиче, но с помощью LLM.
• Рядом с кодом лежит инструкция, как этот код должен работать.
• Тесты генерировать одно удовольствие.
• С хорошей спекой код пишется тоже сходу хороший.
• Очень круто подходит для новых проектов, где всё с нуля. Пет-проекты за вечер с OpenSpec поднимать ну очень приятно.
• Если спека достаточно подробная, то генерировать код можно и более дешёвой моделью без заметной потери качества — эффективность по токенам, все дела.
Минусы (не без них):
• «В PR из 600 строчек только около 100 про код» — такой справдливый комментарий получил на днях. Да, маркдауна в PR реально много.
• Чтобы генерация работала лучше, спеку нужно писать на английском — очевидно, код мы тоже пишем на английском ведь. Но я не думаю на английском, приходится сильно напрягаться, чтобы не упустить в спеке что-нибудь неочевидное.
• В legacy проектах есть свои приколы, которые OpenSpec норовит переписать, но без них всё разваливается. При этом документировать костыляо как-то стыдно.
• Для качественной спеки либо нужна дорогая модель (использую Sol), либо приходится сильно напрягать мозги (не, ерунда какая-то).
В общем, посмотрите-вдохновитесь, если ещё не применяете spec-driven разработку с LLM. Если применяете, то молодцы.
https://www.youtube.com/watch?v=oDxODi3X2Mg
YouTube
Spec-Driven Development на практике: опыт компании из 100 человек / Иван Поддубный #90
🔹 Присоединяйся к курсу «ИИ для разработчиков» https://ru.hexlet.io/programs/ai-for-developers?utm_source=youtube
SDD (Spec Driven Development) постепенно превратился из эксперимента с AI-агентами в полноценный подход к организации разработки. Но что произошло…
SDD (Spec Driven Development) постепенно превратился из эксперимента с AI-агентами в полноценный подход к организации разработки. Но что произошло…
1❤20⚡5👍5😁2🤨2😐2🔥1🤔1
Анимация для border-image
Красивое и несложное.
Прити показывает, как при помощи градиентов, свойства
https://css-tricks.com/animating-css-border-image/
Красивое и несложное.
Прити показывает, как при помощи градиентов, свойства
border-image и анимаций по ховеру сделать классный эффект привлечения внимания к картинке.https://css-tricks.com/animating-css-border-image/
CSS-Tricks
Animating CSS border-image | CSS-Tricks
Border images are an overlooked feature. One neat fact is that border image slices can run across entire borders on an element, and animating it creates beautiful effects.
1❤13👍4⚡1🔥1🥰1
Ctrl или ⌘ — выводим правильное
Меня, как давнего пользователя macOS, периодически подбешивает, когда на сайте в инструкции написано «
Абхишек Джакар делится примером компонента, который выводит в интерфейсе инструкцию, подходящую под ОС. В статье прям совсем базовый пример, его можно сильно улучшить и расширить, но как точка старта — почему бы и не да.
https://blog.master.dev/keyboard-shortcuts-that-display-the-correct-modifier-key-per-os/
Меня, как давнего пользователя macOS, периодически подбешивает, когда на сайте в инструкции написано «
Ctrl+G — нужная вам комбинация». А потом оказывается, что всё-таки Cmd+G. Уверен, что пользователей Windows тоже не очень устраивает, когда их просят нажать ⌘⌥L.Абхишек Джакар делится примером компонента, который выводит в интерфейсе инструкцию, подходящую под ОС. В статье прям совсем базовый пример, его можно сильно улучшить и расширить, но как точка старта — почему бы и не да.
https://blog.master.dev/keyboard-shortcuts-that-display-the-correct-modifier-key-per-os/
blog.master.dev
Keyboard Shortcuts That Display The Correct Modifier Key per OS
Websites often hardcode keyboard shortcuts for Mac (⌘) while neglecting Windows users, leading to confusion.
1👍19🥴4🔥3🤔2❤1
Ambient CSS
Освещение в интерфейсах на CSS! Ладно, звучит громко, но если вам нравится делать интерфейсы, где элементы отбрасывают правильные тени, то вам понравится и эта библиотека.
Работает в несколько слоёв: отбрасывание тени, подсветка скруглений, затенение противоположных скруглений, наложение материала. В итоге это всё выглядит симпатично.
Есть сайт с демками, открывается через VPN.
https://github.com/kikkupico/ambientcss
Освещение в интерфейсах на CSS! Ладно, звучит громко, но если вам нравится делать интерфейсы, где элементы отбрасывают правильные тени, то вам понравится и эта библиотека.
Работает в несколько слоёв: отбрасывание тени, подсветка скруглений, затенение противоположных скруглений, наложение материала. В итоге это всё выглядит симпатично.
Есть сайт с демками, открывается через VPN.
https://github.com/kikkupico/ambientcss
GitHub
GitHub - kikkupico/ambientcss: A physics-based lighting system for CSS. Define a light source, and every shadow, highlight and…
A physics-based lighting system for CSS. Define a light source, and every shadow, highlight and surface gradient follows from it — calibrated against Blender raytraces. - kikkupico/ambientcss
🔥24🎉2❤1
deep tech night
Чуть не забыл. Завтра же deep tech night будет. Там про ИИ и LLM, причём я некоторые слова в программе даже не понимаю, но ровно поэтому и хочу послушать — когда-то я так на Web Standards Days сходил в первый раз, не понял половину слов, а теперь сам их в подкасте говорю. Для работы полезно, мы тут Контестом всё-таки инфру делаем для топовых ML-соревнований.
От наших деврелов знаю, что специально собирали программу под хардовую аудиторию, с уже уверенными знаниями.
Для онлайна тоже нужна рега.
https://deeptechnight.ru/
Чуть не забыл. Завтра же deep tech night будет. Там про ИИ и LLM, причём я некоторые слова в программе даже не понимаю, но ровно поэтому и хочу послушать — когда-то я так на Web Standards Days сходил в первый раз, не понял половину слов, а теперь сам их в подкасте говорю. Для работы полезно, мы тут Контестом всё-таки инфру делаем для топовых ML-соревнований.
От наших деврелов знаю, что специально собирали программу под хардовую аудиторию, с уже уверенными знаниями.
Для онлайна тоже нужна рега.
https://deeptechnight.ru/
deep tech night
Конференция Яндекса о вызовах, с которыми IT-индустрия сталкивается в эпоху AI
⚡10👍2🤯2❤1🌚1💔1😐1
Вам больше не нужен initial-scale
Стопудово где-то у вас в вёрстке есть
Так вот,
https://quirksmode.org/quirksblog/2026/0902-initial.html
Стопудово где-то у вас в вёрстке есть
<meta name="viewport" content="width=device-width,initial-scale=1">. Он почти у всех есть. Потому что emmet его вставляет, всякие бутстрап-шаблоны тоже.Так вот,
initial-scale можно удалить. Он был нужен давно, чтобы на iPhone при повороте экрана работало так же, как на всех остальных смартфонах. Но Apple это несоответствие уже давно пофиксили. Экономим байтики.https://quirksmode.org/quirksblog/2026/0902-initial.html
quirksmode.org
initial-scale no longer needed
Fifteen years ago I helped popularise the meta viewport width=device-width,initial-scale=1. Today I found out the second bit is no longer necessary. A retrospective.
👍46❤🔥14🌚7🔥3❤1
MicroLighter
Дейв Руперт собрал маленькую библиотечку, которая делает подсветку кода. «Ещё одну?» — спросите вы. Да, но она реально интересная.
Во-первых, работает на TextMate, то есть грамматики под неё легко добавляются, если очень нужно.
Во-вторых, всего 2 KB в gzip — это прям мало. Другие библиотеки тянут от 7 KB до 300 KB из тех, что я знаю.
В-третьих, она не «гадит» в HTML. Потому что использует под капотом Custom Highlight API, то есть размечает текст без вставки разных span и div в вёрстку, а делает некоторую подкапотную магию для применения
«Так оно, наверное, кроме как в Chrome за флагом нигде работать не будет!» — снова возразите вы. И я тоже так думал до сегодняшнего утра. Но оказалось, что с марта 2026 года эта апишка вполне себе работает во всех браузерах. Поэтому можно либо делать аккуратную загрузку, где для современных браузеров берёте MicroLighter, а для тех, что постарше, какой-нибудь альтернативный хайлайтер, либо если подсветка кода вам в принципе в приложении скорее как дополнительная плюшка, то только MicroLighter и грузить.
https://davatron5000.github.io/microlighter/
Дейв Руперт собрал маленькую библиотечку, которая делает подсветку кода. «Ещё одну?» — спросите вы. Да, но она реально интересная.
Во-первых, работает на TextMate, то есть грамматики под неё легко добавляются, если очень нужно.
Во-вторых, всего 2 KB в gzip — это прям мало. Другие библиотеки тянут от 7 KB до 300 KB из тех, что я знаю.
В-третьих, она не «гадит» в HTML. Потому что использует под капотом Custom Highlight API, то есть размечает текст без вставки разных span и div в вёрстку, а делает некоторую подкапотную магию для применения
::highlight(token) потом в CSS.«Так оно, наверное, кроме как в Chrome за флагом нигде работать не будет!» — снова возразите вы. И я тоже так думал до сегодняшнего утра. Но оказалось, что с марта 2026 года эта апишка вполне себе работает во всех браузерах. Поэтому можно либо делать аккуратную загрузку, где для современных браузеров берёте MicroLighter, а для тех, что постарше, какой-нибудь альтернативный хайлайтер, либо если подсветка кода вам в принципе в приложении скорее как дополнительная плюшка, то только MicroLighter и грузить.
https://davatron5000.github.io/microlighter/
Dave
microlighter
I made a smol client-side syntax highlighter that uses the CSS Custom Highlights API called MicroLighter. I’ll talk about why I made it in a bit but first I wanted to… ahem… highlight… some of the features.
1❤27🔥12👍5❤🔥3🎉3👏1
<mermaid-element>
Ещё одна полезная библиотека. Брамус собрал кастомный элемент, которому внутрь можно передать синтаксис Mermaid-диграммы — и она нарисуется.
Если не знаете, что такое Mermaid, то это как раз тулза, которая превращает текст вида
в Sequence-диаграмму. И там ещё более 30 разных видов диаграмм, которые мы периодически используем в работе.
https://www.bram.us/2026/09/10/introducing-mermaid-element-a-custom-element-to-display-mermaid-diagrams/
Ещё одна полезная библиотека. Брамус собрал кастомный элемент, которому внутрь можно передать синтаксис Mermaid-диграммы — и она нарисуется.
Если не знаете, что такое Mermaid, то это как раз тулза, которая превращает текст вида
sequenceDiagram
Alice->>John: Hello John, how are you?
John-->>Alice: Great!
Alice-)John: See you later!
в Sequence-диаграмму. И там ещё более 30 разных видов диаграмм, которые мы периодически используем в работе.
https://www.bram.us/2026/09/10/introducing-mermaid-element-a-custom-element-to-display-mermaid-diagrams/
Bram.us
Introducing <mermaid-element>, a custom element to display Mermaid diagrams
Today I learned that CodePen supports Mermaid diagrams — Chris Coyier has a a whole collection with examples here — and I also learned that there is no custom element to easily include these in your markup … so I built one.
🎉18👍8🔥4❤1
Единица измерения lh
Если коротко, то
Ахмад Шадид в свойственном ему стиле обилием демок и картинок объясняет, как можно полезно применять эту единицу измерения, которая, кстати, Baseline Widely available.
https://ishadeed.com/article/lh-unit/
Если коротко, то
1lh = 1 line height. И это не размер шрифта, который em, а высота строки, в которой ваш текст рендерится.Ахмад Шадид в свойственном ему стиле обилием демок и картинок объясняет, как можно полезно применять эту единицу измерения, которая, кстати, Baseline Widely available.
https://ishadeed.com/article/lh-unit/
Ishadeed
The CSS lh unit
A look at the CSS line height unit and how it works.
❤21👌4🔥1😐1
Какие анимации более производительные: CSS или JS?
Лучше пару раз увидеть, чем много откуда слышать. Джош Комо собрал несколько демок, которые отвечают на этот вопрос.
Спойлер: в JavaScript тоже есть API, которые работают в отдельных потоках.
https://www.joshwcomeau.com/animation/css-vs-javascript/
Лучше пару раз увидеть, чем много откуда слышать. Джош Комо собрал несколько демок, которые отвечают на этот вопрос.
Спойлер: в JavaScript тоже есть API, которые работают в отдельных потоках.
https://www.joshwcomeau.com/animation/css-vs-javascript/
Joshwcomeau
CSS vs. JavaScript • Josh W. Comeau
There are a bunch of JavaScript animation libraries out there, and you might have wondered whether there’s a performance cost compared to traditional CSS transitions and keyframe animations. In this blog post, we’ll compare the same animation across several…
👍12🎉8❤2
Цена ошибок гидрации
В React есть много ухищрений, чтобы серверный кусок страницы обновился на клиенте почти незаметно. В большинстве случаев этого хватает, но я почти уверен, что если вы работали с React, то в консоли видели
Иван Акулов разбирает случаи, когда такие ошибки влияют ещё и на метрику Largest Contentful Paint из Core Web Vitals. И для некоторых заказчиков это прям важная метрика.
И в конце статьи делится лайфхаком, как этот самый LCP немного читерски улучшить.
https://3perf.com/blog/hydration-mismatch/
В React есть много ухищрений, чтобы серверный кусок страницы обновился на клиенте почти незаметно. В большинстве случаев этого хватает, но я почти уверен, что если вы работали с React, то в консоли видели
Hydration failed because the initial UI does not match what was rendered on the server.Иван Акулов разбирает случаи, когда такие ошибки влияют ещё и на метрику Largest Contentful Paint из Core Web Vitals. И для некоторых заказчиков это прям важная метрика.
И в конце статьи делится лайфхаком, как этот самый LCP немного читерски улучшить.
https://3perf.com/blog/hydration-mismatch/
PerfPerfPerf
Hidden Cost of Hydration Mismatches
A single hydration mismatch on a page can take Largest Contentful Paint from green to red
❤13🎉4👌2