@proGO

Страница 1174 из 1674
Slach
23.01.2018
05:55:56
арод, объясните как правильно делать теги для yaml ? prog.go:7:53: syntax error: unexpected literal yaml:"anomalies_definition" after top level declaration https://play.golang.org/p/I2YTywherV- почему тут ругается? edited хочу распарсить yaml anomalies_defintion: test_anomaly1: table: test_table1 test_anomaly2: table: test_table1

Alexey
23.01.2018
06:07:38
Теги можно навесить только на поля структуры, не на любой тип

Stanislav
23.01.2018
06:09:40
Добрый вечер! Подскажите, есть в go что-то на подобие генераторов списков в питоне?

Google
Slach
23.01.2018
06:09:44
т.е. надо какую то структуру объявить а внутри нее уже поле с таким типом и ему присвоить тег? так?

Alexey
23.01.2018
06:10:30
да

Slach
23.01.2018
06:11:18
Добрый вечер! Подскажите, есть в go что-то на подобие генераторов списков в питоне?
впрямую такого нет, потому что yield нет есть вот такие штуки https://stackoverflow.com/questions/35630747/is-it-possible-to-iterate-over-a-returned-function-in-golang-with-a-for-loop

Stanislav
23.01.2018
06:15:47
Спасибо!

Slach
23.01.2018
06:20:34
type anomaliesDefinitionType map[string]string[string]string yaml:"anomalies_definition"
https://play.golang.org/p/nW6moWuRdtU все равно ругается =(

ros
23.01.2018
06:23:26
map[string]map[string]string

и так далее вложенность

Alexey
23.01.2018
06:29:42
Ругается на тег, которого не может быть у этого типа

Slach
23.01.2018
07:36:59
Ругается на тег, которого не может быть у этого типа
спасибо, разобрался а вот следующая особенность golang https://play.golang.org/p/o9KVKhfJBCJ почему тут ругается? какой именно адрес она не может вычислить? я правильно понял что не может вычислить адрес, потому что эти адреса вычисляют "на этапе компиляции"? и правильный фикс это for key, value := range MyMap { } ?? а тогда вопрос value в данном случае будет копироваться и будет каждый раз производиться аллокация? так? и чтобы это было проще надо сделать MyMap := map[string]*MyType ? вместо map[string]MyType ?

Slach
23.01.2018
07:41:05
ок. указатель на структуру я храню я правильно понимаю что range по map будет аллоцировать и копировать на каждое значение мапы? или там указатель возвращается?

John
23.01.2018
07:42:06
ок. указатель на структуру я храню я правильно понимаю что range по map будет аллоцировать и копировать на каждое значение мапы? или там указатель возвращается?
В случе использования range ты получаешь себе копии обеих элементов. Ключа и значения. Если значение это указатель, то просто еще один указатель ... если структура, то копию структуры

Google
dePuff
23.01.2018
10:28:38
Всем привет.

Нужно пользовательский тип данных создать. Который представляет собой кольцо из трех элементов

Эдакий ring.New(3)

Это технически возможно в go?

Daniel
23.01.2018
10:31:58
в чем проблема?

dePuff
23.01.2018
10:32:32
Я не умею такое объявлять

type MyTypeName ...

И что дальше

Это, блин не массив какой-нибудь

Daniel
23.01.2018
10:33:23
struct, вариантов нет

а что такое кольцо из трех элементов?

dePuff
23.01.2018
10:33:56
Некая сущность гоняемая в проге

Которая всегда кольцо из трех элементов

Через структуру я тоже не представляю как количество элементов зафигачить

Кольцо это изначально структура

Daniel
23.01.2018
10:38:54
я не понимаю

три элемента - это мало

Michael
23.01.2018
10:39:13
backing storage массив, метод Next() гоняющий по кругу, внутреннее состояние i - текущая позиция, и будет вам кольцо в виде структуры

три элемента - это мало
ну, может так в задании к лабе написано

Google
Daniel
23.01.2018
10:40:47
если в лабе - они, наверное, хотят реально односвязный закольцованый список

Michael
23.01.2018
10:41:02
хз хз

dePuff
23.01.2018
10:41:12
Это не лаба

Это моя поделка

Кольцо - готовая реализация из go

Может какой-то init метод есть у пользовательских данных

Который автоматом отработает

О. Реально есть)

Всем спасибо)

Daniel
23.01.2018
10:43:25
вот и поговорили...

dePuff
23.01.2018
10:44:17
Хорошо заданный вопрос же содержит половину ответа)

Anton
23.01.2018
11:30:43
всем привет! быстрый вопрос: у меня есть основная функция, которая запускает в горутинах неизвестное количество других функций; основная функция возвращает error или nil, я как делаю: func ensureAdmins() error { type result struct { ok bool err error } ch := make(chan result, 1) for _, email := range config.Admins { go func(ch chan result, email string) { if err := somehowEnsureAdmin(email); err != nil { ch <- result{ err: err, } return } ch <- result{ ok: true, } }(ch, email) } // вот тут вопрос: for i := 0; i < len(config.Admins); i++ { res := <-ch if res.err != nil { return res.err } log.Println('ensured admin') } return nil } в общем я создаю канал, в который шлются результаты выполнения функции из горутины. я хочу, чтобы, во-первых, основная функция вернула error, если из горутины вернулся результат с err != nil, и во-вторых, чтобы вот это for i := 0; ... не блокировало выполнение горутин, т.е. чтобы они выполнялись параллельно. в целом вопрос — правильно ли я это делаю? ну и ещё маленький вопрос: ch := make(chan result, 1) или буферезировать на len(config.Admins) (`ch := make(chan result, len(config.Admins)`)?

Атас
23.01.2018
12:13:45
я бы буферизиловал учитывай что return res.err прервет выполнение ensureAdmins на первой ошибке

об остальных не узнаешь

Natalya
23.01.2018
12:15:52
Всем привет! Подскажите, а размещение вакансий по сабжу у вас в чате разрешено? :)

Daniel
23.01.2018
12:17:47
размещайте!

Natalya
23.01.2018
12:17:55
спасибо!

#вакансия #санкт_петербург #спб #питер #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 или на почту natalya.langepas@gmail.com

Alexey
23.01.2018
12:21:37
#вакансия #санкт_петербург #спб #питер #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 или на почту natalya.langepas@gmail.com
https://t.me/golangjob

О, это же айфришечка ^__^

Google
Admin
ERROR: S client not available

Natalya
23.01.2018
12:22:44
спасибо!

Daniel
23.01.2018
12:23:26
Alexey
23.01.2018
12:24:38
не совсем
ну рядом) /me вспомнил свои 2008-2013

Атас
23.01.2018
12:31:37
да и если неизвестное количество горутин будет достаточно большим, а somehowEnsureAdmin(email) использует внутри сеть, то можешь нарваться на ограничение по сокетам и их не хватит и часть проверки не к чему не приведет да и канал закрой в конце, здесь это не так важно, но луче привычку тренировать

Dmitry
23.01.2018
15:53:46
подскажите, есть красивый метод, как узнать статус systemd unit'a из го?

Aleksandr
23.01.2018
15:58:34
нет

hamper ?
23.01.2018
16:18:30
Через апи dbus наверное можно.

Вот в гугле первая ссылка https://github.com/coreos/go-systemd но не пробовал.

k1b3r
23.01.2018
16:56:55
Ребята подскажите wg := new(sync.WaitGroup) тут есть какойто лимит на создание потоков и можно ли его задать искуственно ?

Demuz
23.01.2018
16:59:51
подскажите, есть красивый метод, как узнать статус systemd unit'a из го?
что такое systemd, можете своими словами объяснить?

Demuz
23.01.2018
17:02:01
а юзают в каким ситуациях? ну например то что спросил тот пользователь? Для чего ему например

John
23.01.2018
17:02:32
Dmitry
23.01.2018
17:02:41
Вот в гугле первая ссылка https://github.com/coreos/go-systemd но не пробовал.
Вот не нашел там этого. Там скорее про то как крутить го под системд

Sergey
23.01.2018
17:02:57
Dmitry
23.01.2018
17:02:58
Demuz
23.01.2018
17:03:11
Что бы запустить систему, отслеживать процессы, ваш кэп )
Можно же вроде так и так следить за процессами и тд

Sergey
23.01.2018
17:03:14
Ты пробовал?
кореос пробовал, библиотека выглядит более-менее вменяемо.

Google
Sergey
23.01.2018
17:03:22
Dmitry
23.01.2018
17:03:40
Ну ок, я не нашел сразу, как дергать стейты

Dmitry
23.01.2018
17:03:46
Посмотрю ещё

Sergey
23.01.2018
17:04:09
Dmitry
23.01.2018
17:04:36
Александр
23.01.2018
17:04:59
народ сравниваю две строки, в руне выглядят так [50 48 49 56 45 48 56 45 48 57 84 49 56 58 51 49 58 52 50 43 48 51 58 51 48] [50 48 49 56 45 48 56 45 48 57 84 49 56 58 51 49 58 52 50 43 48 51 58 51 48] через != получаю FALSE через strings.EqualFold - TRUE

КААААК?

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