@proGO

Страница 1061 из 1674
Александр
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
Тем, что придётся занимать ещё по одному порту для сервисов
Ты хочешь 2 http сервера в одном приложении?

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

Arch
18.12.2017
15:08:55


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

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

Lucky
18.12.2017
15:11:07
похоже на диллему между pull и push моделью)
Не PUSH точно т.к. первый сервис не знает где второй и сколько их может быть, а все "вторые" подвязываются на первый.

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
телеграм у всех норм работает?
Айфон 8плюсь полет нормальный

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

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

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
Нормально писать int64 в http.ResponseWriter через fmt.Fprintf? Или лучше использовать что-то другое?
лучше ручками приводить, но без нагрузки можно и попроще

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
Только для жсонов

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

Demuz
18.12.2017
18:15:28
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

Александр
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
а для склонения есть либа? Итого у нас: 10 хомякОВ | 1 хомяк | 2 хомякА
Там же в одну строчку на js делается. function declOfNum(number, titles) { cases = [2, 0, 1, 1, 1, 2]; return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ]; }

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

Alexey
19.12.2017
07:23:04
а у нас канал по JS?
Ну всегда можно сделать микросервис на ноде и ходить в него за склонениями.

Demuz
19.12.2017
07:23:33
Ну всегда можно сделать микросервис на ноде и ходить в него за склонениями.
Человеку просто склонять нужно. Нахрена для этого еще что-то лишнее поднимать?

Alexey
19.12.2017
07:24:35
Человеку просто склонять нужно. Нахрена для этого еще что-то лишнее поднимать?
Камон, ну понятно же, что на го то же самое будет в 5 строчек, и переписать за минуту можно.

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

включая письменность древних инков

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

Demuz
19.12.2017
07:25:47
Камон, ну понятно же, что на го то же самое будет в 5 строчек, и переписать за минуту можно.
и что? теперь микросервис поднимать для этого? Это издержки компилируемых языков.

Google
Alexey
19.12.2017
07:26:13
?
19.12.2017
07:26:42
а у нас канал по JS?
Перепиши тот код на Go)

Александр
19.12.2017
07:27:01
Перепиши тот код на Go)
да капитан! держим курс

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
я спросил про ГОТОВЫЕ решения
https://github.com/chai2010/gettext-go это посмотри

Страница 1061 из 1674