Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 1 час 13 мин. назад

Как я в одиночку написал полноценное финансовое Android-приложение на Jetpack Compose

ср, 02/25/2026 - 13:25

Это не очередной TODO-лист и не очередной трекер расходов. Это комбайн, в котором живут задачи, заметки, бюджет, аналитика, помодоро-таймер и цели накоплений

Читать далее

Согласованность API по принципу единого источника истины

ср, 02/25/2026 - 13:16

Представим ситуацию: идет тяжёлый спринт, вы выполнили кучу задач, написали тонну нового функционала, готовитесь к релизу и вдруг обнаруживайте, что часть фич перестала работать! Идёте разбираться и обнаруживайте, что оказывается бэкендер Вася в последний момент решил переименовать поля в json-е, а вам об этом не сказал!

Ситуация образная, но позволяет быстро обрисовать одну из болей во время разработки. В этой статье я бы хотел рассказать об одном из вариантов её решения в коде с помощью подхода Единого источника истины(Single source of truth).

Читать далее

SoC Design Challenge 2026: собираем подводные камни 2025 года и анонсируем новый трек хакатона

ср, 02/25/2026 - 13:10

Ежегодный хакатон YADRO и МИЭТ набирает обороты. Апрель, Зеленоград, четыре трека… нет, пять! Пятый SoC Design Challenge — пять треков, красивое совпадение. К топологии, RTL, UVM- и системной верификации присоединился трек DFT, Design for Testability. На кону по-прежнему кое-что интересное: fast track на летнюю стажировку YADRO Импульс, дополнительные баллы при поступлении в магистратуру МИЭТ, FPGA- и RISC-V-платы, логические анализаторы, полезная периферия, мерч. И конечно — приятная смесь из чувства собственного удовлетворения и одобрения от однокурсников.

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

И что там такого интересного?

Мошенники позвонили моему ИИ-деду. Он продержал их 31 минуту и записал всё

ср, 02/25/2026 - 13:05

Мой ИИ-дед продержал мошенника на линии 31 минуту. Диктовал номер партбилета вместо карты, уходил кормить кота, вспоминал молоко по 28 копеек — и ни разу не сказал «нет». Мошенник орал, матерился и бросил трубку. Геннадий Петрович так и не нашёл очки. Под катом — как собрать такого деда из Whisper + Llama, разбор записи того самого звонка и статистика за месяц.

Читать далее

ZIO Mock не может — ScalaMock поможет

ср, 02/25/2026 - 13:02

Если вы пишете тесты на ZIO, то с моками, скорее всего, уже сталкивались. И почти наверняка — с ZIO Mock. Формально он решает задачу, но на практике ломает Arrange‑Act‑Assert, «краснит» в IDEA и иногда падает так, что вы видите только InvalidCallException: null. В Яндекс Вертикалях мы довольно долго жили с этой библиотекой — пока количество таких тестов не перевалило за пару сотен и они не расползлись по десятку команд.

Меня зовут Женя Веретенников, я тимлид в Яндекс Вертикалях и последние годы занимаюсь инструментами для Scala‑разработчиков и инфраструктурой бэкенд‑монорепозитория. Когда стало ясно, что ZIO Mock больше мешает, чем помогает, мы решили отказаться от него полностью — и подружить ZIO Test с классическим ScalaMock. Он даёт более предсказуемый синтаксис и понятные ошибки, но из коробки с ZIO не работает.

В этой статье я расскажу не о том, как пользоваться новой библиотекой, а о том, как мы её делали: какие ограничения ZIO‑стека пришлось учитывать, где пришлось лезть под капот ScalaMock и ZIO Test и во что в итоге превратилась эта инженерная затея. Это история про построение собственного test tooling в большой Scala‑кодовой базе — с честными компромиссами и практическими выводами.

Читать далее

Gemini 3.1 Pro: обновление, которое делает модель умнее (наверное)

ср, 02/25/2026 - 13:01

Google выпустил Gemini 3.1 Pro — новую версию своей флагманской модели. Релиз состоялся 19 февраля 2026 года и сразу вызвал обсуждение в профессиональном сообществе: многим было важно понять, насколько заметны изменения по сравнению с предыдущей версией. В этой версии акцент сделали на логике и устойчивости в сложных сценариях. Модель лучше держит длинные цепочки рассуждений, аккуратнее работает с большими объемами данных и реже дает сбои там, где раньше могла запутаться. В практических задачах это выражается просто: ответы стали более последовательными и предсказуемыми. Давайте посмотрим, что там и как.

Читать далее

Быстрая зарядка: визуализация связующих компонентов Li-ion батарей

ср, 02/25/2026 - 13:00

Беспроводные технологии стали одним из самых распространенных аспектов современного мира. Возможность использовать устройство без необходимости постоянно быть привязанным к розетке — это прекрасно, но иногда все же требуется зарядить батарею, а этот процесс может варьироваться по длительности. Сокращение времени зарядки стало одной из задач, которую хотели бы решить не только ученые и инженеры, но и вечно спешащие куда-то пользователи. Ученые из Оксфордского университета (Великобритания) решили подробно изучить крайне важный, но часто игнорируемый, компонент внутри литий-ионных батарей — связующие агенты. Их наблюдения показали, что незначительные изменения в процедуру создания батарей, а именно в распределении связующих, могут значительно ускорить зарядку и повысить долговечность батарей. Что именно изучали ученые, какие изменения нужны для ускорения зарядки, и насколько эффективны они? Ответы на эти вопросы мы найдем в докладе ученых.

Читать далее

[Перевод] BASIC не умер. Пора развеять мифы о Basic

ср, 02/25/2026 - 12:59

Автор оригинала: Chris Boss, Опубликовано 16 ноября 2022 года
Оригинал статьи на www.codeproject.com
Перевод

Я программирую на языке BASIC с 1975 года и думаю, что пришло время объяснить, что такое BASIC на самом деле и чем он не является. На протяжении десятилетий BASIC подвергался критике из-за мифов о нём. Кто, как не программист, который профессионально использует BASIC на протяжении десятилетий, сможет объяснить, что такое BASIC на самом деле? Слушайте, как я рассказываю о том, как я узнал о языке Basic, о разных версиях Basic, которые я пробовал, и о том, чего мне удалось достичь за эти годы с помощью Basic.

Читать перевод

[Перевод] Эти непотопляемые трубки могут помочь добывать энергию из океана

ср, 02/25/2026 - 12:49

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

Трубки узкие, их диаметр составляет около 5 мм. Но из них можно собирать более крупные конструкции, и использовать их для плавучих платформ или устройств, предназначенных для получения энергии из колебаний океанских волн.

«Я считаю, что океан по-прежнему остаётся огромным неиспользованным ресурсом», — сказал Чунлей Го, профессор оптики и физики Университета Рочестера, который возглавил работу, результаты которой были опубликованы в прошлом месяце в журнале Advanced Functional Materials.

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

Читать далее

[Перевод] Полноценный GPT в 243 строках Python от Andrej Karpathy

ср, 02/25/2026 - 12:41

В феврале 2026 года известный исследователь ИИ Андрей Карпати опубликовал проект microGPT — минималистичную реализацию трансформера, обучающуюся и выполняющую инференс всего в 243 строках чистого Python без внешних зависимостей. Этот «арт-проект» демонстрирует фундаментальные математические принципы работы больших языковых моделей, делая архитектуру GPT прозрачной и доступной для изучения.

Читать далее

Интервью с автором первой русскоязычной книги о современном техническом писательстве

ср, 02/25/2026 - 12:28

Всем привет! Меня зовут Катя, я развиваю Gramax — базу знаний для ИТ-команд. Эта статья — интервью с Екатериной Ушаковой о ее книге «Если ты — технический писатель». Екатерина Ушакова — одна из узнаваемых фигур в сообществе технических писателей. Она создала техническую редакцию в Ozon, преподает в Университете Иннополис, организует конференции и ведет сообщество руководителей технических редакций.

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

Продвинутое использование RPC в Windows

ср, 02/25/2026 - 12:19

Эта статья появилась как следствие моего желания к обобщению опыта, полученного при изучении внутреннего строения подсистемы работы с RPC в Windows. В течение множества лет я сначала работал с COM/DCOM, создавал кастомные сервера и клиенты, которые использовали эти технологии. При этом вся работа с COM велась с использованием стандартных средств: MIDL и библиотеки ATL. Потом я начал более глубоко вникать в устройство внутренних механизмов Windows и тут возникла необходимость в использовании RPC на гораздо более низком уровне, который бы позволял как можно более полно использовать все возможности этой технологии. Однако, как оказалось, в сети довольно сложно найти какой-то материал, который бы освещал RPC с необходимых мне точек зрения. Поэтому волей-неволей, но мне пришлось самому изучать то, что нужно мне и с той детализацией, которая мне была нужна. Как итог сейчас, например, я могу строить RPC сервера и клиенты абсолютно без использования MIDL или NDR для передачи совершенно произвольных данных. Могу реализовать клиента, который бы осуществлял десятки одновременных параллельных запросов к одному и тому же RPC серверу. Могу возвращать с RPC сервера расширенную информацию об ошибках, а также получать максимально возможную информацию о клиенте, который произвёл вызов. Кроме того я был вынужден достаточно плотно изучить и стандартную подсистему кодирования NDR и теперь у меня есть собственные расширенные примеры кодирования и декодирования всех основных типов на основе официально не декларируемых функций. И теперь весь этот опыт я постараюсь как можно полно и подробно представить в этой статье. Если у кого-либо из читателей возникнут дополнения/замечания, то буду рад услышать полезную информацию от умных людей.

Читать далее

Как мы оптимизировали компоненты во фронтенде: работа с импортами и package.json

ср, 02/25/2026 - 12:16

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

Для начала кратко опишу фронтовый стек у нас в «Криптоните»: мы те ребята, которые не пишут на React. У нас все проекты и библиотеки написаны на Vue + Composition API. Из дополнительных инструментов мы используем следующие:

Читать далее

Когда зашел не в ту дверь. Или как рядовому Qa automation жить в мире с LLM

ср, 02/25/2026 - 12:16

Когда зашел не в ту дверь. Или как рядовому Qa automation жить в мире с LLM

Как и технологии распределены неравномерно, так и знание о технологиях распределено неравномерно. Когда одни люди запускают мультиагентные кластеры, заменяют подразделения сотрудников нейроагентами или полностью автоматизируют свою жизнь, попутно доверяясь нейро-психологам/диетологам/докторам/коучам/ассистентам, то другие в этот момент сталкиваются со сложностями уровня "как написать промпт" или как правильно попросить сделать тебе анализ документа и выдать отчет.

Давай погрузимся на более прикладной уровень. Как применять в работе это чудо. А конкретно, как нам это может быть полезно если ты рядовой Qa/automation инженер.

Читать далее

Потрошим расширения VS Code: как XSS превращается в кражу ваших SSH-ключей

ср, 02/25/2026 - 12:15

Многие привыкли считать, что VS Code — это просто текстовый редактор. Но «под капотом» у нас старый добрый Electron со всеми вытекающими. Если расширение имеет доступ к файловой системе, а вы открываете в нём кривой файл поздравляю, вы в зоне риска

Я решил покопаться в безопаснности популярных расширений от самой Microsoft: SARIF Viewer и Live Preview. Спойлер: удалось найти обход защиты (CVE-2022-41042) и вытащить локальные файлы через... DNS-запросы.

Читать далее

Великая киберспортивная афера: как нас всех возможно обманывают

ср, 02/25/2026 - 12:11

Киберспорт далеко не сразу начали воспринимать всерьёз.

Долгое время его считали развлечением, хобби — чем угодно, но только не спортом.

Сегодня же это полноценная индустрия с многомиллионными призовыми, контрактами и спонсорами.

И, к сожалению, вместе с ростом пришли и старые проблемы.

Киберспорт унаследовал все грехи большого спорта.

В том числе — допинг.

Только если в классическом спорте допингом считаются препараты, повышающие силу, выносливость и реакцию, то в киберспорте он принял иную форму.

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

Но, несмотря на это, время от времени всплывают новости о том, что очередной киберспортсмен был уличен в использовании запрещенных средств.

А что, если я скажу, что теоретически может существовать устройство, которое куда сложнее обнаружить — и при этом оно даёт игроку вполне реальное преимущество?

Назовём его… Chlenix 2.0.

Читать далее

Кварки на небесной тверди

ср, 02/25/2026 - 12:10

Поздний вечер. Лаборатория молекулярных биотехнологий. Я тысячный раз пересматриваю все полученные за месяц работы хроматограммы очистки фитазы, не понимая, почему целевой пик уехал куда‑то вбок, совершенно не туда, куда надо. Бывший одногруппник, нынешний коллега мощно отхлебывает дешевый кофе из автомата, почти в упор разглядывая на мониторе кристаллографический снимок комплекса белка с ДНК. Разноцветные спирали, точные координаты каждого атома, красивые торсионные углы. Бормочет:

‑Ну красота, балдеж просто...

‑Угу, — отвечаю, не отрываясь от ионнообменной колонки.

‑Забавно, что мы, по сути, просто развлекаемся со всей этой наукой...

Не понял. Я точно не развлекаюсь, послал бы ко всем чертям эту хроматографию и пошёл бы домой, дооткрывать персонажей в Lego Marvel Super Heroes 2. Интересуюсь, что это он такое говорит.

‑Вот эта красивая картинка, — показывает снова структуру белково‑нуклеинового комплекса, — это понятная нам визуализация, так? Спиральки, полосочки, палочки да точечки. Ничего этого ведь на самом деле нет... Всё это — модель на модели, и моделью погоняет. Понимаешь?

Понимаю.

Читать далее

Линейные модели в машинном обучении: подборка бесплатных ресурсов

ср, 02/25/2026 - 12:07

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

Всем привет! Это Данила Ляпин, наставник курса «Специалист по Data Science». В этой подборке вы найдёте материалы о самих линейных моделях, о метриках качества классификации и регрессии, а также о типичных проблемах, с которыми сталкиваются на практике, — дисбалансе классов и мультиколлинеарности. Материалы помогут углубиться в тему во время учёбы или подготовиться к собеседованию. Некоторые ссылки ведут на разделы больших курсов по ML, которые можно пройти целиком. 

Читать далее

Почему международные фреймворки ИБ «ломаются» в финтехе — и как их реально применяют в России

ср, 02/25/2026 - 12:07


Если спросить любую финтех-команду, какой стандарт безопасности они используют, ответ будет примерно одинаковый: NIST, ISO 27001, CIS Controls — у кого что ближе.

Но есть нюанс.

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

Недавнее исследование Ассоциации ФинТех — редкий пример документа, который пытается честно разобрать, что происходит с международными фреймворками, когда они сталкиваются с реальной практикой.

Источник: Ассоциация_Финтех_Compliance_Control_Security_resilience_Подходы

Читать далее

Предоставьте мне разрешение к…

ср, 02/25/2026 - 12:05

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

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

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 11 гостей.