@gogolang

Страница 1330 из 1630
F01134H
31.08.2018
12:26:10
Ребяты, в чем может быть проблема, компилю приложуху под alpine linux, но при запуске выдает __fprintf_chk: symbol not found

Dorian
31.08.2018
12:26:14
https://habr.com/company/oleg-bunin/blog/418977/
Хороший доклад, интерсный

F01134H
31.08.2018
12:26:19
на минте норм работает

Dorian
31.08.2018
12:26:21
Люблю их доклады

Google
F01134H
31.08.2018
12:28:50
Aleksandr
31.08.2018
12:29:08
на минте норм работает, если скомпилить там же?

F01134H
31.08.2018
12:29:20
да

мне нужно на минте сейчас скомпилить под алпайн

Daniel
31.08.2018
12:29:37
коллеги

я вот этого всего не понимаю

Aleksandr
31.08.2018
12:29:44
вкратце: компиль в убунте/дебиане.

подробности щас поищу

Daniel
31.08.2018
12:30:11
вот я под маком своим компиляю, и оно норм запускается, хоть под убунтой, хоть под алпайном

Aleksandr
31.08.2018
12:30:13
https://dominik.honnef.co/posts/2015/06/statically_compiled_go_programs__always__even_with_cgo__using_musl/

Mykyta
31.08.2018
12:30:36
на альпине мюсль вместо glibc, откуда постоянно проблемы вылазят

F01134H
31.08.2018
12:31:01
О, всем спасибо

Google
F01134H
31.08.2018
12:31:02
починил

Aleksandr
31.08.2018
12:31:04
угу. на alpine надо комплить тогда, когда и запускать там же будешь

F01134H
31.08.2018
12:31:07
скомпилил с муслом

many-faced
31.08.2018
12:34:24
народ, подскажите, Как сделать sql запрос правильно на truncate table, если в функции название таблицы меняется? queryString := "TRUNCATE TABLE $1 RESTART IDENTITY;" tx.Exec(queryString, table) Выдаёт pq: syntax error at or near "$1" то есть он видимо понимает подстановку только из VALUES($1,$1...)

Aleksandr
31.08.2018
12:35:11
просто сконкатенируй

у тебя же table не извне приходит?

many-faced
31.08.2018
12:36:26
table приходит в функцию, которая транкейтит. Сконкатенировать - работает. Я думал может можно через подстановку параметров как-то

Aleksandr
31.08.2018
12:36:49
ну так ты же их и подставляешь, но не работает)

many-faced
31.08.2018
12:37:12
я думал, "есть способ"

DMITRY
31.08.2018
12:39:25
Недавно тоже столкнулся что в альпайне С библиотеки порезаны

Причем даже если под ним скоипилиться не факт потом что норм запуститься

Антон
31.08.2018
12:40:55
Потому что в плейграунде по умолчанию время в utc
Вернулся к компу, проверил там по-умолчанию что в плейграунде, что нет, будет Local, если явно не указывать таймзону

Andrei
31.08.2018
13:18:57
Вернулся к компу, проверил там по-умолчанию что в плейграунде, что нет, будет Local, если явно не указывать таймзону
и правда нет простого пути вытащить из стандартной либы оригинальные названия тайм зон

Антон
31.08.2018
13:21:56
именно поэтому я написал сюда свой вопрос и именно поэтому заострил внимание на ваших язвительных замечаниях о простоте решения этого вопроса через гугление

Andrei
31.08.2018
13:23:41
именно поэтому я написал сюда свой вопрос и именно поэтому заострил внимание на ваших язвительных замечаниях о простоте решения этого вопроса через гугление
ну сторонних либ, которые решают этот вопрос я тоже не нашел, так что хотелка очень экзотическая чем не подходят сокращения названий тайм зон, которые выдает стандартная либа?

Антон
31.08.2018
13:25:01
мне нужно указать параметр loc при коннекте к mysql, чтобы он парсил время в структуры в правильной таймзоне а этот параметр должен выглядить именно как полное название таймзоны

Andrei
31.08.2018
13:27:09
мне нужно указать параметр loc при коннекте к mysql, чтобы он парсил время в структуры в правильной таймзоне а этот параметр должен выглядить именно как полное название таймзоны
передавайте извне параметром, а еще лучше, кидайте в мускуль UTC и все даты в коде тоже принудительно переводите в UTC ну по крайней мере я бы так сделал и не парился бы

Антон
31.08.2018
13:28:26
это понятное решение, но если случайно в каком-то месте забыть к time.Now() добавить .UTC(), потом долго можно искать ошибку

Andrei
31.08.2018
13:28:30
ну или напишите свою либу, которая будет парсить системный файл с таймзонами и на его основе определять имя локальной

Google
Andrei
31.08.2018
13:29:32
код парсинга можно взять из стандартной либы time, там уже все написано, только не экспортированно

Aleksandr
31.08.2018
13:32:32
а что надо, из текущей таймзоны получить название вида Europe/Moscow?

Aleksandr
31.08.2018
13:34:08
а есть понимание, что Europe/Moscow - это географическая временная зона и при том же локальном времени будет другой в другом городе?

то есть из локальной зоны (а это оффсет) нельзя получить Europe/Moscow без дополнительного гео-контекста

можно получить например все зоны которые принадлежат оффсету. и выбрать например первую

Andrei
31.08.2018
13:37:03
и знает в какой он находится из системных настроек

Aleksandr
31.08.2018
13:37:20
оффсет. но оффсет однозначно на зону не маппится

из зоны можно получить оффсет. из оффсета нельзя получить зону.

Andrei
31.08.2018
13:38:09
ну так у тебя в системе настраивается зона, а не просто оффсет

и го знает эту зону, но полное название в терминах https://www.iana.org/time-zones не умеет отдавать

Aleksandr
31.08.2018
13:39:07
ну так у тебя в системе настраивается зона, а не просто оффсет
у меня может. а го твоя зона не нужна - он работает с системным временем

Andrei
31.08.2018
13:46:11
у меня может. а го твоя зона не нужна - он работает с системным временем
zonename, offset := time.Now().Zone() fmt.Printf("%s, %d", zonename, offset) возвращает MSK, 10800 на моей машине

Aleksandr
31.08.2018
13:46:55
Andrei
31.08.2018
13:46:57
откуда то го узнал, какая у меня таймзона

Aleksandr
31.08.2018
13:48:14
или не нулевая а последняя

time/zoneinfo_read.go:217

вот тут (если версия 1.11)

Alexander
31.08.2018
13:53:10
Всем привет! Есть ли тут разработчики с опытом в рекламных высоконагруженных проектах?

Google
Roman
31.08.2018
13:54:07
https://cs8.pikabu.ru/post_img/2016/12/07/6/148110077516849805.jpg
предлагаешь решить её на Go?

Admin
ERROR: S client not available

Dmitry
31.08.2018
13:54:46
предлагаешь решить её на Go?
отличная задача для соискателей)

Andrei
31.08.2018
13:55:20
или не нулевая а последняя
для первоначального вопроса не важно на самом деле, главное го умеет как то определять текущую таймзону, но отдает ее название в своем сокращенном варианте, а оригинальные полные названия получить нельзя

Александр
31.08.2018
13:55:30
эй

а что с pro.go то?

Alexander
31.08.2018
13:55:48
да, в сфере баннеров Таргет отдачи рекламы по странам, девайсам с минимальными задержками Статистика на ClickHouse с шардированием и прочее

Aleksandr
31.08.2018
13:57:01
а что с pro.go то?
у тебя со вчерашнего дня затмение?

Uncle Ben's
31.08.2018
14:03:15
Народ, может кто объяснить почему по ссылке в ответе чувак говорит, что int64 это именованный тип? int это же литерал типа? https://stackoverflow.com/questions/36555352/why-does-golang-allow-named-slice-type-assignment-without-explicit-type-conversi

Andrei
31.08.2018
14:11:06
согласен. вот можно готовым маппингом воспользоваться https://github.com/tkuchiki/go-timezone/blob/master/timezone.go
статикой пользоватся не прикольно, оно же быстро протухнет в стандартной либе маппинг генерится на основе системного файла, вот этот бы код переиспользовать

Andrei
31.08.2018
14:12:54
успехов, как говорится)
в данном случае, не мне)

Google
Aleksandr
31.08.2018
14:13:06
всем)

Wingman
31.08.2018
14:20:51
А посоветуйте плз. Есть у меня штука, вынесенная в отдельный сервис: она будет ходить по различному оборудованию и собирать с него кучу самых разнообразных данных. В результате - структурированные однообразные ответы, либо ошибка. В неё пулять задание (объекты для обхода) будет какая-то другая штука. Так вот, думаю я о том, как и что лучше сделать: делать http(s)-запрос с нужными параметрами, и ждать ответ, либо поднимать tcp-сессию и гонять туда-обратно нужные данные. Учитывая, что опрос одной железки может и на 5-10 минут затянуться, а таких задания может быть несколько тысяч в течение 5 минут - оверхед (в смысле сложности) с сокетами и своим мини-протоколом может быть оправдан...

DMITRY
31.08.2018
14:23:24
если веб то может проще websocket

Wingman
31.08.2018
14:31:33
Не веб

Лемур
31.08.2018
14:35:07
А посоветуйте плз. Есть у меня штука, вынесенная в отдельный сервис: она будет ходить по различному оборудованию и собирать с него кучу самых разнообразных данных. В результате - структурированные однообразные ответы, либо ошибка. В неё пулять задание (объекты для обхода) будет какая-то другая штука. Так вот, думаю я о том, как и что лучше сделать: делать http(s)-запрос с нужными параметрами, и ждать ответ, либо поднимать tcp-сессию и гонять туда-обратно нужные данные. Учитывая, что опрос одной железки может и на 5-10 минут затянуться, а таких задания может быть несколько тысяч в течение 5 минут - оверхед (в смысле сложности) с сокетами и своим мини-протоколом может быть оправдан...
Сделайте асинхронную очередь. На сервисе который выдаёт задачи - отправить задачу и периодически пинговать статус. На сервисе который выполняет - принять и поставить в очередь на обход, сохранить статус у себя

Wingman
31.08.2018
14:35:44
Примерно так и хочу, но вопрос в том, стоит ли это делать поверх хттп)

Лемур
31.08.2018
14:36:20
Wingman
31.08.2018
14:36:27
если с постоянной сесией - то и "пинговать задачу" не надо - просто пулять результаты обратно

Какое количество запросов между сервисами?
думаю, до нескольких тысяч в минуту

Лемур
31.08.2018
14:36:59
думаю, до нескольких тысяч в минуту
Тогда лучше вебсокеты, чтобы коннект заново не поднимать

DMITRY
31.08.2018
14:37:00
Проще взять тогда готовые брокеры сообщений и подрубиться библиотекой

Страница 1330 из 1630