Обновить
55

Пользователь

61
Подписчики
Отправить сообщение

Ещё один репозиторий моделей для Archi

Время на прочтение3 мин
Охват и читатели6.9K

Archi — это инструмент моделирования для ИТ‑архитекторов, который поддерживает нотацию ArchiMate. Если вы им пользуетесь, то наверняка знаете про плагин coArchi, который позволяет хранить модели в Git. Или вам попадался плагин для хранения моделей в базе данных. В общем мы решили сделать ещё один такой плагин для совместной работы над моделями.

Читать далее

Навайбкодил приложение для анализа графов

Время на прочтение11 мин
Охват и читатели7.6K

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

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

Читать далее

Язык моделирования ИТ-инфраструктуры

Время на прочтение7 мин
Охват и читатели7.7K

Мне был нужен инструмент, который позволил бы описать наши сервера, описать какие приложения на них запущены, как всё это связано между собой, как делаются бэкапы баз данных и так далее. Если бы я был DevOps, то наверное написал бы для этого Terraform конфиг. Но я архитектор, поэтому визуальные схемы мне ближе. В итоге мы скрестили ежа с ужом (ArchiMate с AWS Cloud Notation) — если вам интересно что получилось или вам интересно как в принципе создаются новые языки моделирования, то добро пожаловать в статью.

Читать далее

Готовимся к System Design интервью с помощью ИИ и немного про Enterprise Integration Patterns

Время на прочтение7 мин
Охват и читатели6.7K

Некоторое время назад я с позором провалил собеседование на системного архитектора в один банк. Интервьюер просто до глубины души был оскорблен мои низким техническим уровнем. Ему максимально не понравилась схема интеграции со СМЭВ, которую я пытался изобразить. В итоге я решил немного подтянуть теорию, почитать учебники, попроходить Mock‑собеседования... Да, ну, нет, всё это слишком сложно! Вместо этого я решил запилить инструмент моделирования, добавить в него Enterprise Integration Patterns и прикрутить ИИ, чтобы он сам рисовал все эти дурацкие модели.

Затем я давал Gemini 3 Pro тестовые задания на проектирование архитектуры. В процессе я возможно и сам немного подтянул свои знания. Результат вы можете увидеть в статье, возможно эти модели будут для вас полезны. Вручную я их практически не правил, только иногда задавал уточняющие вопросы. Со мной всё итак ясно, а как вы считаете прошла бы Gemini собеседование на архитектора? На сколько удачно она справилась с этими тестовыми заданиями? Возможно на ваших собеседованиях задачи были сложнее и интереснее?

Читать далее

Можно ли с помощью ИИ решать сложные и критичные задачи?

Уровень сложностиПростой
Время на прочтение31 мин
Охват и читатели8.4K

С помощью ИИ вполне можно сгенерировать сайт‑визитку или игру в крестики‑нолики, составить план отпуска или сделать более сложные вещи. А как насчёт того, чтобы сгенерировать ПО для управления атомной станцией или самолётом? Или как насчёт планирования не отпуска, а проекта на сотни человеко‑лет? Это в принципе возможно и можно ли доверять результатам работы ИИ?

В статье сначала будет немного теоретических рассуждений на эту тему, идея банальная: сложные задачи нужно декомпозировать. Затем рассмотрим это на конкретном примере, разобьём разработку приложения для HR отдела на три шага: 1) описание процесса приёма сотрудников на работу, 2) описание модели состояний для кандидата при прохождении собеседований, 3) генерация кода.

В заключении опишем профит от моделирования, если вы используете ИИ. И профит от ИИ, если вы занимаетесь моделированием.

Читать далее

Купил увлекательный квест за 0,00896 BTC

Время на прочтение11 мин
Охват и читатели11K

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

Не так давно я решил купить ещё один вечный сервак у этого провайдера. И здесь начинается ещё не сам квест, а предыстория к нему...

Читать далее

Нам пришлось сделать инструмент моделирования, чтобы понять на сколько крут ArchiMate

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели14K

ArchiMate — это язык моделирования архитектуры предприятия. Я часто о нём слышал, но никогда не пользовался. Он казался мне очень сложным с очень странной солянкой из разносортных объектов, с замороченным десктопным редактором. Изначально мы даже не рассматривали ArchiMate как первый кандидат на реализацию в нашем инструменте моделирования, а больше склонялись к моделям данных, C4, UML, BPMN. И добавили эту нотацию совершенно случайно. Но пока рисовали примеры моделей для статьи я просто обалдевал на сколько ArchiMate клёвый, какими гениями он придуман и зачем ИТ архитекторам могут быть нужны ещё какие‑то языки моделирования.

Мы попробовали описать разные аспекты нашего программного продукта в этой нотации от миссии и стратегической карты до сценария резервного копирования базы данных. В итоге у нас получилось что‑то среднее между небольшим руководством по ArchiMate и тупой неприкрытой саморекламой. Решайте сами полезно для вас это или нет. Статья получилась очень объёмная, смело пролистывайте не интересные разделы.

Читать далее

Сделали свой редактор C4 моделей

Время на прочтение9 мин
Охват и читатели6.3K

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

Читать далее

Текстовый редактор моделей?

Время на прочтение9 мин
Охват и читатели8K

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

Читать далее

Создаём DSL для моделирования данных

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели3.7K

Всем привет! Продолжаем делиться тем как мы разрабатываем наш инструмент моделирования. К предыдущей статье было много вопросов о том можно ли модели хранить и редактировать в текстовом виде, как насчёт architecture as code, code first и т. д. Мне хотелось бы написать, что мы добавили эту фичу в текущем релизе, но нет, пока есть только такая демка с исходниками. И в этой статье я расскажу как она сделана, как запилить свой предметно‑ориентированный язык (DSL) и текстовый редактор для него.

Читать далее

Наш инструмент моделирования

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели4.3K

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

Читать далее

Пример решения одной задачи с помощью модельно-ориентированного подхода

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели4.1K

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

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

Читать далее

Бинарность

Время на прочтение12 мин
Охват и читатели2K

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

Прямо по этой горно-лесной дороге течет небольшой ручей со множеством изгибов, порогов, запруд, каменистых островков. Очень напоминает настоящую реку с торговыми судами и портами. Мозг настолько привык к информационному шуму, что даже спустя несколько часов в лесу продолжает генерировать эти странные образы, лишь бы не останавливался внутренний диалог. Этот неиссякаемый поток мыслей будто бы борется за свою жизнь. Возможно, как только он остановится некоторая часть тебя действительно умрёт. А когда поток возобновится, то как ты можешь быть уверен, что ты это всё ещё ты?

Стой, можно я с тобой?

Это не статья — просто пища для размышлений о том, как её написать

Время на прочтение31 мин
Охват и читатели5.2K


Под катом перевод статьи Carsten Sørensen «This is not an article — just some food for thoughts on how to write one». В ней рассказывается на что нужно обращать внимание при написании научных статей. Если вы пишите диссертацию в области информационных технологий, то наверняка найдете что-то интересное для себя. Впрочем, и авторы популярных статей тоже могут найти что-то полезное.

В статье рассматриваются основные вопросы, которые необходимо себе задать при написании научной публикации. Разбираются интересные примеры статей. Наверное каждый слышал или использовал словосочетание «серебряная пуля» применительно к той или иной технологии. Но задумывались ли вы кто впервые использовал эту метафору в ИТ и почему она такая популярная? Также разбирается статья, в которой проводится аналогия между программистами и часовщиками. И те, и другие в своё время стояли у истоков новой технологии. С развитием часовой индустрии самих часовщиков практически не осталось. Интересно, что ждет программистов через 500 лет?
Читать дальше →

Теория категорий на JavaScript. Часть 1. Категория множеств

Время на прочтение35 мин
Охват и читатели38K


Абстракция – это одна из основных техник в ИТ. Любой язык программирования или моделирования, любая парадигма программирования (процедурная, функциональная, ООП, …) дают ответ на вопрос, как и от чего нужно абстрагироваться. Причём, адепты каждого подхода предлагают какой-то свой вариант абстракции.

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

Также немного говорится про классы, примеси и смеси в JavaScript.

Примеры из статьи можно посмотреть тут.
Читать дальше →

Введение в преобразование моделей (или преобразование, которое создаёт преобразование, которое создаёт модель)

Время на прочтение19 мин
Охват и читатели13K


Сегодня напишем преобразование, которое создаёт преобразование. Лично мне это напоминает «Начало» Кристофера Нолана, где люди видели сны во снах.

Это 7-ая статья цикла по модельно-ориентированной разработке. Я уже полгода пытаюсь написать статью с серьёзным примером разработки, управляемой моделями. Но каждый раз пониманию, что сначала необходимо рассказать о технологиях в целом, разобрать какой-нибудь очень простой пример. Так и в этот раз, хотел только начать статью с «Hello World», а в итоге этот простой пример вырос в здоровенную статью.
Читать дальше →

Разработка парсера, кодогенератора и редактора SQL с помощью EMFText

Время на прочтение36 мин
Охват и читатели13K


Это 6-я статья цикла по разработке, управляемой моделями. В прошлой статье вы получили общее представление о разработке предметно-ориентированных языков с помощью EMFText. Настало время перейти от игрушечного языка к более серьёзному. Будет очень много рисунков, кода и текста. Если вы планируете использовать EMFText или подобный инструмент, то эта статья должна сэкономить вам много времени. Возможно, вы узнаете что-то новое о EMF (делегаты преобразований).

Подобно отважному хоббиту мы начнём свой путь с BNF-грамматики SQL, дойдём до жуткого дракона (метамодели) и вернёмся обратно к грамматике, но уже другой…
Читать дальше →

Введение в разработку предметно-ориентированных языков (DSL) с помощью EMFText

Время на прочтение18 мин
Охват и читатели15K

Это 5-я статья цикла по разработке, управляемой моделями. В предыдущих статьях мы уже разобрались с метамоделями, валидацией моделей, некоторыми нотациями для моделей (диаграммы и таблицы). Всё это было в рамках пространства моделирования MOF. Сегодня мы построим мост в пространство моделирования EBNF – познакомимся с текстовой нотацией для MOF-моделей.
Читать дальше →

Руководство по поиску работы для MDA-специалиста (и немного про метод анализа иерархий, Xcore и Sirius)

Время на прочтение11 мин
Охват и читатели27K


Это 4-я статья цикла по разработке, управляемой моделями. В предыдущих статьях мы познакомились с OCL и метамоделями, Eclipse Modeling Framework и Sirius. Сегодня научимся описывать метамодели в текстовой нотации (а не в виде диаграмм как раньше) и познакомимся с табличным представлением моделей в Sirius. Сделаем это на примере кризиса среднего возраста и метода анализа иерархий. Возможно, это пригодится вам при разработке ИИ в играх, при принятии решений или в работе.
Читать дальше →

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

Время на прочтение15 мин
Охват и читатели14K


Это третья статья цикла, посвященного разработке, управляемой моделями. В предыдущих статьях мы разбирались с OCL и метамоделями, создавали свою метамодель для языка Anchor с древовидным редактором. Сегодня сделаем редактор Anchor-диаграмм.
Читать дальше →
1

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность