Когда начинал разработку системы многомерного анализа данных временных рядов Dimension-UI, для внедрения зависимостей в исходном коде решил использовать Dagger 2. Практический опыт показал, что для приложений с большим количеством динамически создаваемых объектов инверсия зависимостей, реализованная в Dagger 2, не подходит.
Да, создание графа зависимостей в compile-time — это, во-первых, очень быстро, и, во-вторых, удобно: получаешь сообщения об ошибках конфигурации уже при компиляции.
Но накладные расходы на сопровождение всего этого хозяйства – прямо скажем, это боль.
Чтобы реализовать scope-зависимости, приходится писать и поддерживать много инфраструктурного кода внутри объектов, куда мы внедряем зависимости. В Dagger 2 такая реализация, во-первых, «загрязняет» код, а во-вторых, серьезно осложняет тестирование. Изолировать методы удобным способом не получается: в тестах нужно писать очень много кода, чтобы прокинуть необходимый контекст и корректно мокировать внешние зависимости. Я туда просто не полез — покрывал unit- и UI-тестами только базовую функциональность, где были Singleton-зависимости.
Даже с одними Singleton’ами приходится поднимать отдельную тестовую инфраструктуру для запуска приложения в тестовом режиме. Это не просто неудобно — это очень затратно по времени. Если сравнить усилия, которые надо потратить на реализацию тестирования подобного функционала в Spring и Dagger… Сравнение будет не в пользу Dagger. В целом я начал думать о переходе на runtime-генерацию графа зависимостей.
Читать далееВ этой статье я расскажу вам, как наша команда — «жыбий рыр» участвовала в хакатоне от DDOS‑GUARD
Рассмотрим, какой кейс мы выбрали, покажу, к какой реализации пришли и покажу наше решение, а в конце подведем итоги.
Читать далееДата-центры растут быстрее, чем энергетика успевает за ними. Особенно это актуально для ИИ-отрасли, где обучение моделей требует постоянных мощностей и бесперебойного питания. Возобновляемые источники не дают нужной стабильности, а городские сети часто работают на пределе. Amazon решила развивать собственную генерацию и сделать ставку на атомную энергию, чтобы дата-центры не зависели от внешних поставщиков. Для этого компания использует малые модульные реакторы. Их производят на заводах и монтируют на месте за месяцы вместо лет. Первый такой проект под названием Cascade Advanced Energy Facility появится в Вашингтоне — о нем сегодня и поговорим.
Читать далееПредставьте, что курьерские доставки добрались до клеточного уровня.
Мы живём в мире, где еду привозят за полчаса, а покупки на следующий день. А что если доставлять лекарства прямо внутри организма, отправляя их точно по адресу, скажем, в труднодоступный уголок человеческого тела? Звучит необычно и на первый взгляд кажется нереальным. Но недавнее научное исследование показывает, что это не такая уж и фантастика. Учёные научились превращать обычные сперматозоиды в миниатюрных биороботов, которыми можно управлять снаружи с помощью магнитного поля и даже видеть их на рентгене. Такой вот управляемый биоробот.
Статья подготовлена на основе научной публикации.
Читать далееМеня зовут Саша Шилкин, я работаю в Yandex Infrastructure и занимаюсь автоматизацией сети. Сегодня расскажу про обновление конфигурации сетевых устройств и про то, как мы его делаем в нашей команде: как начинали, как менялась конфигурация, какие для этого были предпосылки.
Мы уже рассказывали о задаче автоматического обновления конфигурации на масштабах сети всего Яндекса. В своей статье я поделюсь опытом, как мы решаем эту задачу именно для облачной платформы. Мы обращаемся к накопленному опыту коллег, однако наши сети хоть и похожие, но отличаются в некоторых местах, особенно процессно.
Все инструменты, о которых пойдёт речь, выложены в опенсорс. Если у вас возникнет желание попробовать то, о чём я рассказываю, многое вы сможете повторить самостоятельно. Ну и поскольку в каких‑то деталях наша адаптация инструментов имеет свои особенности — мой рассказ будет интересен всем, кто хочет внедрить ту самую Аннушку из опенсорса с учётом своей ситуации.
Статья написана по материалам моего выступления на nexthop, конференции по сетевым технологиям, — с небольшими дополнениями, которые произошли за год.
В этом году на nexthop 2025 я также расскажу об автоматизации масштабируемой сети для BareMetal‑серверов — так что, если эта тема интересна, заглядывайте к нам 19 ноября.
Читать далееХраните десятки копий одного файла?
Dedupler — Laravel-пакет, который автоматически предотвращает дубликаты через SHA-1 хеширование. Экономит место, ускоряет бэкапы, предоставляет REST API, одобрен Laravel News.
Рассказываю про возможности, производительность и миграцию legacy-проектов.
Сколько можно сэкономить?Компактный ноутбук, который будет удобен для работы или для учебы – это 13-14 дюймовка. Я больше склоняюсь к современным 14 дюймовым моделям, так как они спокойно помещаются и в небольшие сумки, и вполне себе легкие. Ультрабук Ninkear S14 не стал исключением - это доступный вариант массой всего 1 кг, с USB-C PD 65W зарядкой, и базирующийся на процессоре R5-7535HS. В обзоре будет разборка и основные тесты.
Читать далееMobile System Design — один из ключевых навыков мобильного инженера.
Именно он часто определяет уровень зрелости: в реальной работе, на собеседованиях и в матрицах компетенций компаний.
Но вокруг этой темы полно разночтений и разных трактовок — отсюда споры, путаница и хаос.
В этой статье я систематизирую Mobile System Design как дисциплину: покажу, какие навыки действительно важны и как они проверяются. Это не личное мнение, а выжимка из опыта инженеров, требований собеседований, литературы и практики команд.
Читать далееВ конце октября мир облетела новость: исследователи Google впервые запустили на квантовом компьютере так называемый «проверяемый алгоритм». Но что скрывается за этой громкой формулировкой? Компания заявляет, что вычисления заняли на их устройстве в 13 тысяч раз меньше времени, чем потребовалось бы лучшему суперкомпьютеру классической архитектуры. В Google видят в этом ключ к решению практических задач, например, моделирования новых химических соединений. Однако за этим утверждением стоит целый ряд вопросов. Что такое «проверяемый алгоритм» и почему акцент сделан именно на этом? В чем суть расчетов и чем этот прорыв отличается от предыдущего заявления о «квантовом превосходстве», прозвучавшего несколько лет назад?
Читать далееПервый Docker-образ для моего Go-приложения весил 1.92 GB. Для микросервиса на 100 строк — абсурдно. Решил разобраться, куда именно уходит место и как добиться максимально лёгкого образа.
Читать далееВ соцсетях сидят все, от мала до велика. Причем входной порог постепенно снижается: дети, которым сейчас 8-11 лет, стали интернет-пользователями в 6-7 лет, а малыши 5-7 лет освоили этот навык в свои 4-5 лет.
Читать далееВзгляд на интеграцию ИИ в программирование от опытного программиста (миллион строк кода я, наверное, написал за всю жизнь). Текст писал я сам, это не мусор от GPT, ИИ здесь только исправил ошибки.
Если дать этот текст ИИ на фактчек, то он может как полностью подтвердить мою статью кучей проверенных фактов, так и полностью опровергнуть, и тоже с кучей фактов, т.е. по сути будет заниматься черри-пикингом - всё зависит от формулировки вопроса. И где же тогда правда? Правда, я думаю, у тех, кто в этой среде годами работает и получает много опыта как разработки с ИИ, так и без него. Т.е. имеет хоть какие-то экспертные знания. В этой статье мнение одного из таких людей. Мнения одного человека, конечно, мало, нужно обобщать опыт сотен людей из разных сфер программирования. Я вношу в это обобщение свой небольшой вклад.
В череде серых офисных будней возникла насущная проблема. Есть сканы договоров, содержащие адреса пунктов (заправок) в табличной форме. Необходимо занести названия и адреса в базу, добавив геоданные. Можно сделать вручную, но это не наш метод. На дворе XXI век, автоматизация, да и простую лень никто не отменял. Бесплатные OCR распознаватели справляются плохо, особенно с таблицами, платные — не пробовал, жаба бухгалтер не позволяет. Что же делать? И тут Qwen спешит на помощь! Скормил лист — вроде неплохо, вот оно счастье! Ан нет, опять «эмпирический опыт». Давайте посмотрим, что получилось, и с какими «когнитивными искажениями» пришлось столкнуться.
Читать далееВсем привет!
В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала.
С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути.
Будет рассмотрено:
Принцип работы датчика HEDR-5420-ES214;
Схема подключения к микроконтроллеру STM32;
Программная реализация (расчет пройденного пути и вывод информации на дисплей).
Читать далееДва новых линта в Dart 3.9:
1. switch_on_type, чтобы сделать switch по типу переменной безопасным.
2. unnecessary_unawaited, чтобы избавиться от unawaited, которые стали ненужными.
Читать далееВ октябре 2025 года информационная служба Хабра выпустила 1005 публикаций (995 новостей и постов, 12 лонгридов и 38 переводов). В этом дайджесте представлены лучшие технические новости, переводы и лонгриды (отдельные большие публикации) инфослужбы Хабра, согласно оценкам пользователей.
Читать далееЭта статья была написана мной и опубликована в отраслевом научном журнале более четверти века назад, когда я работал в головном НИИ железнодорожной отрасли (ВНИИЖТ МПС) в должности заместителя заведующего лабораторией и занимался вопросами научно-методического обеспечения задач управления производственными процессами путевого хозяйства железных дорог России, автоматизацией функций и применением информационных технологий для нужд путевого хозяйства.
В статье рассматриваются вопросы управления техническим состоянием объектов путевого хозяйства с применением информационных технологий.
Читать статьюСегодня фраза «заслуженные ветераны игровой индустрии» у многих скорее вызывает смех. Слишком часто старые гвардии разработчиков скатывались до самоповторов вкупе с устаревшим геймдизайном. Вспомнить хотя бы Piranha Bytes…
Студия Obsidian и вовсе всю жизнь работала над чужими франшизами, и культовым творением стала лишь Fallout: New Vegas. А из собственных IP хорошо окупилась лишь дилогия Pillars of Eternity. Затем в 2019 году вышел «Космический Нью-Вегас», который оказался по всем параметрам средненьким ролевым экшеном с откровенно перекрученной сатирой на тему корпоративизма.
Недавний сиквел под названием The Outer Worlds 2 многие называют доведенным до ума. Но насколько это правда? В этом материале проанализируем новинку в разных аспектах: от нарратива и геймдизайна до графики и технического состояния.
Читать далееПомните, как начинал свой день Евгений Онегин? Смартфона у него не было, поэтому посты друзей он получал в виде записочек: «Три дома на вечер зовут — там будет бал, там детский праздник», — и прикидывал, как бы ничего не пропустить. Но автор спешит нас успокоить: «С кого начнет он? Все равно: везде поспеть немудрено».
Читать далееПриключилась у меня беда, посыпался один жёсткий диск. Думал его полечить с помощью "Виктории". Но увы, сейчас всё изменилось и диски стали умными.
Раньше можно было пометить плохие секторы, что бы операционная система туда ни чего не писала. Диск работал дальше, только становился меньше объёмом.
Сейчас оказалось что даже если создать таблицу плохих секторов, она будет проигнорирована и сброшена. Теперь в дисках стоит плата, которая сама пытается восстановить диск, помечает сектор как плохой и использует сектора из резерва. Размер резерва скрывают.
Что бы диск попытался использовать резервы в плохой сектор должно быть что-то записано. Терять мне нечего, перезаписываю диск нулями. Перехожу в линукс и выполняю команду:
Узнать что произошло