Pull to refresh
4

User

1
Subscribers
Send message

Разработчик 8 лет спорил за свою программу с агрохолдингом. И взыскал 760 тысяч рублей с бывшего работодателя

Level of difficultyEasy
Reading time10 min
Reach and readers30K

Сисадмин сахарного завода в 2013 году написал для 1С небольшую конфигурацию - автоматизацию весовой для грузового транспорта. Поставил на один завод группы, показал коллегам и на некоторое время про это забыл. Через четыре года случайно прочитал в корпоративном издании холдинга, как инженер другого завода рассказывает, что «доработал и внедрил» на своём предприятии ту же самую программу. Только ни договора, ни согласия, ни даже своего имени разработчик в статье не увидел.

Дальше было больше 8 лет споров. Здесь и уголовное дело, и два отказа в районном суде, две кассации, три апелляции. В декабре 2025 года Тамбовский областной суд обязал ООО «Русагро-Тамбов» выплатить автору 760 тысяч рублей компенсации.

Это дело (№ 33-3839/2025) интересно не суммой. В нём суд принципиально развернул позицию, которую большинство работодателей в IT-спорах до сих пор считает выигрышной. Звучит она примерно так. Разработано на нашем компьютере, с нашей 1С, в рабочее время, значит, наше служебное произведение. В этом деле она не сработала, и логика, которую зафиксировала апелляция, универсальна. Для разработчиков это полезный прецедент. Для компаний это сигнал проверить кадровую документацию до того, как начался спор.

Читать далее

Как я переписал проект за неделю вместо трёх месяцев

Reading time12 min
Reach and readers12K

Год назад у меня был legacy-проект с одним main.go на две тысячи строк. MVP: бизнес-логика, конфиг, хэндлеры, БД - всё в одном файле. Три месяца в Cursor, аккуратно, по кусочкам, с тестами на коленке, я вытянул это в нормальную структуру. Три месяца…

А недавно я сел переписывать другой свой проект такого же масштаба. Claude Code, Opus, три субагента-ревьювера, тридцать скилов. Неделя. И это я ещё половину времени потратил на BDD, потому что поверх всего накатывал реализацию на godog. Без BDD уложился бы дня за три!

Расскажу про свой тулчейн level85, через который получил эту разницу. Не “десять советов как заставить нейронку писать код”, а как я дошёл до такой конфигурации, что делает её рабочей, и где я продолжаю наступать на грабли.

Читать далее

Платформа данных на минималках. Часть 1: проблемы Data Lake и роль Iceberg

Reading time11 min
Reach and readers9.1K

Представим ситуацию: у нас есть сервисы, которые пишут логи событий и сообщения из очередей (Kafka, RabbitMQ) в формате Avro для гарантии схемы и потоковой доставки. В это же время отдел машинного обучения работает с датасетами в Parquet — ребята ценят столбцовое хранение и производительность на скалярных чтениях.  Соседняя команда фиксирует фактовые таблицы в ORC, поскольку этот формат подходит для тяжелых аналитических агрегаций. 

Пока объемы данных измерялись гигабайтами, такой «зоопарк форматов» был терпим: каждый отдел использовал свой инструмент, а данные копировались между ними через ETL-конвейеры. Но с ростом до терабайтов и выше эта архитектура начинает ломаться: запросы становятся медленными, стоимость хранения и вычислений стремительно растет, а главное — теряется единый источник истины. Теперь одна и та же бизнес-сущность существует в трех разных форматах, схемах и состояниях. 

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

Читать далее

Почему протоколы шифрования не спасут интернет: корень проблемы глубже, чем ТСПУ

Level of difficultyEasy
Reading time15 min
Reach and readers235K

Хабр переполнен статьями о VPN и протоколах шифрования. Но корень проблемы — не технический. Я проследил путь от первых блокировок Википедии до 70-миллиардных бюджетов РКН и попытался ответить на вопрос, который почему-то редко задают вслух: почему мы сами оплачиваем собственные ограничения — и соглашаемся с этим?

Читать далее

Незаменимых нейтрализуют, тёмная триада останется. Что дальше?

Level of difficultyMedium
Reading time6 min
Reach and readers21K

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

Недавно вышла статья про то, как избавляться от незаменимых сотрудников. Там bus factor, ротация, работа вслух, и финальный аккорд – «в сложный период ушло 40% команды, но мы не сорвали ни одного релиза». Подаётся как успех менеджера. Я хочу поговорить про другое: про тех, кто такие статьи поддерживает и несёт их в мир и презентации. Не лично про людей – про тип мышления, который производит такие тексты, такие команды и моих будущих клиентов.

Читать далее

ИБ‑гигиена для среднего бизнеса: почему один уволенный стоит дороже годового бюджета на безопасность

Level of difficultyMedium
Reading time7 min
Reach and readers16K

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

Как и многие я ищу идеальную формулу: минимум вложений → максимум защиты. Не «купить всё и сразу», не «внедрить SOC за 10 миллионов в год», а именно базовую базу по ИТ и ИБ, которая закрывает 80% рисков и не требует армии сотрудников для ее поддержания.

Эта статья — про то, как за разумные деньги выстроить защиту основывая на собственных ошибках и опыте. С цифрами, с инструментами, с калькулятором.

ИБ‑гигиена — это не SOC, не «киберщит» и не магический короб. Это несколько приземлённых вещей: MFA, антивирус, бэкапы, ролевая модель и обучение людей. Всё это стоит сильно дешевле одного серьёзного инцидента.

Читать далее

Как я обжаловал попытку военкомата ограничить меня в правах

Level of difficultyEasy
Reading time8 min
Reach and readers40K

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

29.11.2025 я получил СМС от номера 117 с текстом: "Вам направлена повестка в военкомат. Ознакомиться: реестрповесток.рф".

По закону возможные ограничение за неявку по повестке (согласно статьи 7.1 Закона №53-ФЗ "О воинской обязанности и военной службе"):

‣ запрет выезда из страны;
‣ запрет на государственную регистрацию физических лиц в качестве индивидуальных предпринимателей;
‣ запрет на постановку на учет в налоговом органе физического лица в качестве налогоплательщика;
‣ приостановки на постановку недвижимого имущества на государственный кадастровый учет и (или) государственную регистрацию прав;
‣ ограничения права на управление транспортными средствами;
‣  запрет на государственную регистрацию транспортных средств;
‣ отказ в заключении кредитного договора, договора займа.

Читать далее

15 онлайн-сервисов, которые должен знать каждый сисадмин

Level of difficultyEasy
Reading time6 min
Reach and readers43K

Продолжаю серию статей про полезные инструменты для сисадминов. Сегодня расскажу про зарубежные сайты, которые точно должны быть в вашем шорт-листе. Читайте под катом и делитесь своими онлайн-сервисами по мониторингу, тестированию и оптимизации. 

Читать

Pandas на Python: От чтения CSV до сложной аналитики за 1 статью

Level of difficultyEasy
Reading time17 min
Reach and readers21K

Сколько раз вы пытались открыть в Excel файл на пару миллионов строк и смотрели на зависший белый экран под звук взлетающего кулера? А сколько раз писали трехэтажные циклы for в чистом Python, чтобы просто сгруппировать данные и посчитать среднее?
Pandas — это Excel на максималках и швейцарский нож любого разработчика и аналитика. В этой статье я собрал абсолютную выжимку: 10 главных шагов для работы с таблицами. Разберем вечную путаницу между loc и iloc, правильную очистку от пропусков, группировки и джойны (merge).

Читать далее

Нижегородское метро: 40 горьких лет

Reading time28 min
Reach and readers59K

В этом году отечественные метрополитены отмечают целую череду круглых дат – не только московский и питерский с их миллионными толпами, но и подземка Нижнего Новгорода, о которой до поры даже в родном городе нечасто вспоминали. 20 ноября 1985 г. «голубые экспрессы» перевезли первых пассажиров от Московской до Пролетарской, сделав тогда ещё Горький третьим российским городом с метро

Читать далее

Три аккаунта ChatGPT и один прокси: как перестать следить за лимитами

Level of difficultyEasy
Reading time3 min
Reach and readers14K

У меня три ChatGPT-аккаунта. На каждом свои лимиты, своя история, свои причины существовать. И на каждом они кончаются в самый неподходящий момент.

Переключаться вручную то ещё удовольствие. Особенно когда работаешь через Codex CLI или OpenCode и хочешь просто писать код, а не следить за тем, на каком аккаунте сейчас крутится запрос.

Именно под эту боль и написан codex-lb.

Читать далее

Почему сервер тормозит при свободных CPU и RAM

Level of difficultyEasy
Reading time6 min
Reach and readers21K

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

Читать

Redis больше не нужен?! Реализуем реактивный кэш на чистом PostgreSQL и Go

Level of difficultyEasy
Reading time4 min
Reach and readers13K

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

В современной разработке мы привыкли решать проблемы производительности стандартным набором инструментов. "База не тянет? Поставь Redis!" — это стало почти рефлексом. Но всегда ли оправдано тащить в инфраструктуру лишний сервис, настраивать сетевые хопы и следить за инвалидацией, если ваша задача — это всего лишь быстрый доступ к небольшому справочнику?

В нашем Open Source проекте BMSTU-ITSTECH/SSO мы столкнулись именно с таким кейсом. И решение оказалось элегантнее, чем просто "поднять Redis". Рассказываю, как мы сэкономили на инфраструктуре и получили мгновенный отклик, используя скрытую мощь PostgreSQL LISTEN/NOTIFY.

Читать далее

Архивируй жизнь как бэкапы: персональная история и документы в формате git

Level of difficultyHard
Reading time8 min
Reach and readers12K

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

Читать далее

Полгода без ручного кода: как я стал AI-диспетчером и научился большему, чем за предыдущие два года

Level of difficultyEasy
Reading time4 min
Reach and readers20K

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

Читать далее

10 полезных Python-библиотек для автоматизации повседневных задач

Reading time7 min
Reach and readers24K

Каждый раз, когда мы пишем «быстрый скрипт на коленке», мы тратим время на одни и те же вещи: настройку логов, парсинг конфигов и создание прогресс-баров. В этой статье разберем 10 легковесных утилит (от tqdm до beartype), которые закроют рутинные задачи и позволят вам сфокусироваться на логике, а не на «обвязке».

Читать далее

FastAPI: 5 практичных архитектурных решений, о которых я пожалел, что не узнал раньше

Level of difficultyEasy
Reading time6 min
Reach and readers24K

Привет, Хабр! Когда начинаешь новый проект на FastAPI, всё кажется простым: пара моделей Pydantic, несколько эндпоинтов — и готово. Но через полгода и 20 000 строк кода оказывается, что базовая валидация размазана по всему приложению, бизнес-логика перемешана с обращениями к БД, а тесты пишутся со скрипом.

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

Читать далее

Lord of the Prints: Filament Fellowship. Путешествие в мир филаментов для FDM-печати

Level of difficultyEasy
Reading time12 min
Reach and readers15K

Привет, Хабр! Это снова Лера из Selectel. В прошлой статье я рассказала о двух технологиях в 3D-печати. В комментариях попросили сделать разбор материалов — и вот он. Сегодня продолжим заниматься извращениями под видом технических текстов. Все сравнения и оценочные суждения — исключительно личное мнение. Экспертов в FDM, гуру печати, а также любителей активных обсуждений прошу принять приглашение на чашечку чая в комментариях, посплетничаем там вместе.

Шорткат под кат

Гид по Git — глазами бывшего джуна

Level of difficultyEasy
Reading time17 min
Reach and readers36K

Привет, на связи Ксюша, миддл-разработчик Surf. Миддлом я стала недавно. Когда я пришла в компанию, я, конечно, знала, что такое Git. Ну, по крайне мере, я так говорила. 

Как-то я, по чистейшей случайности, разумеется, перезаписала чужую ветку. А потом потратила часов 6, чтобы вернуть всё «как было». Благо, помог наш лид, который показал, что делать.

Так я и поняла, что Git — совсем не плохое слово из трёх букв. И теперь несу для всех, кто точно так же начинает свой путь в Git, подробную и понятную инструкцию работы с ним. Го разбираться.

Читать дальше

5 библиотек Python, которые выведут вас на новый уровень. Часть 2

Level of difficultyMedium
Reading time17 min
Reach and readers20K

Вы научились получать и обрабатывать данные. Но что дальше? Как хранить эту информацию надежно, а не в CSV-файлах? Как поделиться результатами своей работы с другими, предоставив им удобный доступ через API? Что делать, если сайт настолько сложен, что Requests не может справиться с его динамическим контентом? И как убедиться, что весь написанный вами код не сломается после очередного изменения?

Читать далее
1
23 ...

Information

Rating
Does not participate
Registered
Activity