Pull to refresh

Technotext

Elvis-модификатор доступа в C#

Level of difficultyMedium
Reading time44 min
Reach and readers8.5K

Доброго здоровья!

Предполагается, что статья будет интересна тем, кто любит четкие контракты в своих проектах, строгость и чистоту в инкапсуляции, новые подходы в ООП. А также тем, кто уважает функциональное программирование.

Эти темы и затрагиваются в предлагаемом «Elvis-модификаторе доступа», реализованным через Roslyn Analyzer. Все исходники и nuget пакеты прилагаются.

Читать далее

Локальный Rebase в 1С:EDT. Просто о сложном

Reading time6 min
Reach and readers6K

Локальный Rebase в 1С:EDT - это мощная и достаточно продвинутая операция по актуализации вашей локальной ветки (синхронизация с последними изменениями) перед тем, как выполнять слияние с главной веткой.

Давайте разберём подробно, что это такое, зачем нужно и как работает.

Для начала примем договорённость: в удалённом репозитории Git существует главная ветка с именем dev. Обычно главной ветке дают такие имена, как main, develop или просто dev. В нашем примере имя главной ветки - dev.

Зачем это нужно в 1С:EDT?

Прежде всего - для вашей локальной ветки. Например, вы создали от главной ветки dev свою локальную ветку и переименовали её в feature/my-branch.

Читать далее

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

Level of difficultyEasy
Reading time4 min
Reach and readers7.1K

(Тут можно упоминать какой-нибудь крутой сервис VPN, но этого не будет, т.к. собрал свой, чем собсснно горжусь)
В январе 2026 я запустил Telegram-бота с одной простой идеей: вечером спрашивать «как прошёл день по твоей цели?» и давать три кнопки: ✅ Сделано, 🌓 Частично, 😕 Не сделано.

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

Через два месяца ботом пользуются около 100 человек. Некоторые держат одну и ту же цель уже 40–60 дней подряд. Не потому, что стали железными. А потому, что я случайно сделал систему, где процесс приятнее цели.

Вот как это вышло...

Читать далее

От 0.034 до 0.791 и обратно: Legal RAG, 17 итераций и стена масштабирования

Level of difficultyMedium
Reading time22 min
Reach and readers7.4K

Я участвовал в ARLC 2026 — юридическом AI-челлендже по построению RAG-пайплайна поверх корпуса судебных решений и законов. Соло, с Claude Code в качестве напарника. За 5 дней и 17 итераций прошёл путь от 0.034 до 0.791 на warmup — а потом вышел в финал и потерял 42% на 300 документах вместо 30. Внутри — архитектура, код, математика F-beta, три провала и честный разбор работы с AI-ассистентом.

Читать далее

Вторая Западная Сибирь: как забытая идея советского геолога может перевернуть нефтедобычу

Level of difficultyMedium
Reading time14 min
Reach and readers69K

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

Но что, если главная нефтяная провинция будущего находится прямо у нас под ногами — на тех самых месторождениях, которые мы считаем «выработанными»? Что, если «вторая Западная Сибирь» — это не новая география, а новый способ смотреть на старые промыслы?

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

Читать далее

Настраиваем паука для сбора данных: как работает фреймворк Scrapy

Reading time6 min
Reach and readers11K

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

Читать далее

Ускорить Pandas в 60 раз: проверяем лайфхаки из интернета на реальном проекте и обкладываемся бенчмарками

Level of difficultyEasy
Reading time8 min
Reach and readers18K

Привет! Если после заголовка вы решили, что это очередная статья в стиле «Топ-10 способов ускорить Pandas», то не торопитесь с выводами. Вместо топов и подборок предлагаю взглянуть на бенчмарки скорости и потребления памяти в зависимости от характеристик датафрейма и убедиться, что часть советов из статей по ускорению могут оказаться даже вредными. Разберём, какой из способов ускорения нужно пробовать в разных ситуациях, как это зависит от размера датафрейма и как ведёт себя в реальном проекте.

Читать далее

Concurrency testing — отлавливаем состояния гонки

Level of difficultyMedium
Reading time8 min
Reach and readers4.4K

В статье разберём некоторые техники обнаружения плавающих багов, вызванных конкурентностью. Сделаем подход к автоматическому тестированию устойчивости веб-сервисов к различным race condition. Примеры будут на python + asyncio + sqlalchemy, но эти подходы применимы к любым моделям конкурентности, которые подвержены состояниям гонки.

Читать далее

Ушел к другому, или топ-6 причин, почему клиенты меняют вендоров ITSM-решений

Reading time4 min
Reach and readers5.2K

Привет, Хабр! Эту статью написал вендор ITSM-решений. Поэтому вы вправе ожидать толстого самопиара в духе «мы лучше всех, выбирайте нас». Но мы пойдем другим путем.

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

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

Читать далее

В активном поиске: как вести базовый и продвинутый учет ИТ-активов

Level of difficultyEasy
Reading time5 min
Reach and readers7.9K

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

Привет, Хабр! Меня зовут Кира, я — аналитик в ITSM 365, специализируюсь на кейсах управления ИТ-активами. Расскажу, что заложено в нашей сервис деск системе для стандартного учета и как оторваться по полной в кастомизации на примере управления подписками и выдачей доступов.

Читать далее

Дело не в тебе: почему айтишники долго ищут работу, а эйчары — IT-специалистов

Reading time7 min
Reach and readers38K

Привет, Хабр! Я — Настя Антоненко, менеджер продукта ITSM 365 HR. Работаю на стыке HR и IT, поэтому слежу за наймом по отрасли и хочу поделиться наблюдениями. 

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

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

Читать далее

Волшебный Koog. Пишем Kotlin-агент широкого профиля KMP

Level of difficultyMedium
Reading time13 min
Reach and readers11K

Всем привет! С вами Анна Жаркова, руководитель мобильной практики ГК Юзтех. Что ж, за последние полгода мир разработки и мир ИИ скакнули и ушли далеко вперед. Теперь знания работы с агентами, умение написать не только правильный промт, но и собственные скиллы (навыки) для этих агентов, готовить свои mcp для погружения в контекст задачи, проекта, становятся не только полезными, но и обязательными для разработчиков и IT-специалистов. Уже многие используют как специальные IDE с ИИ-агентами (Claude, Cursor, Windsurf и т.п), так и встраиваемые в привычные VsCode и AndroidStudio в виде плагинов. Можно не ограничиваться готовым настраиваемым функционалом, а пойти дальше и написать свой собственный агент. И сегодня мы поговорим про такое решение, использование специального фреймворка от JetBrains Koog для разработки свои агентов. С его помощью мы создадим агент для генерации простых KMP приложений и кросс-платформенных задач и подключим к плагину Continue dev.

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

Читать далее

Оживляем диаграммы последовательности: PlantUML и немного кода

Level of difficultyMedium
Reading time18 min
Reach and readers8.9K

Привет!

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

Если хочет — может раскрыть больше деталей, если нужно наоборот — может скрыть избыточные.

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

Будет PlantUML, JavaScript, HTML и немного разочарования в ИИ :-)

P.S. Не смотрите на то, что читать статью якобы много-много минут. Текста там не много, все код виноват :-)

Читать далее

Эволюционная архитектура ПО: уроки теории Дарвина

Level of difficultyEasy
Reading time7 min
Reach and readers5.6K

Концепция эволюционной архитектуры (Evolutionary Architecture) — очень популярный в наши дни подход к проектированию программного обеспечения, при котором система способна адаптироваться и развиваться без потери функциональности. Этот подход подробно описан в книге «Эволюционная архитектура. Автоматизированное управление программным обеспечением» Нила Форда и др. 

На связи Кирилл Маканков, iOS-разработчик в ПСБ. В этой статье я хочу проанализировать эволюционную архитектуру сквозь призму теории Дарвина и определить, действительно ли этот подход позволяет ПО эволюционировать. 

Читать далее

Не все RPS одинаково полезны: уроки нагрузочного тестирования core-системы

Level of difficultyMedium
Reading time9 min
Reach and readers8.8K

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

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

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

Читать далее

От «Долгого Джонта» Кинга до pip install: пишем HAL для атомного манипулятора

Level of difficultyMedium
Reading time6 min
Reach and readers6.7K

Начал с фантазий про телепортацию из рассказа Кинга, закончил Python-пакетом для управления атомным микроскопом. Симулятор вместо оборудования за $500K, замена LabVIEW на asyncio, drop-in для RL-агента.

Читать далее

At-least-once. Это не баг провайдера. Это ваша архитектурная проблема

Level of difficultyHard
Reading time37 min
Reach and readers7.8K

Думал, зайду в крипту и буду просто дёргать API блокчейна. Не вышло.

Захожу в проект. Стек: FastAPI, PostgreSQL, Redis как Celery broker, Celery workers, Docker, Web3. Стартап на хайпе, деньги реальные, архитектура собрана на коленке. Смотрю на архитектуру платёжного процессинга и первая мысль: ребята, вы серьёзно? Финансовые операции с реальными деньгами, без idempotency вообще, Redis как брокер без persistence, Web3.py синхронные вызовы внутри Celery тасков.

Разговор был короткий: задача такая, чини что есть. Сроки горели.

Читать далее

Вот как сегодня устроено российское производство

Level of difficultyEasy
Reading time9 min
Reach and readers12K

Что общего между крышечкой от колы, трубой в ванной, медицинской маской и подгузником Huggies? Полипропилен — один из самых популярных пластиков в мире.

Привет! Меня зовут Игорь, недавно я побывал на одном из заводов — «Томскнефтехим».

Читать далее

Путешествие одного промпта: Что на самом деле происходит под капотом у LLM?

Level of difficultyEasy
Reading time15 min
Reach and readers12K

Загадка работы LLM: что происходит, когда вы нажимаете Enter? Разбираем пошагово путь вашего промпта от токенизации до генерации ответа. Узнайте, как устроены большие языковые модели, как ими управлять и какие мифы они развеивают.

Читать далее

Pattern matching в .NET

Level of difficultyEasy
Reading time15 min
Reach and readers10K

Привет, Хабр! Меня зовут Митя, я инженер-программист в Контуре. Во время написания кода анализаторы иногда предлагают заменить привычные конструкции на pattern matching. Однако то, что призвано повысить читаемость, нередко делает код более трудным для восприятия, особенно, если не понимать, во что именно разворачиваются те или иные конструкции. И в один из дней я задался вопросом: а есть ли какие-нибудь подводные камни при использовании pattern matching и во что именно его преобразует компилятор? В этой статье — мои мысли и заметки.

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