Обновить

Разработка

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

Децентрализованные системы радиосвязи

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

Картинка rawpixel.com, Freepik

В прошлой статье мы затронули очень интересную тему — распределённые хостинги/хранилища данных.

Было бы странно, если бы идея распределённых систем ограничивалась только хранилищами ;-)

Поэтому сегодня мы поговорим ещё об одном интересном направлении, о котором редко говорят — распределённых сетях радиосвязи. Возможно ли это?

Читать далее

Спасаем электронный микроскоп JEOL JEM-6A

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

Жила была компания JEOL. И продавала она на экспорт просвечивающий электронный микроскоп JEM-6A. Жило было предприятие НИИТОП, которое в 1965 году его себе приобрело для разработки оборудования для производства микроэлектроники. К сожалению, предприятие в 2018 году развалилось, но жил был один мужик, который его выкупил себе на дачу... зачем — история умалчивает... рассказать уже некому.

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

Спустя полгода микроскоп моими стараниями наконец-то оказался в фондохранилище… Ура.

Читать далее

Чем заняться в выходные? Как я собрал домашнюю виртуализацию в контейнерах за 34 500 рублей

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

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

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

Читать далее

PEP-734: Субинтерпретаторы в Python 3.14

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

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.

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

Под катом будет про: новые питоновские API для ускорение и паралеллизации ваших програм, про управление памятью, про дублирование данных. Ну и много C кода!

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

Если вам такое интересно или целиком незнакомо – добро пожаловать!

Читать далее

Как я зарегистрировал CVE и разозлил вендора

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

Статьи про багхантинг часто говорят о пользе для резюме, багбаунти, повышении безопасности продуктов, доступе на закрытые мероприятия. Информация о проблемах во взаимодействии с разработчиками в процессе багхантинга упоминается лишь изредка (и часто - вскользь). Но, это тоже важная часть багхантинга: начинающим бахгантерам полезно знать, с какой реакцией разработчиков они могут столкнуться. Всё-таки, это определённая психологическая нагрузка. Я хочу показать на личном примере прекрасную иллюстрацию того, насколько различны в оценке проблемы разработчики и багхантер. Случай уникален тем, что мне удалось задокументировать многие тезисы разработчиков в их первоначальном виде (в т.ч. попытку отозвать CVE). И подсветить важный момент: уже сам факт оформления CVE по проблеме, которую вендор не признаёт, может вызвать раздражение у вендора.

В статье покажу этапы, очень похожие на стадии принятия Кюблер-Росс (отрицание, гнев, торг, депрессия и принятие), которые я наблюдал у разработчиков в процессе нашего с ними общения. Мы пройдём путь от отрицания наличия проблемы, через благодарность за информирование (о проблеме) до негодования в адрес MITRE (и мой адрес, не стесняясь выражений). Помимо оформления CVE, за эту уязвимость я попал в Топ-10 Pentest Award 2025 (№9 Out Of Scope).

Дисклеймер: в статье приведены скриншоты из моих личных переписок с разработчиками. Публикация таких переписок одной из сторон не требует согласия другой (согласно законодательства РФ).

Читать далее

Puter.js: бесплатный бэкенд для сайтов, приложений и игр

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

В 2024 году после трёх лет разработки вышла первая версия Puter OS — «операционной системы для веба». Эта опенсорсная платформа по замыслу напоминает CasaOS, которую мы недавно рассматривали, но есть ряд отличий, и она гораздо интереснее.

Puter OS более ориентирована на разработчиков, предоставляя бэкенд, файловое хранилище, облачные вычисления и доступ к ИИ (GPT-4o, o1, o3, o4, Claude 3.7 Sonnet, Llama, Amazon Polly, and Dall-E) совершенно бесплатно для сторонних приложений и сайтов, если добавить туда библиотеку puter.js.

Конечным пользователям Puter OS предлагает единый интерфейс «операционной системы» с десятками тысяч веб-приложений на виртуальном «рабочем столе» (демо, КДПВ).

Читать далее

Советы новичкам в карьере программиста

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

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

Читать

Как законы механики и математики помогли нам с балансировкой нагрузки в 300K RPS

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

Всем привет! Меня зовут Никита Звонарёв, я работаю в команде Яндекс 360 и занимаюсь разработкой бэкенда Яндекс Мессенджера. В статье я расскажу о том, как устроен наш ключевой сервис Fanout, через который проходят все запросы чатов, и как наша команда шаг за шагом дорабатывала алгоритмы балансировки, чтобы выдерживать сотни тысяч RPS без сбоев и утренних страданий дежурного инженера.

Fanout можно считать сердцем Мессенджера: он отвечает за такие запросы, как «выдать историю сообщений чата», «обработать отправленные сообщения», «посчитать количество непрочитанных сообщений» и тому подобное. Fanout держит большую нагрузку — несколько десятков машин обрабатывают более 300 тысяч RPS. Сервис написан на C++, а его особенность в наличии собственной системы балансировки нагрузки. Долгое время она работала хорошо, но в какой‑то момент команда столкнулась с трудностями — расскажу о том, как мы их разруливали.

Читать далее

Ну, погоди! Как я создал свою версию культовой игры: от схемы до корпуса

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

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

Теперь у меня сформировалось более полное понимание экосистемы разработчиков DIY-устройств, а именно: какими программами можно пользоваться и чёткое понимание этапов разработки.

Заранее хочу предупредить, что разводку на печатной плате я по-прежнему не сделал, а ограничился перфорированной макетной платой. Но чтобы «Ну, погоди!» выглядело более эстетично, поместил её в пластмассовый корпус. Если у вас нет 3D-принтера, то возможен более-менее эстетичный вариант без корпуса — далее в статье я приведу фотографию, как это можно сделать.

Читать далее

Запустили векторный поиск в YDB: рассказываем, как он работает

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

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

Новый релиз СУБД Яндекса делает векторный поиск доступным для всех. Статья под катом написана по мотивам моего доклада на конференции HighLoad++, с которым я выступил 23 июня в Питере. В ней я расскажу про векторный поиск, индекс, RAG и о том, как эти технологии применяются в Алисе.

Читать далее

Почему я отказался внедрять тёмные паттерны и не получил оффер на фронтенд-лида

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

Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик, и сегодня хочу поговорить о вопросах этики в интерфейсах и ценностях в разработке на примере одного моего недавнего собеседования. Это история о том, почему я отказался внедрять тёмные паттерны и не получил оффер на фронтенд-лида.

Читать далее

Вы тоже заказываете платы, компоненты и всячину здесь?

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

Что такое коллективный экспресс (7$/кг) и как его использовать?

Почему с 45$/кг бывает дешевле, чем с 23$/кг?

Как заказать компоненты/всячину с сайтов JLC (jlcfa, lcsc, jlcpcb, …)?

С 1688, Тао бао и других китайских площадок?

Привезти из Европы, США (Маузера, Диджикея и т. д.)?

Где платы с размерами >100х100 мм будут дешевле?

Надеюсь, продуманная навигация по статье и таблицы помогут быстро найти и сравнить полезную информацию.

Читать далее

Пишем простой драйвер Linux для устройства, ничего не зная о драйверах и о USB

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

Пару месяцев назад я купил Nanoleaf Pegboard Desk Dock — последнее слово в технологиях USB-хабов с RGB-светодиодами и крючками для устройств. К сожалению, это чудо инженерной мысли поддерживает только гейминговые операционные системы — Windows и macOS, поэтому возникла необходимость в драйвере для Linux.

В своих постах я уже настраивал Windows VM с пробросом USB и пытался выполнить реверс-инжиниринг официальных драйверов. При этом я задумался, а нельзя ли написать производителю и попросить у него спецификации или документацию его протокола. К моему удивлению, техподдержка Nanoleaf ответила мне всего через четыре часа, предоставив полное описание протокола, используемого Desk Dock, а также полосами RGB-светодиодов. Документация по большей мере подтвердила то, что я обнаружил самостоятельно, но также я нашёл в ней пару других мелких подробностей (например, управление питанием и яркостью), которые были мне неизвестны.

Сегодня мы попробуем написать драйвер на основании протокола (который я изучил реверс-инжинирингом), параллельно сверяясь с официальной документацией. Однако здесь есть одна небольшая проблема: раньше я ни разу не писал драйверов для устройств под Linux, а с USB-устройствами взаимодействовал только как пользователь.

Читать далее

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

Большинству людей плевать на качество софта

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

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

Но у этой деградации есть естественная причина, и она очень простая. Дело в том, что большинству людей по большому счёту наплевать.

Читать далее

Телеграфируем кодом Морзе через Java Stream API (часть 1 из 2)

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

Азбука Морзе — один из самых старых, но не уходящих на заслуженный отдых телекоммуникационных стандартов. Почему бы не объединить ее с Java? Это статья о технологиях, отстоящих друг от друга более чем на полтора столетия. Мы познакомимся с кодом Морзе, с подкапотной частью Java Stream API, и на живом примере соберем все это в одно кроссплатформенное приложение на Java.

Вперед, в прошлое!

Одноплатники как роутеры: новинки 2025 года и их возможности

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

Одноплатные компьютеры все чаще заменяют классические сетевые устройства: они компактные, мощные и гибкие. В 2025 году рынок радует новинками — от бюджетного NanoPi R3S-LTS за 25 $ с HDMI и двумя Gigabit Ethernet до Banana Pi BPI-R4 Pro с Wi-Fi 7 и 10G-портами. Сегодня расскажу, что умеют эти и другие системы, чем они лучше обычных роутеров, какие ОС на них ставят (OpenWrt, Ubuntu) и для чего подходят. Начнем!

Читать далее

Как «по-быстрому» сделанная игра затянула меня в геймдев на 20 лет и какие выводы я из этого сделал

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

Я уже делал серию постов об истории flash-игр (раз, два, три), а сейчас пришла пора рассказать как я сам оказался в этой индустрии.

Ещё после поступления в ИТМО я решил, что не мешало бы поизучать какую-то модную на тот момент технологию, и купил в переходе диск “Самоучитель по Flash MX”. А когда уже сносно программировал - захотелось сделать и свою игру. Писать какие-то аркады было не интересно, и я замахнулся аж на целый авиасимулятор (да, в программе для создания 2D анимаций). Но в целом у меня получилось! Геймплей был ужасен, графика ещё хуже, но были и воздушные бои, и даже миссии по уничтожению наземки. Игра была показана друзьям и заброшена на полку, но через пару месяцев я узнал про Newgrounds - это тогда была самая большая тусовка флешеров, куда все кому не лень выкладывали свои игры и мульты.

Читать далее

От React всё так же веет безумием, но все об этом молчат

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

Недавно работал над хобби-проектом, который описал в другой своей статье. В процессе его реализации у меня возникло желание чиркануть пару абзацев о том, почему React — отстой, но в итоге я не смог удержаться и решил высказаться по полной…

Так что вот она полноценная статья, ещё больше той, из которой она родилась. Здесь я подробно опишу все проблемы React и поясню, почему это может не быть виной разработчиков.

Читать далее

Commodore 64 Ultimate: возрождение легенды в 2025 году

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

Commodore 64 возвращается — в 2025 году выходит новая версия легендарного домашнего компьютера. Модель под названием Commodore 64 Ultimate — не просто ретро-гаджет, а современное переиздание с поддержкой оригинальных картриджей, джойстиков и игр, плюс удобства вроде Wi‑Fi, HDMI и механической клавиатуры с подсветкой. На нём можно запустить классику вроде The Last Ninja, играть на старом джойстике или загружать тайтлы с флешки. В статье расскажу, чем интересна новая модель и что она умеет.

Читать далее

Как в РФ разрабатывали уникальный судовой радар ближней зоны в диапазоне 76 ГГц

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

Этот пост — не про финальный продукт, а про инженерную задачу, которую ранее никто в России (и никто в мире) не решал. Работы над судовым радаром ближней зоны СИД360-76 начались в 2021 году — а первый прототип заработал в лаборатории уже в 2022 и в этом же году был уже временно установлен для тестов на судне. Поводом стал запрос от оператора ледокольного флота: при проводке судов во льдах ледоколы вплотную подходят к борту сопровождаемого судна. В такой ситуации «слепая зона» обычных радаров становится критически опасной. Нужно было решение, которое «видит» препятствия буквально в нескольких метрах от борта и позволит избежать ситуации с наваливанием судов друг на друга.

Читать далее
12 ...
50