Roman
Не обвинение, а предположение. Сообщение выше про базу выставленную наружу
и чего неверного в том, что бд нельзя шарить в публичную сетку?
Roman
То что sql это не база
из того что человек высказал я лишь понял что челоек хочет SQL-бд в сетку расшарить и на клиенте SQL писать...
snip
о боже, давайте завершать этот нонсенс
Боже тут ни причём) нонсенса тоже нет, просто ты при недостаточной компетенции весьма вольно трактуешь чужие слова не до конца понимая их) Но да, завершим это.
Roman
Боже тут ни причём) нонсенса тоже нет, просто ты при недостаточной компетенции весьма вольно трактуешь чужие слова не до конца понимая их) Но да, завершим это.
я попрошу оставаться на уровне темы, а не спускаться на уровень личностей. я человека понял, но он не понял GQL. ещё раз повторюсь, что 2 возможных варианта использования SQL в сервер-клиент коммуникации: 1. SQL как язык API 2. SQL как язык прямого обращения к публичной БД очень плохие варианты. очень. во втором варианте большие проблемы безопасности. а в первом варианте просто нет смысла. query { customer(id: "xyz") { friends(ageRange: 18_to_25) { name employer { name } } } } напишите подобный запрос в SQL... а потом напишите движок, который способен будет этот SQL пропарсить, проверить, валидировать и... разница GQL и SQL станут очевидны
snip
и что я не слышу?
То что речь не про gql
snip
@snipnick это относилось к GQL
Ну так ты мне приводит доводы gql vs sql, а я их не сравнивал, я сделал предположение о твоём понимании что такое sql
Roman
Ну так ты мне приводит доводы gql vs sql, а я их не сравнивал, я сделал предположение о твоём понимании что такое sql
ни на чём не обоснованное предположение, такие высказывания не очень приятны, друг мой.
Daniel
Коллеги, хватит
Daniel
Договориться вы не сможете
Roman
Коллеги, хватит
ну нельзя ставить под вопрос компетентность человека без обоснований, это равносильно унижению, некрасиво и неправильно
kopMuk
Зацепились за слова и понеслось))
Daniel
Хотите продолжать - идите в личку
Roman
это-ж портит атмосферу чата и сообщества, я считаю это недопустимым
Dk
Наверное. С Go 1.11 написано
Dk
Если интересно, https://margo.kuroku.io/b/migrate/?_r=gs
Dk
Надо новый редактор искать, у Sublime вечные проблемы(
Daniel
Vscode
Daniel
Я тож на саблайме сидел
Dk
Vscode
linux?
Yaroslav
linux?
Да, и там тоже работает
Pawel
Если тема пройдет в массы, этим и должно будет все закончится. Как по мне, это самый логичный способ. Ну может не табличку отдавать, а может и табличку, но не одну... Но sql отличный язык для этого.
Sql оч хорош когда он сам по себе. А если надо из сиквеля в бэк или не дай б-г во фронт, начинается херня. Потому что реляционная алгебра отвратительно ложится как на объекты, так и на функции.
.
Есть успешные известные реализации ?
Nathan
кто пробовал запускать go-tdlib ? [ 1][t 1][1537212656.747661829][TdDb.cpp:381][!Td] Destroy bad sqlite db because of: [Error : 0 : Wrong key or database is corrupted] 2018/09/17 19:30:56 NewClient error: 0 disk I/O error
Nathan
чтото не понятное
Pawel
Есть конечно, там же написано на оф сайте. Есть ещё nosql фреймворки, которые прям из фронта лупят в монгу. Что как бы намекает
Andrey
Я когда говорю про SQL, я не говорю про БД, а про интрерфейс. Можно например запрашивать данные из фейсбука посредством SQL запросов, или любые другие, только драйвер нужен, который обработает этот запрос. Любой GQL запрос, при условии что на бэке стоит реляционная БД, будет преобразован к SQL запросу, так что любой возможный запрос GQL будет мапиться в SQL, иначе это не имеет смысла. Я там выше писал, что возможно в "таблица" как ответ будет не самым лучшим вариантом, но никто и не говорил, что SQL должен описывать как именно должны быть представленны данные, а только их набор. Так вот если маппинг в итоге есть GQL -> SQL, логично ожидать, что кто-то не будет заморачиваться с еще одним языком, а прикрутит подмножество SQL. Лично я в этом случае более охотно его использую.
Roman
Я когда говорю про SQL, я не говорю про БД, а про интрерфейс. Можно например запрашивать данные из фейсбука посредством SQL запросов, или любые другие, только драйвер нужен, который обработает этот запрос. Любой GQL запрос, при условии что на бэке стоит реляционная БД, будет преобразован к SQL запросу, так что любой возможный запрос GQL будет мапиться в SQL, иначе это не имеет смысла. Я там выше писал, что возможно в "таблица" как ответ будет не самым лучшим вариантом, но никто и не говорил, что SQL должен описывать как именно должны быть представленны данные, а только их набор. Так вот если маппинг в итоге есть GQL -> SQL, логично ожидать, что кто-то не будет заморачиваться с еще одним языком, а прикрутит подмножество SQL. Лично я в этом случае более охотно его использую.
предлагаю эксперимент query { customer(id: "xyz") { friends(ageRange: 18_to_25) { name employer { name } } } } в SQL и с соответствующим парсером.
Pawel
Да, так надо делать. Прям с фронта - и в общую базу. Make SQL injection great again
Коллега, вы отстали от жизни. В постгресте это всё более или менее решено
Andrey
предлагаю эксперимент query { customer(id: "xyz") { friends(ageRange: 18_to_25) { name employer { name } } } } в SQL и с соответствующим парсером.
Так в этом нет никакой магии, вот эти движки, которые вы обсуждаете и занимаются тем, что парсят этот запрос и преобразуют его к виду SQL
Daniel
Коллега, вы отстали от жизни. В постгресте это всё более или менее решено
Решено это в couchdb. Но чет мало кто готов на ней делат проекты
Roman
Так в этом нет никакой магии, вот эти движки, которые вы обсуждаете и занимаются тем, что парсят этот запрос и преобразуют его к виду SQL
нет, необязательно. У нас ArangoDB (AQL & graph) никакого RDBMS. как только вы напишите SQL запрос похожий на GQL query сверху, вот тогда поговорим
Pawel
Я когда говорю про SQL, я не говорю про БД, а про интрерфейс. Можно например запрашивать данные из фейсбука посредством SQL запросов, или любые другие, только драйвер нужен, который обработает этот запрос. Любой GQL запрос, при условии что на бэке стоит реляционная БД, будет преобразован к SQL запросу, так что любой возможный запрос GQL будет мапиться в SQL, иначе это не имеет смысла. Я там выше писал, что возможно в "таблица" как ответ будет не самым лучшим вариантом, но никто и не говорил, что SQL должен описывать как именно должны быть представленны данные, а только их набор. Так вот если маппинг в итоге есть GQL -> SQL, логично ожидать, что кто-то не будет заморачиваться с еще одним языком, а прикрутит подмножество SQL. Лично я в этом случае более охотно его использую.
Оба решения имеют право на жизнь. От конкретного кейса зависит какое предпочтительней
Nathan
да я пример main.go запускаю
Nathan
нулевая или нет - кто ее знает
Aleksandr
да я пример main.go запускаю
ну база испорченная. может прав нет на файловую систему?
Aleksandr
посмотри
Aleksandr
база создается во время первого запуска
Nathan
./.tdlib/... и тд создаються запускаю в вагранте
Pawel
Решено это в couchdb. Но чет мало кто готов на ней делат проекты
Ну о какой sql инъекции может идти речь, если сервер преобразует рест запросы в sql?
Nathan
-rw-r--r— 1 vagrant vagrant 3072 Sep 17 19:46 db.sqlite -rw-r--r— 1 vagrant vagrant 32768 Sep 17 19:46 db.sqlite-shm -rw-r--r— 1 vagrant vagrant 0 Sep 17 19:46 db.sqlite-wal
Nathan
UseFileDatabase: true, // тут ставим false будет работать
Pawel
они туда и GQL уже завезли?
Нет, но обещают завести
Aleksandr
UseFileDatabase: true, // тут ставим false будет работать
ну копни в эту сторону. удали диру, запусти заново
Nathan
:) первым делом попробовал, не понятно зачем там sqlite если и так вроде состояние сохраняет
Pawel
а как он борется с underfetching'ом?
Не готов ответить, я в данном случае не настоящий сварщик. Знаю лишь что меры принимаются
Roman
Не готов ответить, я в данном случае не настоящий сварщик. Знаю лишь что меры принимаются
учитывая что REST это RPC а RPC решает underfetching только способом добавления специализированных endpoint'ов - звучит не очень.
snip
Ну судя по доке у них есть resource embedding
Roman
честно говоря я очень скептически отношусь к слиянию API и DB если endpoint только читает/записывает в бд то на первый взгляд кажется что зачем нужен API?! но потом если нужно реализовать... какие-то особенности в системе прав, посылку мыла вычисления обратную связь (server-side events) и т.д. и т.п. и всё это в бд? звучит слишком хаотично.
Pawel
учитывая что REST это RPC а RPC решает underfetching только способом добавления специализированных endpoint'ов - звучит не очень.
Как я понял там на каждую вьюху генерятся автоматически ендпойнты соответствующие. Вьюхи докинуть до кучи не проблема. По этому скорее всего решение накидать вьюху на все случаи жизни. Я так думаю
Nathan
после перезагрузки не сохранится состояние
а на новые сообщения есть возможность подписаться?
Cat
хранимые процедуры навека
Pawel
PI sql?
Ну да, на нём логика же
Aleksandr
а на новые сообщения есть возможность подписаться?
да, в ридми пример, если ты о моей либе говоришь
Roman
ох... ну делайте как хотите, но я таки за семантическое разделение хранения и обработки