
Maxim
11.05.2017
13:16:54
они там объясняют, что мапы, которые очищаются, тоже могут привести к утечкам памяти

ros
11.05.2017
13:20:58
скорей всего мап внутри как какой-то слайс выглядит и его геморойно полностью реалоцировать при каждом изменении и сделали тупо append

Maxim
11.05.2017
13:21:37
точно как слайс выглядит

ros
11.05.2017
13:22:31
вот со слайсами то предупреждения везде что оно не может быть уменьшено без реалокации

Google

Ivahaev
11.05.2017
13:27:20
Ну фиг знает
https://play.golang.org/p/9W0cTl8iDY
Алокации уменьшаются
Хотя, не полностью.
Получается, что не переиспользуются вёдра, что ли?

Aleksandr
11.05.2017
13:33:30
https://play.golang.org/p/Bhvc3NrGCS
ну и старый добрый способ - затирать

ros
11.05.2017
13:35:41
черт знает как это происходит, но оно растет
оттестится выкачу в прод посмотрю насколько помог этот костыль с пересозданием

Илья
11.05.2017
13:36:33
может быть вам вообще не нужен глобальный map?
ну, такой вот наброс/предположение

ros
11.05.2017
13:37:40
он не глобальный
в рутине крутится хранит активных клиентов

Илья
11.05.2017
13:40:34
хм, я натыкался на что-то подобное, по профилю все аллокации в map?

ros
11.05.2017
13:41:08
да, из долго живущих только эти два map

Илья
11.05.2017
13:49:27
насколько я понял, проблема в пиковых объемах, а не в том, что не происходит повторного использования(оно, судя по поведению, происходит)

Google

Илья
11.05.2017
14:00:29
Т.е. https://play.golang.org/p/o7RM8Dz3Xo
вы правы, что-то натекает
на 200000 пересозданных элементов 0.6 метра, на что, мне лично, непонятно
хотя похоже на флуктуации

ros
11.05.2017
14:58:09
живая нагрузка покажет
неделю повисит

Daniel
11.05.2017
15:52:08
минутка саморекламы: http://backendconf.ru/2017/abstracts/2785

Мерлин
11.05.2017
17:53:58
http://golangshow.com/episode/2016/12-28-089/

Ivan
11.05.2017
18:37:36
Всем привет, не так давно начал учить го и какие-то базовые вещи уже понял. Вопрос такой. Что можно реализовать на го для усвоения изученного материала и проверки знаний?

Олег
11.05.2017
18:37:53

Maxim
11.05.2017
18:38:06

Олег
11.05.2017
18:38:08
О или напиши мне диплом;D

Ivan
11.05.2017
18:38:13

Maxim
11.05.2017
18:38:16
key-value хранилище
бэкенд для сокращателя ссылок

Ivan
11.05.2017
18:39:08
А с каналами чё нить?

Maxim
11.05.2017
18:39:31

Aleksandr
11.05.2017
18:39:37

Ivan
11.05.2017
18:40:02
Ок, спасибо

Google

Maxim
11.05.2017
18:40:06
каналы можно вообще везде, где надо и где не надо, засунуть

Alex
11.05.2017
18:43:12

Мерлин
11.05.2017
18:44:15
Простую очередь с rest api
Сервер для мессенджера
Бота для поиска текста в интернете без использования поисковых движков

Ivan
11.05.2017
18:51:42
Спасибо ещё раз

Slava
11.05.2017
19:56:05
а в чём прикол материться в общественном месте?
я понимаю там между друзей, но вот выйти на площадь и сказать гордо слово из трёх букв. Это как проявление отваги?
@goodstemy ^

Andrey
11.05.2017
19:58:34
Нет проявление невоспитанности, но это сейчас никому не интересно к сожалению. Нынешняя молодежь , да и не только вообще клали прибор на нормы поведения( это печалит, как отца двоих детей по крайней мере точно

Ivan
11.05.2017
19:58:47
Извиняюсь. Прикола нет, скорее выражение искренних эмоций посредством ругательств. Не повторится отныне

Alex
11.05.2017
20:25:23
канал благородных девиц?
обсценная лексика издавна служит для выражения сильных эмоций. воротить нос от нее - ханжество
а учить кого-то или указывать ему на его воспитание - верх невоспитанности)

Мерлин
11.05.2017
20:32:13
Я предлагаю закрыть тему

Andrey
11.05.2017
20:33:28
Может и так, но когда я с детьми в общественном месте слышу мат, от не стясняющихся товарищей, это как бы фэйл. А учить я никого не намереваюсь. Тему предлагаю закрыть, все равно каждый по этой теме останется при своём.

Alex
11.05.2017
20:35:08
на кой тогда было высказывать вообще свое веское мнение? если все равно все остаются при своем

Ivan
11.05.2017
20:35:39
и как бы - чего стеснятся живого русского языка? ?

Andrey
11.05.2017
20:37:30
Мы все его знаем и они в том числе, но я считаю, что в каких то местах, его употребление не уместно
От мата, как от информации не оградить. Они ее все равно получат в той или иной форме и если не от тебя, то где-то ещё. В общем.. тему не продолжаю, а то Мерль прав, не место тут этому.. мы тут язык и темы с ним связанные обсуждаем..

Google

Sergey
11.05.2017
20:41:50
Привет, можно быстрый, но возможно интересный вопрос по языку?
Как создать массив приватных структур во внешнем пакете? При условии, что имеется паблик метод, который умеет создавать объекты такой структуры.

Мерлин
11.05.2017
20:45:06

Sergey
11.05.2017
20:45:23
Не меняя исходный пакет, он не мой.
Т.е. что-то вроде:
var firstObj = externalPackage.GetPrivateObj()
var array = append(firstObj, externalPackage.GetPrivateObj())
Но язык требует, чтобы firstObj уже был слайсом :(

Andrey
11.05.2017
20:48:25
А что с форматированием?)
Нельзя адаптер сделать?)

Sergey
11.05.2017
20:50:08
С go почти не знаком, но пока что не могу понять, как я сделаю адаптер к типу, к которому у меня нет доступа в моем пакете.

Мерлин
11.05.2017
20:50:23
1. Форкнуть библиотеку, сделать нужный метод или опубликовать тип. Придётся поддерживать.
2. Сделать пуллреквест с исправлением выше
2. Через рефлексию. Легко накосячить и медленно

Sergey
11.05.2017
20:51:02
Через рефлексию можно сбилдить приватный объект?
Ах да. Мне нужен массив именно этого типа. Полная ситуация такая. Во внешнем пакете есть вариативный метод, который принимает эти объекты, нужно его вызвать.
func ExternalMethod(objects ...privateObject)

Мерлин
11.05.2017
20:54:45

Олег
11.05.2017
20:55:18
Звучит, как неудачно спроектированный api

Sergey
11.05.2017
20:56:40
Согласен, но пакет не мой и даже проблема не моя. Меня просто заинтересовал этот случай :)
Вроде нельзя. Владелец его использует примерно так:
Menu("something", Option("1", "title"), Option("2", "title 2"), Option("3", "title 3"))
Похоже рефлексия должна помочь, спасибо за инфу. Это хорошо, что есть такой инструмент.

Мерлин
11.05.2017
20:59:32
Через рефлексию будет адок
Придётся протаскивать внутри неё начиная от конструктора и заканчивая результатом функции, принимающей слайс

Sergey
11.05.2017
21:00:46
Да, догнал :(
Слишком говнясто

Google

Sergey
11.05.2017
21:01:10
Жаль нет способа обмануть систему типов

Мерлин
11.05.2017
21:01:58
вот серьёзно, за такое хочется взять и форкнуть

Sergey
11.05.2017
21:03:24
Ну, на самом деле здесь есть и недоработка в языке. Почему вообще можно объявить паблик метод, который принимает в себя приватные структуры. Если уж все такое статическое, что ж тут то упустили.

Slava
11.05.2017
21:04:07
очень часто такое бывает полезно

Sergey
11.05.2017
21:04:32
Бесспорно, но речь про дизайн

Slava
11.05.2017
21:04:46
я, к примеру, часто делаю интерфейс с приватным методом, чем запрещаю людям пихать в мои функции то что я сам не разрешил
сам интерфейс при этом публичный

Sergey
11.05.2017
21:06:04
Ну, немного другой кейс, на мой взгляд вполне логичный
Сам то интерфейс паблик

Daniel
12.05.2017
05:21:38
Если тип приватный - это гарантия, что объект, и ссылка на объект, не появятся иначе, как через соответствующий метод
Способ заставить вызывать "конструктор"...

Andrew
12.05.2017
06:23:50
Способ скрыть быдлокод!

Andrey
12.05.2017
06:37:52
Что такое быдлокод?:)