
Vladimir
15.01.2017
15:55:09
Там есть в репе описание более подробное
https://github.com/google/fchan-go/blob/master/writeup/writeup.md

Roman
15.01.2017
16:40:03
Я снова про мапы: а зачем их лочить на чтение?

Google

Serge
15.01.2017
16:43:58
А ты код то мутексов почитай

Phil
15.01.2017
16:44:27

Roman
15.01.2017
16:44:27
Но я пока не понимаю как связаны мьютекс и мап

Kirill
15.01.2017
16:45:54

Phil
15.01.2017
16:46:22

Kirill
15.01.2017
16:46:40

Roman
15.01.2017
16:48:15

Phil
15.01.2017
16:53:28
Но вообще Серега правильно сказал - надо код пойти почитать. Скажи мне, откуда ты про блокировку чтения, я пойду прочту код. Могу вслух
Пойду замаливать грехи. Я сказал, что @lig11 что-то правильно сказал.

Roman
15.01.2017
16:55:19

Phil
15.01.2017
16:58:54

Google

Phil
15.01.2017
17:02:03
С Go 1.6+, если ты не залочишь и начнешь беспорядочно читать/писать, рантайм будет принудительно крашить программу

Kirill
15.01.2017
17:34:37

Vlad
16.01.2017
07:14:23
Доброго утра
есть алиас на тип type ID int64
Как его проинициализировать?

Maxim
16.01.2017
07:15:28
В коде пакета os я обнаружил назначение константы в таком виде:
ModeType = ModeDir | ModeSymlink | ModeNamedPipe | ModeSocket | ModeDevice
Как это работает? Я ранее такого не встречал. о_0

Антон
16.01.2017
07:17:30
битовое ИЛИ над константами, которые определены чуть выше

Serge
16.01.2017
07:19:11
The Go Programming Language Specification - The Go Programming Language
https://golang.org/ref/spec#Arithmetic_operators

Maxim
16.01.2017
07:19:32
Оу
Окей
Честно - впервые за год такое увидел

Serge
16.01.2017
07:21:12

Maxim
16.01.2017
07:22:10
Ага, кажется что-то начинаю понимать.

Serge
16.01.2017
07:22:20

wuzzapcom
16.01.2017
08:22:14
Всем привет
Можно попросить у вас помощи с раскуриванием Rest API?
В общем я хочу написать кусок кода, который будет, например, пользоваться ulr shortener`ом от гугла
Без библиотек-оберток и прочего, чисто на http протоколе
Нагуглить какой-либо вразумительный гайд, который отвечает на мои вопросы, я не смог, читать код гугловской библиотеки-обертки тоже непросто, потому что он сгенерирован автоматически и потому что они используют пачку внешних библиотек, а для понимания хочется только стандартной библиотеки го
В общем было бы очень мило, если бы кто нибудь написал простую функцию, которая делает именно это - берет библиотеку http, нафигачивает туда заголовков нужных(или создает json), отправляет его по апи, потом получает обратно ответ, читает(или распарсивает json) и выводит ответ

Daniel
16.01.2017
08:29:22
погоди
во-первых, таких примеров полный интернет
во-вторых, заходить надо от задачи, а не от реализации
и, в-третьих - тебе точно нужен рест?

Roman
16.01.2017
08:30:59

dypa
16.01.2017
08:31:02
"В общем было бы очень мило, если бы кто нибудь написал простую функцию" за много $$$ как я понимаю?

Google

wuzzapcom
16.01.2017
08:31:28
Ну я не очень хорошо владею гуглом, это да :D
Ну вот у меня есть задача - заюзать вот эту штуку и получить короткую ссылку https://developers.google.com/url-shortener/v1/getting_started
И если я не ошибаюсь, то это должен быть рест, разве нет?

Roman
16.01.2017
08:31:28
Просто все делают рест потому что хайп

Daniel
16.01.2017
08:31:55

wuzzapcom
16.01.2017
08:32:47
Я на этом предположении и сделал предположение, что это тоже рест :D
Просто все делают рест потому что хайп
Вообще если кто нибудь скинет ссылочку на статью с примерами чего то похожего, или просто на код, то тоже будет классно
Я пока столкнулся с несколькими проблемами - по http запросу, состоящему из ключа авторизации и longUrl, мне возвращается ошибка(такую структуру взял из гайда гугла)
Если делать на самом го, то не очень понятно, как разворачивать вложенную структуру ответа сервера через newDecoder

Daniel
16.01.2017
08:49:12
не надо срезать углы
надо сесть и разобраться

Phil
16.01.2017
09:01:52

Судзумия
16.01.2017
09:02:29
Хайп на рест прошёл лет так десять назад

Daniel
16.01.2017
09:02:44
не прошел, похоже

Phil
16.01.2017
09:06:40
Вы так говорите, как будто бы это плохо. Вот хайп на xmlrpc это был пиздец

Daniel
16.01.2017
09:08:11
а я вот не согласен
я тут поизучал вынужденно вопрос, и ответственно заявляю: по сравнению с xml все остальные форматы - недоформаты

Судзумия
16.01.2017
09:10:27
xpath -- дар богов

Daniel
16.01.2017
09:11:27
и, кстати, у go штатный парсер xml очень адекватный
прям вот как я люблю

Phil
16.01.2017
09:18:10

Roman
16.01.2017
09:18:33

Google

Phil
16.01.2017
09:20:52

Daniel
16.01.2017
09:20:58
ну не совсем так

Phil
16.01.2017
09:21:31

Roman
16.01.2017
09:22:13

Phil
16.01.2017
09:23:33
Я в 2002 году пися, пиша, разрабатывая панель управления петерхоста почему-то решил делать шаблоны страничек на XSLT. Книжки в магазине перепутал и купил про SGML. Не дочитал, она была дурацкая, я вообще ее выбросил. Но звто я знаю такое слово и откуда уши растут

DreamingKitten
16.01.2017
09:41:29
протобуферы наше фсё

Admin
ERROR: S client not available

Roman
16.01.2017
10:23:48

Судзумия
16.01.2017
10:24:36

Alexey
16.01.2017
12:26:25
Тебе больше не придется искать себе заказы и общаться с клиентами, мы сделаем это за тебя! Заполни анкету и жди сообщения от наших менеджеров с пометкой #ROCKETECH
https://job.typeform.com/to/I5QJ3e

i
16.01.2017
12:35:10
Работа в typeform?

dypa
16.01.2017
12:36:27
нет конечно, мелкая студия решила набрать удаленных гребцов по цене меньше рынка

i
16.01.2017
12:39:35
если это ROCKETECH, то портфолио у них на лэндинге не айс

Roman
16.01.2017
12:55:06

Maxim
16.01.2017
13:17:38
Продолжая историю со своей файлопомойкой...
Короче, я юзаю Bolt для хранения данных о файлах. Ужал всю запись до одной пары: FileID=OriginalFileName
Ежеминутно прохожусь пакетом filepath.Walk по директории с файлами и проверяю свойство "дата изменения" файла. Если время "дата изменения + 24 часа" меньше текущего времени, то файл удаляется после удаления записи в БД.
Вопрос теперь как мне отдавать файл нормальным именем, если я его сохраняю при загрузке с переименовыванием в его уникальный ID для исключения случайной перезаписи.

Google

corpix
16.01.2017
13:21:56

Maxim
16.01.2017
13:22:49
И, как бэ, если файл ещё существует, то он открывается внутренностями в браузере, а не предлагает куда-то его сохранить.

DreamingKitten
16.01.2017
13:25:13
ну так для этого диспозиция и нужна
она может зафорсить сохранение, даже если браузер думает что смог бы отрендерить контент на себе

Maxim
16.01.2017
13:26:15
Хм... Как бы тогда это имплементировать через Gin...

@proDOT
16.01.2017
13:35:16

Maxim
16.01.2017
13:38:49
Ага, нашёл c.Header(key, value). Т.е., мне нужно вбить:
c.Header("Content-Disposition", fmt.Sprintf("attachment; filename=\"%s\"", file.Name))?

DreamingKitten
16.01.2017
13:39:30
похоже на то

Roman
16.01.2017
13:44:17

DreamingKitten
16.01.2017
13:45:37
ничо страшного, партов в мультипарте может быть даже один )

Serge
16.01.2017
13:58:04

Maxim
16.01.2017
13:59:08

Serge
16.01.2017
13:59:49
ну все равно, можно обеспечить уникальность пути с сохранением имени файла средствами fs

Maxim
16.01.2017
13:59:52

Serge
16.01.2017
14:00:29

Maxim
16.01.2017
14:01:14

Serge
16.01.2017
14:01:20

Maxim
16.01.2017
14:01:47

Serge
16.01.2017
14:01:59
ой всё. какой-то клуб костылей в условиях ограниченных возможностей...