powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / WEB сервис генерации программного кода
25 сообщений из 151, страница 4 из 7
WEB сервис генерации программного кода
    #39424875
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не обязательно - в R-o-R ИИ не было, а юзабилити было.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39425233
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovне обязательно - в R-o-R ИИ не было, а юзабилити было.
В вашей любимой стрелялке тоже есть какое-то юзабилити. Если вам достаточно такой изюминки, то у вас не должно возникать вопросов к Дмитрию, ибо для кого-то такого рода изюминку в его продукте есть.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39425351
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ээ в ruby on rails можно стрелять? И стрелять тоже? Не, изюм по тем временам когда оно появилось - был. и есть. Вопросов у меня особо нет, потому что к моим задачам продукт не особо пригоден. А кому пригодится, то и хорошо.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426003
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 - думаю, как лучше реализовать.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
/* Программа: 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)
)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426007
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

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

Но это уже детали)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426008
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

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

Но это уже детали)
А индексы IX_ИмяТаблицы_ИмяСтолбца
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426027
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakov 1) Для новых разработок. - сомнительная выгода - структуры данных рождаются синхронно и взаимозависимо с алгоритмами, при уточнении требований - чистый ==водопад== - когда сначала появилась вся до последней запятой постановка, и потом по ней ничего не меняя пишут код - редкость.

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

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

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

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

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

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

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

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

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



Интересная задача получается, особенно, если учесть, что каждая из категорий постоянно пополняется и мода меняется со временем.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426037
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555Vladimir BaskakovНе хватает какой-то изюмины
Изюмину коротко называют ИИ. Ну а длинно - это все технологии, которые могут быть использованы при создании ИИ. Всяческие генерации не решают ничего, поскольку решают давно решённую типовую задачу. А вот интеллекта добавить - сразу всем изюм понравится. И здесь давно уже масса авторов тренировалась. Все они начинали с такой же идеи, что и автор темы. И все закончили на этапе красивого генерения табличек при помощи менюшек. А вот логику приложения все они реализуют только типовую, то есть ими же давно описанную и формализованную, а затем переведённую в код, который генерит новый код.

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

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

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

От задачи генерации программного кода отказаться пока не могу.
Мне хочется разобраться в природе формирования и трансформации информационных объектов.
WEB сервис генерации программного кода,
которым я сейчас занимаюсь, это лишь экспериментальная установка (или полигон) для этой цели.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426040
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviardma_caviarДмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

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

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

Сделаю.

dma_caviar ,
Если не секрет, откуда Вы свое замечательное описание таблицы на JSON выгружаете?
Если секрет - я не обижусь :)
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426042
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Conceptdma_caviarпропущено...

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

Сделаю.

dma_caviar ,
Если не секрет, откуда Вы свое замечательное описание таблицы на JSON выгружаете?
Если секрет - я не обижусь :)
Из своей платформы. Правда там xml, а json я конвертнул в каком-то онлайн конвертере.
Но если с API все сложится, то сделаем взаимодействие и в json формате.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426046
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptЯ не верю в то, что ИИ сможет заменить творческую и интеллектуальную работу.
А я верю) Мы же занимаемся творческой и интеллектуальной работой. А чем мы отличаемся от машинного обучения? Механизмами эволюции и генетики. Другой вопрос когда это произойдет. Возможно не скоро. Но как известно прогресс постоянно ускоряется.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426242
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что тут курят? что-то тяжелое?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39426308
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий 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 - можно почитать доки, посмотреть как оно бывает....
что тут курят? что-то тяжелое?
ДААААА!
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39429045
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviardma_caviarДмитрий Concept,

>> ,CONSTRAINT PK_uid PRIMARY KEY (uid)

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

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

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

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
/* Программа: 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);
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39432009
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

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

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

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

Кстати в плане монетизации вполне себе сервис получился бы.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434578
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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Кстати в плане монетизации вполне себе сервис получился бы.
Пока не думаю об этом.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434658
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ConceptСделал пока так:
,CategoryID varchar(50) NULL
,ContractorID varchar(50) NULL

Если нужно поправить тип и длину поля - напишите, как именно.
Просто у нас тип "MetadataForeignKeyColumn" это uniqueidentifier
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434686
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий ConceptСделал пока так:
,CategoryID varchar(50) NULL
,ContractorID varchar(50) NULL

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

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

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

будет корректна.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434693
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Conceptdma_caviarпропущено...

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

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

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

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

А почему некорректна?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434744
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Conceptпропущено...


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

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

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

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

Т.е. сделать так?
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434751
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

Ага. Вроде же все ок.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39434919
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня по причине проблем на хостинге
сайт gendoc.ru с 12:00-15:30 (время московское) был недоступен.

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

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

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


Также добавлены:
1) описание форматов и примеры исходных данных для генерации;
2) описание реализованных шаблонов генерации и скриншоты с примерами полученных результатов.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39435092
Уважаемый автор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Concept,

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

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

вот так вот хочу описать и получить готовый листинг программы на языке Swift, ну крайний случай на Objective-C
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39435152
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый авторДмитрий Concept,

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

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

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

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

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

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

Готов разработать шаблон генерации исходного кода программы под Вашу задачу.
...
Рейтинг: 0 / 0
WEB сервис генерации программного кода
    #39435675
Дмитрий Concept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarДмитрий Conceptпропущено...


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

,CategoryID uniqueidentifier NULL
,ContractorID uniqueidentifier NULL

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

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

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

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
/* Создание таблицы */
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);
...
Рейтинг: 0 / 0
25 сообщений из 151, страница 4 из 7
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / WEB сервис генерации программного кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]