YellowClub

YellowClub

Желтый клуб — сообщество 1С программистов Наша цель — расти профессионально вместе с единомышленниками из 1С сферы Желтый клуб объединяет 1С разработчиков, 1С аналитиков и пользователей платформы 1С Предприятие. Обсуждаем фишки по 1C программированию, управлению проектами, управлению командой, автоматизированное тестирование в 1С Предприятии. Проводим регулярные стримы с интересными людьми из 1С сферы. Иногда встречаемся офлайн в разных городах.
На Пикабу
Дата рождения: 6 августа
в топе авторов на 608 месте
28К рейтинг 454 подписчика 0 подписок 334 поста 22 в горячем
Награды:
Пикабу 17 лет!
5

База знаний по чистой архитектуре

Давно задолжал базу знаний по чистой архитектуре.

База знаний по чистой архитектуре

Конфигурацию для JWT-аутентификации и авторизации через 1С отдал, а полную подборку материалов так и не собрал. Исправляюсь.

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

Что внутри:

👉 Маршрут изучения архитектуры для 1С-разработчика

В «маршруте» я разложил все по шагам:

— зачем вообще нужна архитектура;

— почему use case важнее формы;

— что такое доменная модель;

— зачем нужны диаграммы взаимодействия;

— как думать про ответственности и зависимости;

— почему функции с побочными эффектами ухудшают код;

— где появляются границы и слои;

— зачем нужны тесты;

— как работать с легаси.

👉 Видео по архитектуре

Четыре стрима, которые лучше смотреть по порядку:

— Почему код типовых так сложно понимать

— Интерфейсы и классы в 1С

— Архитектура БСП

— Архитектурный разбор обработок Контура и Диадок для ЭДО

Если времени мало, я бы смотрел первый и третий.

Первый дает общее понимание, третий поясняет на примере БСП

👉 Кейс «от я не знаю, что такое авторизация» до конфигурации с JWT за 8 дней

Это, пожалуй, самый ценный материал в подборке.

Я почти не понимал предметную область авторизации в HTTP API: JWT, токены, подписи, сроки жизни, scopes, периметр, безопасность.

А в итоге за 8 дней с помощью ChatGPT собрал рабочую конфигурацию.

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

— как задаю вопросы;

— как наращиваю контекст;

— как фиксирую результат в ТЗ;

— как прошу смотреть на решение глазами архитектора;

— как из каши неизвестных терминов постепенно собирается нормальная архитектурная форма.

Там же оставил ТЗ по подсистеме аутентификации и авторизации HTTP API.

👉 Инструкция, как подключить и оплатить ChatGPT из России

Если вы еще не пользуетесь GPT, Claude или аналогами — это проблема.

Не нужно начинать с агентов, MCP и сложных пайплайнов.

Для начала достаточно работать в чате.

Главное — научиться разговаривать с ИИ, как с напарником, а не ждать магии от одного промпта.

Забирайте базу знаний в боте: https://r.bothelp.io/tg?domain=topgamemakers_bot&start=c...

Показать полностью 1
2

Заканчиваю говорить про архитектуру в 1С

Вчера после стрима сидели с женой и обсуждали одну мысль.

У меня сейчас ощущение, как перед последним звонком.

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

Стрим прошел и сейчас немного странно осознавать, что этот этап подходит к концу. Дальше я сильнее уйду в Unity и C# и буду заниматься совсем другими вещами. Возможно, через какое-то время вообще перестану говорить про архитектуру в 1С.

А мысль мы такую обсуждали:

А что, если то, что мы сейчас делаем, — это маленькое семечко, которое даст результат сильно позже?

Не в рамках одного курса и даже не через год.

Через 5–7 лет часть людей, которые смотрят стримы, спорят со мной, пробуют эти подходы в своих проектах, станут тимлидами, архитекторами, руководителями разработки и начнут по-другому строить системы.

Постепенно то, что сегодня для 1С мира выглядит непривычно, станет совершенно нормальным способом разработки.

Вот это для меня сейчас самое ценное во всей этой истории.

Не просто провести курс.

Заложить небольшой фундамент того, как 1С-разработка может выглядеть в будущем.

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

Запись вчерашнего стрима готова

Показать полностью 1

Стрим по реализации DDD и чистой архитектуры в 1С

Стрим по реализации DDD и чистой архитектуры в 1С

Ребята и девчата, сегодня в 19:00 проведем второй стрим по реализации DDD и чистой архитектуры в 1С

На этом стриме я, наконец-то, отвечу на вопрос, который мне задавали чаще всего после предыдущих стримов по чистой архитектуре:

а как при таком подходе не потерять платформенную оптимизацию при работе с табличными частями на клиенте?

До недавнего времени не знал на него хорошего ответа. Теперь знаю. И покажу.

👉 Стрим будет посвящен API-first подходу в 1С.

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

👉 Обсудим, почему явные бизнес-сценарии лучше, чем попытка вписать всю жизнь системы в коллбеки платформы:

ПередЗаписью, ПриЗаписи, обработку проведения и все остальное.

👉 Вы сами увидите эти сценарии в коде. Они читаются очень просто и понятно.

👉 Посмотрим, как в типовых решениях 1С пытаются прийти примерно к той же идее с помощью флагов и ДополнительныеСвойства.

Еще одна важная тема — как выбирать место физического хранения данных.

С точки зрения бизнес-логики то, лежит у нас состояние в документе или в регистре, — это деталь инфраструктуры.

Но это не значит, что выбор не имеет значения.

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

На нашем примере я покажу, почему выбрал именно такое хранение и что это дает нам с точки зрения:

— оптимистической блокировки;

— нумерации;

— вообще нормального использования возможностей самой платформы.

Стрим будет гораздо больше про конкретику:

👉 Как интегрироваться с legacy-кодом типовой конфигурации.

👉 Как интегрироваться с платформой 1С.

Мы не будем тащить сюда святую корову чистой архитектуры и DDD и говорить: «Нет, платформа плохая, все надо от нее спрятать».

Наоборот.

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

Тем, кто будет на стриме онлайн, я отдам две вещи

✅ само решение, которое у меня сейчас получилось.

Решение показывает, как применять DDD и чистую архитектуру в 1С, как интегрироваться с legacy, как интегрироваться с платформой. Сейчас мне этот пример прям очень нравится. Он получился максимально чистым и показательным.

✅ свои правила для AI-агентов, заточенные именно под разработку на 1С, по которым я сейчас сам работаю.

Но это все отдам именно тем, кто будет онлайн.

Так что сегодня, 19:00 МСК. Приходите. Всех очень жду.

P.S.

Ребята и девчата из фирмы 1С, на самом деле эти стримы я во многом делаю именно для вас.

Приходите, пожалуйста.

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

Мне кажется, вам это 100% должно понравиться.

Потому что именно за вами наблюдают сотни тысяч других 1С-программистов. Именно на ваш код они смотрят. Именно типовые решения во многом формируют то, как потом пишется код во всем 1С-мире.

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

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

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

Показать полностью 1

Поговорил с опытным архитектором, который больше 20 лет в 1С-сфере

Поговорил с опытным архитектором, который больше 20 лет в 1С-сфере

Он зашел ко мне на VIP-тариф с «Автором курса». Интересная получилась беседа на тему нотации C4.

Он делится болью:

— Слушай, мы так бодренько на своих архитектурных комитетах разруливаем уровень C1, C2, а дальше мы не знаем, что делать? Как код то писать?

И действительно. А дальше-то что?

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

C2 — это уже контейнеры: на какие крупные исполняемые части делится наша система. Например: web-приложение, mobile app, backend, база данных и так далее.

Если внимательно посмотреть на эти первые уровни C4, то по факту они говорят нам:

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

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

Где-нибудь будет авторизация, backend, mobile, база данных, еще пара внешних систем.

Все.

Квадратики плюс-минус одинаковые.

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

Все самое интересное сидит внутри одного квадратика с надписью Backend.

А как этот Backend написать?

👉 Как внутри него разделить ответственность?

👉 Где проходят логические границы?

👉 Какие там бизнес-правила?

👉 Какие инварианты?

👉 Что к чему относится?

👉 Кто за что отвечает?

Это и есть настоящие проблемы. И рисованием квадратиков эти проблемы не решить.

Причем сами авторы C4 говорят: C4 не задает вам процесс проектирования архитектуры. Это модель для визуализации и коммуникации. Она позволяет посмотреть на систему с разным увеличением, но не говорит вам, как эту систему правильно спроектировать.

Если воспринимать C4 как процесс проектирования и начинать с C1 → C2, то смещается фокус внимания. Мы начинаем слишком рано думать о том, чем надо заниматься в самом конце.

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

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

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

В итоге получим обычный распределенный ком грязи.

Поэтому, ребятушки, C4, ArchiMate и остальные подобные штуки — прекрасные инструменты, чтобы что-нибудь пообсуждать.

Для коммуникации — замечательно.

Чтобы верхнеуровнево показать систему — хорошо.

Чтобы посмотреть на нее с разных сторон — тоже хорошо.

Но они не дают вам процесса проектирования архитектуры.

Они не для этого.

Сначала нужно понять предметную область и бизнес-правила.

Найти логические границы.

Разделить ответственность.

Спроектировать приложение именно логически.

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

Основная проблема — это логические границы.

Над ними надо работать.

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

А вот если вы логически ничего не разделили и сразу занялись физическим делением — ничего хорошего из этого не получится.

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

Работа с доменом — это очень сложно. Это не тоже самое, что квадраты рисовать или кнопки.

Показать полностью 1

Зачем архитектору курс?

С утра созвонился со знакомым Архитектором, который купил курс.

Звонил, чтобы задать один вопрос 👇

«Я давно тебя знаю, ты крутой специалист. Зачем тебе вообще идти на курс?»И он ответил:

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

Но у него нет главного — системы, на которую опираться и с которой сверять собственные решения.

Словарь архитектора должен состоять из таких вопросов:

— как правильно определить границы системы

— как декомпозировать систему на модули

— как разделить ответственности между объектами

— как выстроить зависимости в коде

Это язык настоящего архитектора.

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

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

Но дальше начинаются вопросы.

🟡 Как прийти к этому разделению в реальной задаче?

🟡 На что именно декомпозировать систему?

🟡 Где должна пройти граница?

🟡 Чем Application отличается от Domain?

🟡 Зачем нужны контроллеры, репозитории и дополнительные слои?

С UI более-менее понятно: интерфейс отделяем от остальной логики. Условно есть UI и есть все остальное.

А дальше понимание заканчивается.

Он пишет код, распределяет его по общим модулям, обработкам и объектам 1С. Код работает. Задача решена.

Но остается вопрос:

«Насколько хорошо все это спроектировано? Я действительно правильно разделил ответственности или просто разложил код так, как мне сейчас показалось логичным?»И главное — с чем сверяться?

🟡 Нет понятных критериев

🟡 Нет системы принятия решений

🟡 Нет уверенности, почему одно архитектурное решение лучше другого

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

🟡 от пользовательского сценария — к границам системы

🟡 от границ — к модулям

🟡 от модулей — к ответственности объектов

🟡 от ответственности — к доменной модели и зависимостям

🟡 а затем встроить все это в типовое решение 1С

Чтобы на вопрос: «Почему система спроектирована именно так?» отвечать не:

«Мне показалось, что так логичнее».

А:

«Потому что вот границы. Вот ответственности. Вот зависимости. И я понимаю, почему они устроены именно так»

Мне кажется, именно с этого момента архитектор перестает быть архитектором на бумаге. Что думаете?

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества