
Quet
21.01.2017
14:32:59
any sufficiently complicated transfer protocol contains an ad hoc informally-specified bug-ridden slow implementation of half of HTTP )

Den
21.01.2017
14:43:43
Studio Code под Ubuntu кто нибудь использует? Как решили проблему тонких шрифтов?

Roman
21.01.2017
14:44:38

Phil
21.01.2017
14:49:02

Google

Denis
21.01.2017
15:03:25
мозилла в ночных билдах завезла контейнеры для табов
удобно переключаться между вкладками по работе и обыденной фигней
а то вечно всего под сраку в одном окне
https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers
у них на вин версии есть режим бета тестера, и там много классных ништяков, в том числе встроенный адблокер, попап видео и пр

Roman
21.01.2017
15:10:44

Phil
21.01.2017
15:11:12

Berkus
21.01.2017
15:24:21
может multipart/form-data придти в посте, может чанкед, а может вообще www-urlencoded
зачем изобретать хттп действительно если он уже есть

Roman
21.01.2017
15:25:38

Berkus
21.01.2017
15:26:25
на самом деле старый прототип http/2 (quic) через udp был веселее в этом плане - с 0 rtt connection
там можно и без персистентности просто пулять файлы сразу вместе с первым фреймом коннекта

Morran
21.01.2017
15:51:21

Denis
21.01.2017
16:15:28
https://github.com/golang/go/issues/18721

Maxim
21.01.2017
17:09:23
Ну вот я смотрю я net/http на тему стриминга и не знаю даже насколько он эффективен
Да и по структуре, по моему, он практически от fasthttp не отличается. Просто раз echo выплёвывает http.Request, то на его основе стриминг и берём, а если самому реквест собирать, то почему бы и не fasthttp, собсно. Только применять как?

Google

Denis
21.01.2017
17:12:10
ты задачу лучше опиши, а то тут бывает люди используют одни термины, а подразумевают другое :)

вз
21.01.2017
17:12:38
этопроизошло после того как я запустил виртуалку на винде, а потом у меня комп повис
и теперь курсор в лине также подлагивает как и вирталке до этого
ку кто знает че с курсором
тяжело нарисовать ровный круг, дергаеться немного
с другой мышкой тоже самое

Maxim
21.01.2017
17:14:14
После перезагрузки сервака наплодились штук 20 копий докеров из 5 настоящих, вот и тормозило страшно. Даже автодополнение лагало. Пришлось срочно убивать все процессы докеров и чистить дубли.

вз
21.01.2017
17:30:11
вопщим оно даже в биосе лагает, а с другой мышкой норм. видимо с мышкой дело. завтра пойду новую брать

Kirill
21.01.2017
17:53:21

Maxim
21.01.2017
17:53:40

Kirill
21.01.2017
17:53:48
да я читал

Maxim
21.01.2017
17:58:41
да я читал
Вот я когда углубился в сурцы - увидел что и там, и там стриминг вроде как есть. И вроде даже одинаковый по структуре. Правда я ещё не применял, хотя мне надо (но я гуглю).

Roman
21.01.2017
18:03:51
я хочу то что льётся на меня писать на диск
https://github.com/creack/gosplice

Kirill
21.01.2017
18:17:00

Maxim
21.01.2017
18:27:22
угу.
Что из себя представляет стриминг через эту функцию?
Чисто механически.

Kirill
21.01.2017
18:35:33
да нет там механики, по большому счету. просто регистрируешь StreamWriter, а там уже разбираешься с запросом так, как тебе нужно. можно zero-alloc запись на диск сделать, например.

Google

Maxim
21.01.2017
18:37:16

Kirill
21.01.2017
18:38:13
конечно, но он не при достижении лимита, а просто пихает в то, что ты зарегал

Maxim
21.01.2017
18:46:19

Kirill
21.01.2017
18:47:22
с echo. о нем я ничего не скажу.

Maxim
21.01.2017
18:48:07

Kirill
21.01.2017
18:48:47

Maxim
21.01.2017
18:49:13
.
Там банально через пакет net/http

Kirill
21.01.2017
18:49:38
а я говорю о fasthttp, который работает иначе.

Maxim
21.01.2017
18:50:01
А в коробочной такого нет?

Kirill
21.01.2017
18:50:48
что-то такое вроде было, я уже не помню. в echo скорее всего можно в его конфигах лимитировать размер body


Maxim
21.01.2017
18:55:19
В одном из туторов вот какой абзац нашёл:
The function ParseMultipartForm takes the maxMemory argument. After you call ParseMultipartForm, the file will be saved in the server memory with maxMemory size. If the file size is larger than maxMemory, the rest of the data will be saved in a system temporary file. You can use r.FormFile to get the file handle and use io.Copy to save to your file system.
Как я понял, это тупо задаёт размер буфера, который можно забить без создания файла. Где тут стриминг в net/http пока понять не могу.
С весом, оказывается, "ларчик просто открывался". Благодаря c.Request().ContentLength можно получить размер/вес реквеста и на его основе сразу отсекать пустые и черезчур тяжёлые данные.
Только вот когда я попытался оборвать загрузку на половине, у меня консоль заела и начала спамить застывшее значение в логах, пока процесс не убил.
Этого можно как-нибудь мягко избежать и предварительно подчистить оборвавшуюся загрузку?


Andrew
21.01.2017
19:51:03

Maxim
21.01.2017
19:51:48

Andrew
21.01.2017
19:52:44

Google

Maxim
21.01.2017
19:54:44

Denis
21.01.2017
20:00:36

Quet
21.01.2017
20:02:02

Admin
ERROR: S client not available

Denis
21.01.2017
20:02:19
Это для стрима клиенту
Так ?

Quet
21.01.2017
20:02:26
это для того кто формирует респонс
а не для того кто его обрабатывает

Denis
21.01.2017
20:03:14
я об этом же

Roman
21.01.2017
21:44:54

Maxim
22.01.2017
02:05:10
32 << 20
Эт что значит? о_0

Roman
22.01.2017
02:15:01
@toby3d http://stackoverflow.com/questions/5801008/go-and-operators

Maxim
22.01.2017
02:21:02

corpix
22.01.2017
03:07:26
Конкретно по вопросу: это оператор сдвига

Maxim
22.01.2017
09:56:02

Vladimir
22.01.2017
10:05:52
Точнее не совсем математика

Артур
22.01.2017
10:06:31
Двоичная арифметика

Google

Vladimir
22.01.2017
10:07:00
Конкретно там - бери калькулятор с поддержкой двоичной системы и показа в нем
Например kcalc из кде под линуксом
Пиши 32
Переводи в двоичное
Получишь 100000
И сдвигай на 20

Maxim
22.01.2017
10:09:44
Я просто хотел вычислить лимит в 50мб
Потому что, насколько Я понял, Go несколько по другому считает байты/мегабайты

Vladimir
22.01.2017
10:10:37
Эм. Да как и все

Denis
22.01.2017
10:14:42
50 << 20
Твой лимит

Maxim
22.01.2017
10:27:43
50 << 20
Можно пошагово объяснить какие вычесления происходят?

Vladimir
22.01.2017
10:28:07
<< эквивалент умножению на два в соответствубщей степени