Все подряд публикации с habr.com
jpeek – когда SonarQube мало
Сегодня в любой более-менее серьезной компании, где настроен CI/CD, используется SonarQube. Это уже стандарт де-факто — он умеет проверять определять code smells, измерять цикломатическую сложность, определять дублирование, уровень покрытия тестами, распознавать недостижимый код, подсчитывать размеры методов и классов и многое другое. Настроили, подключил к CI — и вроде бы все хорошо.
Но...
Новости кибербезопасности за неделю с 26 мая по 1 июня 2025
Всё самое интересное из мира кибербезопасности /** с моими комментариями
На этой неделе новости про: раскрытие секретной сети ЦРУ; как с помощью ИИ нашли 0-day в ядре linux; ценовое исследование darkweb; про тюремные сроки для дропперов и другие только самые важные и интересные новости этой недели.
Датчик толщины нити (филамента)
В данной статье расскажу реализацию своей идеи датчика толщины филамента на основе USB микроскопа.
Из известных в интернете реализаций датчика толщины нити, мой вариант является “самым, самым”. Датчик самый простой в повторении, самый дешевый и самый точный, но и самый большой из известных.
Известно, что в промышленных условиях нить изготавливается путём выдавливания расплавленного пластика с определённой скоростью в охлаждающую ванну. Сопла для нити диаметром 2,85 мм и 1,75 мм на самом деле имеют одинаковый размер, но нить растягивается больше или меньше, когда выходит из сопла.
Регулируя скорость выдавливания и растягивания, система может производить нить любого желаемого размера на одном и том же диаметре сопла. Как и любая механическая система, она нуждается в постоянной настройке для поддержания этого баланса. Обычно это делается путём измерения нити лазером после её охлаждения и передачи этой информации обратно в систему. У лучших производителей нитей есть несколько…
Релиз открытой библиотеки TagLib 2.1 для чтения и изменения метаданных (тегов) аудиофайлов различных форматов
31 мая 2025 года состоялся релиз открытой библиотеки TagLib 2.1, предназначенной для чтения и изменения метаданных (тегов) аудиофайлов различных форматов. Исходный код решения написан на языке C++ и распространяется по лицензиям GNU Lesser General Public License (LGPL) и Mozilla Public License (MPL). Версия TagLib 2.0 вышла в январе 2024 года. Разработка решения ведётся более 12 лет.
Вышла СУБД SQLite 3.50
Состоялся релиз легковесной СУБД SQLite 3.50, оформленной в виде подключаемой библиотеки. Исходный код проекта SQLite написан на C распространяется как общественное достояние (public domain) и может использоваться без ограничений и безвозмездно в любых целях.
UI-автотесты: как правильно организовать код и не сойти с ума
"В этой статье я расскажу о правильной организации кода автотестов для десктопных приложений. Поделюсь опытом создания архитектуры, которая делает тесты стабильными и поддерживаемыми. Рассмотрим Controller Pattern и его применение в автоматизации десктопных приложений."
Камэкура Юсаку: самый известный японский графический дизайнер XX века и его логотипы
Камэкура Юсаку — один из основоположников современного графического дизайна в Японии. Его работы сочетают западные принципы модернизма с японской эстетикой, создавая лаконичные, но выразительные визуальные решения. Именно он автор логотипов для Nikon, Toshiba, Toyota, TDK и многих других компаний. О его жизни и творческих принципах мы и расскажем в нашем материале.
Программисты не исчезнут никогда
Пять лет назад я сделал некоммерческий проект с немного провокационным названием — «Школа брата Антония». Это был базовый курс по изучению программирования на языке Swift. Тогда я утверждал, что существует явное окно возможностей, которым стоит воспользоваться. Впоследствии я получил десятки писем с благодарностью — люди писали, что это действительно был хороший совет. Многие решились на изменения в жизни — и не прогадали. Бывшие электрики, продавцы, HR-специалисты, стоматологи (за врачей мне немного стыдно), хирург (тут я чувствую себя ещё хуже) смогли устроиться на высокооплачиваемую работу. Кландайк.
Но в 2025 году пришло время признать, что ландшафт серьёзно изменился. Вместо окна возможностей осталась форточка. В неё сложно, но всё ещё можно запрыгнуть.
Патенты на шахматы: как компании используют популярную игру в своих разработках
Одна из старейших игр в истории человечества (ее прообразы возникли еще в Индии в VI веке нашей эры) — и одна из самых запатентованных. Сотни инноваторов юридически оформили свои изобретения и полезные модели по мотивам шахмат. Некоторые из проектов — сугубо коммерческие, приносящие миллионы своим создателям. О патентах на такие разработки мы и расскажем в этом материале.
CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 2
Часть 2: Настройка GitHub Actions и GitLab CI – первый workflow и деплой
В первой статье мы разобрались с основами CI/CD: что это такое, зачем нужно и какие инструменты существуют. Теперь пришло время перейти от теории к практике – создадим наши первые рабочие CI/CD-конвейеры на GitHub Actions и GitLab CI.
Scenax: как превратить API-тесты в читаемые сценарии с Vitest и Allure (Часть 2)
В первой части статьи мы заложили фундамент.
В этой части статьи мы переходим от сценариев к архитектуре целых тестовых библиотек: подключаем lifecycle-хуки, вводим @Context и @Inject, создаём Step Library и автоматизируем запуск целых слоёв.
Zerotrust по-пацански
Zerotrust по-пацански
Первый подход к описанию построения ZT в реальных условиях. В этой части определимся с понятиями и набросаем схему.
Почта Японии запустила систему «цифрового адреса»
Почтовая служба Японии запустила новую систему «цифрового адреса». 26 мая 2025 года Japan Post запустила систему «цифровых адресов», связывающую семизначные комбинации цифр и букв с физическими адресами.
Новая система позволяет пользователям вводить эти семизначные коды на сайтах интернет‑магазинов, а привязанные к коду адреса будут автоматически отображаться на сайтах.
Рок. Мозг. Инструкция по применению (конспект бестселлера)
Мозг похож на театр и вы в нём — режиссёр, который может управлять мыслительными процессами (в том, числе путём обмана) и не пускать на сцену сознания ненужные мысли.
Конспект книги с полезными рекомендациями управления своим мозгом.
Gartner's AI Tech Sandwich: Едим ИИ-бутерброд правильно
Внедрение ИИ технологий – это неизбежность для коммерческих организаций, желающих остаться конкурентными на своем рынке, да, и просто желающих выжить. Общемировая динамика освоения ИИ за 2024 год по оценке McKinsey показывает 20% рост числа организаций, внедривших ИИ хотя бы в одну бизнес функцию.
Инновационный бум, масштабы и скорость трансформации технологического ландшафта приводят к появлению новых подходов и методологий в выстраивании цифрового фундамента бизнеса. Gartner's AI Technology Sandwich – это новый фреймворк, помогающий компаниям различного уровня управлять процессом построения AI-powered экосистем и систематизировать их сложную многослойную структуру.
Создание вращающейся ручки на основе Input Range
Рад приветствовать тебя,%username%. В этой статье я поделюсь тем, как создать вращающуюся ручку (в зарубежной литературе именуемой Knob). Далее по тексту я её буду называть «кноб». Перейдём к сути вопроса.
Что меня сподвигло на написание данной статьи, или как я докатился до жизни такой
Когда‑то давно, будучи ещё совсем зелёным и несмышлёным кодером, мне взбрело в голову сделать своё приложение. Моих знаний хватало на какой‑нибудь «Hello, World!», но кое‑что выдать я мог. И на тоот момент мне позарез нужно было реализовать кноб — тот самый круглый регулятор, который можно крутить и он будет менять значения. И как любой уважающий себя программист, я сразу же полез гуглить стековерфлоу и прочее непотребство, дабы найти тот самый рецепт хлеба сладкого ответ на вопрос, который так долго меня волновал. Однако перешерстив весь интернет, ничего путёвого я не нашёл. Расстроившись, я забил на эту идею. Но какие‑то угольки веры в то, что у меня получится это сделать,…
GoDaddy получила в США патент на технологию защиты сервисов поиска доменных имен от перегрузки спам-запросами
Доменный регистратор GoDaddy получил от патентного ведомства США патент 12316600 на разработанную специалистами компании технологию защиты сервисов поиска доменных имен от массовых запросов со стороны ботов и злоумышленников.
50 терминов, которые обязан знать каждый маркетолог
Каждый маркетолог должен знать термины в списке ниже (это минимальная база). С ними действительно проще понимать, о чём говорят коллеги или просто лучше разбираться с вашими рекламами. Это полезно, но не думайте, что знание слов само по себе принесёт деньги.
Дайджест технических новостей, переводов и лонгридов инфослужбы Хабра за май 2025 года
В мае 2025 года информационная служба Хабра выпустила 850 публикаций (789 новостей и постов, 11 лонгридов и 50 переводов). В этом дайджесте представлены лучшие технические новости, переводы и лонгриды (отдельные большие публикации) инфослужбы Хабра, согласно оценкам пользователей.
Как пройти… к третьей нормальной форме?
Как преподаватель, могу сказать, что студентам непросто бывает привести базу данных к какому‑то осмысленному виду (не говоря уже про третью нормальную форму). Во‑первых, нередко «всё связано со всем», во‑вторых, в мало‑мальски сложной (в смысле, комплексной) задаче бывает трудно правильно спроектировать таблицы (то есть определить, какие таблицы должны быть в базе, как они должны быть связаны друг с другом, где и какая информация должна в них храниться). Помогает ли им в этом теория? И да, и нет. Дело в том, что нормализация данных говорит о желаемом виде каждой таблицы, и, преобразуя отдельно взятую таблицу к нормальной форме, мы также что‑то делаем со всей базой данных (добавляем новые таблицы, перемещаем между ними поля, и так далее) — это как сборка кубика Рубика. Второй проблемой здесь является то, что даже база данных, состоящая из единственной таблицы, не приведенной к первой нормальной форме, внезапно, тоже будет работать — криво‑косо, но будет! Теория —…
Вы уверены, что defer всегда безопасен?
Привет! Я Артур Давыдов, бэкенд разработчик в Здравсити. В этой статье хочу рассмотреть поведение defer более детально. Данную статья пишется в целях "попробовать себя", а так же, надеюсь, помочь кому-то разобраться с defer.
Индикация клика на стероидах в Compose: пишем свою IndicationNodeFactory
При работе с Jetpack Compose разработчики часто не замечают, как элементы Material и Material 3 дизайн систем вплетаются в их код. Один из таких элементов - это индикация клика, реализованная в Material как круги на воде (англ. ripple effect). В этой статье мы разберем, в чем недостатки дефолтной реализации риппл-эффекта в Compose и как сделать свою.
О Statement, instruction, operator, expression и других терминах IT
По своему опыту преподавания информатики и программирования регулярно замечаю, что вдумчивые начинающие программисты, отличающиеся внимательным отношением к различным деталям применяемых в программировании терминов, не редко впадают в ступор, изучая переведённые на русский язык книги известных на Западе программистов: М. Лутц, Дж Гл. Брукшир, М. Саммерфильд, М. Прайс, J.P. Мюллер, J. Албахари и т.д. Например, чем отличается Statement, Operator, Instruction, и почему они так переводятся на русский язык?
В интернете на этот счёт много достаточно противоречивой информации, даже в англоговорящей среде, а в переводных книгах на русском языке это ещё усложняется, если не понимать нюансы. Поэтому подготовил небольшой материал для начинающих программистов с целью упрощения понимания этих вопросов. Фактологического материала в черновиках у меня много по терминам IT, но все не объять, поэтому постараюсь быть кратким. При этом, как справедливо…
Как добавить теги в чат. Часть первая
Когда я стала администратором чата, мне казалось, что это будет ответственно, но весело, как прогулка в лесу в воскресный день: удалять ненужное, поддерживать участников, отвечать на вопросы. Однако совсем скоро я столкнулась с тем, с чем не ожидала столкнуться — со своим собственным недовольством. Участники раздражали тем, что задавали одни и те же вопросы. Важная информация раздражала тем, что терялась в потоке. Мой FOMO не уменьшался, а рос. А моё Избранное в Телеграме разбухало от пересланных сообщений, которые я никогда не перечитаю.
Часть 1: 100K юзеров за 3 дня — что сломалось
Привет, Хабр!
В этой статье — история запуска Telegram Mini App, куда за трое суток пришло 100.000 реальных пользователей.
Покажу, как мы масштабировали Node.js приложения на многоядерных серверах, увеличивали RPS в 10 раз, боролись с N+1 проблемой в MongoDB и снижали нагрузку на CPU. А ещё расскажу как мы быстро настроили мониторинг через Grafana, подключили Cloudflare и интегрировали Sentry. Поделюсь практическими инсайтами о том, на что стоит обращать внимание в первую очередь, и как эти инструменты помогли нам оперативно находить узкие места и устранять сбои в реальном времени. Всё, о чём будет в этой статье, основано на том, что действительно сработало. Кроме того, расскажу, какие моменты мы упустили до запуска.
Это разбор с цифрами, графиками и практическими выводами. Он может сэкономить вам время, нервы и деньги, если вы готовитесь к запуску Telegram Mini App или просто работаете с Node.js-приложениями, которые могут оказаться под серьёзной…
Тиндер для работодателей и соискателей: как мы в Авито разработали алгоритм мэтчинга
Всем привет! Я Владислав Урих, работаю продуктовым аналитиком в Авито и на данный момент занимаюсь построением алгоритмов мэтчинга в новом транзакционном продукте — Авито Подработка. В статье рассказываю, как мы построили алгоритм мэтчинга — инструмент подбора оптимальной выдачи для каждого конкретного покупателя.
Вы узнаете, почему алгоритмы поиска в категориях Авито работают по-разному, как собрать и использовать больше данных о пользователях без анкет, легко проверить гипотезу в офлайн-тестах и получить значимые продуктовые улучшения.
Текст будет полезен всем продуктовым аналитикам, ML-инженерам и продакт-менеджерам, которые работают с алгоритмическими продуктами.
Flutter & Dart: Май 2025 — Главное за месяц
Май принёс отличные новости для Flutter-разработчиков: обновления SDK, интересные статьи, пачка новых и полезных пакетов, а также видео на русском и английском языках.
В Томске успешно прошли первые лётные испытания демонстратора системы спутниковой связи 5G
В Томской области успешно прошли первые в России лётные испытания демонстратора системы спутниковой связи 5G. Разработку выполнила компания «Телеком‑проект-5» по заказу Фонда перспективных исследований.
Технология бортовой связи 5G создана для управления беспилотниками в наземной и космической сети 5G. В ходе испытаний успешно прошел приём и передача сигнала с борта лаборатории на наземные терминалы, имитирующие сотовые телефоны с 5G.
История одного QA
На тему построения системы автоматизации тестирования в рамках конвейера CI/CD написано немало различных публикаций. В этой статье мы хотим рассказать о том, как строился процесс тестирования одного продукта в реальной организации, какие сложности и ошибки возникали и как они решались.
Философия программирования зашла в тупик
Никто давно не пытается выводить теорий о том как правильно писать код.
Старые теории и способы об этом думать в общественной дискуссии давно свелись к спору о синтаксическом сахаре да и теории те были попыткой выделения каких-то математических свойств кода. Потом как известно была доказана невозможность этого.
Сейчас всё изменилось - мы должны рассуждать о проекте как о том, что постоянно изменяется большими группами людей, какая-то часть и кода и людей может быть неправильной, никто из модифицирующих не знает проекта целиком, нужны новые идеи и способы рассуждения.