@proGO

Страница 1048 из 1674
Den
11.12.2017
18:55:15
а, ну ок, спасибо

Dmitry
11.12.2017
21:05:32
Ищем толкового backend-разработчика на GO (GoLang). З/П почасовая: от $15/час (по результатам испыт.срока - 1 мес). Обязанности: • разработка бэкенда для мобильного приложения (мессенджер), поддержка и расширение функционала • написание тестов на свой код, оперативное исправление багов, составление документации на API • оптимизация производительности системы Требования и условия: • у вас есть портфолио и резюме • у вас НИЗКАЯ ЗАГРУЖЕННОСТЬ на основной работе или по другим проектам, для нас критично все делать быстро • у вас продолжительный опыт программирования на различных языках от 3 лет, на Go от 1 года • ОБЯЗАТЕЛЬНО работа не менее 2-3 часов в день - 20 часов в неделю • умение ставить задачи "на себя", самостоятельность • понимание серверной архитектуры, работа с кэшем, очередями, сокетами, Redis, докер, Posrgres • взаимодействие с удаленными сотрудниками через Slack, Telegram и Bitbucket Пишите в личку!

Slayer
12.12.2017
07:19:09
&BaseStruct{ DB: db,} подскажите, что за конструкция такая? Полю DB структуры базы, присваивается значение db?

Google
Slayer
12.12.2017
07:20:06
спасибо

Lucky
12.12.2017
13:35:20
r.Header.Get("Some") Подскажите, как отловить ошибку если Some не задан при отправке?

Александр
12.12.2017
13:36:05
проверить на ""?

там внутри пустая строка или значение

Lucky
12.12.2017
13:38:30
да я и так проверяю, но сервер выдаёт панику

Сейчас скрин дам



Паника на строке с ифом, да

Aleksandr
12.12.2017
13:48:02
ругается что?

я не вижу такой ошибки в коде go

Lucky
12.12.2017
13:48:33
panic: inconsistent label cardinality

Aleksandr
12.12.2017
13:49:12
я не вижу такой ошибки в коде go

Google
Aleksandr
12.12.2017
13:50:04
но она гуглится в контексте с прометеусом

Александр
12.12.2017
13:50:14
да там прометеус что-то чудит

Lucky
12.12.2017
13:50:17
Велп, да.

Vany
12.12.2017
17:58:40
type ⦃⦄ map[string]interface{} type 〚〛 []interface{} json.Marshal(⦃⦄{ "f1":〚〛[1,2,3] }) ?

Alex
12.12.2017
18:26:22
Товарищи, подскажите либу для генерации XLSX файлов? А то тут покдлючили одну, а она 2 гига жрет оперативы на генерацию файла в 2500 строчек и 100 столбцов (* 10 страниц). Или это норма?

Lev
12.12.2017
18:28:27
https://cs5.pikabu.ru/images/previews_comm/2015-11_1/144674206415989250.jpg

Andrew
12.12.2017
18:40:47
https://github.com/tealeg/xlsx это использовал для генерации, но отчеты сами по себе небольшие были @JWo1F

m2k
12.12.2017
18:41:06
эй

Юз кейс такой: есть игровой сервер, который жжет мейн луп со скоростью 20 тиков в секунду. Задача минимизировать случайные всплески от гц/хуй пойми чего

поняли о чём я?

надеялся что вы поймёте собрата





Alex
12.12.2017
18:49:08
Ой, посчитал, у меня 4000000 ячеек суммарно. Это если по 512 байт выделить на ячейку, то получается 1.9ГБ :) Видимо, это норма.

ultranoise ?
12.12.2017
18:53:19
тик это 1 шаг процессорного времени вы чоо

или это я уже путаюсь?

asterisk
12.12.2017
19:09:23
да

m2k
12.12.2017
19:38:10
20 тиков/сек – так много для Go, что надо срочно профилирование делать?

Hexwell
12.12.2017
19:41:22


Nikolay
12.12.2017
20:39:54
Уже есть juju

Google
Andrew
13.12.2017
05:23:54
Ой, посчитал, у меня 4000000 ячеек суммарно. Это если по 512 байт выделить на ячейку, то получается 1.9ГБ :) Видимо, это норма.
а xlsx это же xml самому не вариант его генерировать и сохранять каждый раз, не будет же столько оперативы по идее жрать?

Alexander
13.12.2017
05:47:37
а xlsx это же xml самому не вариант его генерировать и сохранять каждый раз, не будет же столько оперативы по идее жрать?
xlsx это zip архив с файлами в формате xml и довольно хреновой структурой (особенно от microsoft)

Andrew
13.12.2017
05:49:19
xlsx это zip архив с файлами в формате xml и довольно хреновой структурой (особенно от microsoft)
чтобы в zip дописать надо будет архив разворачивать или нет?

Alexander
13.12.2017
05:49:39
потом запаковать обратно и сохранить

Andrew
13.12.2017
05:50:36
ну тут смысл чтобы памяти меньше жрало, поэтому в память распаковывать не поможет

Alexander
13.12.2017
05:51:05
все равно через память распаковка (минимальный буфер все равно будет)

Alex
13.12.2017
07:47:54
Ну у меня файл на выходе 10мб макс. Так что его в память распаковать можно. Если это поможет избавиться от пожирания 2ГБ оперативы, то это круто. Только один момент - раскурить, как этот XLSX работает - тяжко. А чтобы он работал во всем зоопарке офисов еще тяжелее.

Alex
13.12.2017
08:03:05
А еще, как понимаю, придется отказаться от анмаршала XML и писать все ручками. Ибо он тоже память жрет будь здоров.

Alexander
13.12.2017
08:05:54
но есть нюанс по xml, goне может генерить то что хочет видеть ms office

там теги с :

проше либу сишную заюзать)

с всем необходимым

Alex
13.12.2017
08:16:17
лол

можно анмаршал сразу в io.Writer
не, мне нельзя вообще в памяти держать всю структуру. Хотел для каждой ячейки просто дописывать что-то в файл, который в оперативе. Без разноса по структурам и типам.

Alex
13.12.2017
08:19:29
но это изврат какой-то :) легче оперативы докупить ?

Google
ultranoise ?
13.12.2017
09:14:37
господа а есть чат для новичков?

ultranoise ?
13.12.2017
09:20:25
)))

мне нужно struct из байтов, [байтов] и уинтов записать в байтстринг

{ 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00} вот эту хрень в байтстринг

Admin
ERROR: S client not available

Alexey
13.12.2017
09:20:55
В крайнем случае в golang tour пошлют:)

ultranoise ?
13.12.2017
09:21:09
какой модуль мне покурить?

Alexey
13.12.2017
09:21:22
ultranoise ?
13.12.2017
09:21:34
чтобы было \0x00\0x01и тд — такого рода запись

Alexey
13.12.2017
09:21:50
fmt ещё

ultranoise ?
13.12.2017
09:22:06
fmt с такими аргументами посылает подальше)

мне кажется я вообще пока сильно не вкуриваю в то как в голанге устроены структуры данных

что все очень просто должно быть, а я тупо не шарю

Alexey
13.12.2017
09:25:30
Ну всю структуру никак не сделать так. Надо каждый элемент её по очереди так записывать. А потом сложить всё. А вообще, зачем такое могло понадобиться?

ultranoise ?
13.12.2017
09:31:26
каждая структура это имплементация бинарного протокола, записываем туда значение каждого поля и потом посылаем на удаленный сокет

удаленный сокет ждет строчку с байтами, разбирает ее по-своему, по своим слайсам

Alexey
13.12.2017
09:35:24
А удаленный сокет нельзя поправить?) Слать строки с номерами байтов немножко странно.

ultranoise ?
13.12.2017
09:35:32
увы, низя

нужно именно что сделать строчку байт и поэскейпать ее чтобы \0x нотация соблюдалась

Google
Alexey
13.12.2017
09:39:35
нужно именно что сделать строчку байт и поэскейпать ее чтобы \0x нотация соблюдалась
А можете показать урезанный пример структуры с данными (ну там чтоб пару элементов) и строку, которую надо получить?

ultranoise ?
13.12.2017
09:41:06
type myFancyProto struct { HD byte TL byte DATA uint8 }

допустим значения: 0, 1, 15

Alexey
13.12.2017
09:42:30
Т.е. "\0x00\0x01\0x15" ? А если слайс байтов, то как его длину указывать?)

ultranoise ?
13.12.2017
09:45:50
не, на той стороне уже не мой код и я соблюдаю спецификацию

а как там реализовано —- хз, мож там вообще даже на другом языке все

но наверное форматирование с "0x" не выход :D

?
13.12.2017
09:49:40
Language Health- Programming language health over time https://www.languagehealth.com/#Go,Java,PHP,Python

Alexey
13.12.2017
09:58:41
но наверное форматирование с "0x" не выход :D
А я не вижу другого выхода:) fmt.Sprintf("0x%q", photo.HD)

ultranoise ?
13.12.2017
09:58:54
ну, попробую)

я чет боюсь что щас когда напихаю живых данных ебнеца все

ну там тогда и разговор другой будет)

Subbotin
13.12.2017
10:08:53
это называется сериализация. пишешь сериализатор. func (data *DataS1) Marshal() []byte { var b = make([]byte, DataS1Length) binary.BigEndian.PutUint64(b[:8], data.ID) } ну одиночные байты можно пихать через b[номер байта] = data.TL

ultranoise ?
13.12.2017
10:27:42
думал об этом кстати

спасибо

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