
The
24.02.2018
23:32:43
там же вроде 8к горутин накидал и все)

Slava
24.02.2018
23:32:44
Можно без таймеров

Александр
24.02.2018
23:32:57
можно 1 гоурутиной ?

Slava
24.02.2018
23:32:58
Хранишь дату обновления

Google

Slava
24.02.2018
23:33:18
При доступе - проверяешь не протухло ли
Можно самому иногда делать резет протухших значений, если очень нужно
Дату обновления хранишь для каждого значения и вместе с ним

Александр
24.02.2018
23:37:29
погодите! щаз я сделаю реализацию

The
24.02.2018
23:37:34
да, подчищать точно надо, вот собственно и вопрос, как это делать, лочить мапу и проитерироваться по ней, так как других способов ходить по мапе пока в неё пишут я не знаю. я поэтому и думаю, что лучше сделать отдельный (буферизированный) канал, куда сливать даты очисток и клюки для удаления, там уже горутина примет и когда нужно удалить - отправит сигнал об удалении туда, где собственно и работают с основной мапой. но честно говоря хз, я вообще с этим параллельным кодом не давно работаю, поэтому не представляю себе как это на практике организовать лучше.

Vladimir
24.02.2018
23:37:36

Slava
24.02.2018
23:37:58
Зачем канал то?

The
24.02.2018
23:38:02
А полезный навык же
навык то точно полезный, но что поделать) когда начинаются поинтеры и unsafe я подвисаю иногда

Slava
24.02.2018
23:38:06
Делай свой тип
И лоч доступы

Vladimir
24.02.2018
23:38:26
Глобальный лок, удаление при доступе если протухло
И если очень нужно есть горутина одна которая подчищает протухлость

Google

Александр
24.02.2018
23:39:40
екарный плейграуд
шо он творит ?

The
24.02.2018
23:39:58
Ну у нас есть map[string]Entry, type Enrty struct {Value: interface{}, LastAccess: int64}
Подчищалка же полюбому залочит эту мапу?
по другому же никак?

Slava
24.02.2018
23:40:04
Или ринг с мапами ;)

The
24.02.2018
23:40:21
или я чего-то не понимаю?

Slava
24.02.2018
23:40:21
Удалять протухшие мапы из ринга автоматом

Vladimir
24.02.2018
23:40:39

The
24.02.2018
23:40:42
что за ринг?

Slava
24.02.2018
23:40:50
Забудь про ринг
Это на следующий уровень оставим

The
24.02.2018
23:41:27
ты изверг

Slava
24.02.2018
23:41:32
Владимир дело говорит ;)
Почитай готовую имплементацию

The
24.02.2018
23:42:39
ладно, но про ринг то скажи, это паттерн или что, как гуглить

Александр
24.02.2018
23:44:54
ну вообщем это наметки, но думаю вам будет понятно ?
это по поводу моей гениальной идеи, я жду нобеля уже вот вот

The
24.02.2018
23:47:34
ну я так понял это кеш из одного элемента

Google

Александр
24.02.2018
23:47:54
можно хоть 1000

The
24.02.2018
23:49:01
ну тут утечка-то на лицо

Александр
24.02.2018
23:49:14
это пример блин на коленке

The
24.02.2018
23:49:19
понял
окей, а сами таймеры что не на горутинах построены?

Slava
24.02.2018
23:50:59
Зашибись решение
На каждый элемент по горутине

Александр
24.02.2018
23:51:16
https://play.golang.org/p/oaMfD4wldaS

Slava
24.02.2018
23:51:23
Тряпками за такое решение надо

The
24.02.2018
23:51:53
даже я на такое не способен

Slava
24.02.2018
23:52:00
Значек программиста на стол

The
24.02.2018
23:52:07
хотя были попытки))

Александр
24.02.2018
23:54:19
не нравяться стандартные таймеры, просто пишите таймштамп и проверяйте его руками в Garbage

The
24.02.2018
23:56:27
ну я пробежался по той либе, бегло (т.к. ночь), но в целом, она блочит при очистке мапу. А если мапу нужно чистить часто, то это плохо. Хотя, в реальных условиях мапа которая чистится часто вряд ли понадобится, по крайней мере сходу я не придумал такого. ну чтобы прям раз в секунду её чистить. разве что если куча всяких новых вариантов приходит в неё. ну можно ещё шардить мапы, вроде это тоже вариант.

Marlik
25.02.2018
00:04:09

Slava
25.02.2018
00:28:29
Ходите по лезвию бритвы прям ;)

Мерлин
25.02.2018
06:12:09
С есть уже видео с митапа?

Илья
25.02.2018
07:29:24
Graphql?
Будет, сейчас его побратим jsonapi http://jsonapi.org/format/
Странно нынче видеть сайты без секьюрного доступа

Google

Artem
25.02.2018
07:58:52

Stanislav
25.02.2018
07:59:39

some_random_anonymous
25.02.2018
08:00:07
Вдруг узнают ещё что Go использует
Посадят

Илья
25.02.2018
08:00:22
https://www.securitylab.ru/blog/personal/bezoblog/340077.php

Admin
ERROR: S client not available

Stanislav
25.02.2018
08:00:38
И какого-то Джейсона. А вдруг заложник ???

Hokusai
25.02.2018
08:08:04

Илья
25.02.2018
08:17:09

Hokusai
25.02.2018
08:17:44

Oleg
25.02.2018
09:51:20
микросервис должен ждать запуска другого микросервиса. Кто как делает?
пишутся на го, живут в кубере

Artem
25.02.2018
09:52:00
https://www.securitylab.ru/blog/personal/bezoblog/340077.php
странно нынче видеть ссылки заканчивающиеся на *.php... ну а вообще я не совсем понял зачем тут статья направленная на пдообных пользователей
> В среде веб-мастеров, SEO-специалистов и простых пользователей сети
но вот это мне понравилось
> Версия конспирологическая: Google в сговоре с удостоверяющими центрами и имеет % от продажи SSL-сертификатов (да, они обычно не бесплатные).
?

Valentin
25.02.2018
09:56:17
Вообще consul решает такие проблемы

Nik
25.02.2018
09:57:25

Alexander
25.02.2018
10:01:53
А кто-то использует https для микросервисов?

Valentin
25.02.2018
10:01:57
API по днс протоколу есть

Alexander
25.02.2018
10:02:13
Дикие люди...

Google

Valentin
25.02.2018
10:02:39
После скандалов с программой PRISM не удивительно

Artem
25.02.2018
10:35:51
@m0sth8 а нет случайно где то слайдов публичных к докладу "Опыт применения Go в Dropbox" ?
уже нашел
https://www.slideshare.net/codefest/ss-60115203?ref=https://2016.codefest.ru/lecture/1068

Pawel
25.02.2018
10:45:59
dgryski/go-expirecache тоже надо тряпками за питонизмы в стиле `Get(k string) (item interface{}, ok bool)`Не надо так делать никому

Daniel
25.02.2018
10:58:39
или interface{}, или кодогенерация
есть места, где без interface{} никак
и как раз на этих местах возникает вопрс "где же генерики"
но мест таких довольно мало
поэтому генериков не будет

Pawel
25.02.2018
11:05:57
конекретно для тухнущих кешей кодогенерация вполне сойдёт кмк

Daniel
25.02.2018
11:06:59
конечно

25.02.2018
11:22:03
Для Go есть обфускаторы?))

Dibro
25.02.2018
11:22:35

25.02.2018
11:23:29

Kirill
25.02.2018
11:45:28

Artem
25.02.2018
11:48:38