Обновить

Бэкенд

Сначала показывать
Порог рейтинга

⚡️ OpenAI раздаёт ChatGPT Pro на 6 месяцев владельцам open-source проектов.

В рамках программы Codex for Open Source можно получить:

• 6 месяцев ChatGPT Pro  

• доступ к Codex и GPT-5.5 Pro  

• API-кредиты  

• Codex Security  

Заявка простая: нужно отправить ссылку на свой репозиторий и коротко объяснить, зачем проект важен и как Codex поможет его улучшить.

Больше шансов у тех, у кого есть:

• активный GitHub-профиль  

• несколько публичных репозиториев  

• звёзды на проектах  

• нормальная история коммитов  

Если у вас есть живой open-source проект, это один из самых простых способов получить ChatGPT Pro на полгода бесплатно.

https://openai.com/ru-RU/form/codex-for-oss/

Теги:
+3
Комментарии0

AGI близко. Технологии уже развились так сильно, что Claude Code, словно закалённый нереалистичными дедлайнами и сомнительным менеджментом офисный работяга, делает десяти-пятнадцатиминутные перекуры по несколько раз в день.

Теги:
+6
Комментарии0

Агентские скиллы: как применить их в разработке

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

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

Скилл — это инструкция для ИИ-помощника: когда её применять, по каким шагам действовать, какие шаблоны и команды использовать. В открытой спецификации Agent Skills скилл обычно оформляется как папка с SKILL.md; рядом могут лежать скрипты, справки и шаблоны.

Подход уже поддерживают разные кодовые ассистенты. GitHub Copilot работает с agent skills в режиме агента, Copilot CLI и облачном агенте. Codex поддерживает скиллы в командной строке, расширении и приложении. Claude Code тоже работает со скиллами через SKILL.md. Поэтому речь не про один инструмент, а про общий способ описывать повторяемые действия команды рядом с кодом.

Кейс 1. Описание проделанной работы

Разработчик закончил задачу, а дальше её должны подхватить тестировщики, аналитики или другие разработчики. Часто в задаче остаётся короткое «сделал», хотя нужно больше контекста.

Можно сделать скилл «описать изменения». Он смотрит на изменения в коде, коммиты и описание задачи, а потом формирует выжимку: что изменилось, какие модули затронуты, как проверить результат, есть ли риски, миграции, настройки или флаги.

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

Кейс 2. Онбординг новых разработчиков

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

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

Кейс 3. Надстройка над Terraform

Другой пример — сложные инструменты. Допустим, команде нужен Terraform для стендов, но не все хорошо с ним знакомы. Реальных знаний Terraform скилл не заменит: всё равно важно понимать состояние, план изменений, ресурсы и последствия удаления инфраструктуры.

Но для повседневной работы можно сделать понятные действия поверх Terraform:

  • Init stand — подготовить стенд;

  • Update stand — применить изменения;

  • Destroy stand — удалить стенд.

Под капотом ассистент выполняет нужные команды: инициализирует Terraform, выбирает окружение, строит план, показывает изменения, просит подтверждение перед опасными действиями и реагирует на ошибки.

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

Что это даёт

Главная польза скиллов в том, что командные знания становятся частью проекта. Их можно обсуждать и улучшать так же, как код. Это мост между «ИИ просто помогает писать код» и «ИИ помогает соблюдать процессы команды»: оформление задач, проверки, инфраструктура, отчёты, онбординг и документация.

Где посмотреть готовые примеры

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

Полезные материалы и репозитории:

Для начала достаточно взять один небольшой процесс, описать его в SKILL.md и положить рядом с кодом.

Теги:
0
Комментарии0

Rust Coreutils 0.9.0 вышел с важным обновлением: закрыли 44 уязвимости, но форма

льная совместимость с GNU Coreutils просела до 90,58%.

Звучит как откат, но причина в другом. Тестовый набор обновили до GNU Coreutils 9.11, туда добавили 25 новых проверок. После этого uutils прошёл 625 тестов, а 56 завалил. В прошлой версии было 630 успешных и 21 неуспешный тест, отсюда падение с 94,74%.

После аудита Zellic исправили 44 уязвимости. Много проблем было связано с расхождением поведения относительно GNU Coreutils и гонками файловой системы. Типичный сценарий: программа проверяет файл, а между проверкой и действием его успевают заменить на симлинк.

Для обычного запуска это неприятно. Для cp, chmod или mv от root это уже критично: можно добиться копирования, изменения прав или перезаписи чужого файла. Для защиты усилили безопасное копирование через uucore::safe_copy.

Параллельно продолжается техническая чистка:

- id, tr, timeout, sort, wc, tail, cp, who, factor переводят на rustix

- сокращают количество unsafe

- в cat, wc, head, tail, yes, cp, tee, unexpand используют splice(), tee() и pipe() для работы без лишнего копирования данных

- подтянули совместимость numfmt, date, tr, cksum, factor, head, stat, sort

- для ln, dd, mktemp, tty добавили сборку под WebAssembly/WASI

Хороший релиз именно для системного Rust. Здесь видно, что переписать coreutils на Rust - это не только «убрать C ради безопасности». Нужно годами догонять поведение GNU, ловить тонкие файловые гонки, вычищать unsafe и сохранять производительность на низком уровне.

Совместимость временно просела, но проект стал безопаснее и технически чище.
https://github.com/uutils/coreutils/releases/tag/0.9.0

Источник: https://t.me/rust_code/

Теги:
+1
Комментарии0

🧠 Топовый сайт для подготовки к собеседованию

Я хотел порешать задачи по System Design и нашел нефть hellointerview.com.

Расскажу про основные плюсы сайта:

  1. Материал без воды, но при этом сложные темы раскрыты очень подробно

  2. Видео и статьи, где вам рисуют диаграммы и детально объясняют решения

  3. Куча практики, где ваше решение проверяет ИИ (и делает это реально хорошо)

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

Если вам интересно, как под капотом работают Google Docs или Elasticsearch, вам сюда.

Еще на сайте есть:

1. Low Level Design (Object-Oriented Design) Тут тоже отличные практические задачи и теория строго по делу. Чего только стоит эта фраза о полезности ООП-паттернов:

Most online resources still dutifully list all 23 GoF patterns like they’re equally important. They’re not.

2. Code (алгоритмы и структуры данных) Тоже полный фарш - статьи, видео с визуализацией алгоритмов и много практики.

3. ML System Design, Behavioral, AI Coding, Salary Negotiation и гайды по интервью в FAANG.

Сайт платный и на английском. Из рф купить его, скорее всего, нельзя, но есть русская копипаста - nowinterview.ru (правда, тоже платная).

👨‍💻 Джуниор

Теги:
-2
Комментарии0

The.Hosting — всё.

Сегодня The.Hosting разослал юзерам такое сообщение:

IMPORTANT: Notice of Service Discontinuation and Account Closure

Dear Customer,

We are writing to inform you that due to unforeseen and unavoidable force majeure circumstances, THE.Hosting is forced to permanently discontinue all its operational services and wind down its activities.

As a result, our platform, support channels, and all associated services will be closed in the coming days.

What this means for you:

New Orders & Renewals: All active forms of registration, ordering, and renewals have been disabled. No new services can be purchased.

Data & Accounts: If you have any active data, configurations, or account details stored within our systems, we urgently advise you to retrieve and back up your information immediately.

Final Termination: Once the wind-down process is completed, all accounts and data will be permanently deleted from our systems.

We deeply regret that we are forced to take this step and understand the inconvenience this causes. We want to thank you sincerely for your partnership and trust in THE.Hosting over the past period.

Sincerely,The Management of THE.Hosting


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

Проблемы у The.Hosting начались около двух недель назад, через несколько дней стало известно об изъятии серверов в Нидерландах, теперь история подошла к закономерному финалу.

Теги:
+1
Комментарии1

Биллинг — это не «простая логика». Четыре грабли за два года разработки

«Напишем за неделю, там простая логика» — так начинается каждая вторая история с биллингом. Через два года получаем систему, которую понимает один человек, пересчёты вручную и клиентов, которым непонятно, почему именно такая сумма. Разбираем типичные ошибки и что закладывать до первого клиента.

Проблема начинается с недооценки. Команда видит базовую математику: тариф × количество × период = счёт. На бумаге выглядит элементарно. В реальности через месяц появляются льготные периоды, через три — пересчёты при смене тарифа, через полгода — клиенты с индивидуальными условиями, которые не вписываются ни в одну модель.

Граблі №1: Отсутствие аудита изменений

Первое, что ломается — прозрачность расчётов. Клиент звонит с вопросом «почему 47 320 рублей, а не 45 000». Разработчик лезет в код, смотрит логи, пытается восстановить цепочку применённых правил. Если изменения тарифа или скидок не пишутся в отдельную таблицу с timestamp и причиной — готовьтесь к ручным разборам каждого спорного счёта.

Решение — event sourcing для биллинговых операций. Каждое изменение тарифа, применение скидки, пересчёт — отдельная запись с контекстом. Не нужен полноценный event store, достаточно таблицы billing_events с полями: timestamp, entity_id, operation_type, old_value, new_value, reason, author. Это база для автоматической генерации детализации и разбора конфликтов.

Граблі №2: Пересчёты при смене тарифа

Клиент переходит с тарифа A на тариф B в середине периода. Простая логика говорит: пропорционально разделить. Реальность добавляет нюансы: минимальный платёж по старому тарифу, неделимые единицы потребления, уже выставленный аванс. Без явной модели пропорционального расчёта получается хардкод под каждый кейс.

Закладывайте prorated billing с первого дня. Это не про сложную математику, а про чёткие правила: как считается остаток периода, как учитывается уже оплаченное, что делать с неделимыми единицами. Пропишите эти правила в коде явно, с комментариями и тестами на граничные случаи.

Граблі №3: Единственный человек, который понимает систему

Через год разработки логика биллинга живёт в голове одного разработчика. Он знает, почему вот этот if обрабатывает старых клиентов иначе, почему там hardcoded исключение для корпоративных аккаунтов и почему пересчёт запускается дважды для определённых тарифов. Документации нет, код читается как алгебра с магическими константами.

Биллинг — это не feature, это критическая инфраструктура. Требуется документация на уровне ADR: почему выбрана такая схема пересчёта, какие альтернативы рассматривались, какие trade-offs. Код должен быть самодокументируемым: явные named-константы для льготных периодов, enum для типов тарифов, отдельные функции для каждого правила расчёта.

Граблі №4: Нет разделения на фазы расчёта

Весь расчёт происходит в одной транзакции: собрали данные, применили скидки, выставили счёт, записали результат. Если где-то ошибка — откатываем всё, клиент не получает счёт. Если нужно пересчитать задним числом — переписываем половину логики.

Разделите расчёт на фазы: 1) сбор данных о потреблении, 2) применение правил тарификации, 3) применение скидок и льгот, 4) генерация счёта, 5) отправка клиенту. Каждая фаза — отдельная функция с чёткими входами и выходами. Это позволяет тестировать изолированно, пересчитывать отдельные этапы и логировать промежуточные результаты.

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

  • Аудит всех изменений: таблица событий с timestamp, контекстом и автором операции.

  • Модель пропорционального расчёта: явные правила для смены тарифа, остатка периода, минимальных платежей.

  • Разделение на фазы: сбор данных → тарификация → скидки → счёт → отправка. Каждая фаза изолирована и тестируема.

  • Документация решений: ADR для ключевых правил, комментарии в коде для неочевидной логики.

  • Тесты на граничные случаи: смена тарифа в последний день, нулевое потребление, отрицательный баланс после возврата.

TG @ciologia

Теги:
-6
Комментарии0

🚀 Golang Roadmap 2026 — полная карта обучения на русском языке

Это бесплатный open-source roadmap на русском языке. Внутри — 19 модулей, каждый со своей теорией, практикой, бесплатными ресурсами и финальным проектом. Программа собрана так, чтобы провести вас от полного нуля до уровня Senior/Staff Go Engineer за 12–18 месяцев при темпе 10–15 часов в неделю.

Главный принцип обучения - практика > видосы. Каждую тему вы закрываете кодом: пишете, ломаете, чините, рефакторите. Любой модуль завершается мини-проектом, который можно положить в портфолио.

🎯 Кому подойдёт

🐹 Новичкам в Go — даже если до этого писали только на Python/JS/PHP

🛠 Backend-разработчикам с другого стека — хотите перейти на Go

📈 Junior Go-разработчикам — нужен путь до Middle/Senior

🚀 Middle-инженерам — закрыть пробелы в архитектуре, observability, distributed

🤖 Тем, кто хочет писать AI-инфраструктуру — модуль 18 специально про это

https://github.com/Develp10/golangroadmap2026

Теги:
0
Комментарии0

archkit v0.1 — генератор TypeScript-библиотек с Clean Architecture: от спека до npm за один день

Неделю назад опубликовал на npm первый пакет, @autosergach/archkit. Одна команда:

npx @autosergach/archkit create my-lib

И получаешь TypeScript-библиотеку с Clean Architecture из коробки: domain, application, ports, рабочий use case и пять зелёных тестов. Не «hello world», а каркас который показывает как слои должны выглядеть. Ниже как это устроено и четыре грабли по дороге к npm publish.

Что внутри

my-lib/
├── src/
│   ├── domain/      # User, DomainError
│   ├── application/ # createUser use case
│   ├── ports/       # UserRepository interface
│   └── index.ts
├── tests/           # InMemoryUserRepository + 5 тестов
└── package.json     # ESM, strict TS, vitest 3, eslint 9

pnpm install && pnpm test, пять зелёных с первого запуска. Стек намеренно современный: ESM only, Node 20+, TypeScript 5.7+, vitest 3.2, eslint 9 flat config.

Архитектура изнутри

Забавно, что archkit изнутри устроен точно так же, как проект который генерирует: порты и адаптеры до мозга костей. Монорепо: приватный archkit-core (весь движок) и @autosergach/archkit (то что на npm). tsup бандлит core через noExternal, потребитель ставит один пакет.

FileSystemPort с двумя адаптерами: InMemoryFileSystemAdapter для тестов и NodeFileSystemAdapter для продакшена. Pipeline в три шага: buildInitPlan, renderTemplate, executePlan. С --dry-run третий шаг не выполняется.

Тесты: 35 + 3

35 unit-тестов гоняют весь движок через in-memory, без диска, меньше секунды на весь suite. 3 e2e-теста запускают настоящий pnpm install && pnpm test в os.tmpdir(). Именно они дают уверенность что сгенерированный проект работает у пользователя, и поймали несколько багов в шаблоне до публикации.

Один день с Claude Code

Весь v0.1.1, от пустой папки до npm publish, написал за одну сессию, примерно шесть часов. 9 атомарных коммитов: Claude Code писал код, я проверял и коммитил. До Claude Code такой объём занял бы неделю, и тесты я бы срезал.

4 урока из npm publish

1. cac и --no-X флаги. При --skip-install cac выставляет skipInstall: true по умолчанию, неявно. Фикс: проверять === true, а не !== undefined. Потерял час пока разобрался.

2. npm проверяет similarity, а не только занятость. archkit свободное имя, но npm отклонил из-за заброшенного arch-kit (2022, 12 загрузок). Ушёл в scoped namespace @autosergach/archkit, зато все следующие пакеты там же.

3. workspace:* в dependencies. Приватного archkit-core нет в registry. Если он в dependencies, npm падает при install у потребителя. Перенести в devDependencies, tsup бандлит его в dist.

4. Granular npm tokens и 2FA. Granular-токен с правами publish не проходит без «Bypass 2FA for publish». Опция выключена по умолчанию, нигде не выделена жирным. Получил 403.

Что дальше

v0.2: NestJS плюс React fullstack шаблон и --ai-ready флаг, который автогенерирует CLAUDE.md, .claude/settings.json, agents.md. Пишите в Issues если есть что сказать.

npm: https://www.npmjs.com/package/@autosergach/archkit
GitHub: https://github.com/autosergach/archkit

npx @autosergach/archkit create my-lib
cd my-lib && pnpm install && pnpm test
# → 5 passing
Теги:
+2
Комментарии2

Почему API переписывают через полгода и как этого избежать

Жесткие дедлайны заставляют жертвовать проектированием API ради скорости запуска. Через полгода структура данных не соответствует реальным потребностям, а каждое изменение вызывает регрессию. Разбираем, что идет не так и как закладывать гибкость на старте.

Запуск нового сервиса обычно проходит в условиях жестких дедлайнов и давления бизнеса. Приоритет — скорость, архитектура API откладывается на потом. Результат предсказуем: через полгода структура эндпоинтов не вписывается в логику продукта, интеграции становятся хрупкими, документация расходится с кодом.

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

Что ломается первым

Отсутствие контракта между клиентом и сервером — главная причина хрупкости. Когда API проектируется по принципу «сделаем быстро, потом поправим», возникают системные проблемы:

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

  • Структура данных меняется без версионирования — клиенты ломаются на продакшене после деплоя.

  • Нет единого источника истины для схемы — документация устаревает, разработчики полагаются на догадки.

  • Безопасность добавляется постфактум — авторизация, валидация и rate limiting наслаиваются хаотично, создавая дыры.

По данным исследования Postman State of the API 2023, 40% команд тратят больше времени на исправление проблем интеграции, чем на разработку новых функций. Основная причина — отсутствие контракта на этапе проектирования.

Как закладывать гибкость на старте

Системное проектирование API не означает месяцы планирования. Речь о базовых принципах, которые экономят время в будущем:

  1. Определите схему данных до первой строки кода. OpenAPI, JSON Schema или Protocol Buffers — инструмент вторичен, важен контракт между клиентом и сервером. Схема становится единым источником истины и основой для автогенерации кода.

  2. Версионируйте с первого дня. Даже если изменения пока не нужны, структура для версий (через URL, заголовки или content negotiation) должна быть заложена сразу. Переход на версионирование постфактум болезненен.

  3. Проектируйте эндпоинты под бизнес-операции, а не под таблицы базы. CRUD удобен для прототипа, но быстро показывает ограничения. Операции вроде «подтвердить заказ» или «пересчитать баланс» должны быть явными методами, а не набором UPDATE-запросов.

  4. Закладывайте безопасность в архитектуру. Авторизация, валидация входных данных, rate limiting и логирование — не опциональные доработки, а часть контракта. Добавление их потом ломает обратную совместимость и усложняет интеграции.

Trade-offs, о которых молчат

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

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

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

TG @ciologia

Теги:
-1
Комментарии1
Свежие задачи для 1С-специалистов на Бирже заказов Инфостарта
Свежие задачи для 1С-специалистов на Бирже заказов Инфостарта

На Бирже заказов появились новые задачи для разработчиков и консультантов 1С. В подборке — заказы, размещенные с 20 по 27 мая: доработки обработок, настройка обменов, интеграция с «Честным Знаком», задачи по маркировке, ЗУП, УТ, ERP, КА и даже 1С 7.7.

Заказы недели:

Биржа заказов Инфостарта помогает быстро найти исполнителя под задачи по 1С: от разовой консультации до доработки конфигурации, настройки обмена, интеграции с внешними сервисами или сопровождения проекта.

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

Теги:
+7
Комментарии0

Привет, коллеги! 👋 Уже в это воскресенье, 31 мая в 10:00, устроим мощный заряд знаний! ⚡️ За 4 часа своими руками поднимем стек мониторинга, настроим дашборды и оповещения! 📊🔔

Для кого это будет полезно:
- разработчики 💻
- аналитики 📈
- системные инженеры 🔧

Все подробности здесь: https://debugskills.ru/articles/labs/prometheus-grafana/

Теги:
0
Комментарии0

Вебинар уже завтра: как 1С-специалисту получать больше заказов через Инфостарт

Завтра, 28 мая в 11:00 мск, проведем вебинар для 1С-специалистов, которые хотят получать больше заказов через Биржу заказов Инфостарт и выстроить стабильный поток клиентов.

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

Поговорим о том:

— как искать перспективные заказы;
— как оформлять профиль и повышать конверсию откликов;
— как оценивать стоимость работ;
— как получать обращения напрямую через профиль;
— как использовать публикации и форум для привлечения клиентов.

Также обсудим безопасную сделку, бесплатные отклики, стартмани, подписку PRO и экономику работы на площадке.

Спикеры:

Алена Солохина — руководитель отдела маркетинга Инфостарт,
Антон Репин — руководитель группы аналитиков 1С Инфостарт.

В конце — Q&A-сессия с ответами на вопросы участников. Вопросы можно оставить заранее при регистрации.

📅 28 мая, 11:00 мск
⏱ Длительность: 1 час

Теги:
+6
Комментарии0

Ближайшие события

1С как центр бизнес-экосистемы: зачем разработчику разбираться в обмене данными

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

На курсе «Обмен данными в системе 1С:Предприятие» мы разбираем, как проектировать и реализовывать такие интеграции на практике: от обменов между конфигурациями до API, JSON, XML, HTTP- и WEB-сервисов.

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

Обмен данными — не просто техническая настройка. Это способ связать отдельные участки бизнеса в единый процесс.

Один из частых сценариев — обмен между конфигурациями 1С: «Управлением торговлей», ЗУП, «Бухгалтерией» и другими решениями. Если конфигурации типовые, часть обменов можно настроить стандартными средствами. Но в реальных проектах базы часто дорабатываются: появляются новые реквизиты, меняются документы, добавляются справочники и нестандартная логика учета.

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

Другой сценарий — интеграция 1С с внешними системами: сайтом, маркетплейсом, CRM, BI-сервисом или сторонней базой данных. На схеме все выглядит просто: 1С выгружает товары, цены и остатки, а обратно получает заказы и статусы оплат. На практике сразу появляются нюансы: API недоступен, данные пришли в неожиданном формате, заказ изменился после загрузки, внешний идентификатор не нашелся в базе.

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

Для обменов в 1С используются файлы, XML, JSON, XDTO, HTTP- и WEB-сервисы, внешние источники данных, COM- и OLE-технологии, планы обмена. Но выбор технологии — только часть задачи. Гораздо важнее понять логику процесса: откуда берутся данные, куда они должны попасть, кто отвечает за их актуальность и как система ведет себя при сбое.

Иногда достаточно файлового обмена. Иногда нужен HTTP-сервис. Иногда проще использовать готовую интеграцию, а иногда без собственной разработки не обойтись. Решение зависит от процесса, надежности и объема данных.

Хороший обмен понятен в сопровождении. По нему можно увидеть, когда прошла последняя загрузка, сколько объектов обработано, какие ошибки возникли и что нужно исправить. Его можно безопасно повторить. Он не создает дубли и не прячет проблемы в техническом логе.

Для пользователя важен не сам факт передачи JSON или XML, а результат: заказ попал в учет, остатки обновились, документы сформировались, отчетность не разъехалась. Поэтому разработчик 1С все чаще работает не только внутри конфигурации. Он связывает 1С с внешними сервисами, настраивает двусторонний обмен, проектирует API и помогает бизнесу избавиться от ручных операций.

Старт курса «Обмен данными в системе 1С:Предприятие» — 5 июня 2026 года.

Теги:
+4
Комментарии0

🐍 Python Roadmap 2026: наконец-то актуальная карта изучения Python.

На GitHub выложили большой русскоязычный роадмап по Python на 2026 год - от первых скриптов до уровня Middle+/Senior.

 Маршрут собран под современный Python:

- Python 3.13+

- free-threaded mode без GIL

- JIT

- uv вместо боли с pip/venv/poetry

- ruff, pyright, pytest, hypothesis

- async-first подход

- типизация

- CPython внутри

- web, базы, ML/AI, DevOps и архитектура

В роадмапе есть нормальная последовательность: сначала окружение и база, потом идиомы, ООП, типы, стандартная библиотека, асинхронность, тестирование, внутренности CPython, web, базы данных, AI-направление, продакшн и архитектура.

На каждом этапе есть задачи, чеклисты, примеры кода и бесплатные ресурсы. То есть это не мотивационная простыня, а маршрут, по которому реально можно идти несколько месяцев и видеть прогресс.

Для джунов хороший роадмап закрыть дыры.

#junior #python

Теги:
+3
Комментарии4

Всем привет! Предлагаю челлендж. :)

В двух словах — нужно:

  1. Собрать проект DevilutionX — это кроссплатформенный порт Diablo 1 + Hellfire — и научиться запускать его, (вам для этого потребуется оригинал игры).

  2. Создать в мультиплеере Hellfire персонажа и познакомиться с игрой.

  3. Засекайте время с момента открытия исходников: нужно суметь получить несколько колец под названием Obsidian Ring of the Zodiac.

  4. Убедиться, что эти кольца в ванильной сборке валидны, не мутируют, не исчезают и не приводят к крэшу клиента.

  5. Пользоваться AI нельзя.

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

Полная версия условия, аргументы в пользу этой задачи как “идеальной”, мой опыт собеседований, подробный анализ решений и мысли по поводу — всё здесь: kouprin.com/notes/obzod.

Я благодарен Михаилу Колупаеву, Ивану Казменко и Борису Минаеву за идеи, решения и бета-тестирование. Спасибо парням, делающим DevilutionX, — но я никого не знаю из них и не смогу ответить на вопросы о проекте.

game screenshot
скриншот из игры с искомыми кольцами

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

  1. Мастер может не сбилдиться. Несмотря на то, что ребята официально поддерживают около 20 платформ, бывают необъяснимые проблемы даже на убунту.

  2. Ребята в любой момент могут скрыть репозиторий или что-нибудь сделать ещё. По большому счёту, челлендж актуален только к сегодняшнему коммиту — и может протухнуть со временем из-за изменений в кодовой базе и возможных расхождениях в зависимостях. Спешите. :)

  3. Я мог что-то не учесть и драматически облажаться. В таком случае — извините. :)

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

Удачи!

[Комментарий для Хабра. Это мой первый пост здесь. Изначально этот пост я опубликовал на кодфорсе, но всё-таки там чуть другой формат задач — без ковыряния в уже готовых проектах. Я изучил правила Хабра и вроде ничего не нарушаю. Я не аффилирован ни с разработчиками DevilutionX, ни с какими-либо другими компаниями, ни продаю Диаблу. Если этот текст неуместен по каким-либо причинам — дайте мне знать, я его удалю. Спасибо.]

Теги:
+2
Комментарии6

Как перестать надеяться на бэкап и автоматизировать Disaster Recovery

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

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

Чтобы перевести обсуждение из теории в плоскость работающих сценариев, мы с командой решили провести технический вебинар. 27 мая в 13:00 МСК в прямом эфире представим практические кейсы по восстановлению инфраструктуры после сбоя.

В программе:

  • Разберем почему бэкап не всегда спасает, и в какой момент нужен полноценный DR. Поговорим о том, как реалистично оценивать RTO и RPO.

  • Покажем сценарии восстановления инфраструктуры и посмотрим, какой подход работает лучше в каждой ситуации.

  • Покажем на практике:

    • восстановление данных через подключение дисков;

    • как это используется в реальных сценариях;

    • на что обратить внимание при восстановлении.

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

В финале встречи каждый участник получит актуализированный чек-лист для аудита плана аварийного восстановления.

👉 Зарегистрироваться на вебинар

Теги:
-1
Комментарии0

От задач к решениям: что помогает разработчику расти в грейде

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

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

Об этом мы поговорили с Владом Дижениным — выпускником магистратуры МФТИ, продуктовым аналитиком и разработчиком.

Если коротко разложить рост по этапам, он выглядит так:

◼️ Junior формирует фундамент: учится писать код, работать с инструментами, разбираться в задачах и командных процессах.

◼️ Middle получает больше самостоятельности. Ему уже нужно понимать не только свой участок кода, но и то, как решение связано с остальной системой, какие есть ограничения у текущей архитектуры и как изменение повлияет на соседние компоненты.

◼️ Senior работает с более широким контекстом: понимает бизнес-задачи продукта, оценивает последствия технических решений и умеет объяснять их команде.

Влад Диженин: «Если говорить кратко, то сегодня больше всего ценятся разработчики, которые сочетают сильную техническую базу с адаптивностью, ответственностью и развитыми коммуникативными навыками».

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

✅ Второй важный навык — ответственность за решения. Недостаточно выбрать подход: нужно уметь объяснить его команде, аргументировать перед коллегами и руководством — и отвечать за последствия.

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

Влад Диженин: «Любое хорошее техническое решение начинается с вопросов и проверки гипотез. Намного опаснее быть абсолютно уверенным в своей правоте и перестать критически оценивать собственную работу».

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

Влад Диженин: «Сочетание продуктового и архитектурного мышления чаще всего отличает сильного инженера от просто хорошего разработчика».

Расти в одиночку сложно. Можно читать документацию, проходить курсы и делать pet-проекты, но в какой-то момент очень помогает среда: команда, реальные кейсы, проектная работа, хакатоны и люди, с которыми можно обсуждать решения.

28 мая в 18:00 (Мск) пройдет День открытых дверей онлайн-магистратуры МФТИ «Разработка ИТ-продукта».

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

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

Регистрация: https://t.me/mipt_events_bot?start=c1777547907195-ds&utm_source=habr

Теги:
+1
Комментарии0

⚙️ ASMLings - подробный гайд на русском

ASMLings - это набор из ~32 коротких упражнений на ассемблере Intel 8086, выстроенных по возрастанию сложности: от mov ax, 0x1337 до 32-битного сложения через carry flag, циклов, подпрограмм, работы с памятью и стеком.

Полный русскоязычный гайд по asmlings - интерактивной песочнице для изучения ассемблера Intel 8086, в которой 16-битный x86-эмулятор написан на Rust. 

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

Думаю, может быть интересно многим.

Теги:
+6
Комментарии0

Microsoft выложила в open source AI Engineer Coach - плагин, который оценивает, насколько адекватно вы работаете с агентами и не сливаете токены в пустоту.

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

Отдельно плагин проверяет 45 анти-паттернов. Например, если вы не используете plan mode, гоняете мощные модели на мелкие задачи, повторяете одни и те же действия руками или плохо готовите проект под работу агентов - он это подсветит.

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

Всё работает локально и бесплатно. Microsoft отдельно подчёркивает, что данные никуда не отправляются.

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

https://github.com/microsoft/AI-Engineering-Coach

Теги:
+4
Комментарии1
1
23 ...