Pawel
ээ.... она не умеет во флоат! https://play.golang.org/p/6xSwv2CFR2K
Alexander
Fixed point можно, если пары знаков после запятой хватает
Pawel
Это что имеется ввиду?
Alexander
передавать int равный флоату умноженному на 100. При получении обратно делить
Pawel
а, не. Тогда уже проще упаковать флоат в массив байтов. Вообще хотелось бы избежать переписывания исходных структур данных, ибо лень
Pawel
о! это ближе к теме. спсб
Aleksandr
We have just released Go version 1.9.3, a minor point release. This release includes fixes to the compiler, runtime, and the database/sql, math/big, net/http, and net/url packages. View the release notes for more information: https://golang.org/doc/devel/release.html#go1.9.minor
Slava
https://blog.jetbrains.com/go/2018/01/22/welcome-goland-2018-1-eap-better-inspections-completion-performance-and-more/
Slava
крутой релиз
Slach
Народ, объясните как правильно делать теги для yaml ? prog.go:7:53: syntax error: unexpected literal yaml:"anomalies_definition" after top level declaration https://play.golang.org/p/I2YTywherV- почему тут ругается?
Slach
хочу распарсить yaml anomalies_defintion: test_anomaly1: table: test_table1 test_anomaly2: table: test_table1
Roman
что нового в 1.9.3?
Alexey
https://github.com/golang/go/issues?q=milestone%3AGo1.9.3
John
а можно как то у map кроме kv еще и индекс доставать? знаю map не сортированный, но может есть какая-то "особая" конструкция for k,v,index := range map разумеется не работает. кроме как конечно свой счетчик инициализировать
Alexander
и чем плох собственный счетчик?
John
а что такое индекс в мапе?
Ну у мапы есть длина, я хочу интегрировать через ключи и знать какой это ключ по счету, тут определение индекса скорее не очень подходит
John
и чем плох собственный счетчик?
Ничем, просто думал есть что-то builtin
Daniel
Ну у мапы есть длина, я хочу интегрировать через ключи и знать какой это ключ по счету, тут определение индекса скорее не очень подходит
что такое по счету? порядок элементов в мапе может меняться при каждом добавлении/удалении. а в go вообще порядок итерации гарантированно случайный есть штуки вроде http://search.cpan.org/~chorny/Tie-IxHash-1.23/lib/Tie/IxHash.pm, но там параллельно с мапой содержится внутри массив, в котором и поддерживается порядок
Natalya
Привет всем! Подскажите, пожалуйста, возможно ли размещать в чате вакансии (по сабжу, естественно)?
Timur
Для этого есть другой чат
Anonymous
Видел как тутошние админы разрешали постить вакансии тут с указанием какого-то столового прибора (вилки вроде)
Daniel
Привет всем! Подскажите, пожалуйста, возможно ли размещать в чате вакансии (по сабжу, естественно)?
можно, если с вилкой. есть и другой чат, и - самый массовый - канал в слаке
Natalya
спасибо большое за ответы! С вашего позволения закину вакансию с вилкой :) Вдруг кому приглянется ;)
Natalya
#вакансия #санкт_петербург #спб #питер #golang #fulltime #office #финтех #blockchain Город: Санкт-Петербург Метро: Черная речка/Старая деревня Позиция: Senior Go Developer Вилка: от 170к Офис, полный день, гибкое начало рабочего дня Один из партнеров группы компаний i-Free запускает новый международный финансовый сервис на самом горячем рынке блокчейна и ищет в свою команду единомышленников и профессионалов на позицию Senior Go Developer. Обязанности: - Разработка с нуля собственного бэкэнда для Highload проекта; - Интеграция сложных API; - Написание прозрачного и качественного кода; - Активное взаимодействие с бэк-энд и фронт-энд разработкой; - Реализация новых микросервисов; - Написание тестов. Что ждем от кандидата: - Опыт коммерческой разработки на Go (Golang); - Опыт разработки на С/С++ от 2-х лет; - Техническое высшее образование; - Опыт работы с SQL/NoSQL; - Готовность к личной ответственности и фундаментальный подход к решению задач. Мы создаем финансовый инструмент и ожидаем должного уровня ответственности ежесекундно; - Твердые знания алгоритмов и структур данных; - Опыт работы с Agile-практиками и готовность к изменению требований в процессе разработки. Будут значительным плюсом: - Вы - адепт Linux/BSD​; - Ваш опыт разработки высоконагруженных сервисов. Мы готовы предложить вам: - Пространство для реализации ваших собственных идей в новом проекте на глобальном рынке; - Место в уникальной команде с подтвержденными компетенциями в отрасли; - Стабильную и конкурентоспособную заработную плату; - Гибкий график; - Большой и просторный офис в БЦ класса А с панорамным видом на Финский залив; - Кофе/китайские чаи/овощи/фрукты/орехи в офисе; - Оплачиваемые больничные, отпуск 28 календарных дней. Вопросы можно адресовать в личку или на почту natalya.langepas@gmail.com
Anonymous
Блокчейн захватывает мир. Скоро можно будет в вакансиях по умолчанию считать, что будет использоваться блокчейн. ))
Anatoly
Блокчейн захватывает мир. Скоро можно будет в вакансиях по умолчанию считать, что будет использоваться блокчейн. ))
мыльный пузырек, вспомни сколько вакансий было, когда всякие форексы стали расти как грибы после дождя.
Daniel
вообще, CRDT распределенная DBMS вещь перспективная. это если о самом блокчейне говорить. но, конечно, применимость ее сильно поуже, чем сейчас представляется хайпанутым...
Slach
мыльный пузырек, вспомни сколько вакансий было, когда всякие форексы стали расти как грибы после дождя.
и большинство этих форекс кухонь сейчас незаконно действует на територии россии http://www.banki.ru/news/daytheme/?id=10198621
Anonymous
=) да уж вообще сильно поуже
Это не мешает "хайпанутым" васянам создавать криптовалюту своего имени и майнить что ни попадя на холодильниках ))
Anonymous
вообще, CRDT распределенная DBMS вещь перспективная. это если о самом блокчейне говорить. но, конечно, применимость ее сильно поуже, чем сейчас представляется хайпанутым...
Так же как и IPFS, с разницей только, что чистая пиринговая сеть с докером на клиенте и без блекджека и шлюх, кстати полностью открытая и можно уже использовать (играться)
Anonymous
Блекджек добавят, баги исправят - и будет конфетка ))
Anonymous
Не нужен там блэкджек, там все и так прекрасно и уникально. Что бы кто то запилил распределенное хранилище не назвав это криптой и без ICO и пресейла... они там святые!)
Anonymous
Да и без докера отлично работает.
Да, там в основном через unixfs работают
Grisha
Подскажите плиз по dep, готовлю так: 1.) mkdir /var/www/go 2.) cd /var/www/go 3.) export GOPATH=/var/www/go/ 4.) mkdir src 5.) git clone git@bitbucket.org:account/reponame.git 6.) cd reponame 7.) dep ensure 8.) go build -o bin/gorpc gorpc.go copydom/copydom.go:8:2: cannot find package "_/var/www/go/src/reponame/vendor/github.com/PuerkitoBio/goquery" in any of: /usr/lib/go-1.9/src/_/var/www/go/src/reponame/vendor/github.com/PuerkitoBio/goquery (from $GOROOT) ЧЯДНТ? Как правильно деплоить?
Daniel
dep init забыт
Grisha
там есть уже созданные с локали Gopkg.lock и Gopkg.toml
Alexander
Вместо git clone сделай go get git@bitbucket.org:account/reponame.git
Alexander
или после git clone запусти go get ./... в папке проекта
Grisha
Отлично, помогло, спасибо!
Anonymous
Привет! Подскажите, это приемлимый код? Вообще есть какое то соглашение по написанию кода? Или пиши как хочешь, главное качественно? func main() { elapsed := time.Now() flag.Parse() hosts, err := ssh.GenerateHosts(*cidr) if err != nil { log.Fatalf("%v\n", err) } jobs := make(chan string) for i := 1; i <= *threads; i++ { wg.Add(1) go brute(jobs) } for _, host := range hosts { jobs <- host } close(jobs) wg.Wait() ops = atomic.LoadUint64(&ops) fmt.Printf("[INFO] Elapsed: %.2f sec.\n", time.Since(elapsed).Seconds()) fmt.Printf("[INFO] Total hosts: %d\n", ops) }
Daniel
я бы советовал начать с прогона по коду go fmt и gometalint
Anonymous
ну go fmt есть
Anonymous
Это может в телеге так отображается
Anonymous
в ide норм
Anonymous
Отступы в четыре пробела
Daniel
а я не читал код же
ainu
В Go красивый код - это металинт. В Go правильный код - это go fmt
ainu
(есть конечно еще вычислительная сложность, логические ошибки, но это совсем другая история)
Anonymous
ainu
go vet ещё
Anonymous
Я про логику и говорю
Anonymous
Остальное выглядит эстетично
Anonymous
Просто телега так отображает
Anonymous
В IDE по другому
ainu
металинтер не только про отступы
ainu
а почему brute не показан? Может быть там ад и израиль
ainu
Что это вообще?
https://github.com/alecthomas/gometalinter
ainu
go get -u github.com/alecthomas/gometalinter gometalinter --install
Anonymous
а почему brute не показан? Может быть там ад и израиль
Нет) Просто он тут не важен для организации)
Anonymous
Просто привычка что в python есть pep, есть негласные вещи для написания хорошего и понятного кода, а в го как бы я не написал и как бы не реализовывал, всем все понятно и никто не говорит, что например в таком то месте можно было сократить кол-во строк, в таком-то было бы удобней так и так)
Anonymous
А в питоне это нередкость, новички постоянно интересуются как было бы правильней
Anonymous
Непривычно как то, хотя от go балдею ваще)
ainu
По количеству строк в металинтере есть (15 емнип на функцию)
ainu
Вообще, если поставить vs code, он сам подчеркивает где что не так, очень удобно
Anonymous
Ну вот самая большая main, остальные по принципу "разделяй и влавствуй"
Anonymous
Ну у меня и так vs code
Anonymous
Вот у примеру функция сканирования func scan(host string) (net.Conn, error) { c, err := net.DialTimeout("tcp", host+":22", 5*time.Second) if err != nil { return nil, err } return c, nil }