home.social

#вебразработка — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #вебразработка, aggregated by home.social.

  1. Делаем сайт из картинки в нейронке

    Несколько лет, я экспериментирую с генераторами картинок. Меня интересует один вопрос: можно ли из нейронок получить приемлемые концепт-дизайны сайтов,приложений, интерфейсов? Не с точки зрения кода, а хотя бы лэйаутов, цветовых схем и баланса текста/графики.

    habr.com/ru/articles/1040782/

    #claude #вебдизайн #вайбкодинг #вебразработка #webдизайн #webразработка

  2. Делаем сайт из картинки в нейронке

    Несколько лет, я экспериментирую с генераторами картинок. Меня интересует один вопрос: можно ли из нейронок получить приемлемые концепт-дизайны сайтов,приложений, интерфейсов? Не с точки зрения кода, а хотя бы лэйаутов, цветовых схем и баланса текста/графики.

    habr.com/ru/articles/1040782/

    #claude #вебдизайн #вайбкодинг #вебразработка #webдизайн #webразработка

  3. Делаем сайт из картинки в нейронке

    Несколько лет, я экспериментирую с генераторами картинок. Меня интересует один вопрос: можно ли из нейронок получить приемлемые концепт-дизайны сайтов,приложений, интерфейсов? Не с точки зрения кода, а хотя бы лэйаутов, цветовых схем и баланса текста/графики.

    habr.com/ru/articles/1040782/

    #claude #вебдизайн #вайбкодинг #вебразработка #webдизайн #webразработка

  4. Делаем сайт из картинки в нейронке

    Несколько лет, я экспериментирую с генераторами картинок. Меня интересует один вопрос: можно ли из нейронок получить приемлемые концепт-дизайны сайтов,приложений, интерфейсов? Не с точки зрения кода, а хотя бы лэйаутов, цветовых схем и баланса текста/графики.

    habr.com/ru/articles/1040782/

    #claude #вебдизайн #вайбкодинг #вебразработка #webдизайн #webразработка

  5. Книга: «System Design. Проектирование мобильных систем. Подготовка к сложному интервью»

    Привет, Хаброжители! Что вас ждет на интервью по проектированию мобильных систем (MSD)? Что делать, если вас попросят разработать новый YouTube или телеграм? Практическое руководство MSD превращает сложные собеседования в предсказуемый процесс. Вы получаете 5-шаговую схему эффективного прохождения интервью и разбор 7 реальных кейсов (лента новостей, мессенджер, YouTube, Google Drive, трейдинговая платформа и др.), позволяющих проектировать архитектуру клиента, API, офлайн-режим, кэширование и масштабируемость. Здесь вы найдете готовые шаблоны, trade-off’ы и шпаргалки — всё, чтобы уверенно проходить интервью в топ-компаниях и расти от мидла до стафф+.

    habr.com/ru/companies/piter/ar

    #system_design #сюй #мобильная_разработка #вебразработка #котлин #kotlin

  6. Создание чат-бота в портале Битрикс24 с помощью AI-агентов

    5-я статья из цикла туториалов о вариантах кастомизации своего бизнес-портала в Битрикс24. Сегодня возьмём наш шаблонный репозиторий для AI-разработки и сделаем на его основе чат-бота: боту можно написать в мессенджере и научить его делать разные полезные вещи: давать информацию по сделкам, задачам и другим подробностям бизнеса. Ещё бот может научиться обращаться к другим программам по API и возвращать оттуда какие-то данные, например, курсы акций и облигаций. Что было в предыдущих туториалах: 1 — Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки 2 — Добавляем в бизнес-портал Битрикс24 роботов для автоматизации 3 — Что даёт воспроизводимая среда разработки и как развернуть контейнеры на VPS. 4 — Анализ и модернизация коннектора баз данных с помощью AI-агентов

    habr.com/ru/companies/bitrix/a

    #битрикс24 #чатбот #aiагенты #apiзапросы #restapi #php #symfony #docker #вебразработка #автоматизация_бизнеса

  7. Создание чат-бота в портале Битрикс24 с помощью AI-агентов

    5-я статья из цикла туториалов о вариантах кастомизации своего бизнес-портала в Битрикс24. Сегодня возьмём наш шаблонный репозиторий для AI-разработки и сделаем на его основе чат-бота: боту можно написать в мессенджере и научить его делать разные полезные вещи: давать информацию по сделкам, задачам и другим подробностям бизнеса. Ещё бот может научиться обращаться к другим программам по API и возвращать оттуда какие-то данные, например, курсы акций и облигаций. Что было в предыдущих туториалах: 1 — Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки 2 — Добавляем в бизнес-портал Битрикс24 роботов для автоматизации 3 — Что даёт воспроизводимая среда разработки и как развернуть контейнеры на VPS. 4 — Анализ и модернизация коннектора баз данных с помощью AI-агентов

    habr.com/ru/companies/bitrix/a

    #битрикс24 #чатбот #aiагенты #apiзапросы #restapi #php #symfony #docker #вебразработка #автоматизация_бизнеса

  8. Создание чат-бота в портале Битрикс24 с помощью AI-агентов

    5-я статья из цикла туториалов о вариантах кастомизации своего бизнес-портала в Битрикс24. Сегодня возьмём наш шаблонный репозиторий для AI-разработки и сделаем на его основе чат-бота: боту можно написать в мессенджере и научить его делать разные полезные вещи: давать информацию по сделкам, задачам и другим подробностям бизнеса. Ещё бот может научиться обращаться к другим программам по API и возвращать оттуда какие-то данные, например, курсы акций и облигаций. Что было в предыдущих туториалах: 1 — Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки 2 — Добавляем в бизнес-портал Битрикс24 роботов для автоматизации 3 — Что даёт воспроизводимая среда разработки и как развернуть контейнеры на VPS. 4 — Анализ и модернизация коннектора баз данных с помощью AI-агентов

    habr.com/ru/companies/bitrix/a

    #битрикс24 #чатбот #aiагенты #apiзапросы #restapi #php #symfony #docker #вебразработка #автоматизация_бизнеса

  9. Создание чат-бота в портале Битрикс24 с помощью AI-агентов

    5-я статья из цикла туториалов о вариантах кастомизации своего бизнес-портала в Битрикс24. Сегодня возьмём наш шаблонный репозиторий для AI-разработки и сделаем на его основе чат-бота: боту можно написать в мессенджере и научить его делать разные полезные вещи: давать информацию по сделкам, задачам и другим подробностям бизнеса. Ещё бот может научиться обращаться к другим программам по API и возвращать оттуда какие-то данные, например, курсы акций и облигаций. Что было в предыдущих туториалах: 1 — Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки 2 — Добавляем в бизнес-портал Битрикс24 роботов для автоматизации 3 — Что даёт воспроизводимая среда разработки и как развернуть контейнеры на VPS. 4 — Анализ и модернизация коннектора баз данных с помощью AI-агентов

    habr.com/ru/companies/bitrix/a

    #битрикс24 #чатбот #aiагенты #apiзапросы #restapi #php #symfony #docker #вебразработка #автоматизация_бизнеса

  10. Мы увязли в Feature-Sliced Design

    Всем привет, меня зовут Сергей Сибара, я фронтенд-разработчик в ИТ-холдинге Т1. Эта статья —продолжение предыдущей: Мой справочник по Feature-Sliced Design . На этот раз я рассмотрю, как по моему субъективному мнению улучшить файловую структуру проекта, нарушая рекомендации FSD.

    habr.com/ru/companies/T1Holdin

    #react #reactjs #vue #vuejs #javascript #typescript #featuresliced_design #fsd #frontend #вебразработка

  11. Мы увязли в Feature-Sliced Design

    Всем привет, меня зовут Сергей Сибара, я фронтенд-разработчик в ИТ-холдинге Т1. Эта статья —продолжение предыдущей: Мой справочник по Feature-Sliced Design . На этот раз я рассмотрю, как по моему субъективному мнению улучшить файловую структуру проекта, нарушая рекомендации FSD.

    habr.com/ru/companies/T1Holdin

    #react #reactjs #vue #vuejs #javascript #typescript #featuresliced_design #fsd #frontend #вебразработка

  12. Мы увязли в Feature-Sliced Design

    Всем привет, меня зовут Сергей Сибара, я фронтенд-разработчик в ИТ-холдинге Т1. Эта статья —продолжение предыдущей: Мой справочник по Feature-Sliced Design . На этот раз я рассмотрю, как по моему субъективному мнению улучшить файловую структуру проекта, нарушая рекомендации FSD.

    habr.com/ru/companies/T1Holdin

    #react #reactjs #vue #vuejs #javascript #typescript #featuresliced_design #fsd #frontend #вебразработка

  13. Мы увязли в Feature-Sliced Design

    Всем привет, меня зовут Сергей Сибара, я фронтенд-разработчик в ИТ-холдинге Т1. Эта статья —продолжение предыдущей: Мой справочник по Feature-Sliced Design . На этот раз я рассмотрю, как по моему субъективному мнению улучшить файловую структуру проекта, нарушая рекомендации FSD.

    habr.com/ru/companies/T1Holdin

    #react #reactjs #vue #vuejs #javascript #typescript #featuresliced_design #fsd #frontend #вебразработка

  14. Кэширование в Next.js App Router, как увидеть, почему данные не обновились

    С кэшированием в Next.js обычно случается одна и та же история. API уже отдаёт новые данные, страница открывается заново, а на экране всё ещё старая версия. После этого в код быстро добавляют cache: "no-store" , данные начинают запрашиваться на каждый заход, и через пару минут появляется уже другой вопрос - зачем тогда вообще нужен встроенный механизм кэширования. Проблема в том, что кэширование обычно звучит как одно явление, а на практике в App Router похожие ощущения могут давать разные уровни поведения. Навигация назад и вперёд может переиспользовать клиентский кэш маршрута, сам маршрут может рендериться по-разному, а серверный fetch в Next.js имеет собственные стратегии кэширования и перевалидации. В актуальной документации это уже разделено на новый режим с Cache Components и на прежнюю модель без них. В этой статье речь именно о привычной модели App Router без Cache Components, где поведение обычно задаётся через fetch , cache , next.revalidate и route segment config. ( Next.js ) Полезнее всего разбирать такую тему не с теории, а с наблюдения. Не с вопроса как устроены все слои кэша в Next.js, а с вопроса почему на одном и том же маршруте иногда обновляется рендер страницы, а иногда обновляются данные, и это не всегда одно и то же. Для примеров ниже используется проект Goods Finder и внешний API DummyJSON. Идея - сначала добавить на страницу штамп серверного рендера, потом отдельно показать момент получения данных, а уже после этого сравнить force-cache , no-store и revalidate .

    habr.com/ru/articles/1030134/

    #nextjs #app_router #caching #revalidate #nostore #forcecache #server_components #react #javascript #вебразработка

  15. Кэширование в Next.js App Router, как увидеть, почему данные не обновились

    С кэшированием в Next.js обычно случается одна и та же история. API уже отдаёт новые данные, страница открывается заново, а на экране всё ещё старая версия. После этого в код быстро добавляют cache: "no-store" , данные начинают запрашиваться на каждый заход, и через пару минут появляется уже другой вопрос - зачем тогда вообще нужен встроенный механизм кэширования. Проблема в том, что кэширование обычно звучит как одно явление, а на практике в App Router похожие ощущения могут давать разные уровни поведения. Навигация назад и вперёд может переиспользовать клиентский кэш маршрута, сам маршрут может рендериться по-разному, а серверный fetch в Next.js имеет собственные стратегии кэширования и перевалидации. В актуальной документации это уже разделено на новый режим с Cache Components и на прежнюю модель без них. В этой статье речь именно о привычной модели App Router без Cache Components, где поведение обычно задаётся через fetch , cache , next.revalidate и route segment config. ( Next.js ) Полезнее всего разбирать такую тему не с теории, а с наблюдения. Не с вопроса как устроены все слои кэша в Next.js, а с вопроса почему на одном и том же маршруте иногда обновляется рендер страницы, а иногда обновляются данные, и это не всегда одно и то же. Для примеров ниже используется проект Goods Finder и внешний API DummyJSON. Идея - сначала добавить на страницу штамп серверного рендера, потом отдельно показать момент получения данных, а уже после этого сравнить force-cache , no-store и revalidate .

    habr.com/ru/articles/1030134/

    #nextjs #app_router #caching #revalidate #nostore #forcecache #server_components #react #javascript #вебразработка

  16. Кэширование в Next.js App Router, как увидеть, почему данные не обновились

    С кэшированием в Next.js обычно случается одна и та же история. API уже отдаёт новые данные, страница открывается заново, а на экране всё ещё старая версия. После этого в код быстро добавляют cache: "no-store" , данные начинают запрашиваться на каждый заход, и через пару минут появляется уже другой вопрос - зачем тогда вообще нужен встроенный механизм кэширования. Проблема в том, что кэширование обычно звучит как одно явление, а на практике в App Router похожие ощущения могут давать разные уровни поведения. Навигация назад и вперёд может переиспользовать клиентский кэш маршрута, сам маршрут может рендериться по-разному, а серверный fetch в Next.js имеет собственные стратегии кэширования и перевалидации. В актуальной документации это уже разделено на новый режим с Cache Components и на прежнюю модель без них. В этой статье речь именно о привычной модели App Router без Cache Components, где поведение обычно задаётся через fetch , cache , next.revalidate и route segment config. ( Next.js ) Полезнее всего разбирать такую тему не с теории, а с наблюдения. Не с вопроса как устроены все слои кэша в Next.js, а с вопроса почему на одном и том же маршруте иногда обновляется рендер страницы, а иногда обновляются данные, и это не всегда одно и то же. Для примеров ниже используется проект Goods Finder и внешний API DummyJSON. Идея - сначала добавить на страницу штамп серверного рендера, потом отдельно показать момент получения данных, а уже после этого сравнить force-cache , no-store и revalidate .

    habr.com/ru/articles/1030134/

    #nextjs #app_router #caching #revalidate #nostore #forcecache #server_components #react #javascript #вебразработка

  17. Кэширование в Next.js App Router, как увидеть, почему данные не обновились

    С кэшированием в Next.js обычно случается одна и та же история. API уже отдаёт новые данные, страница открывается заново, а на экране всё ещё старая версия. После этого в код быстро добавляют cache: "no-store" , данные начинают запрашиваться на каждый заход, и через пару минут появляется уже другой вопрос - зачем тогда вообще нужен встроенный механизм кэширования. Проблема в том, что кэширование обычно звучит как одно явление, а на практике в App Router похожие ощущения могут давать разные уровни поведения. Навигация назад и вперёд может переиспользовать клиентский кэш маршрута, сам маршрут может рендериться по-разному, а серверный fetch в Next.js имеет собственные стратегии кэширования и перевалидации. В актуальной документации это уже разделено на новый режим с Cache Components и на прежнюю модель без них. В этой статье речь именно о привычной модели App Router без Cache Components, где поведение обычно задаётся через fetch , cache , next.revalidate и route segment config. ( Next.js ) Полезнее всего разбирать такую тему не с теории, а с наблюдения. Не с вопроса как устроены все слои кэша в Next.js, а с вопроса почему на одном и том же маршруте иногда обновляется рендер страницы, а иногда обновляются данные, и это не всегда одно и то же. Для примеров ниже используется проект Goods Finder и внешний API DummyJSON. Идея - сначала добавить на страницу штамп серверного рендера, потом отдельно показать момент получения данных, а уже после этого сравнить force-cache , no-store и revalidate .

    habr.com/ru/articles/1030134/

    #nextjs #app_router #caching #revalidate #nostore #forcecache #server_components #react #javascript #вебразработка

  18. Факторы ранжирования Google в 2026 году

    В этой статье разберём, почему разговор о факторах ранжирования Google всё чаще заходит в тупик, если представлять их как список из title, ссылок, скорости, контента и поведенческих сигналов. Современный поиск работает сложнее. Страница проходит не один фильтр, а несколько слоёв оценки: доступность, индексирование, понимание запроса, понимание документа, качество, спам-фильтры, сниппеты, медиа, ссылки, локальный контекст и пользовательское взаимодействие.

    habr.com/ru/articles/1029838/

    #seo #seoоптимизация #seoпродвижение #seoпродвижение_сайтов #индексирование #индексирование_сайта #техническое_seo #вебразработка #поисковые_алгоритмы #контентная_стратегия

  19. Факторы ранжирования Google в 2026 году

    В этой статье разберём, почему разговор о факторах ранжирования Google всё чаще заходит в тупик, если представлять их как список из title, ссылок, скорости, контента и поведенческих сигналов. Современный поиск работает сложнее. Страница проходит не один фильтр, а несколько слоёв оценки: доступность, индексирование, понимание запроса, понимание документа, качество, спам-фильтры, сниппеты, медиа, ссылки, локальный контекст и пользовательское взаимодействие.

    habr.com/ru/articles/1029838/

    #seo #seoоптимизация #seoпродвижение #seoпродвижение_сайтов #индексирование #индексирование_сайта #техническое_seo #вебразработка #поисковые_алгоритмы #контентная_стратегия

  20. Факторы ранжирования Google в 2026 году

    В этой статье разберём, почему разговор о факторах ранжирования Google всё чаще заходит в тупик, если представлять их как список из title, ссылок, скорости, контента и поведенческих сигналов. Современный поиск работает сложнее. Страница проходит не один фильтр, а несколько слоёв оценки: доступность, индексирование, понимание запроса, понимание документа, качество, спам-фильтры, сниппеты, медиа, ссылки, локальный контекст и пользовательское взаимодействие.

    habr.com/ru/articles/1029838/

    #seo #seoоптимизация #seoпродвижение #seoпродвижение_сайтов #индексирование #индексирование_сайта #техническое_seo #вебразработка #поисковые_алгоритмы #контентная_стратегия

  21. Факторы ранжирования Google в 2026 году

    В этой статье разберём, почему разговор о факторах ранжирования Google всё чаще заходит в тупик, если представлять их как список из title, ссылок, скорости, контента и поведенческих сигналов. Современный поиск работает сложнее. Страница проходит не один фильтр, а несколько слоёв оценки: доступность, индексирование, понимание запроса, понимание документа, качество, спам-фильтры, сниппеты, медиа, ссылки, локальный контекст и пользовательское взаимодействие.

    habr.com/ru/articles/1029838/

    #seo #seoоптимизация #seoпродвижение #seoпродвижение_сайтов #индексирование #индексирование_сайта #техническое_seo #вебразработка #поисковые_алгоритмы #контентная_стратегия

  22. Python SDK для Битрикс24: основные возможности и история создания с использованием Битрикс24 MCP-сервера

    Создание собственных приложений и интеграций для Битрикс24 остаётся востребованной задачей. Однако разработчики сталкиваются с рядом сложностей, которые замедляют разработку и повышают порог входа. Ключевая из них — работа с обширным REST API. Для разработчиков на PHP и JavaScript существуют официальные SDK. Тем, кто использует другие языки, до недавнего времени везло меньше. Им приходилось постоянно обращаться к документации, чтобы уточнить параметры, формат запросов и допустимые значения. Мы в своей практике используем Python, и эта проблема напрямую касалась нас. В какой-то момент мы решили закрыть её системно — и разработали собственный SDK для работы с Битрикс24, который стал официальной библиотекой В этой статье мы расскажем, какие задачи решает эта библиотека и как мы создавали её с использованием ИИ и MCP-сервера Битрикс24 для разработчиков.

    habr.com/ru/companies/bitrix/a

    #битрикс24 #битрикс #вебразработка #интеграции #python

  23. Не всё деплоем правится: как мы вынесли интерфейс из кода с помощью Server-Driven UI

    Изменения интерфейса мобильного приложения часто упираются не в сложность реализации, а в скорость релизного цикла: даже простые правки проходят через полный конвейер — разработку, рецензирование, сборку и публикацию. При высокой частоте изменений это увеличивает time-to-market, перегружает команду и делает быстрые итерации по интерфейсу практически невозможными. Меня зовут Михаил Рыбочкин, я бэкенд-разработчик в компании GRI. Участвую в разработке и поддержке платформы для крупного ювелирного ритейлера. Я расскажу, как реализован Server-Driven UI для интернет-торговли с более чем 1000 розничных магазинов; как устроено управление конфигурацией интерфейса через Django Admin и как это позволяет менять интерфейс без релизов приложения; какие у этого подхода есть ограничения и какой инцидент произошёл в эксплуатации. Особенность нашего подхода в том, что SDUI одновременно обслуживает и нативные мобильные приложения, и веб на Vue. Один конфиг, один API, две целевых платформы

    habr.com/ru/companies/gri/arti

    #SDUI #BDUI #вебразработка #backend #django #serverdriven_ui

  24. Не всё деплоем правится: как мы вынесли интерфейс из кода с помощью Server-Driven UI

    Изменения интерфейса мобильного приложения часто упираются не в сложность реализации, а в скорость релизного цикла: даже простые правки проходят через полный конвейер — разработку, рецензирование, сборку и публикацию. При высокой частоте изменений это увеличивает time-to-market, перегружает команду и делает быстрые итерации по интерфейсу практически невозможными. Меня зовут Михаил Рыбочкин, я бэкенд-разработчик в компании GRI. Участвую в разработке и поддержке платформы для крупного ювелирного ритейлера. Я расскажу, как реализован Server-Driven UI для интернет-торговли с более чем 1000 розничных магазинов; как устроено управление конфигурацией интерфейса через Django Admin и как это позволяет менять интерфейс без релизов приложения; какие у этого подхода есть ограничения и какой инцидент произошёл в эксплуатации. Особенность нашего подхода в том, что SDUI одновременно обслуживает и нативные мобильные приложения, и веб на Vue. Один конфиг, один API, две целевых платформы

    habr.com/ru/companies/gri/arti

    #SDUI #BDUI #вебразработка #backend #django #serverdriven_ui

  25. Не всё деплоем правится: как мы вынесли интерфейс из кода с помощью Server-Driven UI

    Изменения интерфейса мобильного приложения часто упираются не в сложность реализации, а в скорость релизного цикла: даже простые правки проходят через полный конвейер — разработку, рецензирование, сборку и публикацию. При высокой частоте изменений это увеличивает time-to-market, перегружает команду и делает быстрые итерации по интерфейсу практически невозможными. Меня зовут Михаил Рыбочкин, я бэкенд-разработчик в компании GRI. Участвую в разработке и поддержке платформы для крупного ювелирного ритейлера. Я расскажу, как реализован Server-Driven UI для интернет-торговли с более чем 1000 розничных магазинов; как устроено управление конфигурацией интерфейса через Django Admin и как это позволяет менять интерфейс без релизов приложения; какие у этого подхода есть ограничения и какой инцидент произошёл в эксплуатации. Особенность нашего подхода в том, что SDUI одновременно обслуживает и нативные мобильные приложения, и веб на Vue. Один конфиг, один API, две целевых платформы

    habr.com/ru/companies/gri/arti

    #SDUI #BDUI #вебразработка #backend #django #serverdriven_ui

  26. Не всё деплоем правится: как мы вынесли интерфейс из кода с помощью Server-Driven UI

    Изменения интерфейса мобильного приложения часто упираются не в сложность реализации, а в скорость релизного цикла: даже простые правки проходят через полный конвейер — разработку, рецензирование, сборку и публикацию. При высокой частоте изменений это увеличивает time-to-market, перегружает команду и делает быстрые итерации по интерфейсу практически невозможными. Меня зовут Михаил Рыбочкин, я бэкенд-разработчик в компании GRI. Участвую в разработке и поддержке платформы для крупного ювелирного ритейлера. Я расскажу, как реализован Server-Driven UI для интернет-торговли с более чем 1000 розничных магазинов; как устроено управление конфигурацией интерфейса через Django Admin и как это позволяет менять интерфейс без релизов приложения; какие у этого подхода есть ограничения и какой инцидент произошёл в эксплуатации. Особенность нашего подхода в том, что SDUI одновременно обслуживает и нативные мобильные приложения, и веб на Vue. Один конфиг, один API, две целевых платформы

    habr.com/ru/companies/gri/arti

    #SDUI #BDUI #вебразработка #backend #django #serverdriven_ui

  27. CSS-in-JS vs CSS Modules: что выбрать в 2026?

    В 2026 году фронтенд-разработка продолжает развиваться: появляются новые фреймворки, улучшаются инструменты сборки, растут требования к производительности и пользовательскому опыту. Разработчики сталкиваются с выбором: использовать CSS Modules или CSS-in-JS решения. Эти подходы дают изоляцию стилей и интеграцию с компонентами, но различаются по реализации и ограничениям. Выбор системы стилизации влияет на разработку и ключевые метрики: размер бандла, скорость первого рендера, поведение при SSR, удобство отладки и поддержку кода. Неподходящий подход может привести к увеличению объёма JavaScript, проблемам с SSR и усложнению масштабирования. Данная статья не ставит цель назвать одного победителя. Вместо этого мы сравним основные подходы - CSS Modules и CSS-in-JS.

    habr.com/ru/articles/1025688/

    #CSSinJS #CSS_Modules #styledcomponents #frontend #React #SSR #производительность #CSS #вебразработка

  28. CSS-in-JS vs CSS Modules: что выбрать в 2026?

    В 2026 году фронтенд-разработка продолжает развиваться: появляются новые фреймворки, улучшаются инструменты сборки, растут требования к производительности и пользовательскому опыту. Разработчики сталкиваются с выбором: использовать CSS Modules или CSS-in-JS решения. Эти подходы дают изоляцию стилей и интеграцию с компонентами, но различаются по реализации и ограничениям. Выбор системы стилизации влияет на разработку и ключевые метрики: размер бандла, скорость первого рендера, поведение при SSR, удобство отладки и поддержку кода. Неподходящий подход может привести к увеличению объёма JavaScript, проблемам с SSR и усложнению масштабирования. Данная статья не ставит цель назвать одного победителя. Вместо этого мы сравним основные подходы - CSS Modules и CSS-in-JS.

    habr.com/ru/articles/1025688/

    #CSSinJS #CSS_Modules #styledcomponents #frontend #React #SSR #производительность #CSS #вебразработка

  29. CSS-in-JS vs CSS Modules: что выбрать в 2026?

    В 2026 году фронтенд-разработка продолжает развиваться: появляются новые фреймворки, улучшаются инструменты сборки, растут требования к производительности и пользовательскому опыту. Разработчики сталкиваются с выбором: использовать CSS Modules или CSS-in-JS решения. Эти подходы дают изоляцию стилей и интеграцию с компонентами, но различаются по реализации и ограничениям. Выбор системы стилизации влияет на разработку и ключевые метрики: размер бандла, скорость первого рендера, поведение при SSR, удобство отладки и поддержку кода. Неподходящий подход может привести к увеличению объёма JavaScript, проблемам с SSR и усложнению масштабирования. Данная статья не ставит цель назвать одного победителя. Вместо этого мы сравним основные подходы - CSS Modules и CSS-in-JS.

    habr.com/ru/articles/1025688/

    #CSSinJS #CSS_Modules #styledcomponents #frontend #React #SSR #производительность #CSS #вебразработка

  30. CSS-in-JS vs CSS Modules: что выбрать в 2026?

    В 2026 году фронтенд-разработка продолжает развиваться: появляются новые фреймворки, улучшаются инструменты сборки, растут требования к производительности и пользовательскому опыту. Разработчики сталкиваются с выбором: использовать CSS Modules или CSS-in-JS решения. Эти подходы дают изоляцию стилей и интеграцию с компонентами, но различаются по реализации и ограничениям. Выбор системы стилизации влияет на разработку и ключевые метрики: размер бандла, скорость первого рендера, поведение при SSR, удобство отладки и поддержку кода. Неподходящий подход может привести к увеличению объёма JavaScript, проблемам с SSR и усложнению масштабирования. Данная статья не ставит цель назвать одного победителя. Вместо этого мы сравним основные подходы - CSS Modules и CSS-in-JS.

    habr.com/ru/articles/1025688/

    #CSSinJS #CSS_Modules #styledcomponents #frontend #React #SSR #производительность #CSS #вебразработка

  31. Как создать базу данных на своём сервере с помощью Coolify

    Coolify это бесплатный инструмент, который позволяет легко запускать приложения на ваших серверах и управлять ими через визуальный интерфейс. В прошлых статьях мы уже разобрались, как подготовить сервер , затем установить на нём Coolify и запустить простые приложения из GitHub. А сегодня посмотрим, как с помощью Coolify создать базу данных на своем сервере и какие преимущества это даёт.

    habr.com/ru/companies/timeweb/

    #coolify #базы_данных #хостинг #selfhosting #paas #docker #вебразработка #деплой #postgresql #timeweb_статьи

  32. Как создать базу данных на своём сервере с помощью Coolify

    Coolify это бесплатный инструмент, который позволяет легко запускать приложения на ваших серверах и управлять ими через визуальный интерфейс. В прошлых статьях мы уже разобрались, как подготовить сервер , затем установить на нём Coolify и запустить простые приложения из GitHub. А сегодня посмотрим, как с помощью Coolify создать базу данных на своем сервере и какие преимущества это даёт.

    habr.com/ru/companies/timeweb/

    #coolify #базы_данных #хостинг #selfhosting #paas #docker #вебразработка #деплой #postgresql #timeweb_статьи

  33. Как создать базу данных на своём сервере с помощью Coolify

    Coolify это бесплатный инструмент, который позволяет легко запускать приложения на ваших серверах и управлять ими через визуальный интерфейс. В прошлых статьях мы уже разобрались, как подготовить сервер , затем установить на нём Coolify и запустить простые приложения из GitHub. А сегодня посмотрим, как с помощью Coolify создать базу данных на своем сервере и какие преимущества это даёт.

    habr.com/ru/companies/timeweb/

    #coolify #базы_данных #хостинг #selfhosting #paas #docker #вебразработка #деплой #postgresql #timeweb_статьи

  34. Как создать базу данных на своём сервере с помощью Coolify

    Coolify это бесплатный инструмент, который позволяет легко запускать приложения на ваших серверах и управлять ими через визуальный интерфейс. В прошлых статьях мы уже разобрались, как подготовить сервер , затем установить на нём Coolify и запустить простые приложения из GitHub. А сегодня посмотрим, как с помощью Coolify создать базу данных на своем сервере и какие преимущества это даёт.

    habr.com/ru/companies/timeweb/

    #coolify #базы_данных #хостинг #selfhosting #paas #docker #вебразработка #деплой #postgresql #timeweb_статьи

  35. Формы как контракт в Next.js: Zod, fieldErrors и одинаковые правила на client и server

    С формами в Next.js проблема обычно начинается не на уровне кнопки submit. Кнопка как раз почти всегда работает. Настоящая путаница начинается позже, когда форма уже живёт в проекте какое-то время. В одном месте ошибка показывается под полем, в другом только общей строкой сверху. Где-то кнопка блокируется на pending, а где-то можно отправить запрос несколько раз подряд. Клиент считает данные валидными, а сервер отвечает, что правило нарушено. Поле уже зелёное, а сохранение всё равно не прошло. В этот момент становится видно, что форма была собрана как кусок UI, а не как контракт. Используем как примеры паттерны из проекта Workbench. Полезно смотреть на форму не как на набор input и submit, а как на договор между UI, валидацией и местом записи данных. У такого договора есть простая форма - какие данные считаются допустимыми, где и как они проверяются, в каком виде ошибка возвращается в интерфейс, что происходит на pending, когда форма блокируется, что считается успехом, а что общей ошибкой, не привязанной к конкретному полю. Как только форма описывается так, код перестаёт расползаться. И здесь Zod в Next.js даёт не просто удобную схему, а способ удерживать client и server в одном наборе правил.

    habr.com/ru/articles/1025472/

    #nextjs #typescript #app_router #zod #forms #validation #react #вебразработка

  36. Формы как контракт в Next.js: Zod, fieldErrors и одинаковые правила на client и server

    С формами в Next.js проблема обычно начинается не на уровне кнопки submit. Кнопка как раз почти всегда работает. Настоящая путаница начинается позже, когда форма уже живёт в проекте какое-то время. В одном месте ошибка показывается под полем, в другом только общей строкой сверху. Где-то кнопка блокируется на pending, а где-то можно отправить запрос несколько раз подряд. Клиент считает данные валидными, а сервер отвечает, что правило нарушено. Поле уже зелёное, а сохранение всё равно не прошло. В этот момент становится видно, что форма была собрана как кусок UI, а не как контракт. Используем как примеры паттерны из проекта Workbench. Полезно смотреть на форму не как на набор input и submit, а как на договор между UI, валидацией и местом записи данных. У такого договора есть простая форма - какие данные считаются допустимыми, где и как они проверяются, в каком виде ошибка возвращается в интерфейс, что происходит на pending, когда форма блокируется, что считается успехом, а что общей ошибкой, не привязанной к конкретному полю. Как только форма описывается так, код перестаёт расползаться. И здесь Zod в Next.js даёт не просто удобную схему, а способ удерживать client и server в одном наборе правил.

    habr.com/ru/articles/1025472/

    #nextjs #typescript #app_router #zod #forms #validation #react #вебразработка

  37. Формы как контракт в Next.js: Zod, fieldErrors и одинаковые правила на client и server

    С формами в Next.js проблема обычно начинается не на уровне кнопки submit. Кнопка как раз почти всегда работает. Настоящая путаница начинается позже, когда форма уже живёт в проекте какое-то время. В одном месте ошибка показывается под полем, в другом только общей строкой сверху. Где-то кнопка блокируется на pending, а где-то можно отправить запрос несколько раз подряд. Клиент считает данные валидными, а сервер отвечает, что правило нарушено. Поле уже зелёное, а сохранение всё равно не прошло. В этот момент становится видно, что форма была собрана как кусок UI, а не как контракт. Используем как примеры паттерны из проекта Workbench. Полезно смотреть на форму не как на набор input и submit, а как на договор между UI, валидацией и местом записи данных. У такого договора есть простая форма - какие данные считаются допустимыми, где и как они проверяются, в каком виде ошибка возвращается в интерфейс, что происходит на pending, когда форма блокируется, что считается успехом, а что общей ошибкой, не привязанной к конкретному полю. Как только форма описывается так, код перестаёт расползаться. И здесь Zod в Next.js даёт не просто удобную схему, а способ удерживать client и server в одном наборе правил.

    habr.com/ru/articles/1025472/

    #nextjs #typescript #app_router #zod #forms #validation #react #вебразработка

  38. Формы как контракт в Next.js: Zod, fieldErrors и одинаковые правила на client и server

    С формами в Next.js проблема обычно начинается не на уровне кнопки submit. Кнопка как раз почти всегда работает. Настоящая путаница начинается позже, когда форма уже живёт в проекте какое-то время. В одном месте ошибка показывается под полем, в другом только общей строкой сверху. Где-то кнопка блокируется на pending, а где-то можно отправить запрос несколько раз подряд. Клиент считает данные валидными, а сервер отвечает, что правило нарушено. Поле уже зелёное, а сохранение всё равно не прошло. В этот момент становится видно, что форма была собрана как кусок UI, а не как контракт. Используем как примеры паттерны из проекта Workbench. Полезно смотреть на форму не как на набор input и submit, а как на договор между UI, валидацией и местом записи данных. У такого договора есть простая форма - какие данные считаются допустимыми, где и как они проверяются, в каком виде ошибка возвращается в интерфейс, что происходит на pending, когда форма блокируется, что считается успехом, а что общей ошибкой, не привязанной к конкретному полю. Как только форма описывается так, код перестаёт расползаться. И здесь Zod в Next.js даёт не просто удобную схему, а способ удерживать client и server в одном наборе правил.

    habr.com/ru/articles/1025472/

    #nextjs #typescript #app_router #zod #forms #validation #react #вебразработка

  39. Формы в Angular: от Reactive Forms к Signal Forms

    Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.

    habr.com/ru/companies/domclick

    #angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы

  40. Формы в Angular: от Reactive Forms к Signal Forms

    Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.

    habr.com/ru/companies/domclick

    #angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы

  41. Формы в Angular: от Reactive Forms к Signal Forms

    Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.

    habr.com/ru/companies/domclick

    #angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы

  42. Формы в Angular: от Reactive Forms к Signal Forms

    Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.

    habr.com/ru/companies/domclick

    #angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы

  43. Как я сделал PWA-приложение для заметок и ссылок за вечер (и почему оно работает без интернета)

    У каждого из нас есть «чёрная дыра», куда уходят полезные ссылки. Кто-то сохраняет их в «Избранном» браузера, кто-то пишет сам себе в Telegram, кто-то держит десяток вкладок открытыми «на потом». У меня была та же проблема. Я пробовал Notion, Evernote, Google Keep, Obsidian - всё это мощные инструменты, но для простого «сохранить ссылку и не забыть» они часто избыточны. Так родилась идея KylikLink - минималистичного PWA-приложения для заметок и ссылок, которое работает без интернета и не требует регистрации.

    habr.com/ru/articles/1023144/

    #pwa #вебразработка #html #css #javascript #фронтенд #frontend #localstorage #service_worker #заметки

  44. Как я автоматизировал управление информацией и оптимизировал рабочие процессы. История Sapiens OS

    Если вы ведете несколько проектов одновременно, вы знаете проблему управления информацией. Мысль пришла в голову — записал куда-то. Через месяц пытаешься вспомнить: где это было? Сохранил в папке где-то на компьютере? В заметках телефона? В рабочем чате или личных сообщениях? Если не нашел — идея ушла. Или осталась, но найти её — отдельный квест и потеря времени, которое хотелось бы потратить с пользой, а не на поиски. Со мной так происходило постоянно. Статьи и доклады по учёбе, отчёты по работе, технические заметки по разрабатываемому ПО, ссылки на полезные ресурсы, голосовые идеи по дороге на работу, полезные фото — всё в разных местах, без структуры, без связей. Изначально я пытался найти для себя идеальный инструмент. Notion, Obsidian, Evernote — ни один не решал мою задачу в комплексе: быстро сохранить мысль, не потерять её, а потом легко найти и связать с другими. Поэтому я написал свою систему. Статья — не «продажа курса» и не «уникальный продукт». Это описание того, как я решал свои задачи, какие решения принимал и что из этого вышло. Если вы тоже теряете время при поиске нужной информации — возможно, найдёте здесь что-то полезное.

    habr.com/ru/articles/1022042/

    #Python #JavaScript #Вебразработка #Личный_опыт #FastAPI #SQLite #DevOps #Управление_знаниями #Notion #VK

  45. Сайты стали слишком тяжёлыми

    Помните времена, когда интернет был медленным, а страницы грузились почти мгновенно благодаря простой вёрстке? Это краткий, но суровый факт о росте веса сайтов: если в 2015 году средняя страница «весила» около 1.5 мегабайт, то сегодня средний вес веб-ресурса 2026 года часто превышает 6–8 МБ. Тяжёлые сайты стали индустриальной нормой, и это подчёркивает актуальность проблемы для бизнеса и пользователей. Клиенты уходят, не дождавшись рендера, так как бесконечная загрузка контента их утомляет, а серверы перегружаются. Сегодня мы расскажем ключевые причины технологической деградации и дадим практическое решение, где главным инструментом спасения станет грамотная оптимизация интерфейса. Уменьшить вес сайта

    habr.com/ru/articles/1021192/

    #seo #seo_оптимизация #backend #frontend #javascript #вебразработка #оптимизация_сайта #скорость_загрузки

  46. Сайты стали слишком тяжёлыми

    Помните времена, когда интернет был медленным, а страницы грузились почти мгновенно благодаря простой вёрстке? Это краткий, но суровый факт о росте веса сайтов: если в 2015 году средняя страница «весила» около 1.5 мегабайт, то сегодня средний вес веб-ресурса 2026 года часто превышает 6–8 МБ. Тяжёлые сайты стали индустриальной нормой, и это подчёркивает актуальность проблемы для бизнеса и пользователей. Клиенты уходят, не дождавшись рендера, так как бесконечная загрузка контента их утомляет, а серверы перегружаются. Сегодня мы расскажем ключевые причины технологической деградации и дадим практическое решение, где главным инструментом спасения станет грамотная оптимизация интерфейса. Уменьшить вес сайта

    habr.com/ru/articles/1021192/

    #seo #seo_оптимизация #backend #frontend #javascript #вебразработка #оптимизация_сайта #скорость_загрузки

  47. Сайты стали слишком тяжёлыми

    Помните времена, когда интернет был медленным, а страницы грузились почти мгновенно благодаря простой вёрстке? Это краткий, но суровый факт о росте веса сайтов: если в 2015 году средняя страница «весила» около 1.5 мегабайт, то сегодня средний вес веб-ресурса 2026 года часто превышает 6–8 МБ. Тяжёлые сайты стали индустриальной нормой, и это подчёркивает актуальность проблемы для бизнеса и пользователей. Клиенты уходят, не дождавшись рендера, так как бесконечная загрузка контента их утомляет, а серверы перегружаются. Сегодня мы расскажем ключевые причины технологической деградации и дадим практическое решение, где главным инструментом спасения станет грамотная оптимизация интерфейса. Уменьшить вес сайта

    habr.com/ru/articles/1021192/

    #seo #seo_оптимизация #backend #frontend #javascript #вебразработка #оптимизация_сайта #скорость_загрузки

  48. Сайты стали слишком тяжёлыми

    Помните времена, когда интернет был медленным, а страницы грузились почти мгновенно благодаря простой вёрстке? Это краткий, но суровый факт о росте веса сайтов: если в 2015 году средняя страница «весила» около 1.5 мегабайт, то сегодня средний вес веб-ресурса 2026 года часто превышает 6–8 МБ. Тяжёлые сайты стали индустриальной нормой, и это подчёркивает актуальность проблемы для бизнеса и пользователей. Клиенты уходят, не дождавшись рендера, так как бесконечная загрузка контента их утомляет, а серверы перегружаются. Сегодня мы расскажем ключевые причины технологической деградации и дадим практическое решение, где главным инструментом спасения станет грамотная оптимизация интерфейса. Уменьшить вес сайта

    habr.com/ru/articles/1021192/

    #seo #seo_оптимизация #backend #frontend #javascript #вебразработка #оптимизация_сайта #скорость_загрузки

  49. Проверяем веб-расчёт потерь в шинах на соответствие стандартам

    От уравнений до верификации: как мы сравнивали разработанный веб-модуль для анализа потерь в НКУ (низковольтных комплектных устройствах) с нормативной базой А можно ли рассчитать потери и нагрев шин для оценки тепловыделения в НКУ быстро, точно и прямо в браузере? Мы решили проверить — и разработали веб-ориентированное расчётное ядро , которое затем сравнили с требованиями ГОСТ . В электроэнергетике и электротехнике тепловой расчёт НКУ — это не просто рутина, а ключевой вопрос при оценке безопасности и эффективности НКУ. При тепловом расчёте НКУ необходимо учитывать потери мощности в шинах и аппаратах — именно они являются основным источником нагрева внутри шкафа. Шины, при протекании по ним тока, нагреваются из-за Джоулевых потерь, и если температура выходит за рамки нормы, последствия предсказуемы: ускоренное старение изоляции, рост потерь энергии, а в критическом сценарии — перегрев и выход из строя оборудования. На практике инженеры часто оказываются перед выбором: Нормативные таблицы — надёжно и консервативно; Дорогие CAE-пакеты (COMSOL, ANSYS) — сложно, точность требует времени и бюджета; Упрощённые ручные расчёты — быстро, но менее точно. А что, если объединить скорость, точность и прозрачность в одном веб-инструменте? В этой статье мы покажем, как на основе физических уравнений мы разработали веб-ориентированное расчётное ядро для теплового расчёта шин, а затем — докажем его точность в сравнении с ГОСТ .

    habr.com/ru/articles/1018564/

    #Вебразработка #Python #JavaScript #ТепловойРасчет #Моделирование #Верификация #ИнженерныеРасчеты #Электроэнергетика

  50. Проверяем веб-расчёт потерь в шинах на соответствие стандартам

    От уравнений до верификации: как мы сравнивали разработанный веб-модуль для анализа потерь в НКУ (низковольтных комплектных устройствах) с нормативной базой А можно ли рассчитать потери и нагрев шин для оценки тепловыделения в НКУ быстро, точно и прямо в браузере? Мы решили проверить — и разработали веб-ориентированное расчётное ядро , которое затем сравнили с требованиями ГОСТ . В электроэнергетике и электротехнике тепловой расчёт НКУ — это не просто рутина, а ключевой вопрос при оценке безопасности и эффективности НКУ. При тепловом расчёте НКУ необходимо учитывать потери мощности в шинах и аппаратах — именно они являются основным источником нагрева внутри шкафа. Шины, при протекании по ним тока, нагреваются из-за Джоулевых потерь, и если температура выходит за рамки нормы, последствия предсказуемы: ускоренное старение изоляции, рост потерь энергии, а в критическом сценарии — перегрев и выход из строя оборудования. На практике инженеры часто оказываются перед выбором: Нормативные таблицы — надёжно и консервативно; Дорогие CAE-пакеты (COMSOL, ANSYS) — сложно, точность требует времени и бюджета; Упрощённые ручные расчёты — быстро, но менее точно. А что, если объединить скорость, точность и прозрачность в одном веб-инструменте? В этой статье мы покажем, как на основе физических уравнений мы разработали веб-ориентированное расчётное ядро для теплового расчёта шин, а затем — докажем его точность в сравнении с ГОСТ .

    habr.com/ru/articles/1018564/

    #Вебразработка #Python #JavaScript #ТепловойРасчет #Моделирование #Верификация #ИнженерныеРасчеты #Электроэнергетика