@proGO

Страница 803 из 1674
Andrey
21.08.2017
18:03:11
в одной компании даже на собеседовании спрашивали правильные кейсы использования трай/кетч

Andrey
21.08.2017
18:05:01
в общем го хорош и D хорош, программирование это не про эмоции чей язык лучше, если ты знаешь оба хорошо, а учить только 1 и кидатся во всех остальных какашками что они хуже тебя это фи

Max
21.08.2017
21:41:25
друзья подскажите как установить RegisterDial в gorm?

Google
Max
21.08.2017
21:41:35
нужно подключиться к БД через ssh

Alexey
21.08.2017
21:47:20
друзья подскажите как установить RegisterDial в gorm?
А обычный libpq (или mysql-что-то) так умеет?

Max
21.08.2017
21:47:36
да

mysql.RegisterDial("mysql+tcp", (&ViaSSHDialer{sshcon}).Dial)

Alexey
21.08.2017
21:48:57
Ну, тогда, наверно, можно сделать грязно, открыть обычный коннект в базе, а потом https://godoc.org/github.com/jinzhu/gorm#DB - вот туда, куда указатель указывает, подсунуть этот коннект.

Не туда ссылка, я имел в виду db.DB(), который возвращает указатель на sql.DB

Max
21.08.2017
22:02:48
не понял

Alexey
21.08.2017
22:11:35
не понял
А, да вроде не надо так извращаться. Просто сначала делаешь mysql.RegisterDial("mysql+tcp", (&ViaSSHDialer{sshcon}).Dial) А потом через gorm.Open открываешь как обычно. Вроде всё должно отработать. RegisterDial изменяет глобальную переменную в пакете mysql, и gorm.Open её должен использовать сам. Если ты импортишь тот же пакет mysql там, где gorm.Open дёргается.

Maxim
22.08.2017
00:04:37
https://twitter.com/toby3d/status/899776957050609664

Kirill
22.08.2017
00:10:00


Michael
22.08.2017
05:50:05
А как в го стоит isnert`ить в бд кучу данных (порядка 100к/сек). Просто отправлять через sql.DB bulk insert`ы большими пачками?
начал использовать cockroachdb, вот там прямо говорят, используйте драйввер postgres и примерно 500 строк на каждый insert типа так insert into table values (), () ... () для моих нужд в полне быстро получается если нужны индексы, то их лучше создать после вставки

учёные изобрели что-то быстрее fasthttp?

Google
Michael
22.08.2017
05:53:26
в D синтаксис... хм.. ничем не лучше того же Си кмк посмотрели на питон, посмотрели на Си, что зашло, то и используйте мне вот Си понравился, хотя первые потуги были в турбо васе

Ivan
22.08.2017
08:54:32
Всем привет. Ищу разраба в проект на Go на фриланс. Есть кто свободный? Подробности в ЛС

Kirill
22.08.2017
12:15:00
учёные изобрели что-то быстрее fasthttp?
fasthttprouter, а не сам fasthttp. Пока что

Sergey
22.08.2017
12:15:29
fasthttprouter, а не сам fasthttp. Пока что
их разве не разные люди пишут?

Kirill
22.08.2017
12:16:32
Разные. А кто говорил не так?

Sergey
22.08.2017
12:17:36
не того процитировал, вопрос был к Michael .

Kirill
22.08.2017
12:19:44
не того процитировал, вопрос был к Michael .
Тогда вопрос тем более не понятен

Sergey
22.08.2017
12:20:25
> у меня быстрее чем fasthttprouter < ого, стало быстрее чем fasthttp? тут вопрос "это ж разные продукты, их пишут разные люди".

Kirill
22.08.2017
12:22:47
Дык и fasthttp знаю, как обогнать. Но это позже.

Michael
22.08.2017
12:23:35
Kirill
22.08.2017
12:27:59
скоро релиз новой версии?
Допилю роутер, вкручу его по дефолту, проверю удобство модульности роут матчера, допишу немного тестов, запилю хендлер для автоматической загрузки файлов куда надо, а там релиз. Следующий релиз с темплейтовым движком и SSR.

Roadmap достаточно понятен на ближайшие недели две-три

Dmitri
22.08.2017
13:15:25
Подскажите, если я делаю http.Get и приходит connection reset by peer будет ли response nil? response.body?

Просто апп падает на defer resp.Body.Close() status=2/INVALIDARGUMENT

Roman
22.08.2017
13:42:52
Коллеги, вопрос не совсем про go, но язык все же может вносить свои коррективы Надо реализовать таблицу переходов. Простой пример: Если надо поменять покнфигурацию машины, то её надо остановить (если запущена), внести правки, пересоздать, запустить Если машина остановлена, а должна быть запущена, надо пересоздать и надо запустить Если машина была создана, надо её просто запустить (при этом по внешним признакам она не отличается от описанной строкой выше) Таким образом следующее действие зависит не только от текущего состояния, но и от предыдущих действий Можно, конечно, понаписать функций по числу сценариев, но хочется красиво. Есть идеи как реализовывать?

Igor
22.08.2017
13:46:28
Конечный автомат \ state machine

Daniel
22.08.2017
13:47:03
что - state machine?

у нас что, есть средства удобные их описания?

Igor
22.08.2017
13:47:51
Описать можно хоть в yml

Мерлин
22.08.2017
13:58:17
у нас что, есть средства удобные их описания?
Есть пара библиотек, внутри которых что-то типа DSL, потом я видел что-то типа сваггера, но для FSM

Google
Мерлин
22.08.2017
14:01:49
А, жаль, тот кодогенератор только для C и Cpp Ragel, если кому интересно

Roman
22.08.2017
14:03:42
если я правильно монимаю, у конечного автомата структура описания простая |текущий стейт|экшн|следующий стейт| в моем случае ситуация немного сложнее

Мерлин
22.08.2017
14:05:59
если я правильно монимаю, у конечного автомата структура описания простая |текущий стейт|экшн|следующий стейт| в моем случае ситуация немного сложнее
Операции над машиной независимы? То есть, там есть операции, которые зависят больше, чем от одного условия?

Roman
22.08.2017
14:07:28
Есть операции, которые зависят не только от состояния, но и от истории операций

А на сколько глубоко надо хранить историю состояний?
В рамках решения задачи Т.е. пришёл запрос на правки -- обработали, забыли

Я ломаю голову над форматом запросов

Наверное основная проблема в том, что если машина залепленная и остановлена, то в одном случае надо её запускать, а в другом сперва передеплоивать

Daniel
22.08.2017
14:34:28
Матрица состояний, матрица переходов, перемножение дает последовательность действий?

LexsZero
22.08.2017
14:39:40
СВИТЧ-ТЕХНОЛОГИЯ

Roman
22.08.2017
14:40:24
Наверное надо состояния считать как комбинацию текущего состояния и истории Тогда мап мапов мапов должен подойти

Daniel
22.08.2017
14:56:38
Как это верифицировать, интересно?

Roman
22.08.2017
14:57:11
В смысле тесты как написать?

Daniel
22.08.2017
15:01:35
Ага

Roman
22.08.2017
16:55:35
тестовая таблица переходов, больше никак

Subbotin
22.08.2017
16:58:19
Ну грубо говоря физически машина может быть или остановлена или запущена. А в логике приложения она может быть запущена, остановлена автором, создана, но ещё ни разу не запущена

Roman
22.08.2017
17:00:01
я думаю можно обойтись правильными стейтами например: остановлена изначально => передеплой остановлена в результате создания => старт остановлена после правок => передеплой (в интерфейсе реально разные кнопки)

Subbotin
22.08.2017
17:01:47
Один стейт превращается в два разных с разными правилами перехода. А завязываться на предыдущий стэйт это дорога в ад

Roman
22.08.2017
17:02:28
вот я же и написал выше как раз про разные стейты

Google
Roman
22.08.2017
17:13:42
кстати, в го можно такой вложенный мап задать как константу?

Subbotin
22.08.2017
17:19:29
Константы не изменяемые

Мапы изменяемы

Roman
22.08.2017
17:19:50
так и не надо менять

Admin
ERROR: S client not available

Roman
22.08.2017
17:20:35
впрочем задать переменной тоже годится, но за передалми main/init

Subbotin
22.08.2017
17:20:39
Ну в го нет иммутабельных мап

Ну вот var можно

Roman
22.08.2017
17:22:14
как создать пустой мап в var понятно (через make), а вот можно ли его сразу заполнить?

Subbotin
22.08.2017
17:24:32
Ну для слайсов есть синтаксис []int{1,2,3}

Емнип для мап тоже

LexsZero
22.08.2017
17:24:53
ээ, а в чем проблема?

var foo = map[string]string{ "aa": "sdgfsg", "bb": "oiuoiuo", }

Alex
22.08.2017
17:25:02
ээ, а в чем проблема?
Тоже не понимаю :)

Roman
22.08.2017
17:27:32
и правда работает, что-то в ночи вчера не получалось, спать надо больше =) всем спасибо

Daniel
22.08.2017
17:29:31
Это не константа, правда

Просто литерал

Roman
22.08.2017
17:30:08
некому её переопределять в любом случае

Kirill
22.08.2017
17:30:38
кстати, в го можно такой вложенный мап задать как константу?
мапы, как и всё остальное, можно сделать read only

syscall.Mprotect, как никак, есть

Google
Daniel
22.08.2017
17:36:06
Alex
22.08.2017
17:36:52
Что ты имеешь в виду?
Тоже задумался

Kirill
22.08.2017
17:39:35
Что ты имеешь в виду?
ну - я так понял, @hryamzik говорил о том, чтобы запретить изменение конкретной мапы налету. это можно сделать, разрешив только чтение определённого участка памяти, так как константные мапы есть только в golang/go/issues как proposal.

Nikolay
22.08.2017
17:50:33
Michael
22.08.2017
18:26:37
о боги и под виндовз https://golang.org/pkg/syscall/#Mprotect

Roman
22.08.2017
18:28:35
а как сложить ссылку на функцию структуры в мап? var mapping = map[string]func(){ "simple function": test, "struct function": (t *T)test, } первое работает, второе нет

Nikolay
22.08.2017
18:33:52
о боги и под виндовз https://golang.org/pkg/syscall/#Mprotect
я уже загуглил, там надо пилить обёртку над kernel32.dll и VirtualProtect, godoc если что показывает доку под GOOS и GOARCH, поэтому я сомневаюсь, что на винде он показывает syscall.Mprotect

Roman
22.08.2017
18:40:37
t.test
нет, но таки решаемо, а вот как теперь её выполнить – вопрос https://play.golang.org/p/nh-2q-27Pi

Daniel
22.08.2017
18:48:32
замыканием https://play.golang.org/p/OPp--7dDab

если тебе надо проинитить t при загрузке пекеджа - вспомни про init()

Sergey
22.08.2017
18:50:30
Есть какие нить хорошие статьи по кодогерации?

Nikolay
22.08.2017
18:54:53
Есть какие нить хорошие статьи по кодогерации?
Есть туториал по stringer, остальное в принципе аналогичным способом делается + директивы в начале go файлов.

Sergey
22.08.2017
18:55:15
Спасибо пойду гуглить

Страница 803 из 1674