Сборщик RSS-лент

Синтетика подвела: как реальные данные делают unit-тесты надёжными

Habr.com - 7 часов 15 мин. назад

Введение

В мире разработки программного обеспечения надёжность и качество кода напрямую зависят от эффективности тестирования. Unit-тесты призваны проверять поведение отдельных компонентов без влияния внешних факторов. Традиционно в них используют синтетические (искусственно сгенерированные) данные, однако на практике всё чаще оказывается, что такие тестовые наборы не отражают реальных сценариев и приводят к ложному ощущению «зелёного» покрытия. В этой статье мы разберём, почему использование реальных данных при написании unit-тестов значительно повышает их ценность, и объясним, какие недостатки несут синтетические данные.

Читать далее

Зачем программисту дизассемблер в 2025: отладка на слепую под редкие MCU

Habr.com - 7 часов 21 мин. назад

Даже в 2025 году, когда вокруг нейросети, автогенерация кода и IDE с предиктивным интеллектом, работа с редкими микроконтроллерами всё ещё может обернуться настоящим хардкором. Особенно, если речь идёт о «слепой» отладке без отладчика, когда в арсенале только прошивка, HEX-файл и пара байтов на выводе. В этой статье — личный опыт, много хардкора, дизассемблирование вручную и поиск глюка в 2 КБ бинаря.

Когда говорят «отладка», в 2025 году чаще всего имеют в виду жмяк на F5 в Visual Studio Code или лог с CI/CD. Но в embedded-мире, особенно если ты копаешься в системах с 8-битным контроллером 2006 года выпуска, это слово может означать кое-что пострашнее. Например — «прошивка вылетает на 4-й секунде, данных в UART нет, отладочного интерфейса нет, документации почти нет, а заказчик просит сделать "как раньше работало"». И вот тут начинается старый добрый reverse engineering.

Читать далее

Промышленное производство людей

Habr.com - 7 часов 22 мин. назад

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

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

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

- запрет абортов;
- усложнение бракоразводных процедур;

Читать далее

Как превратить ChatGPT в кофаундера: личный опыт и практические приёмы

Habr.com - 7 часов 34 мин. назад

Я «нанял» ChatGPT в кофаундеры — делюсь результатами, промптом, пятью масками и чек‑листом рисков, которые внедряются за вечер

Читать далее

Терминал Warp

Habr.com - 7 часов 37 мин. назад

Warp — это современный терминал для macOS, Linux и Windows, который переосмысливает работу с командной строкой. Позиционируясь как "терминал для 21-го века", работает на базе искусственного интеллекта. В этой статье я расскажу, почему я решил попробовать Warp, какие функции меня впечатлили, и как он может помочь разработчикам повысить продуктивность.

Читать далее

DSL для интерактивных рассказов: как я написал язык, чтобы придумывать истории, а не кодить

Habr.com - 7 часов 58 мин. назад

Многие разработчики мечтают о проектах, в которых можно совместить любовь к программированию и нарративу. В этой статье рассказывается о создании собственного DSL (domain-specific language) для интерактивных историй — от формализации сценарных структур до реализации интерпретатора на Python. Много кода, много боли, немного магии.

Читать далее

Xionix: автоматическая торговля  — объективный разбор платформы

Habr.com - 8 часов 30 мин. назад

Xionix – это проект, посвященный заработка на криптовалюте. Платформа предлагает получать прибыль на бирже с помощью торговых ботов, которых здесь можно создавать самостоятельно, либо копировать. Площадка якобы может похвастаться официальным партнерством с некоторыми известными ресурсами. Клиенты же, заплатив за подписку, получают оперативную поддержку, подробные гайды по использованию и, главное, возможность зарабатывать даже с депозитом от 100$. Все это звучит довольно заманчиво, учитывая, что стоимость не самая большая. Однако все же возникают некоторые сомнения насчет реальной эффективности сервиса. В обзоре разберемся в работе проекта Ксионикс и расскажем, стоит ли вообще к нему присматриваться.

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

Читать далее

GKE — VPC-Native, Pods и VPC Firewall: Маркетинг против реальности

Habr.com - 9 часов 16 мин. назад

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

Google, без преувеличения, изменил мир IT, подарив нам Kubernetes – систему, ставшую де-факто стандартом оркестрации контейнеров. И когда выбираешь управляемый Kubernetes от его же создателей, такой как Google Kubernetes Engine (GKE), ожидания, естественно, высоки. Уж кто-кто, а "первоисточник" должен уметь "готовить" свое детище идеально, предоставляя не только удобство, но и прозрачные, глубоко интегрированные и безопасные решения "из коробки". Особенно когда речь заходит о такой фундаментальной вещи, как сетевое взаимодействие и его безопасность.

GKE предлагает два режима работы кластеров: routes-based и VPC-native. Именно VPC-native кластеры позиционируются Google как обеспечивающие более тесную интеграцию с сетью VPC. Как утверждает Google, одно из преимуществ таких кластеров заключается в том, что IP-адреса подов (pods) нативно маршрутизируемы внутри сети VPC кластера и других сетей VPC, подключенных к ней через VPC Network Peering (подробнее см. документацию GKE по IP-алиасам и VPC-native кластерам). Это вселяет уверенность, что возможности VPC, включая мощный механизм GCP Firewall, будут доступны и для наших подов так же легко и нативно, как для обычных виртуальных машин.

Однако, погружаясь в детали настройки контроля сетевого доступа для подов к ресурсам внутри VPC, но внешним по отношению к самому Kubernetes (например, к базам данных Cloud SQL или другим бэкендам), начинаешь сталкиваться с нюансами. Нюансами, которые заставляют усомниться в "бесшовности" этой интеграции. Эта статья – не попытка принизить достижения Google или GKE. Скорее, это повод для всех нас, инженеров, задуматься о тех важных деталях реализации, которые часто остаются "под капотом". Повод погрузиться глубже, понять, как все устроено на самом деле, и какие компромиссы или сложности скрываются за маркетинговыми лозунгами. Ведь чем сложнее архитектура безопасности, тем выше вероятность ошибки конфигурации, особенно если ее компоненты и их взаимодействие не до конца понятны. Если даже у такого гиганта, как Google, в его флагманском продукте для Kubernetes есть подобные неочевидные моменты, то нам, инженерам, работающим с этими системами ежедневно, тем более важно понимать все тонкости для обеспечения надежности и безопасности наших собственных окружений.

Читать далее

Warp — терминал будущего

Habr.com - 15 часов 26 мин. назад

Приветствую! Данная небольшая статья будет полезна тем, кому надоело копаться в обычном терминале, кто хочет умный терминал, включающий:
- автодополнение;
- AI-подсказки;
- приятный UI.

Читать далее

Мелочи RoR, облегчающие жизнь

Habr.com - 15 часов 51 мин. назад

Статья из моих архивов

Недавно видел на хабре спор по поводу того, что нам не нужны никакие скриптовые языки, кроме javascript. Утверждение, конечно, спорное, но меня заинтересовала возможность применения javascript на сервере.Поиски привели меня сюда. Из всех представленных там решений, я почему-то (просто оно с первого раза встало и заработало) выбрал библиотеку Node для google v8.

Установка достаточно проста: сначала устанавливаем v8. Его либо можно скачать отсюда, либо, если у вас ubuntu (у меня 9.04, не знаю, что там с другими версиями и дистрибутивами), то можно установить libv8 из репозиториев. Сам Node берем здесь.

Читать далее

Правда или нет, что Google победил Cursor?

Habr.com - 16 часов 8 мин. назад

Вы, вероятно, уже слышали, что Google выпустил Firebase Studio как полноценную среду для AI-разработки, основанную на мощной модели Gemini. 

Очевидно, гигант не захотел отставать и тоже запрыгнул в поезд хайпа AI-продуктов. Но способен ли он составить реальную конкуренцию популярному Cursor?

Сегодня мы погрузимся в мир двух популярных AI-инструментов для разработки: облачной платформы Firebase Studio от Google и интегрированного AI-редактора Cursor от Anysphere.

Читать далее

[Перевод] Как проверить в C, является ли выражение константой

Habr.com - 16 часов 50 мин. назад

Вот вам маленькая задачка на программирование: реализуйте такой макрос, который принимает в качестве аргумента числовое выражение (числа могут быть целыми или с плавающей точкой) и:

Читать далее

ООП — это скам

Habr.com - 17 часов 1 мин. назад

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

После прочтения большинства этих статей и нескольких лет кодинга на C# я заявляю: «ООП - это один большой обман. Никто не понимает, что это такое. Люди просто говорят какие-то умные термины, их собеседники с умным видом кивают, хотя на деле трактуют эти же термины совершенно по-разному».

И вот почему.

Читать далее

Где искать проблему в проде: сравнение профилирования с eBPF и BitDive

Habr.com - 17 часов 43 мин. назад

eBPF vs BitDive: Сравнение решений для системного и прикладного профилирования

Разбираем разницу между eBPF и BitDive: системное профилирование против глубокого анализа Java-приложений. Что выбрать для продакшена?

Читать далее

Заморозил, разморозил свою игру PANGIT

Habr.com - 18 часов 1 мин. назад

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

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

Читать далее

Закат эпохи IT-школ

Habr.com - ср, 05/07/2025 - 23:40

Многие из вас помнят, какими были IT-школы 10 лет назад. Это были просто сайты с полезными курсами по различным языкам программирования. Не было агрессивного маркетинга и обещаний звездных зарплат. Можно было с гордостью говорить о том, что ты прошёл какие-то курсы. Но главное — эти курсы действительно работали: после них удавалось устроиться на работу. Сейчас всё стало значительно хуже по всем направлениям. Перенасыщенный рынок, конкуренция между школами, вынужденная смена бизнес-модели, появление AI — всё это превратило IT-образование в то, каким мы видим его сегодня: в большой, неповоротливый и неэффективный организм с утраченной репутацией. Давайте разберёмся, как так получилось, и главное — что с этим делать.

Читать далее

LLM пайплайны укрощают сложность баз данных, или как мы подружили ИИ с БД без ИБД

Habr.com - ср, 05/07/2025 - 23:20

Большие языковые модели (Large Language Model, LLM) используют в разных областях: с их помощью генерируют программный код, ищут информацию, озвучивают реплики чат-ботов. А вот при работе с реляционными данными языковые модели часто ошибаются. 

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

Читать далее

Есть ли жизнь на GitVerse? Расширения

Habr.com - ср, 05/07/2025 - 22:19

Я давний пользователь GitHub. Можно сказать, что на моих глазах он вырос из самобытного GIT-хостинга до внушительной экосистемы для разработчиков под патронажем само́й Microsoft, и по факту стал индустриальным стандартом.

Со временем я стал задаваться вопросом — можем ли мы в своей стране своими силами создать аналогичную экосистему? В которой нет проблем с платежами, не удаляют репозитории и аккаунты из-за поездки в Крым, где российские компании заказчики не опасаются хостить свои коммерческие проекты. В 2023 году я попробовал GitFlic, но не смог им пользоваться из-за нестабильной работы репозиториев. В 2025 году я решил попробовать GitVerse. Проекту уже больше года, и, скорее всего, он созрел для реального применения. В первую очередь меня интересует, есть ли у GitVerse потенциал стать не просто надёжным хостингом для GIT-репозиториев, а развиться в мощную экосистему, не просто повторить функционал GitHub в масштабе 1:43, а реализовать новое поколение индустриальных стандартов для совместного творчества разработчиков и других IT-специалистов.

Читать далее

Храним пароли в микроволновке. Mini PC, Vaultwarden и KeenDNS

Habr.com - ср, 05/07/2025 - 22:15

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

Это первая моя статья на habr за 12 лет в свободной форме, где мне хочется поделиться своим видением реализации мобильного, домашнего, облачного хранилища паролей на базе Mini PC и Vaultwarden.

Читать далее

Взлом зашифрованного pdf-файла. Часть 2

Habr.com - ср, 05/07/2025 - 21:42

Всех приветствую, читатели Хабра!

Вторая часть исследования безопаности файлов pdf. После того, как я опубликовал первую часть (https://habr.com/ru/articles/906076/) у одного из моих коллег возник вопрос: а что если зашифровать pdf файл при помощи программы Adobe (естественно на Windows). Естественно что, меня заинтересовал этот вопрос, и мы решили совместно с моим коллегой зашифровать файлы в ОС Windows (10) при помощи Adobe и на сайте, указанном в первой части. Один из файлов был зашифрован в Windows но на сайте указанном в первой части статьи. Сделал я это специально для того, чтобы узнать не будет ли проблем совместимости на двух ОС - Windows и Linux, и возможно ли кракнуть такой файл, который был создан в другой системе, так сказать тестовый запуск. Другие файлы были зашифрованы в программе, опять же на ОС Windows. Почему мой коллега и я задались вопросом возможности крака? В Adobe возможно зашифровать pdf файл при помощи небезызвестного AES!

Примечание

Правовая информация:

Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.
Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей

Читать далее

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

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