Почему архитектура важнее выбора стейт-менеджера в React
Когда я только начинал свой путь разработчика мне было интересно изучать новые технологии. Учил все подряд. Все знал. Но что лучше или хуже и уже тем более почему — сказать не мог. Именно об этом — как писать код правильно — я собираюсь сейчас рассказать. И буду это делать через призму выбора стейт-менеджера в React.
Читать далееРазбираемся, зачем Kubernetes нужен Ingress. Чем он отличается от Service и Ingress Controller, как маршрутизировать HTTP-трафик по по доменам и путям к разным приложениям внутри кластера.
Читать далееЧерез дата-инженеров Далее проходят десятки описаний интеграций в совершенно разных форматах, даже в Excel. Формально такая API-документация есть, но пользоваться ей больно, а иногда и вовсе невозможно.
Разбираем, чем «болеют» документации, как сделать понятное руководство со Swagger и без него, посмотрим лучшие практики создания API-документации.
В конце — чек-лист для написания и проверки документации.
Читать далееЯ радуюсь, получая спам, ведь у меня появляется возможность пополнить бюджет страны (откуда берутся деньги на пенсии, больницы, школы, домики для уточек и борьбу с коллективным неофашизмом). Каждое полученное от спамеров сообщение я аккуратно пересылаю в ФАС, предоставляя той возможность пополнить бюджет на сумму до 1 млн. рублей с каждой привлеченной к административной ответственности гнуси. А последнее время я и сам добавляю огорчения спамерам, подавая к ним гражданские иски о компенсации морального вреда.
Читать далееВ предыдущей статье 'Математика, физика и мир: Проблема координации' отмечалось, что физическая теория придает смысл проводимому физическому эксперименту. Теория вводит физические величины и задает концептуальные модели идеального измерительного устройства и идеального эксперимента. В этой статье внимание будет обращено на автономность реальных экспериментов, поскольку эксперименты проводятся в реальном мире и их результаты связаны с поведением реальных устройств. Это позволяет уравновесить взаимоотношения физика-теоретика и физика-экспериментатора.
Уровень экспериментальной физики задает область применения теории, которая определяется проведенными экспериментами и установившейся метрологией. Например, успешность введения стандартизации измерений физической величины свидетельствует о справедливости соответствующей теории физики в области выполненных измерений. Физическая теория, с другой стороны, позволяет предсказать поведение за пределами экспериментальной физики и тем самым она направляет постановку новых экспериментов.
Таким образом, совмещение математического формализма физической теории с экспериментальными исследованиями происходит в ходе определенной исследовательской программы, в которой существуют свои отношения между теорией и экспериментом. Для характеристики этих отношений вводится термин экстраполяционизм, который позволяет при обсуждении практики научных исследований отличить разумный экстраполяционизм от радикального. Эта концепция рассмотрена на примере молекулярно-кинетической теории в 19-м веке. Такая исследовательская программа оказалась успешной, но ее дальнейшее развитие привело к изменению основ этой теории.
Читать далееAS4: подписанный и зашифрованный обмен документами с гос- и корпоративными системами ЕС. Теперь нативный коннектор redb.Route, без Java MSH.
Если искать ...
Читать далееЭта, во многом шуточная, статья навеяна вот этим комментарием в замечательной статье про то, откуда взялись 44100Гц в параметрах CD‑Audio.
Современные печатные платы представляют собой толстый пирог из слоёв меди, разделённых слоями диэлектрика. Кому интересно — вот тут подробнее.
Слои меди в принципе могут быть любыми, но исторически сложилось так, что они, как правило, имеют толщину из ряда 18/35/70/105 и так далее микрон. Медь такой толщины используется в печатных платах вашего мобильного телефона, компьютера, и вообще практически во всех электронных устройствах. В свою очередь, это влияет на параметры микросхем, общую схемотехнику изделий, их компоновку и так далее. Но откуда же появился этот ряд?
Читать далееПривет! Меня зовут Серёжа. Я работаю Java‑разработчиком. В этой статье хочу поделиться своим первым опытом реализации паттерна «outbox».
Решил я это сделать по нескольким причинам:
1. Зафиксировать для себя «на бумаге» архитектурное решение и полученный опыт.
2. Поделиться знаниями и идеями с теми разработчиками, кому только предстоит впервые выполнить похожую задачу.
3. Получить от профессионалов комментарии и замечания по улучшению моего решения.
Итак, давайте начнём!
Посмотреть на реализациюВсем привет! Меня зовут Даниил Николаев и я frontend-разработчик в компании "Исходный Код"
На каждом kickoff нового проекта всплывает один и тот же сценарий: один разработчик топит за утилиты Tailwind, второй отстаивает чистоту и надежность CSS Modules, третий по привычке тянет проверенный CSS-in-JS, а кто-то просто молча открывает .scss и выходит из созвона.
В этой статье мы опустим споры о «красивом синтаксисе» и разберем инженерную сторону вопроса: кто на самом деле платит за динамику — сборка или браузер клиента.
Заглянем под капот ключевым подходам в мире React (для уровня middle и middle+): разберем классические CSS Modules, ушедший в maintenance mode styled-components, Emotion, современный Tailwind v4 на движке Oxide и перспективный zero-runtime (Linaria, Vanilla Extract). Посмотрим, что реально происходит с CSSOM, reflow и рендером в браузере, а в конце — соберем практическую матрицу выбора без фанатизма и хайпа месяца.
Читать далееКлавиатуру для игр часто сдвигают или поворачивают, чтобы освободить место для мыши. Сравниваем обычные клавиатуры и игровые кейпады и рассказываем, как просьба добавить правую половинку к кейкапду привела к появлению асимметричной клавиатуры Space Mission 62
Читать далееСделал для себя ssh-commander: терминал, файловый менеджер, управление Docker и AI-агент в одном окне. Можно работать с сервером руками, а когда нужна помощь, передать вывод агенту или поставить ему задачу. Он сам смотрит файлы и логи, предлагает команды, а изменения выполняет после подтверждения.
Приложение запускается локально через Docker, интерфейс открывается в браузере. К серверам подключается по SSH. Код открыт под MIT, подписки нет. Для агента нужен свой API-ключ; без него ручные инструменты тоже работают.
Читать далееПривет! Меня зовут Дарья, я руковожу продуктом Naumen Project Ruler. Вместе с командой изучаю задачи пользователей и определяю, какие сценарии и возможности продукта нужно развивать, чтобы эти задачи решать.
На статус-митинге руководитель проекта оценил прогресс в 90%, все показатели в зеленой зоне. Команда движется отлично, все по плану. Через месяц все те же 90%. Показатели снова в норме, но почему процент не увеличился? Еще через месяц цифра по-прежнему не меняется. И вот, за две недели до дедлайна статус «краснеет», и выясняется, что до закрытия всех задач нужно не меньше квартала.
Знакомо? Что за магическое число — 90%, откуда оно берется и в какой момент отображает реальное состояние проекта? И в чем тут проблема: РП приукрасил статус, ошибка в планировании либо расчете прогресса? Попытаемся разобраться.
Читать далееВсем привет! 20 сентября я писал здесь про свой агрегатор IT-вакансий: Откликов все больше, ответов все меньше. Что показали 16 000 вакансий в моей базе. Та статья была про данные, парсеры и Postgres. А в комментариях, кроме багов (о них ниже), спрашивали другое. Зачем дублировать hh. Не ханипот ли это для сбора резюме.
Вопросы нормальные, я сам задаю их себе периодически :)
Поэтому эта статья про то, что вокруг кода. Откуда приходят люди, что они делают на сайте и почему с работодателями все сложнее, чем с кандидатами. Абсолютные цифры трафика я не публикую, но все доли и сравнения ниже посчитаны по настоящим данным из базы и Метрики. По ним хорошо видно, какие каналы у проекта работают на текущий момент, а какие нет.
Коротко для тех, кто ту статью не видел. Workaem собирает IT-вакансии с карьерных сайтов компаний, ATS-досок, hh (только бигтех + СНГ вакансии), телеграм-каналов и пары агрегаторов. Склеивает дубли, считает, насколько вакансия живая, и показывает вилку на фоне рынка. Ссылки ведут на оригинал, откликается человек сам.
Читать далееДумал, что автоматизирую линейную цепочку: RSS → сайт издателя → URL → отчёт. RSS оказался простой частью. Сложнее стало доказать, что найденный URL — действительно нужная публикация и уже может считаться результатом. Началась история вообще с того, что клиенты уже платили, пока я продолжал искать их проблему на кастдевах.
Что сломалось?Ошибка линтера стоит пяти минут. Ошибка сканера, который проверяет сайты на соответствие 152-ФЗ, выглядит иначе: «ваш сайт нарушает закон». Если сайт при этом в порядке, а отчёт уже ушёл клиенту, расплачивается чужая репутация.
Мы пишем такой сканер. Отчёт по нему получает не владелец сайта, а веб‑студия, которая ведёт сотню клиентских сайтов, и дальше отдаёт его клиенту под своим логотипом. То есть за нашу выдуманную находку краснеть будет она.
Так что перед запуском мы отложили новые проверки и месяц занимались противоположным: искали, где сканер врёт. Написали три инструмента, которые ищут ошибки в нашем же коде, и прогнали через них полсотни самых неудобных сайтов Рунета. Трижды. Нашлось восемь ловушек. Ни одну из них не увидел клиент — но увидел бы, если бы мы просто запустились.
Все восемь ловушекСразу хочу обозначить рамки — я фронтенд-разработчик и не настраиваю BGP, не поднимаю маршрутизаторы и не работаю у интернет-провайдера (хотя было дело).
Но ограничения IP-адресов так или иначе влияют на мою работу, на архитектуру продуктов, в частности, на UX, антифрод, аналитику и т.п.
Мы привыкли считать, что IP-адреса — это где-то внизу, на сетевом уровне, и к разработчику они не имеют отношения.
На практике именно дефицит IPv4 сформировал тот интернет, в котором мы сейчас живём: интернет с NAT, серыми IP, сложным WebRTC, странными rate-limit и иллюзией, что IP можно использовать, как идентификатор пользователя.
Эта статья — не учебник по IPv6 и не гайд по сетям. Это попытка посмотреть на проблему с другой стороны: почему IPv4 закончился, что мы сделали, чтобы с этим жить, и почему последствия этого решения догоняют фронтенд-разработчиков, даже если они никогда не трогали сетевое оборудование.
Вы когда-нибудь задавались вопросами: почему P2P на самом деле не совсем P2P, почему один IP — это не единственный пользователь, и почему IPv6 вроде бы существует, но в обыденность так и не вошёл? Давайте порассуждаем.
Читать далееПервая спецификация CSS вышла в 1996-м. С тех пор мы примерно тридцать лет старались сделать интерфейсы красивыми: добавляли тенёчки, градиентики, анимации, флексбоксы, гриды. Но что мы получили с приходом LLM? Обратно текст.
Иронично, правда? :)
Представим относительно частый сценарий: вы просите модель «поищи мне наушники в Мегамаркете». Модель бодро пытается постучаться в магазин — и упирается либо в санкционные ограничения, либо в антибот-защиту. В итоге она виновато выдаёт текст: «ну, существуют такие-то наушники, погугли сам, всё будет хорошо», или, в лучшем случае: «вот список ссылок, но я не уверен, что они верные». Спасибо, конечно, но ведь хочется большего. И теперь у нас наконец-то появились инструменты, чтобы это большее дать.
Читать далееПривет, Хабр!
Меня зовут Данила Ильичев, я инженер-аналитик продукта Digital Q.Sensor BI в компании «Диасофт». Недавно я провел вебинар, на котором мы разбирали практический вопрос: как далеко сегодня можно зайти в финансовой аналитике, если отдать часть рутинной работы искусственному интеллекту.
ИИ в финансовой аналитике для нас – это не история про модную технологию, которую нужно куда-нибудь встроить ради факта использования ИИ. В первую очередь это вопрос: какие этапы аналитики можно ускорить с помощью ИИ, сохранив контроль над данными, расчетами и результатом. Одним из ответов стала легковесная платформа Digital Q.Sensor BI.
Читать далееПривет, Хабр! Меня зовут Алексей, и я занимаюсь беспроводными технологиями.
Примерно год назад я написал для Хабра свою первую статью. Она была посвящена новой технологии Wi-Fi-сенсинга. Интересно, что на протяжении всего года эта первая статья напоминала о себе. По просьбе нескольких вузов я и мои коллеги выступили с презентациями и мастер-классами. В Алтайском университете провели несколько семинаров, посвящённых сенсингу. В Томском университете систем управления и радиоэлектроники провели Большую сетевую битву, и, конечно же, Wi-Fi-сенсинг не остался без внимания. А уважаемый @koriyas, будучи студентом СПбГМТУ, с нашей лёгкой подачи выбрал Wi-Fi-сенсинг в качестве темы дипломной работы и успешно прошёл защиту. Мы начали делать НИОКР по Wi-Fi-сенсингу в интересах крупного оператора связи РФ. Общались с множеством людей по поводу производства и внедрения решений сенсинга в широкие массы, но эта технология пока ещё неохотно выходит из лаборатории на рынок. В новой статье я сделаю обзор актуальных научных исследований, посвящённых сенсингу: что происходит в мире в этой области, как развивается технология и почему то волшебство, которое она предлагает, пока ещё не появилось в каждом доме.
Читать далееВ работе с моделями важно не только знать их точность, скорость и цену, но и понимать, где им можно доверять, а где нужна дополнительная проверка. Многие ограничения обнаруживаются уже в процессе интеграции — и о них хотелось бы знать заранее.
Тестирование Jev я проводил прежде всего для себя и команды, но объём данных получился масштабным, и я решил поделиться результатами с сообществом. С 19 по 30 сентября 2026 года было проведено 22 эксперимента и отправлено около 160 тысяч запросов к jev-1.13.0 и контрольным моделям OpenAI. Все тесты запускались через API раннего доступа и суммарно обошлись примерно в $18.
Мне было интересно не столько проверить заявленные скорость и цену, сколько найти границы её практического применения. Насколько она точна по сравнению с небольшими GPT-моделями? Можно ли доверять её confidence и строить на нём автоматический роутинг? Что произойдёт при расширении списка классов, появлении длинного контекста, грязного входа или текста на другом языке? У LLM уже известны свои особенности — например, lost in the middle и склонность уверенно ошибаться. Логично было проверить, есть ли собственный набор таких эффектов у System One модели на примере Jev.
Читать далее