Latest posts
flaming.codes hosts technical articles and tutorials by Tom Schönmann, with a focus on Full Stack development and Generative AI.
- Функциональные компоненты против React.FC в TypeScript: цивилизованный разговорПонимание эволюции типизации TypeScript в React-компонентах
- Создание боидов: анимация стай с учетом глубины в ReactСоздание плавных птичьих симуляций с параллакс-эффектом, которые кажутся живыми
- Кормим Зверя: Руководство разработчика по подготовке данных и мега-промптингу для AI-ассистентов по кодуПотому что даже самый умный AI нуждается в хорошо собранном ланчбоксе
- За пределами Next.js: состояние полноценных JavaScript-фреймворков в 2025 годуОбширный обзор современных полноценных JavaScript-фреймворков
- Инженерия 80/20: как я перестроил свой сайт за выходныеСила планирования до кодирования
- Создание анимации Boids с учётом глубины в ReactСтая с изюминкой (и параллакс-эффектом!)
- Civet, функционально-ориентированный язык программирования как надстройка над TypescriptАнализ улучшений синтаксиса Civet и его экосистемы интеграции для оценки реальных преимуществ и потенциальных проблем
- Как я мигрировал flaming.codes с Next.js на QwikМоя двухнедельная история миграции flaming.codes с Next.js на Qwik и Qwik City
- Windows 95 и ее значение в истории компьютеровКакие возможности, созданные Windows 95, актуальны и сегодня
- Запомни все с Rewind.ai: используем в работеКак Rewind.ai может помочь вам вспомнить то, что вы уже забыли
- Arc Browser для веб-разработки и управленияКак пользовательский интерфейс Arc Browser улучшает рабочий процесс для разработчиков
- Фоновые звуки в iOS и macOSКак использовать фоновые звуки для создания успокаивающей среды на iOS и macOS
- Файлы бочек в JavaScriptПреимущества и недостатки использования файлов Barrel в JavaScript
- Github Copilot LabsЭкспериментальное расширение для улучшения Github Copilot.
- Превью снимков экрана PWAКак показать скриншоты в строке установки PWA
- Скрипты, не зависящие от пакетов, с Node.jsКак упростить запуск скриптов в NPM, Yarn и PNPM
- Оператор «удовлетворяет» в TypeScriptПодтвердить, что тип выражения соответствует некоторому типу, не изменяя результирующий тип этого выражения.
- Руководство для начинающих по Node.js и NPMКак начать работу с Node.js и диспетчером пакетов Node
- Управление внешними мониторами в WindowsКак использовать бесплатное приложение для управления яркостью всех мониторов
- Множество различий между Unix и LinuxЧем две самые популярные операционные системы отличаются друг от друга.
- Простое введение в TypescriptКраткое введение в некоторые концепции Typescript
- Символ в JavascriptЗнакомство с символами: уникальный тип данных для свойств объектов
- DOM TreeWalker APIAPI TreeWalker: мощный инструмент для обхода дерева DOM.
- Улучшенная документация в TS и JSКак писать лучшие документы на Javascript с богатыми метаданными
- Типы для конфигурации Tailwind-CSSКак использовать типы Typescript для Tailwind-CSS
- Темный режим для изображений Github MarkdownКак использовать разные изображения в Markdown для светлого или темного режима
- Как определить ОС в браузереИспользуйте современные API для получения информации о хост-системе вашего веб-приложения.
- Запустите конкретный симулятор iOS или iPadOSКак использовать Терминал для выбора и запуска любого установленного симулятора
- Новые размеры области просмотраКак svh, lvh и dvh могут улучшить адаптивный дизайн
- ТБО в SvelteKitКак внедрить MSW для локальной разработки в SvelteKit
- Gitpod IDE в облакеЭфемерные рабочие места, все операции в облаке
- Генератор лицензий в SvelteKitСоздайте список зависимостей для вашего SvelteKit-проекта
- Ленивая загрузка модулей в SvelteКак импортировать компонент по запросу
- Пользовательская папка lib в SvelteKitКак создать псевдоним пути в SvelteKit
- Заставка AfterDark для macOSКак установить одну из лучших заставок экрана
- Настройка HMR для SvelteKit с GitpodКак использовать горячую перезагрузку модуля с SvelteKit и Gitpod
- Объединение шрифтов в ваше веб-приложениеКак Fontsource предоставляет шрифты для поставки с вашим приложением
- Сгенерируйте SVG из Google FontsКак использовать веб-приложение для преобразования любого текста в SVG
- Легкая альтернатива AxiosИспользование Redaxios вместо Axios в качестве небольшой альтернативы
- Обзоры кода: как повысить уровень своих навыковПочему обзоры кода — самый мощный инструмент для того, чтобы стать лучшим разработчиком
- Raycast для macOSУниверсальный инструмент управления огромным набором общих задач
- Поиск кода на GitHubКак использовать нечеткий поиск Github для ваших репозиториев
- Регулировка яркости на внешних дисплеях macOSКак использовать приложение MonitorControl для изменения яркости экрана
- "Обзор CSS" в DevTools ChromiumКак анализировать свой CSS с помощью DevTools
- Типы строк шаблона машинописного текста как дискриминантыУлучшенные типы литералов шаблона в Typescript 4.5
- Загрузить встроенные модули Node.jsНемного особенный синтаксис импорта для встроенных модулей
- Кодирование в VRПочему Quest 2 (и не только) от Meta - это веха в виртуальной реальности
- Удалить игнорируемые файлы в gitОдна команда для удаления проигнорированных файлов, которые возвращены.
- Отловить ошибки в Promise.allБезопасная альтернатива Javascript Promise.all
- Самый мощный SSH-терминалКак использовать VS Code в качестве ежедневного SSH-терминала
- Работа с Github CopilotКак ИИ может значительно улучшить скорость написания кода
- Палитра команд GithubКак искать репозитории и быстрые действия на Github
- Пример использования UX страницы сообщения в блогеКак я разработал страницу статьи для этого веб-приложения
- Что такое «навигатор» в прогрессивных веб-приложениях?Как "навигатор" позволяет постепенно улучшать ваши веб-приложения
- Простые анимированные аналоговые часы в Tailwind.cssКак создать очень простые аналоговые часы с анимацией только в Tailwind.css
- UX-пример страницы портфолиоМысли, которые повлияли на дизайн страницы моего личного портфолио
- Пример UX на обзорной страницеКак я разработал обзорную страницу для всех категорий постов
- Специальная сетевая функция для аналитики данных в браузереКак использовать sendBeacon для надежной передачи небольших фрагментов данных
- Написание плагина xbar для Plausible.ioКак я написал JS-плагин для приложения xbar, чтобы видеть текущее количество посетителей
- Портал React.jsМагия рендеринга элементов вне собственного DOM-дерева
- Совместное использование экрана iPhone на MacКак показать экран iOS на Mac
- Генератор лицензий Next.js NPMКак создать лицензии из вашего package.json
- Пакетные обновления ReactКак объединить обновления состояния в одном вызове рендеринга
- API сетевой информации для PWAКак определить реальные сетевые данные в вашем веб-приложении
- DaisyUI - компоненты попутного ветраЭквивалент Bootstrap для служебных классов Tailwind
- JSXСинтаксис Javascript XML
- PWA под названием DevToolsЛучший друг разработчика - это прогрессивное веб-приложение прямо в Chromium.
- Supabase - Backend как услугаПо-настоящему открытая альтернатива Firebase
- Инкрементальная FSКак виртуальная файловая система в Android позволяет запускать игру намного быстрее
- Пользователь Github в рамках проектаКак использовать разных пользователей Github для разных проектов
- SEO без Google Analytics?Сможете ли вы достичь высших позиций в Google без включенной аналитики?
- Ошибка Node.js с контекстомКак добавить причину ошибки к выбросам в V8 9.3 и новее
- Android Studio на Ubuntu с NVMКак правильно настроить NVM на Ubuntu для работы с Android Studio
- ES6 импорт с параметрамиКак передать параметры в модуль ES6 при его импорте
- Исправление для 100vh Webkit в TailwindКак исправить поведение 100vh в Tailwind
- Замените Material-UI на Tailwind.cssПрактический пример замены Material-UI на Tailwind.css
- Строки шаблонов с тегами в машинописном текстеКак использовать строки шаблона как функции
- Рабочие CloudflareБыстрые бессерверные функции, размещенные в CDN Cloudflare
- AndroidEnvИнтерфейс обучения с подкреплением для доступа к ОС Android
- Командное меню Chrome и Edge DevToolsКак ориентироваться в DevTools, как опытный пользователь
- Next.js-config с проверкой типовКак использовать проверку типов для вашего next.config.js
- Класс производительности AndroidКак каждая версия Android определяет уровень производительности
- Расширенный try / catch / finally в Javascript и TypescriptПодробно рассмотрим реализацию блока try-catch-finally-block.
- Типы кортежей машинописного текстаКак лучше всего вводить кортежи в Typescript 4.2 и новее
- Что такое AuthN и AuthZПростое руководство о разнице между авторизацией и аутентификацией
- Свойства частного класса TypescriptTypeScript поддерживает частные свойства для классов
- Типы строк шаблона машинописного текстаКак сузить типы строк с помощью механизма шаблонных строк
- API значков веб-приложенийКак использовать значок для установленного PWA
- Google ZX - сценарии оболочки с JavascriptКак писать shell-скрипты на Javascript и Node.js
- Оператор конвейера машинописного текстаНаписание связанных вызовов функций в Typescript
- Codespaces от GithubIDE как услуга, доступная в вашем браузере
- Пакеты данных FirestoreНовая реализация для кэшированных документов Firestore
- Web Locks APIКоординировать работу и использование ресурсов между различными процессами
- Эмулятор Android на Apple M1Как использовать эмулятор Android на устройствах Apple Silicon
- PWA в Microsoft App StoreКак опубликовать PWA в Microsoft App Store
- Media Session APIПредоставление медиа-метаданных и обратных вызовов в вашем PWA
- Микроданные для веб-семантикиКак добавить на свои страницы больше семантической информации
- Колонны МиллераОтличная концепция компоновки, изменившая пользовательский интерфейс файловых систем.
- ПлазменныйКонструктор веб-приложений WYSIWYG
- Программа тестирования компонентов CypressСборка модульных компонентных тестов для React
- Когда ваш PWA начинает говоритьИспользование WaveNet для добавления синтеза речи для статей
- Уценка Github с наддувомПосмотрите, насколько универсальным может быть Markdown на Github
- Что такое шаблон пользовательского интерфейса?Взглянем на новый аспект дизайна пользовательского интерфейса
- Цифровой морфогенезМеждисциплинарная область естественных закономерностей в цифровых вычислениях
- Надежная веб-активностьКак проверить свое веб-приложение и создать из него приложение для Android
- Жетон основного вниманияНовая модель дохода для Интернета
- Как я выучил 12 языков за одну ночьИспользование последних достижений машинного обучения и умного кэширования
- Web Share APIКак использовать собственный share-API в сети
- Открытие ≠ открытиеФормы, возможности и недостатки открытой науки
- AC600 в UbuntuКак установить драйверы Netgear AC600 на Ubuntu
- Домен Firebase FunctionsКак использовать собственный домен для функций Firebase
- Что такое XaaS?Это все как услуга и многое другое
- API вибрации PWAДавайте использовать навигатор, чтобы встряхнуть ваше устройство
- UX-исследование: скопировать в буфер обменаКак создать действие копирования в буфер обмена в вашем UX
- Исправить мобильный webkit 100vhОбработка 100vh в Mobile Webkit может потребовать большего внимания
- Переезд в новую квартируКак переехать в новую квартиру, когда работаешь до 12 часов в сутки
- IntelliJ для Apple M1Полный пакет IntelliJ доступен для M-процессоров Apple.
- Руководитель удаленной работыКак синхронизировать все и вся
- Предоставление RSSЭтот PWA предоставляет RSS-канал
- Метод ДиснеяКак быть более креативным за счет систематичности
- Аналитика, ориентированная на конфиденциальностьКак уважать своих пользователей и при этом следить за эффективностью
- Планировщик KickscaleРасширение Gmail для автоматического поиска бесплатных встреч
- Вдумчивое кодированиеПочему кодирование - это больше, чем просто соединение символов
- Пожарный кодекс со мнойПора поджечь код!