Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Мой первый KitRover: попытка сделать машинку с управлением по сети (часть 3)

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели9.7K

Теперь можно управлять машинкой в пределах комнаты, но для выезда за её пределы, хотелось видеть, куда движется устройство на экране. Чем я и начал заниматься дальше.

Читать далее

Tool‑calling против галлюцинаций: агент для 1С, который сначала читает вашу базу, потом пишет код

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8.4K

Вайб‑кодинг захватывает разработку везде, кроме одного места — 1С. Универсальные ассистенты здесь просто не работают: они не видят вашу конфигурацию. Показываю агента, который эту проблему закрыл — и что вайб‑кодинг для 1С уже наступил, а не когда‑нибудь потом.

Читать далее

Популяризаторство средневековой музыки и книга «Код» виндусоведа Чарльза Петзольда

Время на прочтение3 мин
Охват и читатели12K

Неделя соцсетей прошла под спорами о популяризаторше средневековой музыки с помощью выдуманных баек о ней. Но надо сказать что популяризатор, который создает ошибочную картину мира у широких масс — это не такое редкое явление. Иногда в это оказываются вовлечены большие корпорации, например Микрософт. Я конечно же говорю про изданную Микрософтом книгу Чарльза Петзольда «Код».

Читать далее

1C Extension Checker 2.0: как проверить расширения после обновления 1С до того, как ошибки найдут пользователи

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.8K

Обновление конфигурации 1С редко заканчивается самой установкой новой версии. Если в базе используются расширения, внешние обработки и интеграционные модули, после обновления остаётся главный вопрос: продолжат ли они работать с изменившейся конфигурацией?

Обычная проверка конфигурации отвечает на него лишь частично. Расширение может подключаться без явной ошибки, но падать при открытии конкретной формы, обращении к переименованному общему модулю или выполнении кода, который не был вызван во время проверки. В результате проблема обнаруживается уже в рабочей базе — бухгалтером, менеджером или кладовщиком.

Для предварительной проверки таких ситуаций мы разработали 1C Extension Checker 2.0 — самостоятельную внешнюю обработку, которая помогает проверить подключённые расширения и зафиксировать обнаруженные проблемы в едином протоколе.

Читать далее

Одно кривое правило — и алертинг лёг всем тенантам: анатомия отказа vmalert в мультитенантной платформе

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.1K

Я строю мультитенантную платформу мониторинга на стеке VictoriaMetrics + Grafana + vmalert: у каждого клиента — изолированный tenant в хранилище и собственный набор правил алертинга, которые он редактирует через личный кабинет. Расскажу про два сцепленных инцидента, которые изменили моё понимание изоляции тенантов, — с конкретными числами, конфигами и кодом фиксов. Спойлер: изолировать данные — этого мало.

Читать далее

Как интеграционная платформа (ESB) превращает цифровую имитацию в реальную трансформацию

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.2K

Почему без интеграции ИТ‑систем все усилия по цифровизации умножаются на ноль.

В статье разберём четыре подхода, которые компании выбирают, когда доходит до интеграций ИТ‑систем: классические «точка‑точка» (они же «спагетти‑код»), брокеры сообщений вроде Kafka и RabbitMQ, Open Source‑решения и готовые ESB‑платформы. Посмотрим на примерах, как каждый из них работает в бою, какие грабли ждут на каждом пути, и почему «бесплатно» на входе часто оборачивается очень дорогим сопровождением.

Поговорим про вечные костыли, про боль, с которой знаком каждый ИТ‑директор, и про то, как нормальная интеграционная платформа превращает команду из пожарной бригады в архитекторов, а не в вечных тушильщиков пожаров.

Разберём на примерах, как каждый подход работает в реальной жизни, какие у него плюсы и минусы, и почему «бесплатные» варианты часто обходятся дороже.

Читать далее

Пишем свой React: Fiber, хуки и рендеринг под капотом

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели8.9K

Каждый день мы пишем JSX, используем хуки и стараемся не нарушать их строгие правила. Но как вся эта «магия» работает под капотом? Почему условный рендер ломает useState, а индексы массива в key приводят к багам? Зачем React перешел на архитектуру Fiber и как алгоритм обходит дерево элементов, не блокируя браузер?

Чтобы перестать воспринимать React как черный ящик, лучший способ — написать его с нуля.

В этой статье мы шаг за шагом воссоздадим собственный движок React. Мы реализуем функцию createElement, разберем Fiber-архитектуру с асинхронным рендерингом, напишем алгоритм Reconciliation и создадим систему хуков, разобравшись в логике их работы.

Читать далее

Полмиллиона словоформ для ингушского языка, у которого не было ни анализатора, ни корпуса

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели10K

У ингушского глагола «деша» на нашей карточке 98 форм — от инфинитива до уступительного перфекта отрицательного, а всего по словарю их вышло полмиллиона. Строить пришлось с нуля: ни морфоанализатора, ни размеченного корпуса для языка не существовало, а учебники спорят друг с другом даже о числе спряжений.

Рассказываю, как каждая форма отвечала на главный вопрос — «а ты вообще существуешь?» — и почему половина работы оказалась не про морфологию, а про эпистемологию.

Разобраться, существует ли форма

Автономное ПО для велокомпьютера

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.9K

Несколько лет назад я стал обладателем отличного велокомпьютера CYCPLUS M1. За свою скромную стоимость он предлагал возможность писать GPS трек и подключить кучу датчиков. Велосипедист я со стажем, и у меня еще не стерлись воспоминания как я прикручивал магнитики к спицам и вымерял расстояние до геркона, для того чтобы заработал велокомпьютер, который умел только измерять скорость расстояние. На фоне этих воспоминаний, то что обещал данный прибор выгладило как волшебство.

Читать далее

«Первое» устройство BlackBerry: уникальный КПК с x86-процессором от Intel. Изучаем диковинку

Время на прочтение8 мин
Охват и читатели15K

Мои давние читатели знают, что я большой фанат устройств от Blackberry. В 2023 году я ходил с Passport как с основным смартфоном (и даже написал об этом статью), в 2024 использовал Priv, а в 2025'ом активно пользовался Unihertz Titan как единственной доступной альтернативой легендарным ежевичным устройствам. Однако немногие знают, что поначалу компания выпускала не смартфоны, а КПК и пейджеры — и в техническом плане они были уникальными.

Сегодня мы с вами узнаем, что же скрывается внутри BlackBerry 957, изучим компонентную базу и схемотехнику и узнаем, для чего там нужен самый настоящий Intel i386!

Читать далее

AutoAddPolicy — это не удобство. Это выключенная проверка

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.9K

У меня в проекте было четырнадцать копий одного IP‑адреса. По одной в каждом скрипте, который ходит на боевой сервер: деплой, перезапуск сервиса, правка DNS, диагностика почты. Классический копипаст, который живёт до первого переезда.

Переезд случился. Адрес поменялся. Четырнадцать скриптов стали указывать в никуда.

Дальше начинается то, ради чего я это пишу.

Читать далее

Уникальный отпечаток — плохой отпечаток: почему антифрод считает не уникальность, а согласованность

Время на прочтение8 мин
Охват и читатели8.3K

Вокруг браузерных отпечатков сложилось устойчивое заблуждение, которое кочует из статьи в статью. Звучит оно примерно так: чем уникальнее отпечаток, тем труднее связать сессии между собой, значит, надо максимально рандомизировать параметры.

Логика выглядит убедительно ровно до того момента, пока не посмотришь, что именно считает принимающая сторона. Антифрод почти никогда не спрашивает «встречался ли нам раньше такой набор параметров». Он спрашивает другое: «бывают ли вообще такие устройства». Это два разных вопроса, и ответы на них расходятся в противоположные стороны.

Разберу, откуда берётся расхождение, покажу, как оно считается, и почему рандомизация параметров чаще ухудшает результат, чем улучшает.

Читать далее

Как дотащить вайбкод в прод и не упасть

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.4K

Нам передали уже работающий сервис голосовых ИИ‑интервью со словами: «Надо только дотащить до прода». Внутри не было логирования, метрик и воспроизводимых тестов. Рассказываю, как работа с задержками и детектором голосовой активности постепенно превратила готовое демо в инженерный продукт.

Читать далее

Ближайшие события

Браузерная 3D-игра в одиночку. Часть 1

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели8.2K

Разработка 3D-игры в одиночку.

Первая часть - про то, как прототип из серых кубиков превращался во что-то похожее на игру: камень, текстуры, опущенная камера и отказ от квадратной сетки, из-за которого уровень стал ощущаться крупнее. Со скриншотами на каждом шаге.

Читать далее

Луна — сложная цель

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели20K

Кратер Шеклтон — потенциальное место высадки человечества на Луну

Привет, не удивляйтесь — RUVDS не откопала автора после анабиоза — это Александр Баулин, и на Habr уже немало моих статей по космическим и научным темам. Но там, где прошёл Ализар со статьёй о Лунной гонке, делать уже нечего, поэтому с планов человечества по Луне я переключился на оценку рисков Лунных программ США и Китая. Благо, что событий накопилось предостаточно. Конечно, обсудим, как изменились шансы России в связи с задержками в программе двух лидеров забега на лоно Суровой хозяйки.

23 августа стало известно, что китайская миссия «Чанъэ-7» отложена на следующий год. А ведь она должна была первой разведать рельеф и «атмосферу» в районе кратера Шеклтон — вероятного места высадки людей на Луне. Ранее взрыв ракеты разнёс единственный стартовый комплекс американской компании Blue Origin. Мне кажется, что появившиеся проблемы и переносы — верный признак, что гонка началась. Компании перешли от бумажных планов к железным решениям, а в реальной жизни редко что удаётся с первого раза. Какой сейчас расклад в Лунной гонке?

Читать далее

GhostBusters — райтап простой машины от платформы Aclabs.pro

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9K

Данный таск был частью 7 сезона CTF, который проводился на платформе aclabs.pro. Любителям фильма «Охотники за приведениями» рекомендую ознакомиться. Это необычная тачка с двумя флагами user и root. В центре внимания будет уязвимость в вебчике движка ghost cms, а вот флаги, вот здесь интереснее. Были случаи, когда участники брали рута, но не смогли найти ни одного флага. Поэтому считаю эту машину крайне инетресной.

Читать далее

Чтение на выходные: «Разумный инвестор» Бенджамина Грэма

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели10K

Американский экономист и профессиональный инвестор Бенджамин Грэм не был обладателем огромного состояния, но его советы помогают людям зарабатывать миллиарды долларов. Так Грэм достиг своей жизненной цели — «каждый день создавать что-то новое и проявлять великодушие». Его ученик, Уоррен Баффет, занявший пятую позицию в рейтинге самых богатых людей мира по версии Forbes, назвал Бенджамина одним из тех, кто «сажает деревья, в тени которых будут отдыхать другие люди».

Читать далее

Как не подарить полный продукт вузу, заводу без интернета и торренту

Время на прочтение5 мин
Охват и читатели8.2K

Для примера будем использовать наш продукт для просмотра топологии и верификации(EDA) и расскажем, как мы построили его лицензирование.

Каждый коммерческий продукт рано или поздно упирается в один вопрос: кому именно вы продаёте право пользоваться программой.

Если заказчиков несколько десятков крупных предприятий, всё относительно просто. Есть договор, количество рабочих мест, менеджеры с обеих сторон и ежегодное продление.

Но если продукт одновременно нужен заводам, университетам, небольшим компаниям и стартапам, модель меняется. Это уже не десять клиентов, а сотни или тысячи машин: учебные лицензии, trial, временные ключи, один ноутбук на нескольких сотрудников.

В этот момент плохо работает модель «один бинарь и проверка лицензии есть или нет».

Читать далее

«Я знаю, что ты не знаешь»: три задачи о спрятанном призе

Время на прочтение3 мин
Охват и читатели9.8K

Подарочная коробка

Алиса пригласила к себе домой своих подруг Кэролайн и Сьюзен и поставила перед ними на стол несколько коробок. Все они обладают безупречной логикой.

Алиса говорит подругам, что положила подарок в одну из коробок. Кэролайн она по секрету сообщила цвет этой коробки, а Сьюзен - её размер. При этом обеим известно, что каждая из них знает именно такую информацию, и это является общим знанием. После этого происходит следующий разговор.

Кэролайн: Я не знаю, в какой коробке находится подарок, и кроме того, я знаю, что Сьюзен тоже этого не знает.

Сьюзен: Ещё до того, как ты это сказала, я уже знала, что ты не знаешь, в какой коробке находится подарок.

Кэролайн: А, теперь, после твоих слов, я вдруг поняла, в какой коробке должен находиться подарок.

В какой коробке находится подарок? После этого разговора знает ли Сьюзен, в какой коробке находится подарок? Если да, то кто пришёл к этому знанию раньше - Кэролайн или Сьюзен?

Читать далее

Шесть миллиардов прогонов ради одной галочки: как устроено ревью научного софта на GitHub

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K

Последние месяцы я рецензирую научный софт для JOSS, Journal of Open Source Software. Это настоящий рецензируемый журнал с редколлегией, только статья в нём короткая, около тысячи слов, а главный объект ревью - репозиторий с кодом. Ревью идёт в публичном GitHub-треде под именем рецензента, и весь процесс от заявки до вердикта открыт любому желающему. Я инженер, не учёный: ни PhD, ни публикационного списка у меня нет.

Читать далее