Feed aggregator

Python: Почему строки в if-else — это плохо, переходим на Enum

Habr.com - Thu, 01/08/2026 - 13:23

Бывало такое: сидишь час над багом, перебираешь функции, а в итоге выясняется, что ты просто опечатался в одном слове? В одном месте статус заказа был "shipped", а в другом — "shiped" с одной «p».

Python промолчал, потому что для него это просто две разные строки. А для тебя это — потерянный вечер. Сегодня разберем, как модуль enum избавляет от этой боли и делает код в разы чище.

Читать далее

Нейро-дайджест: ключевые события мира AI за 1-ю неделю января 2026

Habr.com - Thu, 01/08/2026 - 13:05

Привет, это новый выпуск «Нейро-дайджеста» — коротких и полезных обзоров ключевых событий в мире искусственного интеллекта и технологий. 

Неделя выдалась насыщенной: китайцы выкатили MiniMax-M2.1 для кодинга и агентных задач, новая мультимодальная опенсорс LTX-2 и обновлённый Qwen-Image-2512. ИИ для документаций, озвучка текста в браузере и штрафы за нейро-видео.

Всё самое важное — в одном месте. Поехали!

Читать дайджест →

Контент, который ест сам себя

Habr.com - Thu, 01/08/2026 - 13:03

Да, это хаб про Java и разработку, но в новогодние каникулы его «захватили» маркетологи: решили размять мозги не хардкором, а хайповой темой про ИИ-контент на площадке, которая развивается и зарабатывает благодаря UGC (user generated content) и экспертным текстам - это про Хабр. И разработчикам тут тоже есть что обсудить: мы все пишем статьи, доки и комментарии, а ИИ уже меняет правила игры интересно, как с этим будет жить Хабр и как вы сами к этому относитесь: фильтруете, боретесь или используете в полный рост.

Если вы работаете с контентом, особенно B2B, то вы уже заметили это: привычный поиск в Яндексе или Google перестаёт работать как раньше. ИИ-ассистенты медленно, но уверенно меняют правила игры. Раньше процессы SEO были понятными (с оговорками на постоянное изменение алгоритмов, но все же): написал статью, прокачал ключи, получил трафик. Сегодня этого уже недостаточно. ИИ-ассистенты дают готовый ответ прямо на запрос пользователя, зачастую не приводя к переходу на сайт. А ваша команда потратила часы и недели на подготовку документации и сложного контента, который вместо целевого трафика получил пшик!

Читать далее

Обзор сертификации HTB Certified Web Exploitation Specialist (HTB CWES, бывший CBBH)

Habr.com - Thu, 01/08/2026 - 13:02

Вступление

После успешной сдачи OSCP и CRTP, я начал поиск вакансий в сфере пентестинга и заметил, что большинство работодателей ищут веб- и моб-пентестеров. Хваленый и суперпопулярный OSCP очень слабо покрывает направление веб-пентеста, а CRTP - это все про AD.

После неудачного поиска работы я решил дальше учиться, чтобы подтянуть свои навыки в вебе и в будущем заняться баг-хантингом. Несмотря на мой список сертификатов (OSCP, CRTP, PNPT, PJPT, CompTIA A+, Network+, Security+), меня так никуда и не позвали на собеседования :) Без подходящего опыта работы и знакомств пробиться оказалось очень сложно, поэтому я решил делать упор на специализацию в вебе и получить опыт в баг-хантинге.

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

После небольшого исследования мой выбор пал на два сертификата: Certified Web Exploitation Specialist (HTB CWES) от HTB и Burp Suite Certified Practitioner (BSCP) от PortSwigger.

Ранее, во время подготовки к OSCP, я проходил различные обучающие модули от HTB (AD, SQLi и прочее). Мне тогда контент очень сильно зашел, поэтому я решил взяться именно за этот сертификат.

Для получения этого сертификата нужно выполнить три условия:

Читать далее

Как измерили Землю без GPS: дуга Струве длиной 2820 км

Habr.com - Thu, 01/08/2026 - 13:00

О том, что Земля имеет форму шара, знали задолго до Нового времени. Но одно дело общее представление, и совсем другое — точные измерения размеров и формы планеты.

Для этого нужны были не рассуждения, а масштабные геодезические работы: измерения углов, расстояний и сложные вычисления на тысячах километров. В XIX веке такую «линейку» создал астроном Василий Струве, построив величайшую геодезическую дугу своего времени — цепочку из 265 треугольников от Северного Ледовитого океана до Чёрного моря.

В этой статье разберёмся, как работала «Дуга Струве» и почему без неё современная геодезия выглядела бы иначе.

Читать далее

Что показали вендоры в 2025 году? Самые интересные железные новинки

Habr.com - Thu, 01/08/2026 - 12:48

Каждый месяц мы публиковали дайджесты с обзорами новинок серверного железа — от процессоров до систем хранения. И настало время подвести итоги и выделить, какие компоненты действительно задали вектор развития индустрии.

Привет! Меня зовут Сергей Ковалёв, я менеджер выделенных серверов в Selectel. В этой статье я собрал самые интересные видеокарты, процессоры, диски и другие технологии за 2025 год. Подробности под катом!

Узнать подробности

Еще раз о симметрии кубика Рубика. «Зеркало» двусторонних MDSI-паттернов

Habr.com - Thu, 01/08/2026 - 12:20

Это статья является дополнением к большому материалу Симметрия кубика Рубика, где я рассказывал о своем методе сборки зеркальных двусторонних инверсивных паттернов Mirror Dual-Sided Inverse (MDSI) на кубике Рубика. Я посчитал нужным дополнительно объяснить, как эвристически искал доказательство того, что возможно на противоположных сторонах кубика Рубика собрать любой (2-, 3-, 4-, 5- и 6-цветный) MDSI паттерн. Для этого я ввел понятие «зеркало» для среднего слоя, который отражает противоположные стороны и применил правило четности пермутаций.

Крутить кубик Рубика...

Loss32 -- проект дистрибутива с реализацией Win32

Linux.org.ru - Thu, 01/08/2026 - 12:10

Проект Loss32 развивает дистрибутив, который сочетает в себе ядро Linux и графическое окружение, основанное на Windows-совместимых компонентах. Компоненты используются из Wine и ReactOS.

Ключевым отличием от ReactOS является отказ от идеи использования ядра Windows NT в основе и использование подхода, близкого к Android (в котором также используется ядро Linux для вышеуказанных целей, но не используются такие компоненты, как Systemd, утилиты GNU, Wayland/X11, менеджеры пакетов и т.п), позволяющего добиться большей аппаратной совместимости по сравнению с оригинальным проектом.

В качестве композитного менеджера используется Mutter, среда рабочего стола базируется на приложениях и библиотеках Win32, таких как explorer.exe и shell32.dll.

Сайт проекта

Подробности (ycombinator.com)

 , ,

Сладость пения: сирены

Habr.com - Thu, 01/08/2026 - 12:04

С точки зрения Древней Греции, это «привлекательные существа, в верхней своей части, выглядящие как женщины, а снизу, как птицы. Они обладали невероятно сладкоголосым голосом, благодаря которому, пение сирен завораживало и увлекало несчастных мореплавателей на погибель» — где-то примерно так надо было бы начать наш рассказ, если бы мы захотели вспомнить ещё раз мифы. Но... Мы то расскажем не про это! :-)

Читать далее

Цифровой рубль: что это такое и как он изменит платёжную систему

Habr.com - Thu, 01/08/2026 - 12:00

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

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

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

Читать далее

Вы 100% не знали хотя бы 1 фишку в LaTeX из этой статьи. часть 2/4

Habr.com - Thu, 01/08/2026 - 12:00

Меня зовут Виталий и я пишу уже который год самую большую книгу по математике для 4 11 классов, а так же автор поста (рекомендую почитать) о ней. Пишу я ее в LaTeX и считаю, что современный учебник не должен быть черно-белым, а так же должен быть удобен для использования и учеником и учителем. Здесь я собрал вторую часть фишек, которые я использую (что-то чаще, что-то реже). Надеюсь, вы найдете что-нибудь полезное для себя:)

Постараюсь все подробно описать, но не гарантирую идеального кода. Компиляция в основном с помощью pdflatex, но есть места, где требуется lualatex. Для себя я сделал около 35 стилевых файлов для использования в преамбуле, но тут я написал полный код чтобы в каждом случае можно было запустить "из коробки".

Первая часть тут

Читать далее

Главное — это хорошая ZOPA (простое применение теории игр к переговорам)

Habr.com - Thu, 01/08/2026 - 12:00

Вот вы покупаете б/у сервер у компании, которая закрывается. Никто не знает точно, сколько он стоит, но есть ощущение, что сделка возможна.

Всё это отлично покрывается теорией игр.

Вам нужно две границы:

1. За сколько максимум вы готовы его купить. Это можно посчитать по предполагаемому износу, цене б/у комплектующих и цене аналогов.

2. За сколько минимум его могут продать. Надо посмотреть на ситуацию их глазами: они распродают оборудование, не хотят возиться и готовы на быструю сделку.

Разница между вашей максимальной ценой и их минимальной — это и есть ZOPA. То есть Zone of Possible Agreement, или зона возможного соглашения. Это пространство между вашей точкой ухода и точкой ухода продавца, то есть диапазон, в котором торговаться вообще имеет смысл.

ZOPA существует, если максимальная цена покупателя ВЫШЕ или равна минимальной цене продавца. Если нет — сделка невозможна.

Вам надо:

— Понять, существует ли ZOPA вообще.

— Постараться выяснить границы ZOPA (особенно точку ухода оппонента).

— Добиться результата внутри ZOPA, который будет максимально близок к вашей цели.

Вторая важная концепция — BATNA. Это лучшая альтернатива. Например, если вы идёте к руководителю на переговоры по повышению зарплаты, возможно, надо выяснить Best Alternative. Если вы придёте просто так, с аргументом «я хорошо работаю», ваша лучшая альтернатива — остаться на текущей зарплате. Это слабая BATNA. Но если вы придёте с офером от другой компании на 30% выше, ваша BATNA — это переход на новую, высокооплачиваемую работу. Либо вы выбесите руководителя и эйчара, либо покажете, что есть чёткое основание, куда торговаться, и ваша ценность на рынке подтверждена.

Вы можете управлять BATNA, добавляя что-то в сделку, например, «В этом году я активно менторил джунов, так как никто из коллег не мог выступать наставником. В другой компании за менторство мне предложили +15% к окладу, но я бы хотел обсудить новые условия нашего с вами сотрудничества». В общем, давайте покопаемся ещё немного в теории игр на практике. В том числе про то, как готовиться к переговорам по зарплате.

Читать далее

[Перевод] От промпта до продакшна за два часа: всё, что нужно знать о Claude Code

Habr.com - Thu, 01/08/2026 - 11:48

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

В 2026 году «работать умнее» наконец-то означает подключить агента к процессу.

Не для автодополнения. Не для подсказок. Для исполнения.

Вы описываете, что вам нужно, простым языком. Claude Code читает вашу кодовую базу, пишет продакшн-код, запускает тесты и интегрируется с вашими инструментами. Вы тратите меньше времени на шаблонный код и больше - на архитектурные решения.

Это руководство покажет вам, как строить реальные системы с Claude Code.

Читать далее

Нечёткое тестирование свойств

Habr.com - Thu, 01/08/2026 - 11:30

Есть две категории программистов. Первая пишет тесты, вторая работает. Шутейка, конечно, на троечку, но в каждой байке, застрявшей в пабликах мёртвых заархивированных форумов, под пылью и нафталином, — можно нащупать слой гранита настоящей правды. Модное ныне «покрытие кода тестами» напоминает попытку оклеить айсберг новогодней мишурой — вроде и весело, но Титаник все равно пойдет на дно.

Я собираюсь рассказать о том, как правильно тестировать код в изоляции (интеграционные тесты — зверь из соседнего вольера, и о нем — в другой раз). Для этого нам потребуется пара определений. Фаззинг (от английского fuzzing) — это способ тестирования, при котором программе скармливают огромные объемы случайных, полуслучайных или вообще намеренно испорченных данных, с надеждой выявить уязвимости или баги. Изначально этот метод применялся в академической среде для поиска дыр в безопасности, но быстро перекочевал в руки здравомыслящих разработчиков. Property-based testing, в свою очередь, представляет собой подход к тестированию, где вместо проверки конкретных примеров типа «дважды два — четыре» мы формулируем общие свойства системы. Например: «если функция принимает список и возвращает список, то длина результата не должна превышать длину входа». А дальше уже инструмент генерирует тысячи, миллионы вариантов входных данных и проверяет, соблюдается ли это условие.

Taste it!

«Работаю на 200%, но меня не замечают»: 4 категории людей, которых не повышают, иногда даже специально

Habr.com - Thu, 01/08/2026 - 11:02

Бывает так: специалист закрывает сложные задачи, подхватывает чужие таски и выруливает релизы в срок. В трекере у него больше всего задач, к нему тянутся коллеги за помощью. Но когда речь заходит о повышении зарплаты или грейда — его фамилию даже не вспоминают. Через какое-то время появляется ощущение несправедливости и вопрос: «Что ещё нужно сделать, чтобы меня наконец заметили?».

Меня зовут Яна Шаклеина, 8 лет в ИТ. Начинала карьеру как разработчик, работала в сопровождении, потом начала всё совмещать с обязанностями руководителя. Не с первого раза, но получила руководящую должность и сейчас работаю CPO в Outlines Tech. Делюсь опытом со стороны исполнителя и руководителя, каких специалистов не повышают и почему, даже если они объективно лучше других, и что с этим можно сделать.

Читать далее

Быстрый старт в мониторинг сервисов с LLM под капотом

Habr.com - Thu, 01/08/2026 - 11:00

За прошлый год я запустил 5 сервисов с LLM под капотом. Каждый следующий сервис получался лучше предыдущего: мы оттачивали архитектуру, оптимизировали core микросервиса на FastAPI, быстрее выходили на MVP и ловили меньше багов.

Но довольно быстро стало понятно: LLM‑сервисы сложно интерпретировать. Для бизнес команды они выглядят как black box. Для инженеров — как набор плохо воспроизводимых состояний.

В этой статье я поделюсь практиками, которые:

— упрощают интерпретацию поведения LLM;

— делают работу сервиса прозрачной для Product Owners и SME;

— ускоряют разработку и итерации без передеплоев.

Читать далее

Корпоративный RAG как MCP-сервис: подключаем кодовую базу к IDE

Habr.com - Thu, 01/08/2026 - 11:00

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

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

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

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

Читать далее

Когда своровали дизайн интерфейса: 5 судебных процессов и чем это закончилось

Habr.com - Thu, 01/08/2026 - 10:01

Использование чужих графических наработок может привести к суду. Таких примеров — масса. Расскажем о самых примечательных.

Читать далее

Я ненавижу писать сопроводительные письма. Поэтому написал скрипт, который делает это за меня (и HR ничего не заметили)

Habr.com - Thu, 01/08/2026 - 09:57

Поиск работы — это процесс, который ломает психику.

Ты можешь быть крутым сеньором, знать кишки JVM или архитектуру Kubernetes, но чтобы получить оффер, ты вынужден играть в странную игру:

Читать далее

Четыре всадника детского апокалипсиса

Habr.com - Thu, 01/08/2026 - 09:01

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

— Не видишь, я занят! – говорит молодой папа, на секунду отвлекаясь от смартфона к подбежавшей дочери-дошколёнку. На лице девочки радость моментально осыпается в печаль. – Я же говорил – если я читаю – не нужно меня отвлекать!
Дочь, опустив голову, плетётся в песочницу.

В дикой природе у детёнышей зверей возможны четыре сценария отлучения от родителей:
1. детёныш-зверёныш родился слабым и зверомама сама выталкивает его из норы или гнезда, сберегая ресурсы – еду и своё внимание – для здоровой части потомства. Слабый – значит не годен!
2. зверёныш получил травму, которую мама не может вылечить. Царапину она может зализать, а перелом – нет. Простудившегося малыша мама может отогреть, а от серьёзной болезни у неё таблеток нет. Немощный – не годен!
3. зверёныш отстал от мамы, уводившей потомство от угрозы. Или, к примеру, обезьяныш, уцепившийся за маму, не удержался, пока она скакала с пальмы на пальму. Хилый – не годен!
4. мать не вернулась в нору, в гнездо. Она погибла или, по каким-то причинам решила не возвращаться. Такое бывает в природе, например – она слаба и не может выкормить потомство. Табло загорается и в этом случае:
— Я не годен, поэтому мама меня бросила!

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

Читать далее

Who's online

There are currently 0 users and 0 guests online.
Syndicate content