
Daniel
16.01.2018
09:47:46
длина пустого массива - 0
и длина нулевого массива - 0

Александр
16.01.2018
09:48:37
скорее всего он не пуст, а там один элемент, если Statuses массив строк, то там одна пустая строка
https://play.golang.org/p/0YjdtwsXcMg

Google

Alexander
16.01.2018
09:49:49

Александр
16.01.2018
09:49:54
ссорь
исправил

Alexander
16.01.2018
09:50:17
??

Nikolay
16.01.2018
09:51:46
чуваки, а из-за чего файл pprof может получаться размером 0? Даже при graceful завершении.
if *cpuprofile != "" {
f, err := os.Create(*cpuprofile)
if err != nil {
logger.Error.Println(err)
return
}
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()
defer f.Close()
}

Alexander
16.01.2018
09:54:09
)))

Demuz
16.01.2018
09:56:34

Alexander
16.01.2018
09:57:10
если pprof это пакет, то не юзал) если это ты что-то описал, то по коду в StartCPUProfile видимо запись происходит, отдебаж и посмотри... ну и мб там где-то ошибка о perms на запись а ты не в курсе

Александр
16.01.2018
09:57:32
@Demuzx посмотрите пример. По умолчанию элементам новой переменной массива изначально присваиваются
нулевые значения типа элемента. Для строк это ""
https://play.golang.org/p/0YjdtwsXcMg

Google

Demuz
16.01.2018
09:57:59

Nikolay
16.01.2018
09:58:06

Alexander
16.01.2018
09:59:21

Nikolay
16.01.2018
09:59:52

Alexander
16.01.2018
10:00:06
а че за ос?
винда?

Nikolay
16.01.2018
10:00:27
линух

Alexander
16.01.2018
10:01:02
всем привет есть интерестная задача, на знание синтаксиса и возможностей golang. Возможно вам будет интерестно решить https://play.golang.org/p/Jp29NP8CiBO

Alexey
16.01.2018
10:02:03
https://habrahabr.ru/company/gopherconru/blog/346732/

Demuz
16.01.2018
10:02:13

Alexander
16.01.2018
10:03:00

Nikolay
16.01.2018
10:03:15
но вообще это не должно на что-то влиять

Alexander
16.01.2018
10:03:43
‘’’
var cpuprofile = flag.String("cpuprofile", "", "write cpu profile to file")
func main() {
flag.Parse()
if *cpuprofile != "" {
f, err := os.Create(*cpuprofile)
if err != nil {
log.Fatal(err)
}
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()
}
...
‘’’
блин с телефона ушербно писать
https://blog.golang.org/profiling-go-programs

Nikolay
16.01.2018
10:06:20
у меня так и написано

Alexander
16.01.2018
10:08:15
у тебя close может вызывать раньше StopCPUProfile
поменяй их местами

Google

Nikolay
16.01.2018
10:09:04
уже заметил, да. Ничего не поменялось.

Alexander
16.01.2018
11:56:09

Nikolay
16.01.2018
11:56:32
спасибо за помощь

Alexander
16.01.2018
11:57:00
ок)

Demuz
16.01.2018
12:05:40

Konstantin
16.01.2018
12:08:55
а зачем указатель на слайс ? он вроде и так не по значению передается

Demuz
16.01.2018
12:14:33
Спасибо. помогло.

Marlik
16.01.2018
12:19:46

Александр
16.01.2018
12:20:19
это рест который будет внутри крутиться, и там получается по 4 роута на сущность
потому что CRUD

Marlik
16.01.2018
12:25:33
А поподробней можно, а то есть всякие варианты, json юзать или православный graphQL?

Александр
16.01.2018
12:26:01
до graphQL не доросли пока ?

Marlik
16.01.2018
12:29:51
Я прост, тоже над чем-то таким подумываю, например Users, Posts, Likes, Comments, и если это всё обвешивать роутами, жирно получается.
А если часть работы перенести на фронт, то попроще буит.

Александр
16.01.2018
12:36:24
ну это смотря какая задача
иногда попроще не получится

Nikolay
16.01.2018
12:40:21
православный json-rpc или grpc

Dmitry
16.01.2018
12:43:03

Google

Nikolay
16.01.2018
12:44:00
а что в этом плохого?

Dmitry
16.01.2018
12:46:10
получается например так - моргнула сетка,
ты отсылаешь Close() а он не блокирующий (оно там вниз в физику по сигналу пытается проволиться) в итоге пишешь свой пул :)
+ у них там свои магические константы и ретраии - в итоге получается что лог забит сообщениями о том что оно пытается востановить коннект столетней давности.

Nikolay
16.01.2018
12:50:03
ну так у тебя в любой системе будут такие проблемы, разве нет?
даже тупо в zeromq

Dmitry
16.01.2018
12:50:19
да, но я хочу обрабатывать их сам, не?

Admin
ERROR: S client not available

Nikolay
16.01.2018
12:50:27
но зачем?
ты напишешь лучше, чем гуглеры?

Dmitry
16.01.2018
12:51:06
1. у гуглеров не хватает время для того чтобы сделать это нормально, в этом месте в исходниках TODO
2. гуглеры делаю generic

Nikolay
16.01.2018
12:51:33
1. Законтрибуть
2. Законтрибуть

Dmitry
16.01.2018
12:52:44
есть малое и большое зло, то что подходит мне не подходит соседу. это как делать одно ядро на котором будут мобильники и сервера работать

Nikolay
16.01.2018
12:54:14
но оно же так и работает...

Alexander
16.01.2018
13:18:45
а нафига ты передаешь массив по ссылке?
он же и так сам по себе через ссылку работает

Demuz
16.01.2018
13:28:57

Alexander
16.01.2018
13:32:03
если ты хочешь добавить элементы то можно по ссылке передать, и сслылку править

Google

Alexander
16.01.2018
13:32:48
а если местами поменять то не надо
то есть append(a, "2") без ссылки не прокатит, но обычно в таких случаях этот массив возвращают
посмотри на пакет sort
внутри

Demuz
16.01.2018
13:33:56
А если неизвестно количество элементов в массиве?

Alexander
16.01.2018
13:34:10
там нет ссылок чтобы сортировать массивы/слайсы

Demuz
16.01.2018
13:34:44
Мне же не сортировать, а реверсить. Хорошо. Позже попробую.

Alexander
16.01.2018
13:34:54

Marlik
16.01.2018
13:35:59
Хот релоад своей приложухи кто-нить делал? С сохранением всех состояний, всех запросов?

Demuz
16.01.2018
13:36:16

Marlik
16.01.2018
13:37:59
Миграцией БД кто-нить увлекался?

Alexander
16.01.2018
13:38:55
с миграциями работал в php symfony, на go использую пакет gorm в качестве ORM и там есть автомиграции

Marlik
16.01.2018
13:41:41
Нет конечно, не вручную. К примеру у тебя веб-сервер, на нём висят клиенты, а тебе в БД нужно изменения сделать, добавить таблиц или ещё что, при чём не заметно это нуно сделать.

Alexander
16.01.2018
13:43:12
Так сейчас почти все ORM миграции поддерживают