Обновить

Бэкенд

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

В предыдущих видео я рассказывал о том, как Digital Q.DataBase воспроизводит функциональность Microsoft SQL Server, позволяя переносить приложения без переписывания прикладной бизнес-логики. Мой коллега Илья Лебедев также подробно рассказал о возможностях воспроизведения функциональности Oracle и подходах к миграции Oracle-приложений.

В этом докладе Илья Виссарионов рассказывает о практическом опыте компании «Диасофт» по импортозамещению крупной автоматизированной банковской системы, которая десятилетиями работала на Microsoft SQL Server.

Главной особенностью проекта стало то, что значительная часть бизнес-логики была реализована в виде хранимых процедур. Полное переписывание миллионов строк SQL-кода оказалось бы слишком дорогим и длительным, поэтому был выбран другой путь — развитие Digital Q.DataBase с максимальной совместимостью с Microsoft SQL Server и сохранением существующих приложений.

В докладе подробно рассматриваются реальные технические проблемы, с которыми столкнулась команда при переносе банковской системы на PostgreSQL-совместимую платформу: различия в типах данных, работе процедур, оптимизаторе запросов, производительности, временных таблицах, пользовательских типах данных и других механизмах СУБД.

Отдельное внимание уделено нагрузочному тестированию. Автор показывает, как поэтапная оптимизация Digital Q.DataBase позволила добиться производительности, сравнимой с Microsoft SQL Server, а по ряду операций — превзойти её, при этом сохранив существующую бизнес-логику без масштабного переписывания.

В этом видео вы узнаете:

🔹 почему импортозамещение крупных банковских систем требует особого подхода;
🔹 с какими проблемами столкнулась команда при переносе АБС с Microsoft SQL Server;
🔹 почему стандартного PostgreSQL оказалось недостаточно;
🔹 какие механизмы совместимости были реализованы в Digital Q.DataBase;
🔹 как удалось сохранить существующий T-SQL-код без его переписывания;
🔹 какие доработки были выполнены для повышения производительности;
🔹 как проводилось нагрузочное тестирование на реальных банковских сценариях;
🔹 каких результатов удалось добиться по сравнению с Microsoft SQL Server.

Если вас интересуют вопросы импортозамещения СУБД, миграции корпоративных систем или построения PostgreSQL-совместимых платформ корпоративного уровня — этот доклад будет полезен разработчикам, архитекторам, администраторам баз данных и техническим руководителям.

Digital Q.DataBase — российская СУБД корпоративного уровня, разработанная компанией «Диасофт» для замещения Microsoft SQL Server, Oracle и других зарубежных решений.
Платформа позволяет сохранить существующие инвестиции в прикладной код и значительно сократить трудозатраты при миграции информационных систем.

🔹 Бесплатное получение дистрибутива: https://database.diasoft.ru/?utm_source=andrei
🔹 Документация: доступна внутри дистрибутива  
🔹 Telegram-сообщество Digital Q.DataBase: https://t.me/dqdatabase   
🔹 MAX: https://max.ru/join/orlthIssLJbjj37mjlEEYARWFyuJk5yMixLlGPISIzc

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

Как мы воспроизводим функциональность Oracle и создаем аналоги DBMS-пакетов.

В предыдущем посте я рассказывал о технологии «Полиглот» в Digital Q.DataBase — возможности исполнять T-SQL "на лету" наряду с родным PL/pgSQL, что позволяет мигрировать приложения с Microsoft SQL Server.

Но полиглотность Digital Q.DataBase этим не ограничивается.

Сегодня хочу поделиться выступлением моего коллеги Ильи Лебедева, посвящённым Oracle-направлению. В докладе он подробно рассказывает о поддержке PL/SQL и о том, как Digital Q.DataBase помогает переносить системы с Oracle, сохраняя серверную бизнес-логику и клиентские приложения без дорогостоящей переработки.

В этом выступлении обсуждаются:

🔹 Как Digital Q.DataBase реализует полноценную поддержку Oracle-диалекта, включая пакеты, DBMS-пакеты и PL/SQL-код.
🔹 Почему SQL- и PL/SQL-код может выполняться без изменений.
🔹 Как работает мастер переноса баз данных и какие скорости миграции можно получить на практике.
🔹 Каким образом обеспечивается бесшовное подключение существующих приложений через OCI и JDBC.
🔹 Почему переход с Oracle на Digital Q.DataBase может занять месяцы вместо лет.
🔹 Как накопленный опыт миграций позволяет ускорять последующие проекты и снижать объем доработок.

В докладе также показаны реальные сценарии переноса корпоративных систем, демонстрация работы клиентских приложений после замены СУБД и подход компании к развитию совместимости с Oracle на основе запросов заказчиков.

Digital Q.DataBase — российская СУБД корпоративного уровня, разработанная компанией «Диасофт» для замещения Microsoft SQL Server, Oracle и других зарубежных решений.
Платформа позволяет сохранить существующие инвестиции в прикладной код и значительно сократить трудозатраты при миграции информационных систем.

🔹 Бесплатное получение дистрибутива: https://database.diasoft.ru/?utm_source=andrei
🔹 Документация: доступна внутри дистрибутива  
🔹 Telegram-сообщество Digital Q.DataBase: https://t.me/dqdatabase   
🔹 MAX: https://max.ru/join/orlthIssLJbjj37mjlEEYARWFyuJk5yMixLlGPISIzc

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

30 июня в 18:00 начнется  вебинар «Почему Java-разработчику следует брать на вооружение Quarkus». В прямом эфире рассмотрим ключевые преимущества Quarkus перед Spring Boot: родную сборку, малое потребление памяти и удобство разработки.

Создадим один и тот же REST-сервис на Spring Boot и на Quarkus, сравним время старта и затраты ресурсов.

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

Содержание:

✅ Проблема долгого запуска и высокого потребления памяти в Spring Boot.

✅ Что такое Quarkus? Окружающая среда расширений, родная сборка.

✅ Живой код: создание REST-сервиса на Spring Boot и на Quarkus.

✅ Измерение времени запуска и потребления памяти.

✅ Как родная сборка ускоряет размещение в Kubernetes и снижает затраты.

✅ Настоящий случай из практики автора.

✅ Как продолжить изучение Quarkus.

🧑‍🎓 Спикер: Чвилёв Константин, эксперт в области разработки ПО

📆 Когда: 30 июня, 18:00–19:00 (Мск)

👉 Регистрация

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

В этом докладе я (Жуйков Андрей, амбассадор компании «Диасофт») рассказываю о подходе Digital Q.DataBase к импортозамещению зарубежных СУБД и миграции корпоративных систем без переписывания прикладного кода.  

В видео рассмотрены: 

🔹 архитектура и возможности Digital Q.DataBase; 
🔹 технология Polyglot и поддержка нескольких SQL-диалектов в одной СУБД; 
🔹 совместимость с Microsoft SQL Server и Oracle; 
🔹 исполнение T-SQL и PL/SQL без изменения бизнес-логики приложений; 
🔹 поддержка протокола TDS и работа со стандартными драйверами Microsoft; 
🔹 миграция 1С с Microsoft SQL Server на Digital Q.DataBase; 
🔹 демонстрация работы через DBeaver, SQL Server Management Studio и Python; 
🔹 поддержка Service Broker, Reporting Services и CLR-сборок; 
🔹 примеры реальных проектов и опыт внедрения у заказчиков.  

Digital Q.DataBase — российская СУБД корпоративного уровня, разработанная компанией «Диасофт» для замещения Microsoft SQL Server, Oracle и других зарубежных решений.

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

🔹 Бесплатное получение дистрибутива: https://database.diasoft.ru/?utm_source=andrei
🔹 Документация: доступна внутри дистрибутива  
🔹 Telegram-сообщество Digital Q.DataBase: https://t.me/dqdatabase   

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

#digitalqdatabase  #Diasoft #PostgreSQL #MicrosoftSQLServer #Oracle #Импортозамещение #СУБД #Database #TSQL #PLSQL #1С #DataBaseMigration #жуйковандрей

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

Переход с 1С:УПП: как сохранить контроль над учетом и данными

«Слона-то я и не приметил»: скрытые риски перехода с УПП, которые важно увидеть до старта проекта

В 2027 году поддержка 1С:УПП завершится. Без обновлений под изменения законодательства регламентированный учет в этой системе станет зоной риска.

Как перейти на новое решение без потери контроля над учетом, данными и сроками?

2 июля в 11:00 (мск) на вебинаре в формате проектных «притч» разберем самые частые проблемы миграции:

👉 разрозненные ожидания ИТ, финансовой службы и бизнеса
👉 критичные и спорные доработки
👉 рост объема работ после старта
👉 качество НСИ и разрыв в терминологии

Расскажем, как заранее увидеть эти риски и превратить переход с УПП в управляемый проект.

☑️ Зарегистрироваться на вебинар по ссылке

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

Бесплатный курс «SQL Введение» для тех, кто начинает изучать базы данных

Всем Привет!

Недавно я опубликовал новый бесплатный курс «SQL Введение» на платформе Stepik и хочу рассказать о нём сообществу.

https://stepik.org/course/290855

За время преподавания SQL я заметил одну проблему: многие начинающие сталкиваются со слишком сложными объяснениями уже на первых этапах обучения. Вместо понимания базовых принципов работы с данными люди сразу погружаются в большое количество терминов, теории и особенностей конкретных СУБД.

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

Курс ориентирован на тех, кто:

  • никогда раньше не работал с базами данных;

  • не писал SQL-запросы;

  • хочет понять основы SQL перед дальнейшим обучением;

  • учится на IT-специальности;

  • рассматривает карьеру разработчика, аналитика данных, тестировщика или бизнес-аналитика.

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

Что изучается в курсе

В рамках курса рассматриваются базовые принципы работы реляционных баз данных и основные конструкции SQL.

В процессе обучения вы разберётесь с основами SQL и научитесь:

• понимать, как устроены таблицы и данные

• писать первые SQL-запросы

• выбирать столбцы из таблицы

• фильтровать данные

• использовать операторы сравнения

• формировать простые выборки

Материал построен по принципу «от простого к сложному». Каждый новый урок опирается на предыдущий, поэтому курс подходит даже тем, кто начинает изучение SQL с нуля.

Курс включает:

  • теоретические уроки;

  • тестовые задания для проверки понимания материала;

  • практические упражнения с SQL-запросами.

Главная цель курса — помочь новичку разобраться в фундаментальных принципах работы с данными и научиться уверенно писать свои первые SQL-запросы.

Почему курс бесплатный

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

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

Начать обучение можно здесь:

https://stepik.org/course/290855

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

Порядок сообщений, DLQ, graceful shutdown, spike нагрузки — на каждый вопрос есть минимум два рабочих ответа

Витя Михайлов, Backend Lead Garage Eight, и Женя Янченко, руководитель разработки и автор тг-канала @jane_yanchenko, разобрали 5 вопросов про брокеры со стороны RabbitMQ и Kafka соответственно.

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

RabbitMQ:

  • Только один консьюмер на очередь.


  • Ack( ) только после завершения бизнес-логики.


  • Если используешь nack — убедись, 
что тип очереди не quorum: он меняет логику requeue.

  • Publish только строго с confirmation mode, и обработчиком connection.blocked, чтобы FlowControl не испортил нам порядок (выключить его нельзя).

— Витя

Kafka:

Kafka обеспечивает порядок в рамках одной партиции. Партиция определяется по ключу: все сообщения с одинаковым ключом попадут в одну партицию.

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

Нюансы:

  • определенные настройки ретраев продюсера могут привести к нарушению порядка

  • изменение числа партиций может сломать прежнее распределение

— Женя

Вопрос 2. Что делать с сообщением, которое консьюмер не может обработать уже 
10 раз подряд? Стратегии retry, DLQ, алертинг — как это устроено 
на практике.

RabbitMQ:

Сначала понять: можно ли вообще обработать сообщение? Битый JSON 
или некорректные данные — повторные попытки бессмысленны. Отправляем 
в DLX или дропаем с записью в лог.

Если обработать можно — два варианта:

1) Ретраить бесконечно (осторожно: poison message handling). Нужен мониторинг и rate limit на повторы.
2) Отбросить в DLQ, но тогда теряем порядок обработки.

— Витя

Kafka:

Заводим отдельный топик — Dead Letter Queue (DLQ).

1) Пробуем обработать сообщение. 
Успех — коммитим оффсет.
2) Ошибка — ретраим N раз. Помогает при временных сбоях (БД не ответила), но не при битом сообщении.
3) Попытки исчерпаны — отправляем в DLQ в исходном виде + пишем в лог.
4) Сообщения в DLQ анализируются вручную.

Вопрос 3. Как обеспечить обратную совместимость схемы сообщений при обновлении сервиса? Продюсер и консьюмер деплоятся независимо — 
как не сломать друг друга.

RabbitMQ:

Нельзя. Ломать. Обратную совместимость.

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

Хороший пример с тремя реальными сценариями миграции — официальный гайд RabbitMQ по переходу с classic 
на quorum queues.

— Витя

Kafka:

Схема сообщений в топике — публичный контракт, как в REST API. Изменения проектируем так, чтобы обе версии какое-то время работали параллельно.

Безопасно:
Добавить необязательное поле, добавить поле с дефолтом, перестать использовать поле (но не удалять).

Опасно:
Переименовать, изменить тип, удалить обязательное поле, поменять смысл.Для валидации схем — Schema Registry 
(особенно при Avro или Protobuf).

— Женя

Ответы от ребят на еще два вопроса ждут в нашем канале.

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

Зачем ИТ-специалисту магистратура: открытый эфир онлайн-программы МФТИ «Разработка ИТ-продукта»

2 июля в 18:00 МФТИ проведет открытый эфир, посвященный онлайн-магистратуре «Разработка ИТ-продукта».

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

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

В программе эфира:

— Как устроена программа магистратуры: дисциплины, расписание занятий и формат командной работы.

— Проектная работа: какие задачи студенты решают во время обучения.

— Профессиональное развитие: какие карьерные траектории доступны выпускникам.

— Поступление в 2026 году: документы, вступительные испытания и подготовка.

🗣 Гость эфира: академический директор программы Антон Устинов — директор по технологиям и информационным технологиям (CTO/CIO) с более чем 15-летним опытом в разработке и проектировании архитектуры финтех- и EdTech-продуктов (Сбер, Exante, Click, SmartBank), кандидат экономических наук и сертифицированный архитектор Сбера.

Дата: 2 июля (четверг)

Время: 18:00 (Мск)

Участие бесплатное.

Регистрация:

Telegram: https://t.me/mipt_events_bot?start=dl-17816260639c4053310ead

ВКонтакте: https://vk.com/app6379730_-224205661#l=23&auto=1

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

Биржа работает: новые заказы недели с 17 по 24 июня

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

Посмотрите список - возможно, среди этих заказов есть проект под ваш опыт:

Биржа заказов: найдется исполнитель под любую задачу

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

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

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

Новая лабораторная уже в субботу 27 июня! 👩‍🔬 Учимся проектировать API 🛠

Подробнее: https://debugskills.ru/content?article=labs/openapi-rest

Получить доступ: https://boosty.to/polnyistek

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

Язык, с которым у ИИ плохо

В подкасте Радио-Т 1018 был интересный момент, что у ИИ сейчас гораздо меньше опенсорсных репозиториев и датасетов на Swift, чем условно на Python или Go. И поэтому, как Claude Code, так и Codex хреново пишут нативные iOS приложения. А ведь API языка обновляется, имеющиеся данные в нейронках устаревают с каждым WWDC.

Я как бэкендер с этой темой не сталкиваюсь. Стало интересно, как в Apple вайбкодят разрабы и влияет ли это как-то на темпы разработки по сравнению с конкурентами. Apple Intelligence пока пытались запустить для обычных потребителей, или когда анонсировали переход на Gemini-бэкенд, это повлияло как-то на пайплайн разработчиков? Есть ли у их моделей какой-то секретный проприетарный датасет, чтобы повысить качество работы с их экосистемой?

Мне короткий гуглеж выдал, что анонсировался Swift Assist в 2024, но в 2025 году от него отказались в пользу доступа к любым моделям с помощью API-ключей. То есть сама компания не может предоставить продакшн тулинг за счет доступа к самому большому в мире закрытому репозиторию Swift-кода. Получается, Apple со своей закрытой инфраструктурой не может оставаться верной своей концепции. В эпоху агентской разработки у компании не получается замыкать на своем решении инженеров, чтобы не уступать конкурентам.

Тут у меня котелок начал накидывать вопросы.

Apple ладно, а какое будущее у новых языков программирования? Будут ли авторы новых языков задаваться вопросом «как мой язык будут поддерживать нейросети?» Их популяризация будет целиком и полностью за счет опен-сорс коммьюнити теперь, пока остальные языки будут писать агенты? Сообщества сами генерят синтетические данные для языков программирования, чтобы локальные модели лучше умели в определенный скилл? Или может для языков будут сразу разрабатываться скиллы или MCP? Какую роль в адаптации к агентсткой разработке будут играть компилируемые языки со строгой типизацией по сравнению с нестрогими, скриптовыми языками? А поддержка нового языка агентами на сносном уровне, - это повод для флекса в презентации у компании?

В интересное время живем.

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

Выбрать курс Практикума со скидкой 10%

С 1 июля часть курсов станет дороже — успейте в последнюю волну, чтобы учиться по прежней стоимости.

BLG-10 — промокод на скидку 10%, действует на все курсы до 30 июня включительно. Копируйте и применяйте при оплате для максимальной выгоды. Также получите бонусом курсы стоимостью ~75 000 ₽ и книги от издательства МИФ.

Давно не заходили в каталог? С тех пор многое изменилось: появились новые направления, а старые курсы стали полнее. Например, теперь в них есть модули по работе с нейросетями, ведь навыки работы с ИИ всё чаще видят как конкурентное преимущество.

Перейти в каталог курсов

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

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Python Парсинг: большой гайд 2026 + топ 20 ошибок при парсинге

Это полноценный бесплатный практический курс от базы до production-подхода.

Внутри разбираются:

- как работает HTTP, HTML и DOM

- requests, BeautifulSoup, lxml

- CSS-селекторы и XPath

- работа с API, JSON и авторизацией

- динамические сайты через Playwright и Selenium

- асинхронный парсинг на aiohttp и asyncio

- Scrapy как промышленный фреймворк

- обход антибот-защит

- хранение, валидация и экспорт данных

- ретраи, логирование и обработка ошибок

- тестирование парсеров

- архитектура production-парсера

- типовые ошибки и антипаттерны

Можно понять базу, как получить страницу, извлечь данные, почистить, проверить, сохранить и сделать это так, чтобы проект не развалился через неделю.

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

https://github.com/justxor/Pythonparsing-/tree/main

#junior #python #парсинг


Теги:
Всего голосов 7: ↑7 и ↓0+11
Комментарии0

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

SQLite-провайдер для RedBase — скоро.

Тот же API что PostgreSQL и MSSQL. Без миграций, полный LINQ, типизированные колонки.

Free: нативное расширение (.so / .dll / .dylib).
Pro: чистый C# — работает в Blazor WASM.

Минимальная версия SQLite 3.44.0+.

Теги:
Всего голосов 2: ↑1 и ↓1+2
Комментарии0

▶️ История USmall — хайлоад изнутри

6+ млн товаров, 130 ритейлеров и до 70 млн запросов во время распродаж. Мигрировали USmall в наше облако и записали видеокейс о том, как устроена инфраструктура такого проекта.

Из любопытного:

1️⃣ 130 площадок — 130 изолированных контуров. На каждую свой репозиторий и Docker-образ. Релизы независимы, все изменения изолированы.

2️⃣ Свой механизм иерархических подов. В основе паттерн одноразовых подов — каждый выполняет один цикл и завершается. Поверх него команда построила иерархию, где родительский под запускает дочерние. Так обходят ограничение Python по пропускной способности одного воркера и обрабатывают задачи параллельно.

3️⃣ Выделенный сервер под оркестратор. Когда Airflow потребовалась отдельная конфигурация, под него собрали сервер на двух 32-ядерных процессорах и перенесли без простоя.

4️⃣ AI прямо в Kubernetes-кластере. В тестовом режиме крутится нейросеть, которая ускоряет подключение новых магазинов.

Все это команда ведет сама — новые ноды добавляет за пару минут через панель, без отдельных DevOps-инженеров. А инфраструктура у нас вышла на 35% дешевле прежнего провайдера — при том же объеме.

В видео Станислав, руководитель Python-разработки USmall, рассказывает про архитектуру и почему выбрали наше облако.

Смотреть видеокейс на ютубе, рутубе и в вк.

Или читать подробный разбор на сайте →

Теги:
Всего голосов 10: ↑10 и ↓0+17
Комментарии2

Бэкенд без слепых зон: 10 открытых уроков для разработчиков

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

Собрали бесплатные открытые уроки для бэкенд‑разработчиков разных стеков. Преподаватели‑практики покажут рабочие подходы, разберут типовые ошибки и ответят на вопросы. Заодно можно познакомиться с экспертами и проверить формат обучения OTUS.

Архитектура и взаимодействие сервисов

  • 22 июня, 20:00. «OAuth 2.0, JWT и коварные куки: проектируем безопасную аутентификацию». Записаться

  • 24 июня, 20:00. «RabbitMQ против Kafka — что выбрать для вашей структуры: сравнение и лучшие практики». Записаться

  • 24 июня, 20:00. «Отказоустойчивый и высокодоступный кластер RabbitMQ». Записаться

Java и Spring

  • 22 июня, 20:00. «Контейнеризация Java-приложений с Docker». Записаться

  • 29 июня, 20:00. «Как работает @Transactional в Spring: границы транзакций и типовые ошибки». Записаться

  • 1 июля, 20:00. «Алгоритмическая сложность коллекций в Java». Записаться

  • 22 июля, 20:00. «DAO на Spring JDBC». Записаться

.NET и Go

  • 18 июня, 20:00. «Хостинг ASP.NET Core изнутри». Записаться

  • 25 июня, 20:00. «Кеширование в ASP.NET Core: от IMemoryCache до Redis». Записаться

  • 8 июля, 20:00. «Чистая архитектура на Go без "карго-культа": слои, DTO и интерфейсы». Записаться

Выбирайте тему под свой стек и подключайтесь к открытым урокам.

Больше бесплатных открытых уроков по другим направлениям смотрите в нашем дайджесте.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Вайб-кодинг на корпоративном контроле: как превращать хаос генерации в инженерную дисциплину

Приглашаем вас на совместный вебинар ITFB Group и компании Veai, посвящённый практике контролируемого применения ИИ в разработке.

Когда: 24 июня, 11:00
Где: онлайн

Ключевой вопрос: как использовать скорость вайб-кодинга, но при этом не допустить падения качества, потери управляемости и рисков безопасности?

О продукте

Veai — первый российский ИИ-агент, сочетающий высокую скорость генерации кода с жёстким контролем на основе формальных методов. На вебинаре мы на реальных примерах покажем, чем Veai отличается от Cursor, Copilot и других доступных на рынке решений.

Программа вебинара

Практическая демонстрация: работа агента на реальном коде — от постановки задачи до готового результата.

Сравнительный анализ: объективная оценка сильных и слабых сторон популярных ИИ-ассистентов.

Метрики и экономика: данные по экономии часов, ROI, доле принятого сгенерированного кода и росту тестового покрытия (до 80% с использованием символьного исполнения и data-flow анализа).

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

Безопасность и архитектура: варианты развертывания (on‑premise, self‑hosting, VPC, SaaS), механизмы контроля доступа и встроенный SAST-движок, проверяющий каждую генерацию.

Спикеры

Константин Волков, менеджер по техническим решениям Veai.
Наталья Романова, директор по развитию ITFB Group.

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

Кому будет полезно: ИТ-директорам, руководителям разработки, архитекторам и всем, кто внедряет или планирует внедрять ИИ-инструменты в корпоративную среду.

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

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Вебинар: через час расскажем, как управлять IT-инфраструктурой через Terraform

Terraform-провайдер Selectel позволяет управлять физическими серверами и другими ресурсами по концепции IaC. Мы готовим большой апдейт этого сервиса — на вебинаре расскажем все подробности.

Что вас ждет:

  • поделимся возможностями Terraform-провайдера для управления IT-инфраструктурой;

  • презентуем большой обновление и покажем, как теперь управлять локальными сетями и настраивать разделы;

  • объясним, как работают новые функции.

Приятный бонус: все слушатели вебинара получат промокод на 3 000 бонусов в панели Selectel, чтобы протестировать возможности Terraform.

📹 Смотреть на YouTube

📹 Смотреть в VK

Теги:
Всего голосов 7: ↑5 и ↓2+8
Комментарии0
18 июня, начало в 18:30 (Мск), онлайн, Zoom
18 июня, начало в 18:30 (Мск), онлайн, Zoom

Приходите на второй открытый онлайн Devhands AI Meetup #2!

📅 Когда: 18 июня, начало в 18:30 (Мск)

🔗 Где: Zoom (запись через таймпад

Формат: блиц по 7 минут, только личный опыт и кейсы, без воды. ~45 минут выступления подряд без вопросов, ~45 минут — обсуждение и вопросы. Всё бесплатно.

Программа на 18 июня:

«ACP как база для агентской автоматизации» Алексей Самойлов, Techlead в Fastronome

«Системный дизайн через AI-скиллы и MCP: от требований до архитектурного решения» Виталий Юшкевич, Lead engineer в Pugofka 

«Опыт применения AI в стартапе инфраструктурной платформы» Георгий Меликов, no-ops платформа Exordos

«Организация правил работы с проектами в Claude» Денис Савицкий, разработчик в DeltaSoft

«Опыт применения AI для анализа фродовых регистраций» Дмитрий Дунаев, Дата инженер в ССР

Ксения Погорельских, хостинг-сервис Deploy-f-, название доклада уточняется (расскажу про факапы, про эксперимент, где 30 агентов-тестировщиков нон-стоп ищут баги, а агент-разработчик эти баги исправляет и отдает на ретест. И почему эти агенты долго не могли выдать мне ветку с фиксами, готовую к мержу в мастер).

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

Кейс: рассказ о запущенных проектах, опыт внедрения и adoption в компаниях

Цикл разработки: Agentic SDLC, SDD, ADR, автоматизация QA (unit, smoke, e2e, нагрузочное), деплой, работа с инцидентами, sandboxing, security

Агенты: возможности/недостатки, опыт, сравнение, новинки, баги 

Облачное окружение: модели, гейтвеи, стоимость

Локальные модели: модели, железо, сетапы, скорость и стоимость. 

Ошибки, которые я не повторю. Ошибки, которые я не повторю. Ошибки, которые я не повторю. Ошибки, которые я не повторю. Ошибки, которые я не повторю.

Теги:
Всего голосов 18: ↑17 и ↓1+24
Комментарии0

На Go непривычно после Python

На работе переводим сервисы на Go. Делюсь ощущениями от Go, как FastAPI-питонист:

  • В Go классов нет, есть struct с полями.

  • Внутри структур нет методов. Перечислили поля и все. Дальше функцию связываем отдельно со структурой сигнатурой вида funс (s *SomeStruct) Greet () string {}. С аргументами читается еще тяжелее.

  • ООП нет, наследования нет. Связь между структурами через композицию.

  • Ошибки нужно обрабатывать руками без try ... except с помощью if err != nil {...}.

  • nil вместо None

  • Эксепшнов нет. Функции возвращают ошибку как обычное значение: val, err := SomeFunc(). Хотя в Python я ответ из кортежей прям не люблю и избегаю, тут это база.

  • Зато есть panic, которые по сути – необработанные эксепшны.

  • Но на паники есть recover, который лечит последствия паники :)

  • Комментарии через два слеша // comment

  • Докстринги над сигнатурами, а не под.

  • OpenaAPI для Swagger надо собирать самому без FastAPI. Напрочь забытый навык. Даже с либами вроде swaggo/swag делать это надо руками, с ошибками.

  • Валидации полей нужно писать руками. Нет аналога Pydantic с батарейками.

  • Строка в двойных кавычках "w" – строка. В одинарных 'w' – руна, другой тип данных, который принимает в себя только один символ. Писать слово или фразу в руну нельзя.

  • А есть еще backtick ` ` для тегов структур. В них как раз могут задаваться правила валидаций в go-playground/validator:
    type User struct {
    Name string `validate:"required,min=2"`
    }

  • len у строк в байтах. Символ в кириллице = 2 байта. len строки на кириллице ~х2, непривычно. Нужно считать длину рунами в строках.

  • Иинтерполяция делается через fmt.Printf(). В отличие от f-строк в Python требует в конце явного перевода строки с \n, иначе строки слипаются. 

  • Вместо snake_case – lowerCamelCase для приватных идентификаторов пакета, а UpperCamelCase для экспортируемых.

  • Первым аргументом в запускаемом приложении командой go run some-script.go неявно выступает путь до файла. Из-за этого появляются идиомы в циклах типо «начни со 2-го аргумента».

  • Моржовый оператор a := "some" в Go это инициализация переменной с присваиванием. В Python это оператор в if ... else блоках, который инициализирует переменную только если сработало условие.

  • Аргументы у методов – позиционные. DoSomething(first, second, last) против do_something(action=first, modifier=second, final_action=last) у Python. Python умеет в лаконичность, но тут Go в нее заставляет. У методов со сложными контрактами надо сигнатуру подсматривать.

Что в Go нравится:

Тут много наивного по неопытности :)

  • Горутины – топ. Не нужно в голове держать асинхронный код, потоки, процессы, футуры, CPU-задачи, IO-задачи – на все горутины. А для передачи данных – каналы. Горутины весят 2-4 КБ против ОС-потока в 2-4 МБ памяти. Нет танцев с GIL. go func и начинаешь в конкурентность.

  • Статическая типизация при сборке находит много ошибок без линтеров и mypy. Еще она заставляет явно писать типы данных в аргументах и ответах от функций. Код нагляднее.

  • Вместо двоеточий  и отступов фигурные скобки. Я еще с NodeJS любил не капризное авто-форматирование.

  • Go-скрипты собираются в бинарники. Для них не нужен установленный Python или JVM. Просто запускаем как обычный баш-скрипт через ./script

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

  • Код модулей удобно читать сверху вниз. Python – интерпретируемый. Все, что не объединено в класс, должно быть объявлено перед вызовом. Код приходится нередко читать снизу вверх. Go – компилируется, порядок кода неважен. Читать код по ходу пьесы проще.

  • Стандартный пакет для тестирования go test все умеет из коробки. Аналог pytest как внешняя зависимость не нужен.

  • Ради чего все это: перевод сервиса с Python на Go даже тупо с ИИ-агентом, по метрикам Prometheus (АБ 50/50 трафик) снизил время ответа и потребление CPU и IO-ресурсов в десятки раз.

Из-за последнего вас и спрашивают на Python-собесе «готов перейти на Go»? Бабки, с-ка, бабки.

Теги:
Всего голосов 7: ↑7 и ↓0+9
Комментарии5