Aleksandr
ну а не надо усложнять. вся функциональность должна быть описана в коде, а в бинаре только вызвана
ainu
У меня сложнее чуток. Бинарь и либа это разные проекты.
ainu
Бинарь использует либу и без нее не может, но это разные проекты
Aleksandr
понял
ainu
У каждого своё конечно
ainu
Если вот такой подход с однострочным бинарем, можно сделать как у центрифуги
ainu
https://github.com/centrifugal/centrifugo
Aleksandr
тогда правильнее просто по разным проектам разнести - либа отдельно, бинарь, использующий либу отдельно (не в cmd либы)
ainu
там бинарник главный, но там в main() одна строчка
ainu
не, все правильно у меня. У меня база данных. встаиваемая и несколько реализаций. Так должно быть. Но реализация это не одна строчка.
Aleksandr
я такого же подхода придерживаюсь. но кажется тут бинарь размазан по самой либе (ключи команой строки итд)
ainu
нее, не-не-не
ainu
вот как тут
ainu
https://github.com/boltdb/bolt
ainu
у меня
Aleksandr
не, я про центрифуго
ainu
аа, да
ainu
у них неканонично
ainu
могут себе позволить
Aleksandr
https://github.com/centrifugal/centrifugo/blob/3c27a7f35be21b083288744ce562080fec1efddc/libcentrifugo/centrifugo/main.go#L152
Aleksandr
какая же это либа, если они флаги в ней читают? просто размазанный по коду бинарник
Aleksandr
который трудно отдельно использовтаь (если возможно)
ainu
это сделано чтобы сделать свой бинарник чтобы внего впилить все возможности центрифуги, добавиви свои. все возможности включая флаги
ainu
там своя атмосфера
Aleksandr
типа такого:
func main() {
flagDebug := flag.Bool("debug", false, "")
flagLeft := flag.String("left", "", "")
flagRight := flag.String("right", "", "")
flagDatabasePath := flag.String("databasePath", "", "")
flag.Parse()
options = &bitbot.Options{
Debug: *flagDebug,
Left: *flagLeft,
Right: *flagRight,
DatabasePath: *flagDatabasePath,
}
log.Printf("Bot version: %s", version)
db, err := bitbot.GetDb(options.DatabasePath)
if err != nil {
log.Fatalf("Database error: %s", err)
}
dbConnection = db
bot := bitbot.NewBot(apiKey, apiSecret)
bot.Run()
}
Zloy-Dobry
Форматнул б ну
Aleksandr
а что не так?
Zloy-Dobry
Читать больно))
Aleksandr
https://i.imgur.com/1McTSoh.png
Zloy-Dobry
так имхо удобней
Aleksandr
у меня ок. не знаю как еще можно сделать
Aleksandr
Zloy-Dobry
Чот у меня тележа походу стала формат отображать не так как раньше
Zloy-Dobry
Сорчн, дядь.
Slach
Alexey
<зануда>есть же Go Playground</зануда>
hypnopumpia
Компилирую под виндовс сервис с Сишной библиотекой, build не может найти pkg-config, хотя я добавил в path MinGW\bin, где лежит бинарник.
ЧЯДНТ?
Morran
hypnopumpia
Перезапустил машину, та же ошибка.
build еще странно себя ведет: при первом запуске виснет, когда силой выключаю - получаю ошибку о pkg-config, при следующих запусках ошибку выводит сразу
Axm
hypnopumpia
Cпасибо за наводку, по старой памяти вписал все в одну строку через ;
Сейчас разнес и нашлось
Эмин
Ох уж эта винда
Эмин
:)
Ilya
если нужно написать SPA который бы имел хороший желательно авто-документированный API, ORM.. в общем знаю, что многие не рекомендуют, но какой-то аналог rails для golang? судя по всему, выбирать приходится между revel, iris, beego. в Iris смущает что там какой-то не совсем адекватный автор и нет коммунити, в beego коммунити есть но большинство китайцы, остаётся revel?
Мерль
Nikita
Nafania
Iris же продался кому-то и не развивается
Ilya
ну я вот зашёл в их официальный чат, там 2(!) человека онлайн и один из них - я 🙂 поэтому iris вроде как отпадает
Nafania
Го про другое да, на го апи сделать можно, но про фронт лучше забыть
Nikita
В го как и в рельсах есть сервер-сайд шаблонизатор, только это прошлый век
Nikita
Кто-то до сих пор для этого пхп пользует, хе-хе
Мерль
Buffalo – Rapid Web Development in Go
https://gobuffalo.io/
Ilya
тут есть такая статья... сильно холиварная и, судя по всему, автор влюблён в iris, но буффало там вроде как самая нефункциональная https://blog.usejournal.com/top-6-web-frameworks-for-go-as-of-2017-23270e059c4b
хотя, может действительно проще пойти другим путём и использовать что-то вроде gorillatoolkit.org
Mikhail
https://gist.github.com/anonymous/364ad4373c9fbf368c2f4ad4fff5c9f1
Mikhail
https://gist.github.com/anonymous/03fdd3ddbcff9d481acfd045ea86a698
Aliaksandr
может ли следующая функция вернуть отрицательное значение?
func Abs(n int) int {
if n < 0 {
return -n
}
return n
}
Anonymous
никак нет
Anonymous
если входное < 0 то -входное -> - и - +
если больше то само число
Anonymous
есть в принципе 1 кейс
https://play.golang.org/p/BwuNX7Whh7t
Chebyrash
Mikhail
Ilya
в чём печаль-то? переполнять переменные - зло в любом языке https://play.golang.org/p/jTaXXCSerfK
Anonymous
Slach
всем привет
а можно еще тупой вопрос
вот когда мы делаем go get
как она понимает какие файлы надо компилить в бинарники и в какие бинарники в $GOPATH/bin/? через наличие package main ?
а имя бинарника откуда берется? из имени каталога?
Anonymous
Nikita
Nikita
Но это не связано с командой go get
Slach
Axm
Может кто знает, есть ли готовые решения для релогина http-клиента при протухшей куке? Неохота писать все с нуля, но ничего не гуглится.
Anonymous
Коллеги, привет. Так-как ни одного нормального ресурса с удобными поиском и большой базой IT-событий (хакатонов, конференций, вебинаров) не нашли, решили сделать свой агрегатор. Кто готов - потратьте, пожалуйста, минуту на наш Google-опросник https://docs.google.com/forms/d/e/1FAIpQLSeF62yKGrK_dA9s06MXASrGZMof2pVPsI_cBXCvKk-6BBA4-A/viewform
Chebyrash
Roman
а кастинг из interface в структуру сильно дорого?
Vladimir
(сарказм)
Заур
Timepad
Roman