Necrosfodel: различия между версиями
(→Goals) |
(→Site from scratch) |
||
Строка 14: | Строка 14: | ||
== [[Site from scratch]] == | == [[Site from scratch]] == | ||
[http://chispa1707.livejournal.com/2074474.html?thread=22034282#t22034282 Я тут покумекал вчера над тем, как надо писать сайт, и пришел к выводу, что [[Django]] на python не подойдет. Вернее, подойдет, но это будет просто поиск по базе с фильтрами. А это уныло, неинтересно и никого не привлечет. Меня в прошлый раз заинтересовала именно идея поиска дубликатов. Когда машина делает это за пользователя. А это на python слишком долго. Вот я и подумал написать сайт на [[Go]]Lang (компилируемый, мультипоточный, для веб, MVC, сравнительно простой)] | [http://chispa1707.livejournal.com/2074474.html?thread=22034282#t22034282 Я тут покумекал вчера над тем, как надо писать сайт, и пришел к выводу, что [[Django]] на python не подойдет. Вернее, подойдет, но это будет просто поиск по базе с фильтрами. А это уныло, неинтересно и никого не привлечет. Меня в прошлый раз заинтересовала именно идея поиска дубликатов. Когда машина делает это за пользователя. А это на python слишком долго. Вот я и подумал написать сайт на [[Go]]Lang (компилируемый, мультипоточный, для веб, MVC, сравнительно простой)] | ||
+ | |||
+ | [http://necrosfodel.livejournal.com/5930.html добавляется запись в специальную таблицу параметров... в которой указаны все имеющиеся на сервере файлы и их особенности... для того, чтобы пользователь мог выбирать, с какой таблицей работать, и иметь версии таблиц. В общем виде все это выглядит как-то так: много таблиц в одной БД и одна таблица, в которой содержатся данные о всех файлах/таблицах: Также в таблицу параметров будут добавляться данные о соответствии полей таблиц именам, по которым будут осуществляться обращения к БД при расчетах. Это нас приводит к необходимости реализации relationships.] | ||
[http://necrosfodel.livejournal.com/6632.html Для загрузки данных из БД Была использована другая ORM – sqlx... Всего в процессе перевода данных от таблицы xlsx до отображения в браузере используется 4 запроса:] | [http://necrosfodel.livejournal.com/6632.html Для загрузки данных из БД Была использована другая ORM – sqlx... Всего в процессе перевода данных от таблицы xlsx до отображения в браузере используется 4 запроса:] |
Версия 12:42, 16 августа 2016
http://necrosfodel.livejournal.com/
Содержание
Biography[править]
Goals[править]
Мне интересен семантический анализ описания событий, интеллектуальный поиск дубликатов событий
Public database[править]
Я бы написал такой сайт на Django. Этот фреймворк как раз был написан сотрудниками газеты в расчете на большое количество данных (публикаций). Возможность писать собственные модели, связанные с БД - как раз то, что нужно в вашем случае. А пару лет назад и Django CMS стала бесплатной.
Site from scratch[править]
Я тут покумекал вчера над тем, как надо писать сайт, и пришел к выводу, что Django на python не подойдет. Вернее, подойдет, но это будет просто поиск по базе с фильтрами. А это уныло, неинтересно и никого не привлечет. Меня в прошлый раз заинтересовала именно идея поиска дубликатов. Когда машина делает это за пользователя. А это на python слишком долго. Вот я и подумал написать сайт на GoLang (компилируемый, мультипоточный, для веб, MVC, сравнительно простой)
- Запрос загрузки файла с использованием jquery.fileupload и coquelicot;
- Запрос на конвертирование файла в SQL с использованием gorm;
- Запрос на получение заголовков с использованием gorm;
- Запрос на получение данных из таблицы SQL c использованием sqlx и DataTables.
Я решил отталкиваться от того, что у каждого своя структура базы, и поэтому не имеет смысла делать статическую структуру, к которой все обязаны будут приводить свои базы как собаку к ноге. У меня просто будут некоторые требования к виду полей. То есть, несколько пожираемых типов дат, например YYYY-MM-DD 000:00:00 или YYYY\MM UTC, несколько типов данных для поля, например int или float - без разницы, несколько типов разделителей для join-данных (: ; ::) и т.д. Просто при загрузке базы на сервер создается промежуточная таблица, в которой будет прописано соответствие заголовков, вот и все, называй свои колонки как хочешь. Человек после загрузки тянет заголовки своей таблицы в таблицу соответствий. В блоге у меня все это есть. Все операции с базой проходят через эту таблицу. Скоростью приходится жертвовать ради универсальности, но это всего лишь одна лишняя операция! А на кириллицу мне пофиг. Все современные языки прекрасно работают на юникоде. Go прекрасно все понимает. Python3 все понимает. Только php ничего не понимает и спотыкается, потому что это прошлый век.