@proGO

Страница 249 из 1674
Wingman
13.10.2016
22:36:44
А, это да

Roman
13.10.2016
22:37:00
И перегрузить буфера любого железа

Wingman
13.10.2016
22:37:37
Буфера железа как раз считаются не в пакетах, а байтах

Обычно - мегабайтах)

Google
Roman
13.10.2016
22:38:46
Есть такой эффект - через гигабитный порт идет траффик входящий, в среднем 200 Мбит. Есть, например, 4 исходящих каналов по 100 мбит. Как ты думаешь, какие потери внутри свича?

Wingman
13.10.2016
22:39:41
Я в курсе, что если с мелкими буферами возникнет полка на сотке, дропы будут везде

Но буферы загружаются именно объемом трафика, а не числом пакетов

И вообще, это уже коммутация, а не маршрутизация

Roman
13.10.2016
22:40:31
Обычно - мегабайтах)
В умных свичах кстати QoS очереди, и там всегда icmp придавлен

Wingman
13.10.2016
22:40:43
Прям всегда?)

Мы не давим

Roman
13.10.2016
22:41:05
Но буферы загружаются именно объемом трафика, а не числом пакетов
У тебя несколько милисикунд будет объем трафика - wirespeed

Wingman
13.10.2016
22:41:20
Мало ли, мож у тебя кастомер хочет icmp-туннели в мир городить

Его право

Roman
13.10.2016
22:42:29
Я говорю просто о том, что мониторинг не должен выплевывать одновременно тысячи пакетов, иначе они тупо теряются

Wingman
13.10.2016
22:44:07
Да, но они потеряются скорее от линуховых лимитов, или сетевухи e1000, но врядли из-за транзитных маршрутизаторов)

Roman
13.10.2016
22:46:39
В свичах умрут на коммутационных матрицах, в роутерах перегрузят процессор. В сетевой плате забьют буфера. Все это произойдет в непостижимые милисекунды. Но это абсолютно неважно. Самый главный вопрос нахуя так делать, если можно нормально?

Google
Roman
13.10.2016
22:49:21
Мы не давим
Циско вобще не юзаете?

Wingman
13.10.2016
22:51:14
Да какой нафиг перегрузят процессор :( на 10g порту в один момент времени пролетает в миллион раз больше пакетов, чем эти несчастные 5тыщ Циски юзаем, конечно. Icmp ограничивается направленный на саму циску, т.е попадающий на её проц. Какой смысл резать транзитный трафик то?

Maxim
13.10.2016
22:51:16
Кто-нибудь может метким глазом чекнуть небольшую правку и поддержать пальцами, если что? https://github.com/botanio/sdk/pull/81

Кто-нибудь может метким глазом чекнуть небольшую правку и поддержать пальцами, если что? https://github.com/botanio/sdk/pull/81
А то надоело что несмотря на наличие документации по генерации коротких ссылок, в самом пакете данный функционал отсутствует. Пришлось кусок из своего бота выдирать и чутка адаптировать. Хочется чтобы добавили уже.

Wingman
13.10.2016
22:56:03
И? Объем 5к ицмп пакетов - меньше любых буферов)

Лан, люто заофтопили

Я извиняюсь)

Roman
13.10.2016
22:58:22
Блин http://www.cisco.com/c/dam/en/us/support/docs/switches/catalyst-3750-series-switches/116089-technote-switches-output-drops-qos-01.jpg

Maxim
14.10.2016
00:08:28
Какой есть лёгкий способ трансформировать []int в string вида 1,2,3,4?

corpix
14.10.2016
00:16:40
Какой есть лёгкий способ трансформировать []int в string вида 1,2,3,4?
Из тех, что известны мне, самый простой https://play.golang.org/p/RSMpr9Y7pM

Maxim
14.10.2016
00:17:27
Из тех, что известны мне, самый простой https://play.golang.org/p/RSMpr9Y7pM
Благодарствую. Гораздо лучше чем я городил через range

Из тех, что известны мне, самый простой https://play.golang.org/p/RSMpr9Y7pM
А чтобы вывести результат с данными через запятую и без скобок?

Просто я эту последовательность как параметр в URL пихаю

corpix
14.10.2016
00:33:44
А чтобы вывести результат с данными через запятую и без скобок?
Если уде есть []string то можно использовать strings.Join(...)

Maxim
14.10.2016
00:33:59
Если уде есть []string то можно использовать strings.Join(...)
Да, идеально. То что нужно, большое спасибище. :3

corpix
14.10.2016
00:44:32
Не за что))

Maxim
14.10.2016
00:50:28
Вроде и освоил базовые вещи в Go, а на таких простых вещах спотыкаюсь. Обидно, но и есть чему учиться.

Zver
14.10.2016
01:36:13
Ого, сколько понаписали за ночь. ?

Google
corpix
14.10.2016
01:58:12
https://github.com/ircop/tmp_gopinger/blob/master/main.go
It's dangerous to go alone, take this https://gist.github.com/anonymous/74f52345aa183d3c51978aca34e37ece

sunaraw
14.10.2016
13:52:52
Можно ли объявить метод для слайса структур? (псевдокод, сорри, меня интересует сама возможность)

type SomeStruct struct { ... } func (gC [] SomeStruct) Get(str string) { return str }

Kerrigan
14.10.2016
13:55:31
можешь слайс определить как тип

type SliceOf []SomeStruct func (gC SliceOf) Get(str string){ return str }

sunaraw
14.10.2016
13:57:18
Спасибо, вот только стоит ли это того? :D

Kerrigan
14.10.2016
13:57:36
так сортировка реализуется емнип

https://play.golang.org/p/ntNak4vvQM

Zver
14.10.2016
13:58:50
Стоит. Если имеется необходимость.

Morran
14.10.2016
14:11:21
type SliceOf []SomeStruct func (gC SliceOf) Get(str string){ return str }
Объясните в двух словах новичку за тип перед именем функции, если не затруднит

Zver
14.10.2016
14:13:04
К которому приявязываете метод.

Morran
14.10.2016
14:14:49
https://gobyexample.com/methods
Понял, спасибо

hamper ?
14.10.2016
21:27:12
а как то можно заполненость канала проверить? типа если буфер уже полный то не писать в него а просто пропускать

а все... он len и cap умеет

hamper ?
14.10.2016
21:42:15
ага но это удобнее когда несколько каналов

corpix
14.10.2016
21:43:10
Ну да, зависит от задачи

Kerrigan
14.10.2016
21:43:38
ого, я думал селектом можно только читать

Google
Kirill
14.10.2016
21:44:57
case select'а в таком случае сработает тот, который раньше разблокируется

таким же образом можно time.After() использовать

corpix
14.10.2016
21:50:07
ага но это удобнее когда несколько каналов
Кстати, даже в 1 канал(в случае если нужно пропускать запись, если канал уже забит) я бы стал писать через select. С len() может возникнуть гонка(место в канале может освободиться после взятия len от канала), а select атомарен емнип

hamper ?
14.10.2016
21:51:04
а вот об этом я не подумал...

hamper ?
14.10.2016
21:53:52
а что нужно сделать?
да ровно то что я написал, мне просто нужна такая запись в канал что бы если он уже заполнился (что означает что там к базе коннект оторвался и восстанавливается) то не писать в него вообще потому что даные не сильно важны а если я их буду задерживать в буфере у меня через пару минут может память кончится

Admin
ERROR: S client not available

Kirill
15.10.2016
01:03:03
о, спасибо, утащил

Oleh
15.10.2016
01:03:33
???

Phil
15.10.2016
08:33:22
ой, привет :)

Slach
15.10.2016
09:53:34
подскажите ньюбу, вот я хочу сделать go софтинку и хочу сделать для нее два Dockerfile, один Dev чтобы быстро исходники менять и второй Prod, чтобы бы уже в registry паблишить, где лучше расположить оба Dockerfile ? в pkg ?

Slach
15.10.2016
09:55:58
Dockerfile две штуки =) ну ок, положу в папочку docker и еще вопрос как задставить go install чтобы он понимал что надо из пакета main для файла src/command.go сделать в папке bin/command ?

Kirill
15.10.2016
09:56:36
так и что, что две штуки?

никак. 1) складывать пакеты в src плохая идея 2) хочешь бинарь command — сделай пакет в папке command

Slach
15.10.2016
09:59:22
ну как то называть Dockerfile.dev и Dockerfile.prod вообще как то криво?? разве нет? вот какую структуру хочу сделать bin/ src/ command.go lib/mypackage.go docker/production/Dockerfile docker/dev/Dockerfile

Phil
15.10.2016
10:01:24
вы чаты не перепутали?

Kirill
15.10.2016
10:01:29
вы чаты не перепутали?
да ладно, один вопрос пойдет.

Slach
15.10.2016
10:08:47
вы чаты не перепутали?
я надеюсь не перепутали =) а можете кинуть в меня специализированным чатом? go очень хорошо на докер ложится ... в моем понимании. вот и пытаюсь связать так чтобы не наделать дебильных нюбских косяков насчет "не складывать пакет в src" ну ок... вроде бы понял ну то есть я правильно понимаю что если я сделаю в Dockerfile.dev напишу VOLUME ./src /go/mybestprogram а в Dockerfile.prod ADD ./src /go/mybestprogram и в обоих файлах добавлю RUN go install /go/mybestprogram то у меня внутри /go/mybestprogram создается исполяемый файл command ? и мне надо его в bin самому перенести? я не хочу распостранять исходники, я хочу распостранять бинарник

Google
Phil
15.10.2016
10:10:29
да ладно, ладно )

Kirill
15.10.2016
10:11:53
go install ставит из сорцов, хочешь давать бинарь — качай его уже готовым без go install

Maxim
15.10.2016
10:21:03
Украл себе

Slach
15.10.2016
10:41:04
go install ставит из сорцов, хочешь давать бинарь — качай его уже готовым без go install
ну да, я могу через fpm собрать бинарь и положить в какой нибудь apt пакет на packagecloud.io какой нибудь, но может проще собрать внутри контейнера? а потом удалить лишнее? тем более что кода там файлов 10-15 будет... и слой в докере маленький получится или вот прямо тру вей это вот прямо "получить бинарник тру способом"?

sunaraw
15.10.2016
10:45:10
А нельзя поставить перед билдом докерфайла go build, и в докерфайле юзать уже свой бинарник? А код вообще не шарить, профит

[Anonymous]
15.10.2016
14:06:55
Ребят, обновил Go с 1.2.2 до 1.7.1 теперь при build'e: hello.go:13: import /root/work/pkg/linux_amd64/github.com/Jeffail/gabs.a: not a package file

с чем подобное может быть связано? думал глюк в том чтоб перекачать его, перекачал - не помогло

Kerrigan
15.10.2016
14:07:31
пересобери зависимости

они могут быть бинарно несовместимы

[Anonymous]
15.10.2016
14:07:53
это как сделать? о_О

я просто писал go get пакет и потом билдил приложение

все было ок

до обновления :)

Kerrigan
15.10.2016
14:08:50
go get -u

[Anonymous]
15.10.2016
14:09:15
root@vm111119:~# go get -u package _/root: unrecognized import path "_/root" (import path does not begin with hostname) root@vm111119:~#

Kerrigan
15.10.2016
14:09:17
можешь еще в GOPATH поудалять бинарники

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