Обновить
  • по релевантности
  • по времени
  • по рейтингу

Применение метамодели при проектировании баз данных с несколькими абстрактными слоями

SQL *
Классический подход предусматривает разработку структур баз данных, где все сущности информационной модели находятся на одном абстрактном уровне, являются однородными. Однако, сложные и слабо-структурированные предметные области приводят реляционную декомпозицию к комбинаторному взрыву, непропорциональному росту количества таблиц и связей. А динамические предметные области, в которых ежедневные изменения являются нормой жизненного цикла, требуют постоянного реинженеринга структуры реляционной базы данных.
Читать дальше →
Всего голосов 37: ↑34 и ↓3 +31
Просмотры 11K
Комментарии 58

Применение метамодели при проектировании баз данных с несколькими абстрактными слоями (часть 2)

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

Первая часть: http://habrahabr.ru/blogs/sql/119317/
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 6K
Комментарии 4

Метапрограммирование

Программирование *
Целью этой статьи есть привлечение внимания широкой ИТ-шной общественности к метапрограммированию и всем его многочисленным формам и техникам. Я постарался собрать классификацию всего, что знаю по этой теме, и показать ее применимость не только в умозрительных задачах, но и в разработке рядовых приложений. Но это скорее план для дальнейшего изучения и, я надеюсь, толчек для более активного обсуждения.

UPD: Более новая статья: Метапрограммирование с примерами на JavaScript. И лекция по статье на Youtube (лекция записана в Киевском политехническом институте 18 апреля 2019 года в рамках курса «100 видео-лекций по программированию»):


Читать дальше →
Всего голосов 43: ↑33 и ↓10 +23
Просмотры 36K
Комментарии 28

Динамическая интерпретация метамоделей

Программирование *Анализ и проектирование систем *Проектирование и рефакторинг *
Продолжая серию статей по метапрограммированию, подготовил выжимку из достаточно объемной своей работы о повышении уровня абстракций в информационных системах. Хабр конечно любит практические решения, и их таки есть у меня, но материала много и я вынужден разделить его на несколько статей. А для иллюстрации эффективности подхода, могу сказать, что внедрение его во множестве живых проектов позволило повысить эффективность разработки в десятки раз, например, создавать приложения баз данных со структурой в несколько сотен таблиц за неделю и портировать решения между платформами за считанные часы. Эта статья носит характер теоретический и наполнена специфической терминологией, без которой, к сожалению, она была бы значительно объемнее.
Читать дальше →
Всего голосов 29: ↑22 и ↓7 +15
Просмотры 17K
Комментарии 46

Метапрограммирование с примерами на JavaScript

JavaScript *Программирование *Анализ и проектирование систем *
Эта статья, еще одна попытка переосмысления метапрограммирования, которые я периодически предпринимаю. Идея каждый раз уточняется, но в этот раз удалось подобрать достаточно простых и понятных примеров, которые одновременно очень компактны и иллюстративны, имеют реальное полезное применение и не тянут за собой библиотек и зависимостей. В момент публикации я буду докладывать эту тему на ОдессаJS, поэтому, статью можно использовать, как место для вопросов и комментариев к докладу. Формат статьи дает возможность более полно изложить материал, чем в докладе, слушатели которого, не освобождаются от прочтения.

UPD: Обновленная видеоверсия статьи на Youtube (лекция записана в Киевском политехническом институте 18 апреля 2019 года в рамках курса «100 видео-лекций по программированию»):

Читать дальше →
Всего голосов 52: ↑39 и ↓13 +26
Просмотры 39K
Комментарии 23

Трудности на пути создания «универсальной» метамодели для моделирования предметных областей

Семантика *Анализ и проектирование систем *Проектирование и рефакторинг *IT-стандарты *
Для создания модели предметной области сначала строится модель наших представлений. Описание наших представлений содержится в метамодели (например, в нотации BPMN). Метамодели, в свою очередь, строятся на основе мета-метамодели. Однако, наши представления имеют очень непростую структуру, которая до сих пор не имеет формального описания. Поэтому построение метамодели и мета-метамодели сильно затруднено. Попытку описать эту структуру предприняли греки, когда придумали основы логики. Способы нашего мышления изучали математики, когда столкнулись с парадоксами, пытаясь построить основы своей науки. Казалось бы, прогресс есть, но по какой-то причине, остановившись на формальном описании инструментов логического вывода, математики не сделали попытку применить полученные наработки к моделированию нашего мира (наверно, потому что для них – это прикладная задача, не вызывающая интереса).



В итоге те принципы, на основе которых создаются нотации и языки моделирования предметных областей, выбираются разработчиками относительно произвольно. Понятно, что созданные таким образом языки моделирования имеют достаточно ограниченную область применения. Эту область должны были бы описать создатели языка, но разработчики, как правило, это требование игнорируют.
Читать дальше →
Всего голосов 28: ↑25 и ↓3 +22
Просмотры 9.7K
Комментарии 56

Постановка задачи: Объекты учета и моделирование отношений между ними

Семантика *Анализ и проектирование систем *Проектирование и рефакторинг *IT-стандарты *
Модели создаются аналитиком с целью сделать понятным ту или иную часть предметной области. Модель строится при помощи объектов учета и отношений между ними. Под объектом учета понимается все, что мы назвали: активы, процессы, события, структуры, множества и т.д. При этом кажется, что мы все знаем, что такое «понимание», однако, стоит поговорить об этом чуть подробнее.

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

  1. Эмпирический опыт – это множество (класс) ситуаций, которые расцениваются данным субъектом, как похожие друг на друга (субъект ронял предметы). Новые ситуации классифицируются субъектом как похожие на предыдущие и пополняют класс однотипных ситуаций.
  2. Паттерн ситуаций (тип ситуаций, или модель ситуаций), который присутствует в сознании у субъекта и в котором записано, что всякий раз, когда случится подобное, тело падает на землю. Паттерн связан с эмпирическим опытом, или с классом ситуаций.

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

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


Читать дальше →
Всего голосов 4: ↑2 и ↓2 0
Просмотры 3.8K
Комментарии 17

Уточняем детали проекта методами практической психологии

Блог компании Maxilect Nginx *Управление проектами *Лайфхаки для гиков Мозг

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

Текст написан по материалам внутреннего тренинга, который я проводил в нашей компании в начале февраля.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 4.1K
Комментарии 20

Краеугольный камень анализа. Часть 1

Анализ и проектирование систем *Управление проектами *Agile *Управление продуктом *

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 2.2K
Комментарии 0

Краеугольный камень анализа. Часть 2

Анализ и проектирование систем *Управление проектами *Управление продуктом *

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

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Просмотры 2K
Комментарии 7

Есть ли

Блог компании Цельс Машинное обучение *Искусственный интеллект

Всем привет! Сегодня я хочу рассказать про мета-модели в медицине. Обязательно читайте до конца, вас ждёт сюрприз!

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

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

Читать далее
Рейтинг 0
Просмотры 140
Комментарии 0

Есть ли ML после обучения нейронной сети?

Блог компании Цельс Машинное обучение *Искусственный интеллект

Всем привет! Сегодня я хочу рассказать про мета-модели в медицине. Обязательно читайте до конца, вас ждёт сюрприз!

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

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

Читать далее
Всего голосов 5: ↑2 и ↓3 -1
Просмотры 2.2K
Комментарии 0