Мерль
ДОМЕН?
ну, условно вообще просто путь у обрезанным $GOPATH/src
Anonymous
типа
Cat
там есть го-файлы
Cat
просто они не в корне проекта
Anonymous
просто проектик
Anonymous
или обязательно с гитом связывать?
Anonymous
а
Anonymous
всё
Anonymous
я типа понял
Anonymous
спасибо
Daniel
аналог go get github.com/blah/foo/...
в import будет все равно конкретный пакет, в котором go файлы будут. а качнет dep при этом всю репу, конечно
Мерль
мне нужно сделать вандоринг внешних зависимостей, которые не указаны в main.go
1. убери прунинг невостребованных пакетов в нужной тебе зависимости 2. добавь импорт в любом месте своего проекта https://golang.github.io/dep/docs/Gopkg.toml.html
Мерль
https://golang.github.io/dep/docs/Gopkg.toml.html#prune
Мерль
https://golang.github.io/dep/docs/Gopkg.toml.html#prune
[prune] non-go = true unused-packages = true [[prune.project]] name = "НУЖНыЙ/ТЕБЕ/ПАКЕТ" go-tests = true unused-packages = false
𝓢𝓮𝓻𝓰𝓮𝔂
А с помощью go mod можно обновлять зависимости? Например, обновилась либа, как ее можно заапдейтить? или только путем редактирования go.mod?
Wingman
Подскажите плз способ сплитнуть регекспом текст так, чтобы сохранить и сам разделитель :)
𝓢𝓮𝓻𝓰𝓮𝔂
Wingman
С условием, что там мультилайн, и нет лукэхеда :(
Мерль
вот модули нам будут впиливать довольно жестко, да
и я считаю что это надо было сделать давно, в самом начале, ещё до того, как это как все привыкли теперь всем будет больно, и поделом
Wingman
https://play.golang.org/p/4IarJpO85Hz
Wingman
смотри, мне надо сматчить ("abc", sdf\nsdfsdf\nsdfsdf"), ("bcd"',"sdfgre1k...") и т.д.
Wingman
а при мультилайне и отсутствии лукахеда матчится всё до конца (
Aleksandr
но почему это не сделать перебором? зачем сразу регулярка?
Wingman
потому что там один хрен нужны будут регулярки (выдирать значения), и не хочется городить огород со сплитом строк, перебором, обьединением обратно - а в pcre это делается элементарно )
Wingman
собсно, и сплит-то не нужен бы был, если бы был лукахед (edit: упс, тут в примере не сплит, это я уже заэкспериментировался)
Anonymous
всем привет подскажите по тестам у меня сервис запускается через cobra cmd.Execute -> main.go Execute() { ... } как в тестах объявить инстанс нового приложения для теста?
Anonymous
те предварительную конфигурацию тестового приложения по флагам или ENV а затем уже сам тест - вызов того или иного функционала
Мерль
всем привет подскажите по тестам у меня сервис запускается через cobra cmd.Execute -> main.go Execute() { ... } как в тестах объявить инстанс нового приложения для теста?
я пришёл к тому, что каждая команда создаётся через функцию-фабрику, в котороую прокидывается структура с конфигурацией
Мерль
никаких глобальных переменных-флагов и прочего
Мерль
func MyCommand(config Config) *cobra.Command { // pretty things return &cobra.Command{ // ... } }
Vladimir
Привет всем Есть хорошие crawler-ы на Go?
invariance
Есть
Vladimir
Есть
Можно название?
Kirill
Google
invariance
)
Anton
Всем привет, а тут есть кто нибудь кто знаком с внутренностями go-ethereum или не прочь с ними разобраться на боевой задаче?
invariance
Задавай вопрос
Anonymous
никаких глобальных переменных-флагов и прочего
как добавлюятся команды понятно непонятно как получить временный инстанс application для теста, который запустится на локалхост и по заверешнию теста отключится
Anonymous
текстом сложно, може гда на github есть examplы?
Michael
@aplysak стукни к @madgopher с кейсом президентов
Аня
#вакансия #job #golang #москва Коллеги, привет! Веду поиск на роль Golang Developer в крупнейшую e-com-компанию среди онлайн-классифайдов в России. Вакансия открыта в г. Москва, готовы рассматривать кандидатов и из других городов, первые этапы обсуждения позиции можно провести дистанционно, через Skype. Есть релокационная программа. Веду поиск Golang-разработчика в Команду поиска. По функционалу - backend-разработка на Go. Коллеги переходят с php и python на golang. Проект масштабный, стратегически важный для компании. Уровень позиции: Middle / Senior/ Team Lead. Команда: В Техническом департаменте компании работает более 300 разработчиков. Коллеги работают в кросс-функциональных командах из 6-7 человек (frontend-разработчики, backend-разработчики, тестировщики, team lead). Требования: - опыт Golang от 1 года; - знание Go (структуры, интерфейсы, каналы, горутины и т.д.); - знание основных возможностей стандартной библиотеки Golang и уметь их использовать - понимание принципов работы клиент-серверной архитектуры, микросервисов, конкурентности; - работа в команде; - технический бэкграунд в разработке на php или python. Условия: - белая зп (вилка зависит от уровня компетенций и результатов прохождения технического интервью: Middle 150-200 т.р. gross, Senior 220-270 т.р. gross, Team Lead 270-300 т.р. гросс по итогам технического интервью) - ДМС, страхование жизни - бесплатный фитнес, - бесплатное питание, - бюджет на внешнее обучение - работа в комфортабельном офисе в пешей доступности от метро, опции удаленной работы нет За подробной инфой Go в личку @very_ann
Gleb
народ
Gleb
привет, может кто подсказать хорошую либу для написание бенчмарков. или статейку как лучше организовывать бенчмарки стандартнымимы методами.
Alexander
чем тебе 1я статья в гугле не подошла?
Alexander
https://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go
Alexander
в го бенчи из коробки работают
Gleb
да я знаю
Gleb
просто не знаю как их писать
Gleb
какие то общие примеры видел
Gleb
а детальные не могу найти
Artem
Так бенчи в основном и сводятся к дерганью одного метода дофига раз
A
А что надо бенчить?
invariance
Интересно, а почему у половины кравлеров на го описание на китайском
Aleksandr
создатели - носители китайского языка. Ваш КО.
invariance
вопрос в том, почему
invariance
китайцы пилят столько кравлеров
aadz
у них просто высоко развита культура этого дела
A
китайцы пилят столько кравлеров
Чтобы скачать интернет и смотреть его потом под одеялом, или чем они там накрываются
invariance
каеф
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Качай - не качай, но китайцы всегда выдают себя расхлябанностью. Если видишь REST API с рейт лимитами, которые никак не соблюдаются - 99% это китайцы.
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Видишь timestamp в формате "HH:MM:SS" - скорее всего они же 😁😁😁
aadz
потому что качать много, а времени - мало :) Интернет ведь очень большой!
Alex
Привет. А кто-то работал с кликхаусом? В частности, с пакетом github.com/kshvakov/clickhouse? Не могу найти, как можно с помощью него работать с Nested типом. Ну или может быть кто-то знает пути получше, как можно в кликхаус пихнуть что-то вроде такой структуры Server https://play.golang.org/p/SlBLm3LloRd, чтоб и вложенный слайс клиентов также мог быть помещен в кликхаус?
Alexey
Привет всем! У меня следующая ситуация Описал интерфейс type ExchangeHelperInterface interface { GetBidAsk(leftCoin string, rightCoin string) (*BidAskData, error) } Затем вот такую структуру type bittrexHelper struct { apiKey string secretKey string } func GetBittrexInstanse(apiKey string, secretKey string) *bittrexHelper { bittrexHelper := new(bittrexHelper) bittrexHelper.apiKey = apiKey bittrexHelper.secretKey = secretKey return bittrexHelper } func (b *bittrexHelper) GetBidAsk(leftCoin string, rightCoin string) (*structures.BidAskData, error) { ... ... return &structures.BidAskData{Bid: response.Result.Bid, Ask: response.Result.Ask}, nil } и пытаюсь вернуть объект вышеописанной структуры из функции func GetInstance(userID uint, exchangeID uint) (*structures.ExchangeHelperInterface, error) { inst := GetBittrexInstanse("", "") return inst, nil } Пишет что нельзя использовать *bittrexHelper как *structures.ExchangeHelperInterface Как я могу возвращать из функции разные объекты, но реализующие один интерфейс?
Alexey
Всё, понял что нужно сделать
Alexey
Спасибо
Alexey
А объект который верну, он вернётся по ссылке или по значению? Или это будет зависить уже от функции GetBittrexInstanse("", "") в данном случаи?
Kirill
Передавать по значению?
делаешь func a() SomeInterface{ return &SomeImpl{} } ну ты понял