
Slava
25.12.2017
23:06:29
я вижу разницу между net/http, на котором на коленке можно реализовать базовую бизнес-логику плагинами, и здоровенной либой, реализующей какой-то навязанный стандарт и от которой польза для бизнес-логики довольно сомнительная
я не следил за всей вашей дискуссией, я может не в тему совсем, но мне ваш пост немного напоминает ситуацию которую я уже наблюдал:
все рассказывают "net/http хватит всем", потом тащат к себе в апишку половину gorilla и еще парочку-другую утилит каких-нибудь, testify какой, то есть получается такой себе handmade framework все равно, но все потом довольно урчат, что им стдлибы хватает :)
возможно я не прав и мне просто не везло с апишками которые я видел. в целом же я не совсем против такого подхода, скорее наоборот это лучше чем если бы все сами велосипедили. но немного пахнет лицемерием.
готов выслушать почему я мудак и вообще не прав.

Nikolay
25.12.2017
23:06:44

Dmitriy
25.12.2017
23:06:52

Google

Nikolay
25.12.2017
23:07:10

Dmitriy
25.12.2017
23:07:32

Mike
25.12.2017
23:07:33

Dmitriy
25.12.2017
23:07:39
Да и сентри тоже

Mike
25.12.2017
23:08:24

Nick
25.12.2017
23:08:39


Nikolay
25.12.2017
23:08:44
я не следил за всей вашей дискуссией, я может не в тему совсем, но мне ваш пост немного напоминает ситуацию которую я уже наблюдал:
все рассказывают "net/http хватит всем", потом тащат к себе в апишку половину gorilla и еще парочку-другую утилит каких-нибудь, testify какой, то есть получается такой себе handmade framework все равно, но все потом довольно урчат, что им стдлибы хватает :)
возможно я не прав и мне просто не везло с апишками которые я видел. в целом же я не совсем против такого подхода, скорее наоборот это лучше чем если бы все сами велосипедили. но немного пахнет лицемерием.
готов выслушать почему я мудак и вообще не прав.
я нигде не говорил, что net/http всем хватит обязательно, и я полностью с тобой согласен :) мой пойнт был в том, что я не вижу смысла променивать готовый фреймворк, в котором большинство бизнес-задач решено уже либами, на дополнительную прослойку с навязанным стандартом и дополнительными сложностями

Dmitriy
25.12.2017
23:08:54

Nikolay
25.12.2017
23:08:59

Mike
25.12.2017
23:09:44

Nikolay
25.12.2017
23:10:16
соап - легаси, да, но его до сих пор используют

Google

Mike
25.12.2017
23:10:45
перечитал. И?
Я тебе говорю что биллинг билайна легаси — по этому там и соап

Nikolay
25.12.2017
23:11:12
и даже необязательно в легаси-проектах

Mike
25.12.2017
23:11:38
Потому что в энтерпрайзе много легаси и разработчиков перешедших с поддержки легаси?

Nikolay
25.12.2017
23:12:06
я с этим и не спорил
а в чем тезис?

Mike
25.12.2017
23:12:15
Проблема уровня "зачем до сих пор пишут на Си, когда есть C++"
а в чем тезис?
Забей, мы друг друга дважды не поняли за последние 10 минут

Nikolay
25.12.2017
23:12:38
поэтому и началось

Mike
25.12.2017
23:13:08
Ну я не отрицаю что рест нужен.
Но если есть возможность, почему бы не попробовать GraphQL?

Nikolay
25.12.2017
23:13:39
я не говорю, что он в принципе не нужен

Nick
25.12.2017
23:13:54

Nikolay
25.12.2017
23:14:16
но я не вижу его никак заменой реста и не вижу его применимость за крайне узкой областью

Nick
25.12.2017
23:14:29
Я лишь спросил, почему он не нужен и привел кейс когда он вполне себе ок

Nikolay
25.12.2017
23:15:15

Nick
25.12.2017
23:15:26
ну ты и Толстой

Google

Nikolay
25.12.2017
23:15:33
REST - прошлое
json-rpc v2.0 хотя бы уж

Nick
25.12.2017
23:16:32
@mersinvald скок хелоу ворлд весит кстати?)

Mike
25.12.2017
23:17:10
А часто ты деплоишь хелловорлды?)
Тут уж было бы правильнее сравнивать вес рестапи реализации с базой

Nick
25.12.2017
23:17:58

Nikolay
25.12.2017
23:18:35
а то абстрактная либа в вакууме - как-то неинтересно

Mike
25.12.2017
23:19:14

Nick
25.12.2017
23:19:16
я тебе скидывал ссылку, замени data класс на базу и радуйся

Mike
25.12.2017
23:19:24

Mike
25.12.2017
23:19:49
На других осях в зависимости от реализации бектрейса может быть иначе

Nick
25.12.2017
23:20:22

Mike
25.12.2017
23:27:22
--release

Nick
25.12.2017
23:27:57
в 2 раза меньше хаскеля)

Mike
25.12.2017
23:29:12
Минус рантайм)

Nick
25.12.2017
23:29:59
Ну да

Alexander
26.12.2017
01:00:47

?
26.12.2017
04:19:46
https://medium.com/kokster/writing-a-jit-compiler-in-golang-964b61295f

Google

Эмин
26.12.2017
05:06:00
ребят, GORM должен сам создавать fk?

Demuz
26.12.2017
05:19:06
У вас у списка файлов зависимость от топика?

Эмин
26.12.2017
05:19:40
да, File.TopicID
у топика может быть множество файлов

Demuz
26.12.2017
05:21:13
fk только при необходимости создается. Если зависимость именно такая останется, как у вас сейчас, то больше не обязательно ничего указывать.

Эмин
26.12.2017
05:21:56
не совсем понимаю что значит при необходимости
внешний ключ и есть внешний ключ

Demuz
26.12.2017
05:24:01
Ну не везде же делается внешний ключ. В Горм можно только указать, если внешний ключ является по имени каким-то другим по моему.

Admin
ERROR: S client not available

Эмин
26.12.2017
05:24:11
Удалось решить добавлением TopicID uint sql:"type:integer REFERENCES topics(id)"
что не совсем прозрачно описано в документации ?

Demuz
26.12.2017
05:25:26
Прозрачно. Там написано, что зависимость, это имя структуры + ID.
У вас так и получилось. Что вы имя структуры описали Topic + ID.

Эмин
26.12.2017
05:26:34
да но по факту в базе не был создан внешний ключ, вот я о чем

Demuz
26.12.2017
05:28:17

Эмин
26.12.2017
05:28:55
ну т.е. сама ORM не предполагает создание самих внешний ключей
значит в этом предположении я ошибся

Demuz
26.12.2017
05:29:20
Создание, нет. Я вручную создаю в базе и то, только для удаления по каскаду.
Честно говоря я вобще не понял для чего нужен внешний ключ в самой базе, кроме как для удаления, либо обновления по каскаду. ?

Google

some_random_anonymous
26.12.2017
05:30:43
Чтобы не было orphaned данных нигде.

Demuz
26.12.2017
05:31:34
Все равно не понял. По русски можете сказать?
По-моему справа от TopicID ещё пишется что-то вроде gorm:index

some_random_anonymous
26.12.2017
05:34:07
Когда например БД позволяет вставить строчку, где related запись несуществует. Или удалить related запись, на которую ссылаются из другой таблички.

Demuz
26.12.2017
05:35:11
Ааа, понятно.
Спасибо.
А возможно ли в ассоциативном массиве делать поиск по ключам? Верней, проще говоря, так:
if есть ключ "такой-то"{
Экшен )
}

some_random_anonymous
26.12.2017
06:40:53
if _, ok := your_map[key]; ok {
// ключ есть
}

Эмин
26.12.2017
06:40:56
Второй аргумент

some_random_anonymous
26.12.2017
06:40:59
Это основы Go

Demuz
26.12.2017
06:41:43
Это основы Go
Знаю. Но в голанг бук не было именно про поиск в ассоциативном массиве. Там был пример только со списком.

some_random_anonymous
26.12.2017
06:42:37
Тоже хороший ресурс

Demuz
26.12.2017
06:43:57
Спасибо.
А вобще это хорошая практика? Искать наличие ключа в словаре? Или лучше просто сразу вызвать значение по этому ключу и отловить ошибку?

some_random_anonymous
26.12.2017
06:45:16

Demuz
26.12.2017
06:50:28