Обновить

Разработка

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

Когда важна каждая миллисекунда: оптимизация съёмки для CV и AR

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

2ГИС Ситискан — это мобильное приложение для автоматизированной съёмки городской среды. Оно устанавливается на смартфон, закреплённый в автомобиле, и во время движения делает снимки, собирает координаты, скорость и другие параметры. Эти данные обрабатываются с помощью ИИ, чтобы находить проблемы в инфраструктуре: ямы, мусор, повреждённые объекты и другое.

Одна из ключевых задач приложения — снимать изображения с высокой частотой, особенно при объездах сложных участков. Но на практике оказалось, что стандартный метод съёмки takePicture во Flutter может занимать до 3 секунд на один кадр. Это делает невозможной съёмку даже 1 кадра в секунду, не говоря уже о 4 кадрах, которые нам нужны для точного анализа.

В этой статье мы — Руслан Цицер и Арген Жукеев @zhukeev— расскажем, как исследовали узкие места, перепробовали разные подходы — от RepaintBoundary до нативной обработки на C и Java — и в итоге добились стабильной съёмки с минимальной задержкой. Наш кейс будет полезен Flutter-разработчикам, которым необходима высокая частота съёмки (до 4 fps и выше) для своих приложений и инженерам в области компьютерного зрения и машинного обучения или разработчики AR/VR-решений на Flutter, где важны каждая миллисекунда и каждый пиксель.

Читать далее

Вспомнить всё: как устроены ассоциативные памяти в СнК

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

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

Читать далее

Cursor — джун или сеньор? Какой грейд у ИИ

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

Cursor сделали программисты для программистов. Это не очередной чат-бот, это полноценная среда разработки. Он очень неплохо интегрирован с возможностями больших языковых моделей. 

Но насколько он хорош? Сможет ли сочинить симфонию, написать картину… то есть, конечно, сможет ли заменить живого разработчика? Мы его потыкали, протестировали и теперь хотим рассказать, на какой грейд он мог бы рассчитывать в российской ИТ-компании

Читать дальше

Как использовать Clickhouse без боли

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.1K

ClickHouse — одна из самых популярных систем для анализа данных. По информации TheirStack, этот инструмент использует более 3 700 компаний по всему миру. 

У ClickHouse быстрая аналитика, эффективное сжатие и отличное масштабирование. Но у системы есть и недостатки — ограниченная поддержка UPDATE и DELETE, а также сложная миграция.

Привет, Хабр! Меня зовут Михаил Филимонов, я руковожу разработкой хранилища данных в группе Магнит OMNI. В этой статье я расскажу о проблемах работы с ClickHouse, как их решать и какие инструменты для этого потребуются. 

Читать далее

Как мы строим сеть RUTUBE

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров21K

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

В этой статье на примере эволюции сети RUTUBE разберём: с чего начинать ревизию legacy-сети; какие оптимизации помогут пережить резкий рост нагрузки и выиграть время для масштабного обновления; и наконец, что учесть при проектировании новой современной сети, подходящей для актуальных архитектурных подходов и стека технологий. 

Читать далее

Зачем я решил научить Statuser следить за DNS — и что из этого вышло

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

Мы привыкли считать, что если сервер доступен и SSL в порядке — значит, всё под контролем. Но иногда сбой происходит раньше, ещё до того, как запрос дошёл до сервера.

Меня зовут Михаил Шпаков, я создаю и развиваю сервис мониторинга Statuser.

Недавно я общался с руководителем IT-отдела одной компании, которая использует Statuser для мониторинга своих сервисов. Он поделился интересным кейсом: несколько часов подряд у них перестала отправляться почта с корпоративного домена. Сайт работал, сервер был доступен, SSL-сертификат в порядке — всё зелёное, а письма не уходят. Проблема выглядела случайной: часть писем доставлялась, часть возвращалась с ошибкой, а из-за этого срывались заказы и возникали прямые убытки.

Когда их команда начала разбираться, выяснилось, что недавно один из сотрудников сменил почтового провайдера и добавил новые MX-записи в DNS, но старые при этом не удалил. В результате часть писем уходила на старый сервер, который уже не принимал почту, а часть — на новый. Снаружи всё выглядело исправно, но на деле домен был «раздвоен» между двумя почтовыми системами.

После этого разговора я понял, что в Statuser не хватает отдельного типа мониторинга — контроля DNS-записей. HTTP, SSL и Ping могут быть зелёными, но если в DNS остались старые MX, сервис уже фактически неисправен.

Так в Statuser появился новый тип мониторинга — проверки DNS, который помогает замечать изменения, подмены и ошибки в зонах ещё до того, как они превращаются в простои и убытки.

Читать далее

Паттерны ООП, так не издевались даже… Структурные шаблоны с примерами на Java

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

Привет! Меня зовут Бромбин Андрей. В этой статье разберём структурные паттерны ООП. Используя примеры на Java и простые метафоры, поймём природу шаблонов: как они работают, зачем нужны и чего требуют от нас взамен. Почему дизайн называют удачным при использовании паттернов по назначению, и почему так бывает не всегда.

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

Шаблонизироваться

Анализ смарт-контрактов на примере Solidity

Время на прочтение18 мин
Количество просмотров1.9K

Блокчейн-индустрия переживает период беспрецедентного роста, при этом общая стоимость заблокированных активов (Total Value Locked, TVL) в децентрализованных финансовых протоколах превышает 200 миллиардов долларов по состоянию на 2024 год. Вместе с ростом экосистемы растет и количество инцидентов безопасности, связанных с уязвимостями в смарт-контрактах. Согласно отчету Chainalysis, только в 2023 году потери от хакерских атак на DeFi-протоколы составили более 3.7 миллиардов долларов. История блокчейн-индустрии изобилует громкими случаями эксплуатации уязвимостей смарт-контрактов.

Я Радда Юрьева, работаю в команде AppSec и вместе с коллегами из отдела Web3 исследую вопросы безопасности смарт-контрактов. В этой статье хочу поделиться нашим опытом анализа уязвимостей Solidity-кода и рассказать, какие подходы помогают находить и предотвращать ошибки на ранних этапах разработки Solidity-контрактов.

Читать далее

Архитектура Netflix Tudum: от CQRS с Kafka к CQRS с RAW Hollow

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

Tudum.com — фан-портал Netflix с более чем 20 млн MAU, где скорость публикации и персонализации упирается в архитектуру. В статье — путь от «классического» CQRS с Kafka и read-store к узкому месту предпросмотров, а затем — к RAW Hollow: in-memory состоянию с сжатием и read-after-write на требовательных запросах. Разбираем, как отказ от Page Data/KV и I/O на горячем пути упростил контур чтения и дал прирост производительности, какие компромиссы это привнесло и почему такой подход срабатывает для контента, меняющегося не каждую секунду.

Читать далее

Чтобы сварить годный ISO, нужен всего лишь простой…

Время на прочтение8 мин
Количество просмотров2.6K

Прежде чем приступить к готовке настоящей Системы управления информационной безопасности (СУИБ) по ISO/IEC 27001:2022, важно осознать масштаб: у нас в хозяйстве Яндекс 360 множество сервисов с уникальным вкусом и историей, каждый из которых требует бережного подхода и особой организации защиты.

Стандартизация для нас — способ не «пересолить» сложность и хаос: и мы выбрали ISO как универсальное мерило баланса. Наш главный секрет: процессы изначально проектируются по стандарту ISO, а по мере расширения области действия сертификации новые сервисы — Диск, Мессенджер, Телемост, Календарь — поступают на общий дегустационный стол сертификации и достойно занимают своё место в большом ИБ‑меню.

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

Читать далее

Большое сравнение архитектур LLM

Уровень сложностиСложный
Время на прочтение33 мин
Количество просмотров17K

Это перевод классной статьи с детальным обзором архитектур главных опенсорсных LLM: очень структурировано, доходчиво и с изумительными картиночками. И такой обзор просто обязан быть на русском языке. Поговорим про DeepSeek V3/R1, OLMo 2, Gemma 3, Mistral Small 3.1, Llama 4, Qwen3, SmolLM3, Kimi K2, GPT-OSS, Grok 2.5, GLM-4.5, Qwen3-Next.

Ну а дальше слово автору:

Прошло семь лет с момента разработки оригинальной архитектуры GPT. На первый взгляд, оглядываясь назад на GPT-2 (2019) и вперед на DeepSeek-V3 и Llama 4 (2024-2025), можно удивиться тому, насколько структурно похожими остаются эти модели.

Однако я считаю, что все еще есть большая ценность в изучении структурных изменений самих архитектур, чтобы увидеть, чем занимаются разработчики LLM в 2025 году.

Читать далее

Розыгрыш стула, похищение прав: что нашел пентестер в пет-проекте

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров7.1K

Если вы начинающий разработчик и создаете свой пет-проект, легко увлечься бэкендом и фронтендом, а на ИБ сил уже не останется. Даже если проект совсем небольшой и там, казалось бы, защищать-то особо нечего, злоумышленники всегда найдут дыры в безопасности. Взломать незащищенный сайт или приложение легче, чем кажется.

Привет! Меня зовут Наташа Баранова, я младший специалист по анализу защищенности веб-приложений в Selectel. Под катом расскажу, как проводила пентест пет-проекта своего коллеги: я получала права админа, обнуляла голоса других пользователей, меняла цены, самовольно назначала победителя и подкручивала результаты голосований. И да — это все происходило в приложении, которое оказалось простым и удобным для пользователей, а уж для меня — почти праздник. Надеюсь, будет полезно и начинающим в ИБ, и разработчикам, которые хотят понять базовые ошибки безопасности.

Под кат →

Создание интерактивного макета. Упаковка кругов в квадрат и прямоугольник. Жадный алгоритм

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров1.2K

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

Читать далее

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

Битва за уникальный сайт: где искать редкие фото и картинки, которых нет у конкурентов

Время на прочтение10 мин
Количество просмотров1.6K

Любой сайт или блог оживает не только за счёт текста, но и благодаря картинкам. И чем качественнее и уместнее медиаконтент, тем более увлекательным и запоминающимся получается проект. Но создавать изображения с нуля или заказывать фотосъёмку не всегда есть возможность, поэтому часто используют фотостоки.

Shutterstock, Adobe Stock, Unsplash — знакомые названия? В этом и кроется ловушка: сервисы, призванные помочь, незаметно превращают уникальные бренды в близнецов! Ведь их знают и ваши конкуренты. В итоге — одни и те же улыбающиеся люди в костюмах, типовые ноутбуки на столе или «абсолютно идеальные» неживые офисы кочуют с сайта на сайт — от банков и онлайн-школ до стартапов и НКО.

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

Читать далее

В 40 лет в геймдев: от корпоративного архитектора к инди-разработчику

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

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

Это моя первая статья, поэтому для начала представлюсь. Меня зовут Виктор, мне 40 лет, из которых почти 20 я на разных ролях участвую в разработке различного программного обеспечения для крупных корпораций (в основном финтех). Путь был долгий и тернистый, но сейчас я занимаю роль Системного архитектора и по совместительству Руководителя направления интеграции.

Я всегда любил игры, у меня даже был собственный канал с летсплеями и обзорами разных игр, который, к сожалению, не сыскал успеха. Несмотря на это, около двух лет назад я решил с ноги ворваться в мир геймдева. Ничто не предвещало беды, просто одним февральским вечером будто щелкнуло что-то в мозгу - ХОЧУ… ДЕЛАТЬ… ИГРЫ…

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

Читать далее

Рецензия на книгу «Паттерны коммуникации: руководство для ИТ-разработчиков и архитекторов»

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров3.4K

Сколько раз бывало так: вдруг возникла идея, она выглядит как реально сильная, но донести ее до руководства или команды — еще та задача. Обычно слышишь в ответ: «хорошо, мы подумаем». На практике «подумаем» означает, что твое предложение просто «легло под сукно» и это сбивает мотивацию еще раз выходить с идеями и предложениями. А бизнес, со своей стороны, не умеет слушать «голоса из команды». Польза книги Джеки Рид в том, что она предлагает общий язык и набор паттернов, которые помогают устранить эту пропасть — как со стороны специалистов, так и со стороны менеджеров.

Читать далее

Почему мы отказываемся от serverless

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

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

Когда мы запускали наш API на Cloudflare Workers, они казались идеальным выбором для сервиса API-аутентификации. Глобальная периферийная инфраструктура, автоматическое масштабирование и оплата только за использование. Разве это не замечательно?

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

TL;DR:

Мы перешли с Cloudflare Workers на Go-серверы
Снизили задержки в шесть раз
Устранили сложные механизмы обхода кэшей и оверхед конвейеров данных
Упростили архитектуру, перейдя от распределённой системы к простому приложению
Обеспечили возможность самохостинга и платформонезависимость

В статье мы расскажем о том, почему совершили этот переход, о проблемах, вынудивших нас на это пойти, и о том, чему мы научились в процессе.

Читать далее

Вышел браузер ChatGPT Atlas: тестируем нейропоиск и пробуем онлайн-покупки в агентском режиме

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

OpenAI выпустила браузер ChatGPT Atlas с интегрированными языковыми моделями. Приложение уже можно скачать на macOS, а позже появятся версии для Windows и мобильных платформ. В этой статье проверяем, что умеет очередной ИИ-браузер и пробуем заказать товар в онлайн-магазине с помощью агента.

Читать далее

Утилиты для кастомизации Windows

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

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

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

Список утилит, которые будут рассмотрены в данной статье: PowerToys, WinAero Tweaker, ExplorerPatcher, Rainmeter, TranslucentTB, EarTrumpet.

Кстати, если вам интересны IT-технологии и полезные инструменты, заглядывайте в мой Telegram-канал. Я регулярно публикую там свежие новости, лайфхаки и другие полезности. А сейчас — к сути статьи.

Читать далее

Что именно ИИ-чатботы делают «под капотом»

Время на прочтение10 мин
Количество просмотров3.8K

Среди друзей я пользуюсь репутацией «ты ж программист», поэтому у меня нередко интересуются, как именно работают «под капотом» такие известные инструменты как ChatGPT, Claude, Grok или DeepSeek. Со временем я отточил ответ на этот вопрос — и потому, что нашёл способы лучше на него отвечать, и потому, что научился сам создавать большую языковую модель с нуля. Поэтому и сам понимать большие языковые модели я стал гораздо лучше.

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

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

Читать далее