Привет, Хабр! Мы стартап Deep.Foundation, и сегодня мы официально публикуем альфа-версию своей портальной пушки Deep.Case!
Что же мы такое создали?
Мы создали универсальную мультипарадигменную архитектуру, поставляемую в качестве кроссплатформенного приложения, которую можно описать так: дата-ориентированное операционное пространство ассоциативного представления данных.
Для чего?
Мы мечтаем жить в мире, где менять проект так же легко, как и создавать его с нуля.
Мы мечтаем жить в мире, где можно модифицировать бизнес-логику и расширять ее без полного рефакторинга системы даже на десятый год работы бизнеса.
Мы мечтаем жить в мире, где вы можете использовать свой код снова и снова, чтобы не приходилось выдумывать велосипед каждый новый проект.
Мы мечтаем вывести бизнес-логику за пределы кода.
Мы мечтаем, чтобы программисты занимались творчеством, а не рутиной.
И чтобы воплотить наши мечты в жизнь мы придумали Deep
Давайте вместе узнаем, получилось у нас или нет?
Просто представьте себе, что это сказка. Портал в другую реальность, куда вы можете прямо сейчас войти.
Мультипарадигменность
Ассоциативность в едином адресном пространстве, как универсальный язык, позволяет абстракциям взаимодействовать на принципиально ином смысловом уровне. Связями можно описать практически любую структуру, при этом не упираясь в потолок гибкости платформы.
Архитектура
Deep в версии alpha.0 - это среда хранения данных, реагирования на семантически обусловленные события в памяти, выполнения кода в изолированных контейнерах, управляемых нашим оркестратором. Таким образом, Deep предоставляет GraphQL API доступа к ассоциативной памяти с контекстнозависимой правовой системой и мультиязыковым мультиплатформенным стандартом выполнения кода в разных средах как docker/lxd/kuber/... в качестве реакций на события в связях или роутинге.
Приложение
Для удобства разработки, система поставляется с приложением для Mac, Windows, Linux, как самостоятельное разворачиваемое решение в Docker и любыми другими способами. Вскоре добавим больше способов посадить семя глубины в таких средах как Kubernetes, Amazon, Azure, Heroku... и многие другие.
Дата-ориентированно
Data Driven Development - теория, тесно связанная с реактивностью и с Markov decision process в Reinforcement Learning, который используют в DeepMind.
Базовая идея: в центре всего сверхгибкое хранилище состояния. Все данные хранятся в нем. Большинство выполняемых вычислений - внутренние реакции на события в памяти, так как единственный API доступа - доступ к CRUD операциям над памятью.
И в пространстве ассоциативности Deep решает вопрос совместимости любых моделей данных в общем виде.
Пожалуйста, положите вилы, сейчас все подробно расскажем. И да, не надо верить нам на слово, идите и изучите, ниже будут ссылки на документацию.
Это полностью Open Source решение https://github.com/deep-foundation. Оно доступно всем, бесплатно. Основные системы разрабатываются под открытыми лицензиями. Каждый может использовать Deep в своей работе, без каких-либо дополнительный условий, или возникающих препятствий.
Монетизация
Для проектов, чьи нагрузки не умещаются на одну машину, мы будем поставлять продвинутый балансировщик для нашего оркестратора нагрузок, который будет автоматически распределять вычисления и хранение между машинами в разных регионах.
После выпуска релизной stable версии (сейчас только альфа) мы создадим Deep.Space облачное решение для быстрой развёртки, балансировки, быстрых переездов между регионами и экземплярами Deep, соблюдения международных принципов вычисления и хранения информации, и целостной работы системы сквозь все границы и стандарты. Выполнения платных пакетов с открытого рынка разработчиков в недоступной пользователю части его арендованных мощностей согласно трехстороннему договору с провайдером, так чтобы связи управляющие этим воспринимались как естественная часть экосистемы конкретного deep экземпляра.
Для начала, что такое Deep?
Ранее мы публиковали две статьи на тему того, что есть ассоциативные связи. Тык и тык
Это пространство, состоящее из связей как из минимальных единиц смысла. В нем существуют законы, позволяющие с помощью связей определять деревья, селекторы и правила для операций над связями. В связях может храниться код, который Deep самостоятельно запускает в изолированных средах в качестве реакции как на внутренние ассоциативные события, так и на внешние раздражители.
Связи
Связь - это хранимая единица смысла.
Каждый линк имеет тип - другой линк. Линк, играющий роль типа, типизирует то, каким может быть его дочерний линк экземпляр (созданный с type_id полем указывающим на него). Например если у него не будет from_id и to_id линк экземпляр не сможет иметь from_id и to_id, а если они будут указывать на конкретные типы, линк экземпляр сможет указывать ими только на соответствующие типы. Подробнее про типизацию в главе Typing.
Над связями можно производить операции через GraphQL (как открыть GraphQL playgroud в Deep) и через DeepClient. Подробнее про операции в главе Links.
У связей могут быть value типа string, number и object. Возможность их существования так-же типизируется на уровне описания типа.
import { minilinks } from '@deep-foundation/deeplinks/imports/minilinks';
import { DeepClient } from '@deep-foundation/deeplinks/imports/deepclient';
apolloClient;
const deep = new DeepClient({ apolloClient });
// client methods select,insert,update,delete gets options as second argument
// options always contains: { table, returning, variables, name }
await deep.select(id); // { data: [Link] }
await deep.select([id]); // { data: [Link] }
await deep.select({ id: { _in: id } }); // { data: [Link] }
await deep.insert({}); // { data: [{ id }] }
await deep.insert({
id, // can be reserved with client.reserve(count)
from_id, to_id, type_id
});
// insert with nested links and values
await deep.insert({
type_id: 1,
string: { data: { value: 'Abc' } } // https://github.com/deep-foundation/deeplinks/issues/30
from: { data: { type_id: 1 } },
to: { data: { type_id: 1 } },
});
await deep.update({ link: { type: { _in: [1,2,3] } } }, { value: 'abc' }, { table: 'table123' }); // { data: [{ id }] }
await deep.update(id, { value: 'abc' }, { table: 'table123' }); // { data: [{ id }] }
await deep.update([id], { value: 'abc' }, { table: 'table123' }); // { data: [{ id }] }
await deep.delete({ type: { _in: [1,2,3] } }); // { data: [{ id }] }
await deep.delete(id); // { data: [{ id }] }
await deep.delete([id]); // { data: [{ id }] }
await deep.reserve(5); // reserve count: 5 ids // [167,168,169,170,171]
await deep.await(linkId); // await all link promises resolved and rejected
// get id by packageName/userId and contain names (as Promise)
await deep.id('@deep-foundation/core', 'Promise') // 9
// Promise link in core package have global id 9 in storage
// client types cache and minilinks deepclient integration coming coon...
// in react can be used hook
import { useDeep } from '@deep-foundation/deeplinks/imports/client';
const deep = useDeep();
Деревья
Ассоциативные связи могут строить множество разнообразных моделей данных, и деревья по связям могут быть представлены в любом направлении. Механика деревьев в Deep обеспечивает универсальный язык описания правил материализации путей, учитывая, что одна связь может быть как в нескольких деревьях, так и иметь множество родителей. Да, деревья не поддерживают рекурсию в структуре и предотвращают ее в рамках транзакции. Наличие таких деревьев позволяет получить предельную гибкость. Больше не нужно продумывать модель данных, исходя из оптимальной индексации. Можно построить модели данных, и лишь затем построить деревья по ним.
Теория и примеры деревьев в Deep в документации.
Исходный код в репозитории https://github.com/deep-foundation/materialized-path.
Мы постараемся вскоре выпустить статью с подробным разбором алгоритма.
Пример:
{
links(where: { id: { _eq: 345 } }) {
id # нашли связь 345
up(args: { tree: 353 }) {
# ищем все связи выше по дереву 353 (дерево как и все в системе тоже связь)
id type_id from_id to_id
}
}
}
{
"data": {
"links": [
{
"id": 345,
"up": [
{
"id": 343,
"type_id": 328,
"from_id": 0,
"to_id": 0
},
{
"id": 344,
"type_id": 328,
"from_id": 0,
"to_id": 0
},
{
"id": 345,
"type_id": 328,
"from_id": 0,
"to_id": 0
},
{
"id": 346,
"type_id": 330,
"from_id": 344,
"to_id": 345
},
{
"id": 347,
"type_id": 330,
"from_id": 343,
"to_id": 344
}
]
}
]
}
}
Селекторы
Это структура из связей, позволяющая хранить правило выделения ассоциативных связей. Это можно сравнить с хранимым запросом, только кроме SQL-like синтаксиса boolean_expression(а) используется предварительная проверка на попадание связи в указанное под-дерево, что позволяет хранить в базе критерии для предикатов выполняемого кода (поиска входящих значений) или для прав в правовой механике.
Подробнее про селекторы в Deep в документации.
{
s1:selectors(where: {
# 340 связь входит в селектор 348
item_id: { _eq: 340 }, # A6
selector_id: { _eq: 348 },
}) {
selector_id item_id
}{
s2:selectors(where: {
# 345 связь не входит в селектор 348
item_id: { _eq: 345 }, # A5
selector_id: { _eq: 348 },
}) {
selector_id item_id
}
}
{
"data": {
"s1": [
{
"selector_id": 348,
"item_id": 340
}
],
"s2": [],
}
}
Правила
Это структура из связей, которая позволяет использовать разнонаправленные деревья индексации и селекторы по ассоциативной сети для установления правил. Она используется системой для свободной, зависимой от контекста, кастомизации правил select/insert/update/delete в зависимости от типа или попадания в селекторы по деревьям. Подробнее о правилах.
Пример из документации.
{
can1:can(where: {
subject_id: { _eq: 348 }, # User
object_id: { _eq: 340 }, # A6
action_id: { _eq: 349 }, # Dance
}) {
subject_id object_id action_id
}
can2:can(where: {
subject_id: { _eq: 348 }, # User
object_id: { _eq: 345 }, # A5 <==
action_id: { _eq: 349 }, # Dance
}) {
subject_id object_id action_id
}
}
{
"data": {
"can1": [
{
"subject_id": 348,
"object_id": 340,
"action_id": 349
}
],
"can2": [].
}
}
Deep - это концепция, некий мета-язык, который сам по себе ничего не значит, но через который могут быть выражены все другие концепции. От языковых до программных.
Это возможно за счет универсальности единицы смысла, вы, фактически, можете тут создать любой продукт на любом языке программирования, используя ассоциативную память как семантическое ядро.
Мы развиваем ассоциативный пакетный менеджер, который, аккуратно интегрируя их в систему, позволит устанавливать ассоциативные связи, публиковать и разрабатывать их, не покидая Deep.Case.
Проект может быть собран из пакетов, разрабатываемых для него на одном языке, может быть расширен на других языках, путем наслаивания новых ассоциативных пакетов и подменой старых. Через пять лет это все не потребуется рефакторить. Только подменить устаревшие элементы в единой архитектуре.
Больше никакого legacy!
Но, давайте теперь подробнее. Как оно работает.
Если в классическом микросервисном подходе программный код взаимодействует по API с программным кодом в этом или другом процессе, а данные служат лишь внутренним слоем хранения, то в Deep - все наоборот. Ассоциативные данные в центре всего. Код больше сам по себе не существует, кроме как в форме реакции на внешнюю среду или обработчика ассоциативных событий.
Что это значит:
Ассоциативные данные доступны по единому API, в котором любые действия в системе выражены созданием/изменением/удалением связей от имени (jwt) той или иной связи в качестве авторизованного “юзера”, как это обычно называлось.
Все абстракции вашего проекта, предприятия, науки, бизнес-плана, языка, юридической фикции, идеологической или философской формации описаны в одном месте, на одном языке и могут быть опубликованы и установлены как пакеты в пакетном менеджере (подробнее о пакетах в документации).
В Deep код выполняется согласно механике Обработчиков, универсальных реакций на события, которые, как сигналы в мозгу реагируют, на любом языке и порождают новые изменения.
Обработчики
Это структура из связей, позволяющая описать способ запуска конкретного кода, выбирая стандарт изоляции и исполнения.
Такой подход позволит поддержать любые ранее существующие стандарты, языки, версии языков, прекомпиляторы и прочее на универсальном изолированном уровне.
Из исполняемого кода доступен Deep.Client с gql-подключением от имени пакета или пользователя, от чьего имени выполняется код.
В будущих версиях мы планируем добавить ассоциативные модели монтирования/обновления/демонтирования исполняемого кода в форме процессов/компонентов/контейнеров/подов/нодов и прямо изнутри ассоциативной памяти. Фактически, мы сделаем, чтобы сквозная архитектура Глубины могла выполнять поведение, хранимое и контролируемое отслеживание в едином пространстве. Так, чтобы средой для исполнения были не только виртуальные сервера и докеры, а не микроконтроллеры, js на клиенте, unity/unreal engine точку выполнения.
Подробнее про Handlers в документации.
Да, вскоре мы добавим поддержку обработчиков, выполняющихся синхронно внутри транзакции, также с правовыми ограничениями и экземпляром Deep.Client. Это позволит писать бизнес-логику удобно как никогда прежде.
Какие выводы можно сделать?
Мы полностью убрали бизнес-логику из кода. Теперь проект любого размера, созданный на Deep, можно мутировать бесконечно, вы теперь независимы от модели данных.
Deep возьмет на себя ответственность за создание кроссплатформенной/кроссязыковой культуры дебага, мониторинга, балансировки и шардинга данных, чтобы можно было полностью сфокусироваться на настоящих инновациях и творчестве, которое просто работает.
Архитектура.
Deep - это не конкретная реализация хранилища или API работы со связями. Deep предполагается, как стандарт работы с ассоциативностью. Мы обеспечим обратную совместимость стандарта, и мультиязыковую культуру доступа к разным реализациям ассоциативных хранилищ одновременно. Его структура позволяет отказаться от конкретной семантики и предоставить конструктор гибких вариантов семантики. Благодаря этому структура, фактически, говорит на языке хранимого ею смысла. Это значит, что даже если мы будем говорить на сотнях диалектов для работы с ассоциативностью в коде, внутри она останется целостной совместимой структурой.
Мы работаем над несколькими нативными решениями, на C++, C#, Rust. Сейчас мы публикуем Deep 0.1.0-alpha.0 версию на базе нескольких надежных зависимостей:
PostgreSQL в качестве стабильной и проверенной временем базы данных с поддержкой партицирования, транзакций, триггеров, и распределенного хранения.
-
Hasura в качестве GraphQL адаптера и поставщика реализации стандарта bool_exp, берет на себя часть функционала postgresql storage engine.
Deep.Foundation развивает свой диалект storage engines, на базе которого ведется разработка сразу нескольких конкурирующих реализаций хранилища, на C++, C# и Rust.
И это далеко не всё.
Подробнее с нашими планами можно ознакомиться в первой итерации дорожной карты.
ROADMAP
А теперь о планах. И о нас.
Для начала, о нашей идеологии.
Наша цель не просто сделать прикольную штуку и заработать на ней денег. Успех, финансы и признание всего лишь инструменты, которые позволят нам достичь нашей настоящей цели:
Сделать мир иным, проторить в нем новые дороги, чтобы исследователи, романтики, мечтатели и просто творческие люди могли вплотную подойти к горизонтам познания и заглянуть за них.
При наличии единого языка который может излагать концепции любых форм информации, сначала мы создадим утилитарные инструменты для программистов, и вместе с ними, принесем ассоциативную культуру во все сферы жизни информации в обществе.
Мы хотим изменить мир так, чтобы его мог менять каждый!
Deep - это философия открытости и прозрачности.
Мы всегда обо всем говорим публично. Все материалы в нашем Notion. Факт любых деловых контактов нашей корпорации всегда будет обнародован. Решение о публикации или не публикации разговора принимает только вторая сторона. Мы даем слово, что не имеем возможности отказаться от такой публикации.
Вы можете ознакомиться с нашими подкастами и встречами в нашем YouTube. Больше ссылок на сайте deep.foundation.
На подкастах “Пещера дракона” мы разговариваем с экспертами о Deep. Вы можете ознакомиться с квалификацией наших экспертов в описании файлов.
Любой желающий, кстати, может стать нашим гостем, просто приходите в наш Discord и напишите в канале #hi “Хочу на подкаст”.
Если упомяните в сообщении слово “хабр” в любом очевидном начертании, получите тег habr и комнату только для тех, кто пришел на сервер таким образом.
Мы отрицаем кулуарность, как способ ведения бизнеса.
Теперь о наших надеждах
Мы хотим, чтобы Глубина объединила нас, позволила обмениваться своими механизмами творчества, чтобы ваши лучшие идеи и концепции стали доступны всем в единой среде.
Чтобы вы могли запускать стартапы так быстро и так легко, как было невозможно раньше.
Чтобы мы могли создавать проекты, которые изначально совместимы друг с другом, и говорят на одном языке, даже если в них нет одинаковых пакетов или моделей данных.
Чтобы собирать и поддерживать проект могли любые люди, знакомые с Deep, не приватизируя legacy часть.
Чтобы разумные, совместимые с ассоциативностью мыслящие существа, могли строить для себя третий слой памяти, дополненное восприятие. Не важно кто вы, человек или иная форма разума.
Мы верим в то, что мы сможем выдержать этот кризис, только если создадим нечто эпохальное. Это наш ответ всей глупости, всему невежеству и ненависти, которые сейчас царят в мире.
С одной из существующих точек зрения, мы банда сумасшедших. Чего о нас говорит один лишь тот факт, что мы взяли в качестве официального лица компании, маскота любимого писателя – фантаста нашей команды.
Или, например, что мы объединяем наших последователей в натуральный культ ассоциативности..
Но больше всего нас характеризует то, что мы создаем компанию, которая говорит публично на уровне ЛЮБЫХ деловых контактов. И делаем это в России.
Мы всегда говорили, говорим, и будем говорить с нашей аудиторией прямо и открыто.
Наша цель - создать полноценную экосистему вокруг теории ассоциативности. И вот уже благодаря ей мы сделаем так, что культура полной открытости станет не просто мудрым решением, а наиболее выгодным из всех. Мы монетизируем честность.
Наша ценность – люди. Любая, самая крутая идея обречена на забвение, если не найдется тех, кто эту идею перенесет в реальный мир.
Леди и джентльмены, в эти темные времена нам нужно сплотиться с самыми важными для нас людьми, с нашей аудиторией. Создавайте что-то на Deep, взаимодействуйте с нами, задавайте вопросы. Проект будет существовать, только если вы станете благодаря ему лучше и успешнее. Мы сможем вырасти только вместе с вами!
Хотим отдельно обратиться к тем, кого мы воодушевили. Те, кто уже увидели в Deep то, что видим мы. Нечто бездонное, неизведанное, чуждое как город в небесах. И столь же прекрасное.
Народ, вступайте в Кадеты глубины! Испытайте наши ценности, посмотрите, как ваша работа становится эффективнее.
Господа! Важный момент. Мы планируем привлечь инвестиции на развитие. В нашей ситуации - это не самая сложная задача, НО!
Глубина - это Дело всей нашей жизни. И потому на первых этапах мы будем отдавать предпочтение тем, кто верит в нас, тем, кто разделяет наши ценности, а не просто видит крутой, выгодный, но безликий актив.
У нас еще нет юридической формы для подобных инвестиций, но желающие могут объявить своем намерении уже сейчас.
На Патреоне мы сейчас сделали кнопку для тех, кто готов стать членом клуба. Поверьте в нас, поверьте в чудо, и мы вас не разочаруем.
Короче, мир лучше захватывать в большой компании. Присоединяйтесь.
В скором времени мы, кстати, выйдем на кикстартер.
Ну, а пока есть такая возможность, расскажите, что нам не хватает в упаковке и позиционировании, чтобы в нас хотелось поверить при публикации проекта на KickStarter и аналогичных площадках. Будем рады пообщаться в комментариях.
Deep.
Творчество, которое просто работает.
Команда Deep Foundation благодарит Руслана Бикмаева за помощь в публикации статьи, чувак, без тебя бы это было гораздо сложнее! Мы очень рады что такие люди как ты есть в нашем комьюнити!
Комментарии (22)
Flux
22.03.2022 15:40+6Будто прочитал выход GPT3 с максимальным возможным количеством баззвордов.
Алло, какие "ценности"? Какая "философия стартапа", какие "мультиязыковые культуры доступа к разным реализациям ассоциативных хранилищ"?
Может лучше расскажете какие задачи решает ваш проект и почему он вообще кому-то нужен?
Наша цель не просто сделать прикольную штуку и заработать на ней денег.
Без обид, но пока что выглядит именно так. Особенно в контексте дикого обилия всевозможных баззвордов и классических "мы хотим изменить мир".
IvanSGlazunov
22.03.2022 15:54Какие ценности? "Открытость" и "прозрачность" точно сформулировано.
Какие мультиязыковые культуры? Мы создали альтернативный способ организации миркосервисов вокруг ассоциативных данных. Мультиязыковые - запуск кода на любом языке в определенном контексте связей, с доступом к окружению.
-
Задачи. Все задачи которые решает бекенд. База данных в которой модели данных изначально совместимы друг с другом и их изменение не приводит к рефакторингу, или приводит к кратно меньшему рефакторингу. Возможность организовать дестрибьюцию пакетов не с кодом а с моделями данных и кодом которые изначально совместимы друг с другом.
Я боюсь описать весь проект в одном ответе не получиться. Статья и писалась что бы обьяснить по пунктам задачи и решения. И да мы действительно хотим изменить мир, это не беззворд, это факт. И начали мы с backend культуры работы с данными, переосмыслили и предлагаем решение.
forthuser
22.03.2022 16:32С каким аналогичным ПО можно сопоставить вашу разработку, если такое возможно?
Насколько этот подход отличается от разного «No Code»?
…
P.S. Возможно ли с помощью Вашего инструмента и в какой степени, например, извлекать смысл из существующей структуры информации разного рода начиная с программного кода каких то проектов?
Может быть к примеру сравнение с Undertand? (графическое представление и навигация по коду проектов на разных языках программирования)IvanSGlazunov
22.03.2022 16:42Дип можно противопоставить некоторому целостному решению по backend архитектуре.
Например meteorjs. Или Laravel/Ruby&Rails, но только сразу вместе с настроенной инфраструктурой данных.
С Undertand сравнивать не получается, они предлагают аналитические инстурменты и визуализацию. Мы же даем backend, хранение данных. Так что бы backend больше не требовал разработки в принципе. Влажная мечта ERP/CRM/CMS все всех времен - пакеты/плагины/модули с бесконечной совместимостью друг с другом, и без программиста в качестве смазки между решениями.
AntonMikhno
22.03.2022 16:25Возможно, я неверно понял статью, но это же просто очередная no-code платформа со своим no-code языком, на котором нужно будет программировать логику? :)
IvanSGlazunov
22.03.2022 16:31+1Да когда пакетный мендежер выйдет из альфы, когда мы опубликуем совместимые с разными пакетными менеджерами (уже в разработке) решения для публикации и установки пакетов с зависимостями, то все именно так так - это no-code платформа, с феноменальными свойствами совместимости моделей данных и поведения. Где можно писать на любом языке, а для не разработчиков пользование ей сведется к операциям по insert/update/delete связей, которые будут пораждать те или иные ракции как внутри транзакций синхронно так и асинхронно. С феноменально гибкой системой прав... кажется я уже начал переписывать статью)) Упс.
MentalBlood
22.03.2022 17:28+3Написано круто, но начинать (после краткого вступления) стоило с примеров. Система сложная и необычная, тупо лень читать сухие описания
Получается в лучшем случае "ничего не понятно, но очень интересно"
smart_alex
22.03.2022 20:17+7Особенно мне понравился роадмап. :) Я бы туда добавил ещё пару пунктов: создание сверхинтеллекта и завоевание ближайших галактик.
А вообще, беда всех подобных проектов в том, что их создатели настолько оторвались от толпы, что народ вообще не понимает о чём идёт речь.
IvanSGlazunov
24.03.2022 03:29По рваному правому краю роадмапа можно понять, он был вырезан из более крупной карты, где это является частью создания сверхинтеллекта, и завоевания ближайших мультивселенных, а так-же нахождения сбалансированных внутренних непротиворечивых решения на основе общего опыта "человечества" для рекомендательных расширяющих восприятие/присутствие пользователя интерфейсы, позволяющие обладать интеллектом гения с общечеловеческим опытом, без специальной тренировки.
Но мы подумали что то, что мы знаем как все это сделать, еще не значит что от этого мы это заявим будем выглядеть вменяемее для...
> И на минуту заходим в новости. Понимаем что происходит вокруг. Возвращаемся.
Ну да, что бы выглядеть стартапом, для ycombinator. Ага.
Viteran33
23.03.2022 13:08+3На мой взгляд вместо кучи статей с описанием вашего сервиса стоит написать одну статью где вы решаете конкретную задачу, если у вас про бекенд, напишите небольшой бекенд с помощью своего сервиса. Может вы и правы в своем подходе, может это действительно крайне новаторская штука. Но пока это выглядит как очень занятная математическая формула которую непонятно куда применить.
IvanSGlazunov
24.03.2022 03:54Если проголосуете за варианты, или опишите критерии выбора определенного из пунктов важные именно вам - поможете выбрать тематику следующей статьи наиболее рационально). Есть интересные с важей точки зрения варианты не описанные в опросе?
ballsbreak
23.03.2022 13:43@IvanSGlazunov Ваня, хорошая статья. Покажу разработчикам, может у нас в https://triberport.com сможем применить.
sovpel
23.03.2022 16:42"Мы мечтаем вывести бизнес-логику за пределы кода." Под бизнес-логикой имеется в виду то же самое, что в Википедии (русскоязычной или англоязычной)? Получается ли вынести бизнес -логику в БД полностью, на 100%?
IvanSGlazunov
24.03.2022 03:10Прямо сейчас это мета язык представленный в виде сквозной архитектуры. То есть, на ассоциативном языке можно выразить любую структуру? Да. Бизнес логика, как ассоциативная структура, выразима. Да, и плохая эволюция CRM/CMS/ERP, закрытая, с очень ограниченной степенью гибкости доступной без кода, не "золотой век скажем так.". Это вполне естественно быть способными выносить бизнес логику в бд на 1000% для модульной сквозной архитектуры построенной на ассоциативности как на мета языковом слое с подменяемым engine хранения, представления, и выполнения кода. Бизнес логика это самое очевидное, та аудитория которая получит первую волну позитивных впечатлений.
z0ic
24.03.2022 01:53Я вас понял. Серьёзно.
IvanSGlazunov
24.03.2022 03:17Есть желание записать подкаст, пообщаться на эту тему)?
Кстати, а сюда можно в комментарии например ссылку на телеграм комнату выложить если мы решим так сделать? Хм. И если можно, и написать здесь об этом в комментарии, сколько на самом деле таких вот путешествующих по сети в поисках способа поиска способа поиска зайдет туда слушателями.
IvanSGlazunov
24.03.2022 15:01Когда это понял, забыть уже не получиться. Добро пожаловать в культ глубины.
Все мы искали это, это лишь случайность что нашли мы. Поэтому проект создан как "фонд развития ассоциативности" как лицо поддерживающее конкретную культуру, что бы мы, могли развивать это вместе).
Каждый кто научился думать ассоциативностью, может переносить себя в это пространство, пока сложно, и нужна разработка, но вместе мы сможем прорвать этот барьер. Уйти от sofrware и hardware уровня на концептуальный уровень. Язык изменит свою суть.)
Cheater
Первое апреля через неделю же?
Konard
Через 9 дней.