Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Разработка информационных систем Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
 Re: WEB сервис генерации программного кода  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1656
не обязательно - в R-o-R ИИ не было, а юзабилити было.
22 мар 17, 14:19    [20321308]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
alex55555
Member

Откуда:
Сообщений: 289
Vladimir Baskakov
не обязательно - в R-o-R ИИ не было, а юзабилити было.

В вашей любимой стрелялке тоже есть какое-то юзабилити. Если вам достаточно такой изюминки, то у вас не должно возникать вопросов к Дмитрию, ибо для кого-то такого рода изюминку в его продукте есть.
22 мар 17, 20:15    [20322777]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1656
Ээ в ruby on rails можно стрелять? И стрелять тоже? Не, изюм по тем временам когда оно появилось - был. и есть. Вопросов у меня особо нет, потому что к моим задачам продукт не особо пригоден. А кому пригодится, то и хорошо.
23 мар 17, 06:48    [20323722]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
dma_caviar
Дмитрий Concept,

Не, нужно только create table и alter table.
Правда alter пока не понятно как делать. Надо наверное тогда два json-а передавать до изменений и после. Чтобы сгенерился скрипт alter.
Еще не нужно sys_id, uid - это uniqueidentifier и нету NULL, NOT NULL.
И еще API, через который можно дергать сервис))


Вот, что получилось c uid и NULL, NOT NULL.
API можно сделать, когда базовые шаблоны будут отлажены - через 2-3 месяца по моим оценкам.
Про alter table - думаю, как лучше реализовать.

/* Программа: MyProg */
/* Язык: sql */
/* Дата создания: 23.03.2017 */
/* Сгенерировано по шаблонам КОНЦЕПТ, www.gendoc.ru */

/* Создание таблицы */
create table AM_Accounts (
  uid uniqueidentifier DEFAULT NEWID()
  ,Number varchar(50) NOT NULL
  ,Name varchar(200) NOT NULL
  ,BankAccountNumber varchar(20) NULL
  ,BankBIC varchar(20) NULL
  ,CurrencyID int NOT NULL
  ,IsOutBalance int NOT NULL
  ,Deleted int NOT NULL
  ,FullName varchar(251) NOT NULL
  ,CategoryID int NULL
  ,ContractorID int NULL
  ,CONSTRAINT PK_uid PRIMARY KEY (uid)
)
23 мар 17, 18:17    [20327089]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
dma_caviar
Member

Откуда: http://itproduct.ru
Сообщений: 1941
Дмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

Только желательно имя ключа генерить в виде PK_ИмяТаблицы
И индексы на CurrencyID, CategoryID и ContractorID так как это внешние ключи.

Но это уже детали)
23 мар 17, 18:21    [20327102]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
dma_caviar
Member

Откуда: http://itproduct.ru
Сообщений: 1941
dma_caviar
Дмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

Только желательно имя ключа генерить в виде PK_ИмяТаблицы
И индексы на CurrencyID, CategoryID и ContractorID так как это внешние ключи.

Но это уже детали)

А индексы IX_ИмяТаблицы_ИмяСтолбца
23 мар 17, 18:22    [20327104]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
Vladimir Baskakov
1) Для новых разработок.- сомнительная выгода - структуры данных рождаются синхронно и взаимозависимо с алгоритмами, при уточнении требований - чистый ==водопад== - когда сначала появилась вся до последней запятой постановка, и потом по ней ничего не меняя пишут код - редкость.

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

3) Переноса (выноса из существующей системы) части функционала в другую (заново разрабатываемую) систему.
логическая и смысловая и техническая изоляцие фрагмента - это труд, по сравнению с которым генерирование кода CRUD не так сильно портит нервы

4) Разработки внешних интеграционных интерфейсов.
Вот всякий ETL - это да, но тут хорошо бы как раз получать метаописание с живых данных - а так, руками нагенерять иксэмэльное или json - описание чтобы по нему система сгенерировала таблички - не очень интересно.

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


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

Но то, чем я занимаюсь - мне интересно с точки зрения выявления наиболее сходных и общих правил проектирования и программирования информационных систем.
В некотором смысле - шаг в понимании, каким должно быть мета программирование.

Ведь каждому, кто программировал, легко заметить, что по-сути одни и те же структуры данных (философски - одно и то же содержание) в разных элементах ИС повторяются/проявляются в различных формах.
Здесь под элементами ИС я имею ввиду: БД, экранные формы, отчетные формы, формы фильтров, интерфейсы и API, описание/документация/хэлпы, разнообразные форматы экспорта/импорта.
Вот бы описав один раз сущность, иметь возможность автоматически трансформировать ее для использования в упомянутых элементах ИС.

А если принять во внимание, что:

ЧИСЛО_ВОЗМОЖНЫХ_ВАРИАНТОВ_РЕАЛИЗАЦИИ_ИС = варианты_СУБД X варианты_клиентских_технологий_и_ЯП X 
варианты_серверных_технологий_и_ЯП X разнообразные_фреймворки X разнообразные_стандарты_и_форматы_данных X
различные_форматы_документации и т.д.


Интересная задача получается, особенно, если учесть, что каждая из категорий постоянно пополняется и мода меняется со временем.
23 мар 17, 18:53    [20327199]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
alex55555
Vladimir Baskakov
Не хватает какой-то изюмины

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

Дмитрий Концепт

Вам специально повторю - забейте на генераторы и займитесь ИИ. Вот начали что-то там про естественные тексты - туда и копайте, раз интересно. И все авторы подобного вашему кода в конце концов именно в ИИ упираются, точнее в неумение его реализовать. Но процесс идёт, умение тренируется и лет через 10-20-30 кто-то обязательно сумеет. Ну и тогда всех нас выставят на продажу в игру "Сафари" в качестве, естественно, мишени. Хотя у всех Дмиртиев Концептов на этом пути есть альтернатива - подумайте о будущем и возможно вашему стремлению к идеалу не понравится всё то безобразие, которое вы увидите в своих мыслях. И тогда ковыряйте своё творение с простым прицелом - что бы избежать "Сафари". Хотя бы так, гении вы этакие, по дороге к аду идущие.


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

От задачи генерации программного кода отказаться пока не могу.
Мне хочется разобраться в природе формирования и трансформации информационных объектов.
WEB сервис генерации программного кода,
которым я сейчас занимаюсь, это лишь экспериментальная установка (или полигон) для этой цели.
23 мар 17, 19:12    [20327238]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
dma_caviar
dma_caviar
Дмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

Только желательно имя ключа генерить в виде PK_ИмяТаблицы
И индексы на CurrencyID, CategoryID и ContractorID так как это внешние ключи.

Но это уже детали)

А индексы IX_ИмяТаблицы_ИмяСтолбца


Сделаю.

dma_caviar,
Если не секрет, откуда Вы свое замечательное описание таблицы на JSON выгружаете?
Если секрет - я не обижусь :)
23 мар 17, 19:17    [20327253]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
dma_caviar
Member

Откуда: http://itproduct.ru
Сообщений: 1941
Дмитрий Concept
dma_caviar
пропущено...

А индексы IX_ИмяТаблицы_ИмяСтолбца


Сделаю.

dma_caviar,
Если не секрет, откуда Вы свое замечательное описание таблицы на JSON выгружаете?
Если секрет - я не обижусь :)

Из своей платформы. Правда там xml, а json я конвертнул в каком-то онлайн конвертере.
Но если с API все сложится, то сделаем взаимодействие и в json формате.
23 мар 17, 19:22    [20327264]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
dma_caviar
Member

Откуда: http://itproduct.ru
Сообщений: 1941
Дмитрий Concept
Я не верю в то, что ИИ сможет заменить творческую и интеллектуальную работу.

А я верю) Мы же занимаемся творческой и интеллектуальной работой. А чем мы отличаемся от машинного обучения? Механизмами эволюции и генетики. Другой вопрос когда это произойдет. Возможно не скоро. Но как известно прогресс постоянно ускоряется.
23 мар 17, 19:28    [20327278]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Перегонщик перекупки
Member

Откуда:
Сообщений: 2215
что тут курят? что-то тяжелое?
24 мар 17, 08:29    [20328059]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1656
Дмитрий Concept
От задачи генерации программного кода отказаться пока не могу.
Мне хочется разобраться в природе формирования и трансформации информационных объектов.


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

- то есть удобная юзабельная среда вокруг допустим идеи онтологий
https://ru.wikipedia.org/wiki/Онтология_(информатика)


А так, муссировались же идеи, UML .... только системки недешевые были Rational Rose например. ну и не только https://habrahabr.ru/post/46648/
....лет 10 назад. Мода возвращается иногда, если к витку возврата подкатить продукт - может взлететь.....

а так, коллега же тут уже писал, допустим
http://www.vipros.ru/index.php?option=com_content&view=article&id=8&Itemid=2 - можно почитать доки, посмотреть как оно бывает....
что тут курят? что-то тяжелое?

ДААААА!
24 мар 17, 10:05    [20328375]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
dma_caviar
dma_caviar
Дмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

Только желательно имя ключа генерить в виде PK_ИмяТаблицы
И индексы на CurrencyID, CategoryID и ContractorID так как это внешние ключи.

Но это уже детали)

А индексы IX_ИмяТаблицы_ИмяСтолбца


Доработал.
http://gendoc.ru/cgi-bin/gcadapter.htm
Шаблон генерации: SQL

/* Программа: MyProg */
/* Язык: sql */
/* Дата создания: 29.03.2017 */
/* Сгенерировано по шаблонам КОНЦЕПТ, www.gendoc.ru */

/* Создание таблицы */
create table AM_Accounts (
  uid uniqueidentifier DEFAULT NEWID()
  ,Number varchar(50) NOT NULL
  ,Name varchar(200) NOT NULL
  ,BankAccountNumber varchar(20) NULL
  ,BankBIC varchar(20) NULL
  ,CurrencyID int NOT NULL
  ,IsOutBalance int NOT NULL
  ,Deleted int NOT NULL
  ,FullName varchar(251) NOT NULL
  ,CategoryID int NULL
  ,ContractorID int NULL
  ,CONSTRAINT PK_AM_Accounts PRIMARY KEY (uid)
)
CREATE INDEX IX_AM_Accounts_CurrencyID ON AM_Accounts (CurrencyID);
CREATE INDEX IX_AM_Accounts_CategoryID ON AM_Accounts (CategoryID);
CREATE INDEX IX_AM_Accounts_ContractorID ON AM_Accounts (ContractorID);
29 мар 17, 11:20    [20345283]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
dma_caviar
Member

Откуда: http://itproduct.ru
Сообщений: 1941
Дмитрий Concept,

Только
,CategoryID int NULL
,ContractorID int NULL
тоже Guid-ы.

Ну и конечно, важно иметь возможность генерации скрипта изменений. Например указываем json что было и json что стало. А система генерит скрипт на модификацию.
И API, чтобы это дергать из конфигуратора.

А по поводу сайта. Мне кажется есть смысл чтобы каждый вендор (типа нашей платформы) имел свой раздел, чтобы там только его шаблоны отображались.

Кстати в плане монетизации вполне себе сервис получился бы.
3 апр 17, 13:55    [20360772]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
dma_caviar
Дмитрий Concept,

Только
,CategoryID int NULL
,ContractorID int NULL
тоже Guid-ы.

Сделал пока так:
,CategoryID varchar(50) NULL
,ContractorID varchar(50) NULL

Если нужно поправить тип и длину поля - напишите, как именно.

dma_caviar
Ну и конечно, важно иметь возможность генерации скрипта изменений. Например указываем json что было и json что стало. А система генерит скрипт на модификацию.

Ага, понял: "json что было и json что стало", сравниваю их и нахожу новые поля,
затем генерю ALTER TABLE для новых полей.
На следующей неделе сделаю.

dma_caviar
И API, чтобы это дергать из конфигуратора.

Будет API.
Как только закончу отладку основного кода генерации.
Будет отдельный URL, на него можно будет отправить HTTP POST, а в теле запроса описание таблиц "json что было и json что стало", в ответ вернет сгенерированный SQL код.

dma_caviar
А по поводу сайта. Мне кажется есть смысл чтобы каждый вендор (типа нашей платформы) имел свой раздел, чтобы там только его шаблоны отображались.

Хорошая мысль. Но это тема для будущего развития.
Пока в приоритете доработка кода для ввода описаний таблиц (сущностей) в различных форматах и "наращивания мяса" в части генерации исходного программного кода для различных приложений/систем/платформ/языков программирования.

dma_caviar
Кстати в плане монетизации вполне себе сервис получился бы.

Пока не думаю об этом.
7 апр 17, 10:10    [20376245]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
dma_caviar
Member

Откуда: http://itproduct.ru
Сообщений: 1941
Дмитрий Concept
Сделал пока так:
,CategoryID varchar(50) NULL
,ContractorID varchar(50) NULL

Если нужно поправить тип и длину поля - напишите, как именно.

Просто у нас тип "MetadataForeignKeyColumn" это uniqueidentifier
7 апр 17, 11:25    [20376680]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
dma_caviar
Дмитрий Concept
Сделал пока так:
,CategoryID varchar(50) NULL
,ContractorID varchar(50) NULL

Если нужно поправить тип и длину поля - напишите, как именно.

Просто у нас тип "MetadataForeignKeyColumn" это uniqueidentifier


Это я понял.
Но мне что в CREATE TABLE для внешних ключей таблицы, ссылающихся на GUID, писать?
Из документации MS SQL я не понял.
Сомневаюсь, что запись вида:

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.
7 апр 17, 11:40    [20376785]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
dma_caviar
Member

Откуда: http://itproduct.ru
Сообщений: 1941
Дмитрий Concept
dma_caviar
пропущено...

Просто у нас тип "MetadataForeignKeyColumn" это uniqueidentifier


Это я понял.
Но мне что в CREATE TABLE для внешних ключей таблицы, ссылающихся на GUID, писать?
Из документации MS SQL я не понял.
Сомневаюсь, что запись вида:

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.


А почему некорректна?
7 апр 17, 11:51    [20376838]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
dma_caviar
Дмитрий Concept
пропущено...


Это я понял.
Но мне что в CREATE TABLE для внешних ключей таблицы, ссылающихся на GUID, писать?
Из документации MS SQL я не понял.
Сомневаюсь, что запись вида:

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.


А почему некорректна?


Т.е. сделать так?
7 апр 17, 12:46    [20377171]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
dma_caviar
Member

Откуда: http://itproduct.ru
Сообщений: 1941
Дмитрий Concept,

Ага. Вроде же все ок.
7 апр 17, 12:51    [20377206]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
Сегодня по причине проблем на хостинге
сайт gendoc.ru с 12:00-15:30 (время московское) был недоступен.

Сейчас сервисы генерации исходного программного кода доступны.

Базовая версия генератора:
http://gendoc.ru/cgi-bin/GenCode.htm

Расширенная версия генератора:
http://gendoc.ru/cgi-bin/gcadapter.htm


Также добавлены:
1) описание форматов и примеры исходных данных для генерации;
2) описание реализованных шаблонов генерации и скриншоты с примерами полученных результатов.
7 апр 17, 16:20    [20378418]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Уважаемый автор
Member

Откуда: Питер
Сообщений: 211
Дмитрий Concept,

Добавьте, пожалуйста, генерацию кода на языке SWIFT!
Последняя версия 3.1
Очень жду!

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

вот так вот хочу описать и получить готовый листинг программы на языке Swift, ну крайний случай на Objective-C
8 апр 17, 00:55    [20379887]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
Уважаемый автор
Дмитрий Concept,

Добавьте, пожалуйста, генерацию кода на языке SWIFT!
Последняя версия 3.1
Очень жду!

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

вот так вот хочу описать и получить готовый листинг программы на языке Swift, ну крайний случай на Objective-C


К сожалению у меня нет никакого опыта программирования на яблочных технологиях, в частности на Swift и Objective-C.
Хотя, может быть, самое время начать.

Генератор кода, не может создать любую программу за программиста.
Но можно сгенерить вполне себе рабочий прототип (какркас) указанного Вами приложения.
Т.е. регистрацию пользователей, ведение контактов и обмен простыми сообщениями между пользователями.

Вероятно, данные о пользователях и контактах должны храниться в облаке?
Или в базе данных?
Тогда какую базу данных Вы предпочли бы?

Готов разработать шаблон генерации исходного кода программы под Вашу задачу.
8 апр 17, 11:37    [20380203]     Ответить | Цитировать Сообщить модератору
 Re: WEB сервис генерации программного кода  [new]
Дмитрий Concept
Member

Откуда: Москва
Сообщений: 130
dma_caviar
Дмитрий Concept
пропущено...


Это я понял.
Но мне что в CREATE TABLE для внешних ключей таблицы, ссылающихся на GUID, писать?
Из документации MS SQL я не понял.
Сомневаюсь, что запись вида:

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.


А почему некорректна?


Доделал, еще замечания к полученному коду есть?

/* Создание таблицы */
create table AM_Accounts (
  uid uniqueidentifier DEFAULT NEWID()
  ,Number varchar(50) NOT NULL
  ,Name varchar(200) NOT NULL
  ,BankAccountNumber varchar(20) NULL
  ,BankBIC varchar(20) NULL
  ,CurrencyID uniqueidentifier NOT NULL
  ,IsOutBalance int NOT NULL
  ,Deleted int NOT NULL
  ,FullName varchar(251) NOT NULL
  ,CategoryID uniqueidentifier NULL
  ,ContractorID uniqueidentifier NULL
  ,CONSTRAINT PK_AM_Accounts PRIMARY KEY (uid)
)
CREATE INDEX IX_AM_Accounts_CurrencyID ON AM_Accounts (CurrencyID);
CREATE INDEX IX_AM_Accounts_CategoryID ON AM_Accounts (CategoryID);
CREATE INDEX IX_AM_Accounts_ContractorID ON AM_Accounts (ContractorID);
10 апр 17, 10:33    [20383941]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6   вперед  Ctrl      все
Все форумы / Разработка информационных систем Ответить