Pull to refresh
55
7.1

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

Send message

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

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

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

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

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

Читать далее

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

Reading time11 min
Reach and readers10K

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

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

Читать далее

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

Level of difficultyMedium
Reading time27 min
Reach and readers7.2K

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

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

Читать далее

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

Reading time9 min
Reach and readers4.1K

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

Читать далее

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

Reading time9 min
Reach and readers6.1K

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

Читать далее

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

Level of difficultyMedium
Reading time19 min
Reach and readers1.2K

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

Читать далее

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

Level of difficultyEasy
Reading time9 min
Reach and readers1.7K

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

Читать далее

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

Level of difficultyMedium
Reading time22 min
Reach and readers1.2K

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

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

Читать далее

Бинарность

Reading time12 min
Reach and readers1.9K

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

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

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

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

Reading time31 min
Reach and readers5K


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

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

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

Reading time35 min
Reach and readers38K


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

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

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

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

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

Reading time19 min
Reach and readers13K


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

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

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

Reading time36 min
Reach and readers13K


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

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

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

Reading time18 min
Reach and readers14K

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

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

Reading time11 min
Reach and readers27K


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

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

Reading time15 min
Reach and readers14K


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

Разработка метамодели с помощью Eclipse Modeling Framework (и немного про моделирование данных)

Reading time11 min
Reach and readers31K


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

Объектный язык ограничений (и немного про метамодели)

Reading time16 min
Reach and readers37K
image

На наш взгляд, объектный язык ограничений (Object Constraint Language, OCL) должен знать каждый, кто занимается моделированием или кому интересна модельно-ориентированная разработка. Однако, он незаслуженно обделен вниманием в сети вообще, а, уж, в русскоязычном сегменте информации просто мизер. Что это за язык и зачем он нужен, описано в этой статье. Статья не претендует на фундаментальность, полноту охвата, точность определений и т.п. Её задача: 1) на простых примерах познакомить с OCL тех, кто никогда не слышал об этом языке, 2) а для тех, кто о нём слышал, возможно, открыть новые способы его применения.
Читать дальше →

Information

Rating
861-st
Works in
Registered
Activity