#веб-разработка — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #веб-разработка, aggregated by home.social.
-
Делаем сайт из картинки в нейронке
Несколько лет, я экспериментирую с генераторами картинок. Меня интересует один вопрос: можно ли из нейронок получить приемлемые концепт-дизайны сайтов,приложений, интерфейсов? Не с точки зрения кода, а хотя бы лэйаутов, цветовых схем и баланса текста/графики.
https://habr.com/ru/articles/1040782/
#claude #вебдизайн #вайбкодинг #вебразработка #webдизайн #webразработка
-
Книга: «System Design. Проектирование мобильных систем. Подготовка к сложному интервью»
Привет, Хаброжители! Что вас ждет на интервью по проектированию мобильных систем (MSD)? Что делать, если вас попросят разработать новый YouTube или телеграм? Практическое руководство MSD превращает сложные собеседования в предсказуемый процесс. Вы получаете 5-шаговую схему эффективного прохождения интервью и разбор 7 реальных кейсов (лента новостей, мессенджер, YouTube, Google Drive, трейдинговая платформа и др.), позволяющих проектировать архитектуру клиента, API, офлайн-режим, кэширование и масштабируемость. Здесь вы найдете готовые шаблоны, trade-off’ы и шпаргалки — всё, чтобы уверенно проходить интервью в топ-компаниях и расти от мидла до стафф+.
https://habr.com/ru/companies/piter/articles/1039648/
#system_design #сюй #мобильная_разработка #вебразработка #котлин #kotlin
-
Разработка на Python: когда много думать = вредить проекту
Молодые разработчики, а иногда и опытные, стремясь сделать код «идеальным», часто уходят в оверинжиниринг и создают трудночитаемые конструкции. В итоге на реализацию уходит больше времени, а поддержка превращается в хард-квест с поиском ответов. Если и у вас есть желание написать какую-нибудь сложную абстракцию «на будущее» или применить новый паттерн просто потому, что вы его выучили — остановитесь на секунду. В этой статье мы собрали все, что поможет писать код, который не стыдно показать тимлиду и легко развивать дальше.
https://habr.com/ru/companies/dalee_group/articles/1040146/
#python #разработка #разработка_сайтов #оверинжениринг #вебразработка #python_для_начинающих
-
Создание чат-бота в портале Битрикс24 с помощью AI-агентов
5-я статья из цикла туториалов о вариантах кастомизации своего бизнес-портала в Битрикс24. Сегодня возьмём наш шаблонный репозиторий для AI-разработки и сделаем на его основе чат-бота: боту можно написать в мессенджере и научить его делать разные полезные вещи: давать информацию по сделкам, задачам и другим подробностям бизнеса. Ещё бот может научиться обращаться к другим программам по API и возвращать оттуда какие-то данные, например, курсы акций и облигаций. Что было в предыдущих туториалах: 1 — Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки 2 — Добавляем в бизнес-портал Битрикс24 роботов для автоматизации 3 — Что даёт воспроизводимая среда разработки и как развернуть контейнеры на VPS. 4 — Анализ и модернизация коннектора баз данных с помощью AI-агентов
https://habr.com/ru/companies/bitrix/articles/1031736/
#битрикс24 #чатбот #aiагенты #apiзапросы #restapi #php #symfony #docker #вебразработка #автоматизация_бизнеса
-
Мы увязли в Feature-Sliced Design
Всем привет, меня зовут Сергей Сибара, я фронтенд-разработчик в ИТ-холдинге Т1. Эта статья —продолжение предыдущей: Мой справочник по Feature-Sliced Design . На этот раз я рассмотрю, как по моему субъективному мнению улучшить файловую структуру проекта, нарушая рекомендации FSD.
https://habr.com/ru/companies/T1Holding/articles/1028836/
#react #reactjs #vue #vuejs #javascript #typescript #featuresliced_design #fsd #frontend #вебразработка
-
Кэширование в 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 .
https://habr.com/ru/articles/1030134/
#nextjs #app_router #caching #revalidate #nostore #forcecache #server_components #react #javascript #вебразработка
-
Факторы ранжирования Google в 2026 году
В этой статье разберём, почему разговор о факторах ранжирования Google всё чаще заходит в тупик, если представлять их как список из title, ссылок, скорости, контента и поведенческих сигналов. Современный поиск работает сложнее. Страница проходит не один фильтр, а несколько слоёв оценки: доступность, индексирование, понимание запроса, понимание документа, качество, спам-фильтры, сниппеты, медиа, ссылки, локальный контекст и пользовательское взаимодействие.
https://habr.com/ru/articles/1029838/
#seo #seoоптимизация #seoпродвижение #seoпродвижение_сайтов #индексирование #индексирование_сайта #техническое_seo #вебразработка #поисковые_алгоритмы #контентная_стратегия
-
Python SDK для Битрикс24: основные возможности и история создания с использованием Битрикс24 MCP-сервера
Создание собственных приложений и интеграций для Битрикс24 остаётся востребованной задачей. Однако разработчики сталкиваются с рядом сложностей, которые замедляют разработку и повышают порог входа. Ключевая из них — работа с обширным REST API. Для разработчиков на PHP и JavaScript существуют официальные SDK. Тем, кто использует другие языки, до недавнего времени везло меньше. Им приходилось постоянно обращаться к документации, чтобы уточнить параметры, формат запросов и допустимые значения. Мы в своей практике используем Python, и эта проблема напрямую касалась нас. В какой-то момент мы решили закрыть её системно — и разработали собственный SDK для работы с Битрикс24, который стал официальной библиотекой В этой статье мы расскажем, какие задачи решает эта библиотека и как мы создавали её с использованием ИИ и MCP-сервера Битрикс24 для разработчиков.
-
Не всё деплоем правится: как мы вынесли интерфейс из кода с помощью Server-Driven UI
Изменения интерфейса мобильного приложения часто упираются не в сложность реализации, а в скорость релизного цикла: даже простые правки проходят через полный конвейер — разработку, рецензирование, сборку и публикацию. При высокой частоте изменений это увеличивает time-to-market, перегружает команду и делает быстрые итерации по интерфейсу практически невозможными. Меня зовут Михаил Рыбочкин, я бэкенд-разработчик в компании GRI. Участвую в разработке и поддержке платформы для крупного ювелирного ритейлера. Я расскажу, как реализован Server-Driven UI для интернет-торговли с более чем 1000 розничных магазинов; как устроено управление конфигурацией интерфейса через Django Admin и как это позволяет менять интерфейс без релизов приложения; какие у этого подхода есть ограничения и какой инцидент произошёл в эксплуатации. Особенность нашего подхода в том, что SDUI одновременно обслуживает и нативные мобильные приложения, и веб на Vue. Один конфиг, один API, две целевых платформы
https://habr.com/ru/companies/gri/articles/1026592/
#SDUI #BDUI #вебразработка #backend #django #serverdriven_ui
-
CSS-in-JS vs CSS Modules: что выбрать в 2026?
В 2026 году фронтенд-разработка продолжает развиваться: появляются новые фреймворки, улучшаются инструменты сборки, растут требования к производительности и пользовательскому опыту. Разработчики сталкиваются с выбором: использовать CSS Modules или CSS-in-JS решения. Эти подходы дают изоляцию стилей и интеграцию с компонентами, но различаются по реализации и ограничениям. Выбор системы стилизации влияет на разработку и ключевые метрики: размер бандла, скорость первого рендера, поведение при SSR, удобство отладки и поддержку кода. Неподходящий подход может привести к увеличению объёма JavaScript, проблемам с SSR и усложнению масштабирования. Данная статья не ставит цель назвать одного победителя. Вместо этого мы сравним основные подходы - CSS Modules и CSS-in-JS.
https://habr.com/ru/articles/1025688/
#CSSinJS #CSS_Modules #styledcomponents #frontend #React #SSR #производительность #CSS #вебразработка
-
Как создать базу данных на своём сервере с помощью Coolify
Coolify это бесплатный инструмент, который позволяет легко запускать приложения на ваших серверах и управлять ими через визуальный интерфейс. В прошлых статьях мы уже разобрались, как подготовить сервер , затем установить на нём Coolify и запустить простые приложения из GitHub. А сегодня посмотрим, как с помощью Coolify создать базу данных на своем сервере и какие преимущества это даёт.
https://habr.com/ru/companies/timeweb/articles/1015374/
#coolify #базы_данных #хостинг #selfhosting #paas #docker #вебразработка #деплой #postgresql #timeweb_статьи
-
Формы как контракт в Next.js: Zod, fieldErrors и одинаковые правила на client и server
С формами в Next.js проблема обычно начинается не на уровне кнопки submit. Кнопка как раз почти всегда работает. Настоящая путаница начинается позже, когда форма уже живёт в проекте какое-то время. В одном месте ошибка показывается под полем, в другом только общей строкой сверху. Где-то кнопка блокируется на pending, а где-то можно отправить запрос несколько раз подряд. Клиент считает данные валидными, а сервер отвечает, что правило нарушено. Поле уже зелёное, а сохранение всё равно не прошло. В этот момент становится видно, что форма была собрана как кусок UI, а не как контракт. Используем как примеры паттерны из проекта Workbench. Полезно смотреть на форму не как на набор input и submit, а как на договор между UI, валидацией и местом записи данных. У такого договора есть простая форма - какие данные считаются допустимыми, где и как они проверяются, в каком виде ошибка возвращается в интерфейс, что происходит на pending, когда форма блокируется, что считается успехом, а что общей ошибкой, не привязанной к конкретному полю. Как только форма описывается так, код перестаёт расползаться. И здесь Zod в Next.js даёт не просто удобную схему, а способ удерживать client и server в одном наборе правил.
https://habr.com/ru/articles/1025472/
#nextjs #typescript #app_router #zod #forms #validation #react #вебразработка
-
Формы в Angular: от Reactive Forms к Signal Forms
Привет! Меня зовут Егор Молчанов, я разработчик в компании Домклик. В прошлой статье мы познакомились с новыми функциями input() , output() и model() , которые закладывают фундамент для будущего Angular без Zone.js. Сегодня мы поговорим о том, как эти изменения дошли до самой, пожалуй, наболевшей темы в любом приложении — работы с формами. В Angular v21 появился новый, экспериментальный способ управления формами — Signal Forms . Он не отменяет старые добрые Reactive Forms, но предлагает совершенно иной подход, основанный на сигналах. Давайте разберёмся, как работали формы раньше, как они будут работать с Signal Forms, и что это нам даёт.
https://habr.com/ru/companies/domclick/articles/1018180/
#angular #signals #signal #forms #reactive #javascript #ангуляр #вебразработка #webразработка #формы
-
Как я сделал PWA-приложение для заметок и ссылок за вечер (и почему оно работает без интернета)
У каждого из нас есть «чёрная дыра», куда уходят полезные ссылки. Кто-то сохраняет их в «Избранном» браузера, кто-то пишет сам себе в Telegram, кто-то держит десяток вкладок открытыми «на потом». У меня была та же проблема. Я пробовал Notion, Evernote, Google Keep, Obsidian - всё это мощные инструменты, но для простого «сохранить ссылку и не забыть» они часто избыточны. Так родилась идея KylikLink - минималистичного PWA-приложения для заметок и ссылок, которое работает без интернета и не требует регистрации.
https://habr.com/ru/articles/1023144/
#pwa #вебразработка #html #css #javascript #фронтенд #frontend #localstorage #service_worker #заметки
-
Как я автоматизировал управление информацией и оптимизировал рабочие процессы. История Sapiens OS
Если вы ведете несколько проектов одновременно, вы знаете проблему управления информацией. Мысль пришла в голову — записал куда-то. Через месяц пытаешься вспомнить: где это было? Сохранил в папке где-то на компьютере? В заметках телефона? В рабочем чате или личных сообщениях? Если не нашел — идея ушла. Или осталась, но найти её — отдельный квест и потеря времени, которое хотелось бы потратить с пользой, а не на поиски. Со мной так происходило постоянно. Статьи и доклады по учёбе, отчёты по работе, технические заметки по разрабатываемому ПО, ссылки на полезные ресурсы, голосовые идеи по дороге на работу, полезные фото — всё в разных местах, без структуры, без связей. Изначально я пытался найти для себя идеальный инструмент. Notion, Obsidian, Evernote — ни один не решал мою задачу в комплексе: быстро сохранить мысль, не потерять её, а потом легко найти и связать с другими. Поэтому я написал свою систему. Статья — не «продажа курса» и не «уникальный продукт». Это описание того, как я решал свои задачи, какие решения принимал и что из этого вышло. Если вы тоже теряете время при поиске нужной информации — возможно, найдёте здесь что-то полезное.
https://habr.com/ru/articles/1022042/
#Python #JavaScript #Вебразработка #Личный_опыт #FastAPI #SQLite #DevOps #Управление_знаниями #Notion #VK
-
Сайты стали слишком тяжёлыми
Помните времена, когда интернет был медленным, а страницы грузились почти мгновенно благодаря простой вёрстке? Это краткий, но суровый факт о росте веса сайтов: если в 2015 году средняя страница «весила» около 1.5 мегабайт, то сегодня средний вес веб-ресурса 2026 года часто превышает 6–8 МБ. Тяжёлые сайты стали индустриальной нормой, и это подчёркивает актуальность проблемы для бизнеса и пользователей. Клиенты уходят, не дождавшись рендера, так как бесконечная загрузка контента их утомляет, а серверы перегружаются. Сегодня мы расскажем ключевые причины технологической деградации и дадим практическое решение, где главным инструментом спасения станет грамотная оптимизация интерфейса. Уменьшить вес сайта
https://habr.com/ru/articles/1021192/
#seo #seo_оптимизация #backend #frontend #javascript #вебразработка #оптимизация_сайта #скорость_загрузки
-
Проверяем веб-расчёт потерь в шинах на соответствие стандартам
От уравнений до верификации: как мы сравнивали разработанный веб-модуль для анализа потерь в НКУ (низковольтных комплектных устройствах) с нормативной базой А можно ли рассчитать потери и нагрев шин для оценки тепловыделения в НКУ быстро, точно и прямо в браузере? Мы решили проверить — и разработали веб-ориентированное расчётное ядро , которое затем сравнили с требованиями ГОСТ . В электроэнергетике и электротехнике тепловой расчёт НКУ — это не просто рутина, а ключевой вопрос при оценке безопасности и эффективности НКУ. При тепловом расчёте НКУ необходимо учитывать потери мощности в шинах и аппаратах — именно они являются основным источником нагрева внутри шкафа. Шины, при протекании по ним тока, нагреваются из-за Джоулевых потерь, и если температура выходит за рамки нормы, последствия предсказуемы: ускоренное старение изоляции, рост потерь энергии, а в критическом сценарии — перегрев и выход из строя оборудования. На практике инженеры часто оказываются перед выбором: Нормативные таблицы — надёжно и консервативно; Дорогие CAE-пакеты (COMSOL, ANSYS) — сложно, точность требует времени и бюджета; Упрощённые ручные расчёты — быстро, но менее точно. А что, если объединить скорость, точность и прозрачность в одном веб-инструменте? В этой статье мы покажем, как на основе физических уравнений мы разработали веб-ориентированное расчётное ядро для теплового расчёта шин, а затем — докажем его точность в сравнении с ГОСТ .
https://habr.com/ru/articles/1018564/
#Вебразработка #Python #JavaScript #ТепловойРасчет #Моделирование #Верификация #ИнженерныеРасчеты #Электроэнергетика
-
Flutter-дайджест: март 2026
Март выдался… немного тише, чем февраль . Без громких релизов уровня Flutter 3.x — но это не значит, что было скучно 😉 Наоборот — месяц получился про практику, реальные кейсы и прокачку навыков 💪 А ещё… несмотря ни на что — мы продолжаем работать. Да, даже несмотря на блокировки Telegram — ❌ мы никуда не уходим ❌ в MAX не переезжаем ✅ и продолжаем делать лучший Flutter-контент для вас 👉 Подписка на канал сейчас — это реальная поддержка проекта ❤️ https://t.me/flutterpulse
https://habr.com/ru/articles/1018402/
#разработка_мобильных_приложений #управление_разработкой #проектирование_и_рефакторинг #качество_кода #тестирование_мобильных_приложений #облачные_сервисы #вебразработка #open_source #искусственный_интеллект #учебный_процесс_в_it
-
TypeScript в Next.js как система контрактов, а не типизация ради типизации
Когда разработчик начинает писать на Next.js с TypeScript, первая реакция часто довольно холодная. Вместо того чтобы двигаться быстрее, он начинает чаще видеть ошибки. Где-то не совпал shape объекта, где-то строка не подходит в более узкий тип, где-то TypeScript напоминает, что значение может быть undefined. На этом месте легко сделать неправильный вывод. Кажется, что TS просто добавляет трение и требует больше служебного кода. Обычно проблема не в TypeScript, а в способе мышления. Если использовать его как набор аннотаций поверх уже написанного кода, пользы действительно немного. Но если смотреть на типы как на систему контрактов между слоями приложения, картина меняется. Особенно в Next.js App Router, где у нас постоянно есть границы server и client, внешний ввод из URL, формы, мутации и разные состояния интерфейса. В этот момент TypeScript перестаёт быть типизацией ради типизации. Он начинает отвечать на более важный вопрос: какие состояния в проекте вообще допустимы, а какие не должны пройти дальше границы. По такой модели я выстроил один из своих проектов Workbench. Не начинать с мысли давайте везде поставим типы, а начинать с мысли где у нас проходит граница, что в неё входит и что из неё может выйти. После этого многие решения в коде становятся почти очевидными.
https://habr.com/ru/articles/1018382/
#nextjs #typescript #app_router #server_components #type_safety #zod #react #вебразработка
-
URL как источник правды в Next.js App Router
Когда разработчик приходит в Next.js из обычного React SPA, он часто тащит с собой старую схему мышления. Есть поле ввода, значит будет useState . Есть поиск, значит будет useEffect . Есть список данных, значит будем следить за изменением состояния и вручную запускать новый запрос. На маленьком экране это вроде работает. Но очень быстро выясняется, что в приложении уже не одно состояние, а три. Есть значение в поле, значение в URL, данные, загруженные по одному из этих значений. Потом появляется четвёртая проблема. Кнопки Back и Forward начинают вести себя странно. Ссылкой на результат поиска неудобно делиться. А отладка превращается в угадайку, потому что не до конца понятно, что именно сейчас считается главным источником правды. В App Router это решается проще. Если фильтр является частью состояния страницы, его логично держать в URL. Тогда схема становится прямой: URL изменился -> сервер прочитал searchParams -> выполнил fetch -> отрендерил новый список. В этот момент Next.js начинает восприниматься как понятный инженерный инструмент.
https://habr.com/ru/articles/1016068/
#nextjs #nextjs_app_router #app_router #searchparams #url_state #server_components #react #javascript #вебразработка
-
Безопасный file upload в Go: 7 атак на загрузку файлов и как мы их закрывали
«Сделай форму загрузки PDF» – звучит как задача на полчаса. Claude/GPT напишет handler, мы добавим accept=".pdf" на фронте, multer на бэке – и вот у нас работающий upload. Можно деплоить. Проблема в том, что работающий upload и безопасный upload – это разные вещи. Разница между ними – несколько уязвимостей, каждая из которых может превратить ваш сервер в точку входа для атакующего. С распространением LLM-инструментов порог входа в разработку снизился радикально. Это прекрасно – больше людей могут создавать продукты. Но вместе с порогом входа снизился и порог входа для уязвимостей. Когда LLM генерирует код загрузки файла, она решает функциональную задачу: принять файл, сохранить, обработать. Безопасность? «Добавлю потом». А «потом» обычно наступает после инцидента. Я решил не ждать инцидента и разобрался заранее: какие атаки существуют при загрузке файлов, что бывает, когда про них забывают, и как мы от них защитились в конкретном проекте.
https://habr.com/ru/articles/1015082/
#file_upload #go #безопасность #ssrf #path_traversal #replayатака #pdf #вебразработка
-
Интеграция с китайскими картами Baidu — с настройкой полигонов и кластеризацией
Baidu Maps — китайский картографический сервис с собственным API. Он активно используется внутри КНР и поддерживает стандартные сценарии: отображение карты, маркеры, полигоны, кластеры. На первый взгляд интеграция выглядит как обычно. Но при работе с реальными данными появляются отличия. Используется система координат BD-09. Мир не повторяется по долготе. Поведение геометрии отличается от Google Maps и Яндекс Карт. Привет, я Екатерина Плаксина, фронтенд-разработчик Далее . В этой статье разберу каждую проблему отдельно и поделюсь своими решениями.
-
О цифровой доступности: как постигать интернет без визуальных интерфейсов
Всем привет! Меня зовут Артем Плаксин, я с рождения практически ничего не вижу. Незрячему или слабовидящему человеку при освоении компьютера приходится сталкиваться с очевидным барьером: очень многое завязано на визуальные интерфейсы, а без них порой сложно даже просто перейти на следующую страницу по ссылке. Для своего некоммерческого проекта — экосистемы севисов для незрячих и слабовидящих TifloHost — я использую платформу серверной виртуализации VMmanager. Так я и познакомился с ребятами, которые делают этот продукт. В этой статья я хочу поделиться с вами своей историей освоения интернета.
-
Метрика на ключевое событие в MVP без тяжёлой аналитики
При запуске MVP считаем вначале не клики вообще, а деньги и время. Деньги потому, что до серьёзных вложений полезно быстро и по возможности бесплатно проверить, нужен ли проект рынку. Время потому, что его легко потратить не на сам MVP, а на подключение Яндекс.Метрики, Google Analytics, событий, воронок, отдельной базы и прочей обвязки. В итоге идея ещё не проверена, а вокруг неё уже начинает расти аналитическая система. Рассмотрим простую схему с 1-2 быстрыми метрики, которые напрямую проверяют УТП или главный пользовательский сценарий. Пользователь нажал кнопку покупки. Начал создавать проект. Зарегистрировался. Перешёл в Telegram. Этого уже хватает, чтобы понять, работает ли сценарий и есть ли живой отклик. Получаем сразу три плюса. Бесплатно проверяем гипотезу, экономим время на старте и делаем один универсальный инструмент, который потом можно использовать для любого количества своих MVP без новых подключений и переделок. Разберем именно такой вариант. Маленький Django-бэк один раз деплоится на простом хостинге, принимает события через пиксель, хранит их в SQLite и отдаёт статистику JSON-ответом. Дальше во всех новых фронтах меняются только названия event и src . Особенно удобно это в тех случаях, когда фронт живёт на бесплатном или засыпающем хостинге. У free web services на Render сервис уходит в spin-down после 15 минут простоя, а файловая система там ephemeral, поэтому локальный SQLite для таких счётчиков работать не будет. В качестве простого примера отдельного маленького бэка можно использовать PythonAnywhere, где есть бесплатный аккаунт с одним web app. Но сама идея не привязана к этим площадкам и повторяется практически где угодно.
https://habr.com/ru/articles/1013258/
#MVP #аналитика #Django #Python #SQLite #Nextjs #вебразработка #ключевое_событие #трекинг
-
Как за выходные собрать сайт-визитку на чистом HTML/CSS использую нейронки
Меня зовут Богдан Непряхин, я CEO digital-агентства bijobs.ru . Мы занимаемся performance-маркетингом и аналитикой. Я выступаю на конференциях, рассказываю про Яндекс Директ, VK Ads, работу с данными. И вот в начале 2026 года поймал себя на том, что мне неловко давать ссылку на «страницу спикера». Потому что её не было. Организаторы мероприятий пишут «скиньте страничку», а скидывать нечего. Строчка на сайте агентства, без фото с конференций, без тем, без видео. Стыдновато, если честно. Классический путь: дизайнер (15-40 тысяч, 1-2 недели) + верстальщик (15-30 тысяч, ещё неделя). Итого месяц и 30-100 тысяч за одностраничник. Для страницы, которую увидят десять организаторов. Я решил проверить, можно ли сделать это за выходные с Claude Code, нейросетевым ассистентом для работы с кодом.
https://habr.com/ru/articles/1012668/
#Claude_Code #нейросеть #кодогенерация #HTML #CSS #сайтвизитка #LLM #вебразработка #вайбкодинг #деплой
-
Разбираем net/http на практике. Часть 2.2: Архитектура и безопасность. Внедряем Clean Architecture, хэшируем пароли
Продолжаем писать сервис DeadDrop: сегодня идём от монолита к чистой архитектуре В предыдущей части мы реализовали готовый прототип, но его код был спорным: от смешанной логики до хранения секретов пользователей в открытом виде - пора вносить правки! Сегодня мы: 1) Превращаем "толстый" хэндлер в хорошее архитектурное решение с разделением слоёв 2) Хэшируем с bcrypt 3) Внедряем зависимости (DI) через интерфейсы 4) Готовим код к дальнейшему масштабированию Рефакторинг, который не ломает проект, а делает его удобным для дальнейшей разработки!
https://habr.com/ru/articles/1012470/
#go #golang #backend #бэкенд #вебразработка #голанг #информационная_безопасность #разработка #туториал
-
Можно ли собрать рабочий сайт через ИИ, зная только базовый HTML
Когда говорят про создание сайтов с помощью ИИ, обычно звучат две крайности: либо магия уровня «нажал кнопку — получил готовый продукт», либо скепсис в духе «потом всё равно придется переписывать руками». А что, если проверить? Привет! Меня зовут Кристина. Я работаю специалистом по автоматизации в Учебном центре IT-компании «Тензор». Недавно заказчик попросил меня сделать рабочий сайт максимально быстро. Четкого ТЗ и готового дизайна не было — только общее видение. Знакомая ситуация? На практике это происходит сплошь и рядом. Здесь как раз важно уметь работать в условиях неопределенности. Так как старые решения не подходили, я решила пойти ва-банк и довериться искусственному интеллекту. Получится ли собрать рабочий сайт с помощью ИИ, если умеешь работать с кодом и задавать правильные вопросы? Спойлер: получится. Но не совсем так, как многие представляют.
https://habr.com/ru/companies/tensor/articles/1012316/
#ИИ_для_верстки #ChatGPT #Создание_сайта_с_помощью_ИИ #вебразработка #искусственный_интеллект #html #фронтенд #создание_сайта
-
Миграция с Supabase на VPS PostgreSQL без downtime: dual-write, strangler pattern и SSR read-path
TL;DR Мигрировал продакшн базу с Supabase на VPS PostgreSQL прямо на работающем проекте — без остановки, без потери данных. Заодно перенёс авторизацию через strangler-подход и убрал Supabase из SSR read-path. Расскажу три инженерных решения с кодом.
https://habr.com/ru/articles/1011134/
#PostgreSQL #Supabase #Nextjs #миграция_баз_данных #strangler_pattern #SSR #вебразработка #маркетплейс #авторизация #dualwrite
-
Авторизация — это про «изобретать велосипед», возиться с OpenSource, или о чем? Авториза — как сервис-альтернатива
Авторизация - это про "изобретать велосипед", возиться с OpenSource, или о чем? "Авториза" — как сервис-альтернатива Пишу эту статью как основатель стартапа Авториза. И она не для того, чтобы донести какие-то особо ценные знания, а скорее, чтобы пригласить вас к диалогу. Я хочу понять - стоит ли этим вообще заниматься, нужно ли это людям, или это лишь мои фантазии - когнитивное искажение основателя. В самой статье я раскрываю идею проекта. И я хочу обратиться к вам как профессионалам своего дела: А какие инструменты используете вы? Какие у вас возникают проблемы? Насколько быстро, дешево и просто вы их решаете?
https://habr.com/ru/articles/985274/
#OIDC #SaaS #стартап #аутентификация #авторизация #startup #вебразработка #архитектура_приложений #OpenID_Connect #auth
-
Разбираем net/http на практике. Часть 2.1: POST, файлы и in-memory хранилище
Предыдущая статья: https://habr.com/ru/articles/981356/ Продолжаем создавать сервис анонимных "мертвых ящиков" DeadDrop на чистом Go. Во второй части (первый подвыпуск) закладываем фундамент: учимся принимать POST-запросы, загружать файлы с проверкой MIME-типа и размера, создаём in-memory хранилище с потокобезопасным доступом через RWMutex. Пишем утилиты для генерации криптостойких ID и паролей. Разбираемся с интерфейсами и готовим архитектуру к дальнейшему развитию. Без фреймворков, только net/http и стандартная библиотека.
https://habr.com/ru/articles/1011028/
#Go #Golang #безопасность #secret_storage #inmemory #генератор_паролей #rwmutex #вебразработка #бэкенд #бэкендразработка