Обновить

Все потоки

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

Как создать систему backend-тестов на Golang

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

Привет, Хабр! Меня зовут Александр Кувакин, я backend-инженер в команде Engineering Excellence в Авито. В этой статье разберём, как backend-разработчикам выстраивать систему тестов на бэкенде и разберём основные проблемы. Речь пойдет прежде всего о тестах, которые проверяют бизнес-логику.

Читать далее

SPQR — наше опенсорс-решение для горизонтального масштабирования Postgres

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

В современных реалиях объёмы данных постоянно растут и появляются всё более жёсткие требования к производительности. Тут традиционный PostgreSQL сталкивается с фундаментальной проблемой: отсутствие нативной поддержки горизонтального масштабирования. 

Сегодня мы, команда платформы данных в Yandex Cloud, хотим рассказать о SPQR — нашем опенсорс‑инструменте, который который создавался как ответ на боль шардирования и эксплуатации крупных OLTP‑систем. Под катом — история о том, что стало отправной точкой для его создания, какие задачи он помогает решать, на чём основано наше решение и что помогает ему быть довольно простым в эксплуатации.

Читать далее

Как китайцы убили x86, ARM и создали своё — детектив в Восточном экспрессе

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

Привет, постоянные и не очень читатели!

Пора вернуться к моим любимым архитектурам, процессорам, техпроцессам и всему причастному. Это седьмой и САМЫЙ масштабный материал из цикла (и, вероятно, во всём Рунете) про китайские ISA, микроархитектуры и микроэлектронику.

Что было раньше:

Part I: Скандальное разоблачение x86: ARM врывается с двух ног (58K, +61, 160 комментариев)

Part II: Этой индустрии нужен новый герой: ARM врывается с двух ног 

Part III: Китайский киднэппинг: похищение дочки 

Part IV: RISC‑V — звезда родилась: x86 не у дел, ARM сломала две ноги (67K, +64, 207 комментариев)

Part V: Смерть GPU/CPU на транзисторах — архитектура квантовых компьютеров

Part VI: У VLIW длиннее x86: Itanium в шаге от величества, Эльбрус — подержите моё пиво, тайны PS2 

Part VII: Как китайцы убили x86, ARM и создали своё — детектив в Восточном экспрессе ← ВЫ ЗДЕСЬ

Part VIII — ██████████████.

В этом лонгриде я расскажу вам всё о серверных процессорах из Поднебесной на всех ключевых архитектурах: ARM (Huawei), x86 (Zhaoxin), RISC-V (T-Head) и LoongArch (Loongson). Будет и про строящиеся мегафабрики Huawei, и про создание независимой ISA (как наш Эльбрус, но с конкурентными продуктами и производством), и про китайские лицензированные x86-процессоры, и про многое другое.

Бонусом в каждом разделе распишу интересные факты про иероглифы в названиях компаний и их продуктах (символизм в китайской культуре). Например, вы узнаете, как компания Медоед куёт свои процессоры из легендарной стали (образно), чтобы бесстрашно сражаться с западными техногигантами (буквально). И это не шутка, а оммаж на мемы про медоедов.

Дамы и господа — Восточный экспресс готов к посадке. Пожалуйста, позвольте стюарду проводить вас к личному купе.

Дропдаун

Retro68: если вам скучно жить на свете

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

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

Видимо по этой причине, одним мрачным осенним днем мне захотелось создать графическое приложение на современном C++ под.. классический Mac из 90х.

Читать далее

Гречневая нейронка. Попытка закрыть национальный гештальт

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

Детекция мусора в гречке с помощью нейросети YOLO8n + попытки в real-time детекцию (Docker + FastApi, Gradio, TensorFlow Lite) + предложение добавить такую фичу в приложения продуктовых магазинов. За результатами приглашаю в статью.

Читать далее

От пет-проекта до продажи бизнеса: мой опыт внедрения ИИ агентов и автоматизации на n8n

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

История о том, как один грамотно настроенный воркфлоу на n8n может стоить дороже команды разработчиков. Рассказываю честно: как я продал своего чат-бота по цене взноса за квартиру в Москве и почему рынок автоматизации сейчас перегрет запросами. Разбор кейсов: «оживление» лидов за 5 минут, работа с API OpenAI и интеграция ИИ агентов в реальный сектор (на примере продажи элитных собак). В конце делюсь лайфхаками и ресурсами, которые помогли мне обучить этому 700+ человек.

Читать далее

Боты ищут путь: почему NPC за рулем машин в GTA такие неадекватные

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

Обожаю игры серии GTA (все, кроме четвертой части). Я бы даже сказал, что многое в них прекрасно: разнообразие сюжетных миссий, выбор транспорта, классные диалоги, тонкая ирония, саркастичный юмор, высмеивание проблем общества, свобода действий, возможность устроить локальный апокалипсис. Однако все это портит поведение ботов-водителей, которые словно намеренно бросаются наперерез игроку, чтобы усложнить ему жизнь. Но так ли это? Действительно ли поведение NPC на дорогах GTA заскриптовано так, чтобы мешать геймерам? Прошу под кат — в поисках правды будем подглядывать за ботами и залезать туда, куда Рокстары не хотят нас пускать.

Посмотреть путь бота

Одноразовые вейпы: как из-за общества потребления тысячи полезных компонентов отправляются в мусорку?

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

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

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

Читать далее

Как может быть разрешим парадокс слабого молодого Солнца

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

Ранее я не раз затрагивал на Хабре тему древнего марсианского климата, и эта тема пришлась сообществу по вкусу. Считаю, что наиболее интересными получились статьи «Удушливые озёра гесперийского периода. Модели углекислотной гидросферы Марса» (+57), «Последнее лето Марса» (+60) и «Когда Олимп был островом» (+37). Определённо, вам доводилось читать, что рельеф и осадочные породы Марса, к настоящему времени изученные роверами в разных регионах планеты, указывают, что ранее климат на этой планете был значительно более тёплым и влажным, чем сегодня.

Однако ни эти данные, ни экстраполяция условий земной биосферы на два-три миллиарда лет назад, когда на нашей планете формировалась аэробная жизнь, не согласуются с другой фундаментальной астрофизической моделью. Дело в том, что, согласно современным представлениям, древнее Солнце было гораздо более тусклым, чем современное, поскольку термоядерные реакции в нашей звезде активизировались постепенно. Поэтому свежесобранные Земля, и Марс, сформировавшиеся из планетезималей, должны были получать гораздо меньше света и тепла, чем сегодня — что не согласуется с геологическими данными о земном палеоклимате.

Это несоответствие, впервые отмеченное в середине 1970-х, великий астроном Карл Саган сформулировал как «Парадокс слабого молодого Солнца» (Faint Young Sun Paradox). Под катом будет подробнее разобран данный парадокс, а также проанализированы некоторые версии, призванные его объяснить.

Читать далее

Что наша жизнь? Игра! Основы геймификации и её применения в продукте

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

Признавайтесь, уже собрали свой daily streak в Duolingo? Если нет, то вы точно знаете хотя бы одного человека, который делает это регулярно, ведь MAU Duolingo 130млн человек.

Что заставляет пользователей заходить в это приложение каждый день на протяжении многих месяцев, а то и лет? Скорее всего это не просто сила воли и не желание выучить английский. Это — магия геймификации.

Читать далее

Как мы учили кассу самообслуживания в столовой отличать борщ от свекольника

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

Хочу рассказать о том, как мы разрабатывали и внедряли кассы самообслуживания для столовых и фудкортов. Под катом:

Почему распознавать еду сложно (но можно). Где мы ожидали получить проблемы, и где они были на самом деле. Почему не нужно помогать кассиру делать свою работу. Сколько котлет нужно сфоткать для уверенного распознавания. Бунт кассиров, бессмысленный и беспощадный. Какие проблемы создает товароведу касса самообслуживания.

Читать далее

Безопасность маленьких проектов

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

Привет, Хабр! Я заметила, что в стартап-культуре и среди небольших команд бытует миф: «Мы слишком малы, чтобы нас атаковали». Я считаю, что сейчас это одно из опаснейших заблуждений, поэтому и решила написать статью, чтобы поделиться своими мыслями и некоторыми знаниями на эту тему.

Читать далее

Собираем OpenWRT прошивку и ImageBuilder для нестандартного оборудования на основе dts

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

Привет Хабр! Меня зовут Алексей и я занимаюсь беспроводными технологиями. Не так давно я рассказывал, как собрать прошивку OpenWRT без image builder. В этой статье мы повысим планку и попробуем собрать и прошивку, и image builder для модели роутера с частичной поддержкой OpenWRT. Под частичной поддержкой я понимаю то, что для данной конкретной модели роутера поддержки нет, но она есть для платформы. Экспериментировать я буду с реальным устройством - это Wi-Fi 7 роутер, полученный от китайского производителя. Вместе с роутером производитель предоставил нам необходимую документацию и DTS файл. Заранее хочу предупредить, что производитель просил не раскрывать название модели и не тиражировать его DTS файл. Поэтому часть информации на скриншотах я заблюрирую.

Читать далее

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

Барьеры в развитии команды

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

Привет, Хабр. Меня зовут Алексей Бруевич, и я руковожу продуктовой разработкой Почты Mail. Хочу поделиться своим опытом и наблюдениями о том, с какими барьерами сталкиваются руководители в рамках своей работы. Я управляю командами уже больше 7 лет, и за это время собрал большой опыт и «зоопарк» проблем руководителей, когда заходит вопрос о развитии команды. Считаю, что материал будет полезен всем, кто задумывается о развитии команды и себя. 

Читать далее

Создаем свои компоненты для ESPHome на примере датчика света и приближения (AP3216)

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

ESPHome позволяет создавать программы для микроконтроллеров (ESP32, ESP8266 и т. д.) посредством написания YAML файлов. Это значительно упрощает и ускоряет разработку. Внешние компоненты (external components) разрабатываются с использованием С/С++ и Python и могут быть использованы повторно, по аналогии с библиотеками. Внешние компоненты могут разрабатываться для сенсоров, кнопок, GUI-компонентов и т.д.; подключаться локально или из удаленных репозиториев.

В статье я покажу как создавать внешние компоненты и повторно их использовать на примере AP3216 (датчика света и приближения).

Читать далее

Node.js и Rust: высокопроизводительные Native Add-ons с помощью NAPI-RS

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

Привет, Хабр!

Сегодня я расскажу, как подружить Node.js с Rust и создать нативный модуль с помощью библиотеки NAPI-RS. Если вы вообще писали расширения для Node.js на C++ через N-API или node-gyp, то знаете, какое это удовольствие, точнее, не удовольствие вовсе.

Постоянная суета с указателями, утечками памяти и тонкостями ABI. Rust приходит на помощь как свежий бриз: безопасная работа с памятью, высокое быстродействие и довольно простой синтаксис по сравнению с C++.

Читать далее

Локальные нейросети для бизнеса: как сэкономить время и деньги с Mac Mini и GPT-OSS-20B

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

Привет! Меня зовут Максим Морозов, я AI project manager в Битрикс24.

В эпоху тотальной цифровизации даже малому бизнесу необходимо использовать искусственный интеллект — анализировать отзывы, автоматизировать рутину или создавать чат-ботов. Но облачные API (OpenAI, Claude) обходятся дорого, и не все готовы передавать данные третьим лицам из-за требований конфиденциальности. Решение? Локальные нейросети на собственном «железе».

Читать далее

«Кривые руки» или новый уровень DPI? Разбор выходных блокировок XRay и VLESS

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

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

Читать далее

Никлаус Вирт и язык Pascal — легенды 80-х

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

В 1970 году молодой швейцарский учёный и программист Никлаус Вирт (Niklaus Wirth) выпустил первую версию Pascal. Прошло более полувека, автор умер в 89 лет, а вот Паскаль остаётся актуальным и популярным языком программирования.

Читать далее

Недельный геймдев: #253 — 23 ноября, 2025

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

Из новостей: Blender 5.0, разработчик Megabonk отказался от номинации на The Game Awards, Unity и Epic Games объявили о сотрудничестве, Microsoft выложила исходники серии Zork.

Из интересностей: устная история Shadow of the Colossus, как в Quake.exe появился стек TCP/IP, интерактивное руководство по Tweens в Godot.

Читать далее