
Александр
18.12.2017
14:58:02
случайно не то процитировал ?

Lucky
18.12.2017
14:58:07
Использовал кто лонгполинг в го, можно ли его совмещать с обычным ListenAndServe?

Александр
18.12.2017
14:58:40
ну смысл в том что когда делаешь user/handler и book/handler в одном main к ним только руками прописывать?

Google

Lucky
18.12.2017
15:00:29
Тем, что придётся занимать ещё по одному порту для сервисов

Aleksandr
18.12.2017
15:03:46

Ilya
18.12.2017
15:04:55

Lucky
18.12.2017
15:07:18
Вообще задача такая: есть сервис на котором происходят изменения данных. Второй сервис должен выкачивать эти изменения у первого если они происходят.
На данный момент я реализовал всё в лоб: раз в N секунд второй сервис ходит на отдельный хэндлер к первому и смотрит номер версии - если она выше, то он выкачивает данные, если нет - приходит заново ещё через N секунд.
Всё работает, но хочется сделать хорошо.

Arch
18.12.2017
15:08:55

Aleksandr
18.12.2017
15:09:00

Lucky
18.12.2017
15:09:50
Её хватает за глаза т.к. данные могут поменяться всего несколько раз в год, но при этом я буду дёргать сервис каждый день раз в 30 секунд.

Aleksandr
18.12.2017
15:10:45

Aleksandr
18.12.2017
15:10:55
а как часто будет рваться твой лонгполлинг?) я думаю все ок

Lucky
18.12.2017
15:11:07

Alexander
18.12.2017
16:35:50
телеграм у всех норм работает?

Igor
18.12.2017
16:36:52

Google

Kirill
18.12.2017
16:38:32
нет

Михаил
18.12.2017
16:41:25

Nick
18.12.2017
16:43:58
фсб прост не успевает читать, попросили помедленнее сделать

Kirill
18.12.2017
16:44:31

Alexander
18.12.2017
16:46:10
У кого лагает, попробуйте под процессором почистить, это кеш засоряется

Alexander
18.12.2017
16:46:57

Alexey
18.12.2017
16:50:23

Lucky
18.12.2017
17:29:37
Нормально писать int64 в http.ResponseWriter через fmt.Fprintf? Или лучше использовать что-то другое?

Aleksandr
18.12.2017
17:35:43

Lucky
18.12.2017
17:36:47
Планировал через w.Write() писать, но выходит плохо. Браузер ожидаемо не ест бинарник.
w.WriteHeader(http.StatusOK)
// b := make([]byte, 8)
// binary.LittleEndian.PutUint64(b, uint64(dataGlobal.Version))
// w.Write(b)
// if _, err := w.Write(b);

Aleksandr
18.12.2017
17:37:15
какая разница через что писать?
проблема какая?

Lucky
18.12.2017
17:39:16
Да просто рефачу. Подумал, что чего дёргать формат если есть способ просто int отправить. Но подходящий способ пока не нашёл.

Aleksandr
18.12.2017
17:41:13
ну а с кодом выше какая проблема?

Lucky
18.12.2017
17:51:08
На странице вместо обображение цифр предлагается скачать бинарник
BIN file (16 bytes) если точнее

Aleksandr
18.12.2017
17:53:56
полностью код приведи нерабочего хэндлера

Lucky
18.12.2017
17:55:19
Да хэндлер рабочий. Мне интересно на что можно заменить
fmt.Fprintf(w, fmt.Sprintf(`%d`, dataGlobal.Version))
, чтобы не делать лишний конверт в строку.

Aleksandr
18.12.2017
17:55:49
w.WriteHeader(http.StatusOK)
// b := make([]byte, 8)
// binary.LittleEndian.PutUint64(b, uint64(dataGlobal.Version))
// w.Write(b)
// if _, err := w.Write(b);

Google

Lucky
18.12.2017
17:57:22
Это тоже рабочий код, но возвращает в ответ на вызов хэндлера бинарный файл

Aleksandr
18.12.2017
17:57:38
полностью код приведи нерабочего хэндлера

Lucky
18.12.2017
17:58:43
Это и есть весь код
func VersionHandler(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
b := make([]byte, 8)
binary.LittleEndian.PutUint64(b, uint64(dataGlobal.Version))
w.Write(b)
if _, err := w.Write(b); err != nil {
log.Println(`[VersionHandler] ошибка при отправке номера версии: `, err)
}
}

Aleksandr
18.12.2017
17:59:48
зачем вообще такой код юзаешь? у тебя int64, тебе нужно в строку преобразовать, строку в массив байтов. это не то же что int64 в массив байтов
ParseInt юзай

Lucky
18.12.2017
18:06:54
BenchmarkFprintf-4 10000000 159 ns/op 55 B/op 2 allocs/op
BenchmarkWriteString-4 20000000 82.4 ns/op 63 B/op 2 allocs/op
Так и поступлю.

Alexey
18.12.2017
18:08:46

Lucky
18.12.2017
18:09:01
Только для жсонов

Aleksandr
18.12.2017
18:11:59

Demuz
18.12.2017
18:15:12
ParseInt юзай
Если в строку, иногда имеет смысл fmt.Sprintf("%v", число).

Demuz
18.12.2017
18:15:28

Aleksandr
18.12.2017
18:15:35

Demuz
18.12.2017
18:15:58
Когда у человека есть проблемы с преобразованием.
Мне например тот код проще понять было.

Aleksandr
18.12.2017
18:16:49

Demuz
18.12.2017
18:17:15
Меня такой вариант устраивает. Фактически, это не преобразование конечно. ?

Lucky
18.12.2017
18:18:45
Ну вот если измерять сферическими конями(wrk), то было 133к, а стало 140+к
Спасибо за наводку, вот

Google

Demuz
19.12.2017
07:11:03
Signal Sciences: помогает разработчикам сотрудничать со службой безопасности
Финансирование: $26,7 млн
Signal Sciences обеспечивают безопасность сайтов еще на стадии их создания, заранее выявляя слабые места и помогая разработчикам более эффективно сотрудничать со службой безопасности.
Вырезка из "20 стартапов, которые «выстрелят» в 2018 году".

Александр
19.12.2017
07:17:24
а для склонения есть либа?
Итого у нас: 10 хомякОВ | 1 хомяк | 2 хомякА

Admin
ERROR: S client not available

Alexei
19.12.2017
07:17:51

Александр
19.12.2017
07:18:35
для гоу?

Alexei
19.12.2017
07:19:09
go-gettext
gotext, gosexy/gettext

Александр
19.12.2017
07:19:43
жирноватая конечно

Alexei
19.12.2017
07:19:48
не помню уже, каким я пользовался

Alexey
19.12.2017
07:22:05

Александр
19.12.2017
07:22:23
а у нас канал по JS?

Demuz
19.12.2017
07:22:34

Alexey
19.12.2017
07:23:04

Demuz
19.12.2017
07:23:33

Александр
19.12.2017
07:23:34

Alexey
19.12.2017
07:24:35

Александр
19.12.2017
07:25:27
да я просто подумал что мало ли, готовое мощное для разных морфологий ?
включая письменность древних инков

Dmitriy
19.12.2017
07:25:39
А и действительно, зачем все эти лингвистические либы нужны, можно ведь в одну строчку на js

Demuz
19.12.2017
07:25:47

Google

Alexey
19.12.2017
07:26:13

?
19.12.2017
07:26:42

Demuz
19.12.2017
07:26:56

Александр
19.12.2017
07:27:01

Anatoliy
19.12.2017
07:27:17
а кто кстати где и как рулит своими микросервисами?:)

Александр
19.12.2017
07:27:18
я спросил про ГОТОВЫЕ решения

?
19.12.2017
07:27:35

Demuz
19.12.2017
07:27:57

Dmitriy
19.12.2017
07:28:14

Demuz
19.12.2017
07:30:46