
Maxim
23.10.2016
20:08:19

corpix
23.10.2016
20:09:10
Серьёзно, описал бы некоторую базовую функцию для конструирования запросов и обработки ответов, возвращающую нормальный error если что-то пошло не так

Maxim
23.10.2016
20:09:36
Ох, блин, а можно пример?

corpix
23.10.2016
20:09:48
(конструирование запросов и обработка ответов - разные функции конечно же, под вечер так себе с выражением мыслей)

Google

corpix
23.10.2016
20:11:26
Ох, блин, а можно пример?
Идея такая же как в
https://golang.org/pkg/net/http/#NewRequest
https://golang.org/pkg/net/http/#Client.Do
Только вместо урла - метод api
А в Do(...) обработка ответа и просмотр на наличие ошибки. Если она есть то возвращаем nil, error
С NewRequest на самом деле можно пойти даже дальше(всё равно модуль для работы с api этого сервиса отдельный и только про него). Можно сделать конструкторы для каждого метода api например, сигнатуры которых будут соответствовать дозволенным входным данным
Зато потом поддерживать удобно :)
Ну и писать код тоже. Не приходится вспоминать или лезть в файл с вопросом "как там этот метод называется точно?", всё автокомплит подсказывает


Maxim
24.10.2016
02:34:46
По поводу этого - надоело ковыряться.
В итоге я психанул и сделал так:
type Status struct {
Success bool `json:"success"`
Error bool `json:"error"`
Message string `json:"msg"`
ErrorMessage string `json:"error_msg"`
}
Может быть потом кто-нибудь подкинет патч чтобы все 6 видов ответов преобразовать в единую структуру
Гориллу качнул, но Я абсолютно не понимаю как мне его применять для коннекта к чату, не то чтобы как-то взаимодействовать. Но в остальном библиотека уже начинает потихоньку работать.

Мерлин
24.10.2016
04:13:11

Kirill
24.10.2016
04:14:07
можно через встраивание типа

Andrew
24.10.2016
08:29:09

Google

Fox.rs
24.10.2016
08:37:33
Всем хай

Kirill
24.10.2016
08:37:52
привет

Roman
24.10.2016
09:40:25
Всем хай
Привет! Будешь контрибьютить в хентай бота?

Constantine
24.10.2016
09:45:16
в тот, что побольше )

Vladislav
24.10.2016
09:46:28
Было уже? ?
Опыт построения и эксплуатации большого файлового хранилища
? Хабрахабр: Блог компании Конференции Олега Бунина (Онтико), *nix, Системное администрирование, Хранение данных, Хранилища данных
Даниил Подольский (Git in Sky)
Рассказ о том, что каждый инженер должен сделать в своей жизни после того, как он родил ребенка, посадил дерево и построил дом – это сделать свое файловое хранилище.
Доклад мой называется «Опыт построения и эксплуатации большого файлового хранилища». Большое файловое хранилище мы строим и эксплуатируем последние три года. В тот момент, когда я подавал тезисы, доклад назывался «Ночью через лес. Опыт построения эксплуатации бла-бла-бла». Но программный комитет попросил меня быть серьезнее, тем не менее, на самом деле это доклад «Ночью через лес».
Читать далее ➡ https://shbr.xyz/hh313364

Constantine
24.10.2016
09:47:00
сначала прочел Бог, а не Бот

Kerrigan
24.10.2016
09:51:51
выпилили с хабра?
таки нет

Subbotin
24.10.2016
09:55:38
Ну там все правильно в коментах написано про дебилов

Kerrigan
24.10.2016
09:55:41
ага
Я могу проще про все что выше написано:
Мы не читали теорию!
Мы не читали документацию!
Мы не придумали архитектуру!
Мы вообще не думали!

Daniel
24.10.2016
10:04:26
а?
это комментарий к чему?

Kerrigan
24.10.2016
10:04:42
это оттуда

Daniel
24.10.2016
10:05:31
меня нет на хабре
комментов тамошних я не читал - ответить все одно не смогу

Kerrigan
24.10.2016
10:06:19
они там не для того чтобы отвечать
:D

Daniel
24.10.2016
10:06:46
а, ну ок

Google

Daniel
24.10.2016
10:06:51
тогда все норм

Subbotin
24.10.2016
10:08:40
оооо. а ты автор доклада

Daniel
24.10.2016
10:13:52
ага
если есть вопросы - я готов ответить, потому что здесь я есть

Phil
24.10.2016
10:18:18
А может в @ru_devops ?... Я понимаю, что аудитории пересекаются, но таки тут часто просто программисты на Go

Foxcool
24.10.2016
10:19:39
оно на го написано (:

Kerrigan
24.10.2016
10:20:58
я не очень понял что это
и причем тут гит

Foxcool
24.10.2016
10:23:39
название их конторы
кстати, чтобы не писали хейтеры, но опыт поддержки поделия Даниила оказался очень интересным и полезным. Как минимум начинаешь понимать примерно, как работает zfs & btrfs в плане той же дедупликации, снапшотинга и т.д.

Fox.rs
24.10.2016
10:25:17

Phil
24.10.2016
10:26:41
Доклад на самом деле суперский и в некотором смысле я бы его какое-то количество людей заставил учить как аксиому. Но Go тут немного не при делах

Maxim
24.10.2016
10:31:45

Constantine
24.10.2016
13:18:43
чят
а у кого есть собранный lime под os x? :D
хочу пощупать, каков он
а то что-то прям совсем не хочется qt тянуть

Kerrigan
24.10.2016
13:28:18
потыкай вебморду
там не один qt же

Admin
ERROR: S client not available

Google

Nik
25.10.2016
00:15:53
j

R-omk
25.10.2016
08:37:51
в go есть goto ??

Kirill
25.10.2016
08:49:33

R-omk
25.10.2016
08:50:50
с подключением ;)
да я не вчера подкючился и не сегодня.. я всегда верил что лейблы только для break

Kirill
25.10.2016
09:04:28

Mehti
25.10.2016
10:11:51
кто-нибудь любит отвечать на вопросы на stackoverflow (английская версия)?

Kirill
25.10.2016
10:12:24
я раньше занимался, да вот забил как-то

Mehti
25.10.2016
10:12:42
печально, задал там вопрос, пока как-то тухло
обсуждение идет, но никто толком не может помочь

Kirill
25.10.2016
10:13:04
гляну

Mehti
25.10.2016
10:13:20
http://stackoverflow.com/questions/40223913/getting-ip-addresses-from-big-nfcapd-binary-files

Roman
25.10.2016
10:14:39
Я писал парсер нетфлоу

Kirill
25.10.2016
10:17:00
так. я вот пытаюсь понять. у тебя проблема именно со считыванием файла, так?
то есть, с работой с ним из-за размера
верно?

Roman
25.10.2016
10:18:49
reader := bufio.NewScanner(f)
for reader.Scan() {
line := reader.Text()
if strings.Contains(line,"IP") {
FirstLine = line + "\n" //CSV template
}
record := strings.Split(line, sep)
if len(record) > 6 {
if HasIP(Pools, record[1]) {
SaveFile(record[1], line) //DST_IP
patCount++
} else if HasIP(Pools, record[5]) {
SaveFile(record[5], line) //POST_NAT_SRC_IP
patCount++
}
}
}
log.Println("Scanned file: ", f.Name(), " with count: ", patCount)
Глянул - у меня логи до 1,5 Гигов. Текстовые.

Mehti
25.10.2016
10:25:03
у меня во всем проблема - начал писать на go меньше 2 недель назад)
да, поскольку размер большой, то нужно быстро считывать и обрабатывать его

Google

Mehti
25.10.2016
10:25:41
@RShishkin есть ли репозиторий на гитхабе?

Kirill
25.10.2016
10:25:43
тогда начни с того, что используй какой-нибудь bufio

Roman
25.10.2016
10:25:46
Я эту утилиту писал и делал много тестов

Mehti
25.10.2016
10:26:08
файлы могут быть размером и 3, 4 и 5 Гб

Roman
25.10.2016
10:27:26
Я использовал nfcapd/nfdump но перешел на nfacctd
Потому что нужна была поддержка Netflow9

Sergey
25.10.2016
10:28:04
ребят, а как проще всего получить pid процесса с помощтю go?
не очень хочется засовывать pidof в exec.Command