
Panda
02.04.2018
11:29:55
А вообще, механическая клавиатура дает очень хороший буст в скорости набора

Alexander
02.04.2018
11:30:15

Demuz
02.04.2018
11:44:41
Офигенно. Спасибо большое. Покопаюсь в этом пожалуй.

Google

Demuz
02.04.2018
11:44:46
Разумеется на RDP*

Roman
02.04.2018
11:52:21
ребят, почему os.MkdirAll("some/path/newdir", 0640)
возвращает ошибку:
stat /some/path/newdir: no such file or directory
при том что some/path существует..

Demuz
02.04.2018
11:58:57

Roman
02.04.2018
12:00:03
/Volumes/ramdisk/go-workspace/src/github.com/qbeon/webwire-go/examples/chatroom/server/wwrsess
это то что я скармливаю в MkdirAll, при этом нахожусь в chatroom/server/

Demuz
02.04.2018
12:02:46
В регистре не доспускали ошибку?

Roman
02.04.2018
12:04:02
но когда присобачиваю /wwrsess к нему и с этим всем вызываю MkdirAll то вот такая херня получается

Demuz
02.04.2018
12:05:51
через os.Stat(path) попробуйте ка.

Roman
02.04.2018
12:06:02
sessFilesPath, err = filepath.Abs(filepath.Dir(os.Args[0]))
if err != nil {
panic(fmt.Errorf(
"Failed to get the current directory ('%s') for the default session manager: %s",
sessFilesPath,
err,
))
}
sessFilesPath = filepath.Join(sessFilesPath, "wwrsess")
так конструирую путь к новой папке
вот весь код: https://github.com/qbeon/webwire-go/blob/master/defaultSessionManager.go#L48

Google

Roman
02.04.2018
12:10:09
самое удивительное так это то, что он создаёт эту директорию! ?
только сразу после этого валится с выше указанной ошибкой мол path не найден..
запускаю повторно, он его сразу находит (ибо создал же) и не пробует создавать и всё работает
полная чепуха

dimcha
02.04.2018
12:15:34
if os.MkdirAll(sessFilesPath, 0640); err != nil {
попробуй err от MkdirAll проверять проверять, а не от предыдущей команды
может что умного напишут?

Roman
02.04.2018
12:16:53
спасибо))
как говорится 2 глаз хорошо а 100500 лучше
кстати, я походу уже задавал вопрос, но точно не помню:
как лучше всего реализовать session expiry? имеется ввиду если мы говорим не о минутах или часах а о днях?
cron jobs это конечно понятно, но с Go сервером это не взаимодействует

Mykyta
02.04.2018
13:00:37

dimcha
02.04.2018
13:01:08
можно проверять сессию по факту запроса и реджектить ее в случае протухания
раз в месяц по крону запускать гц

Roman
02.04.2018
13:01:36

dimcha
02.04.2018
13:01:50
а иначе никак

Vadim
02.04.2018
13:04:50
Гай Луций Гандоний
Август Анней Гандоний
Прям Спартака пересмотреть захотелось

Google

Oleg
02.04.2018
13:15:16
народ, дайте вопросы на собеседование по golang у кого есть!

Kirill
02.04.2018
13:15:36
а разве не весь гугл/ютуб ими забит?

X
02.04.2018
13:15:54
func publish(sessions chan chan session, messages <-chan message) вопрос такой что это: sessions chan chan session я понимаю, что передаются каналы, но как они в данном случае взаимосвязаны?

Daniel
02.04.2018
13:16:23
о, опять канал каналов всплыл

Kirill
02.04.2018
13:16:38
канал каналов это здоровая ситуация?

John
02.04.2018
13:16:51

Subbotin
02.04.2018
13:17:07

X
02.04.2018
13:17:22
о сча поищу по чату
спасибо

Vany
02.04.2018
13:17:37

Daniel
02.04.2018
13:18:15

X
02.04.2018
13:18:22

X
02.04.2018
13:18:41
https://github.com/streadway/amqp/blob/master/_examples/pubsub/pubsub.go
брал честно отсюда

tsov
02.04.2018
13:55:58

Vany
02.04.2018
13:56:24

tsov
02.04.2018
13:58:22
генератор это говнокод, который родит говнокод, который чтобы был быстрее - это его еще написать надо суметь
а если скорость все равно, то рефлексия супер, ням-ням

Vany
02.04.2018
13:59:55

tsov
02.04.2018
14:01:12
а что с рефлексией не так чтоли, не код?

Google

tsov
02.04.2018
14:02:17
там в другом проблема скорее, в редких багах, когда из под структуры reflect.Value указатель уплывает, но это управляемо

Daniel
02.04.2018
14:02:54
рефлексия - это способ сделать из языка со статической типизацией язык с динамической
очень редко это может быть применимо
в большинстве же случаев рефлексия применяется от лени и тупости

Vany
02.04.2018
14:03:55
Кодогенерация тоже от лени
Вообщем имхо, если вы не пишете документацию - кодогенерация лучше, всегда можно посмотреть что точно вы сделали.

Admin
ERROR: S client not available

Vany
02.04.2018
14:07:18
Ну и как маленький плюс, есть доступ к аннотациям

Daniel
02.04.2018
14:10:46

Subbotin
02.04.2018
14:11:52
Она от отсутствия женериков

tsov
02.04.2018
14:14:25

Daniel
02.04.2018
14:20:07
парсер их читает

tsov
02.04.2018
15:05:52
я имел ввиду рантайм

Daniel
02.04.2018
15:06:10
а зачем вам в рантайме теги?

tsov
02.04.2018
15:06:11
и глупость
бывает нужно, для пакета принимающего интерфейс

Daniel
02.04.2018
15:07:29
пакет, принимающий интерфейс, сам по себе вещь редкая
и для себя такой писать не надо ни за чем

Alisher
02.04.2018
16:03:18
Привет всем
не подскажите хороший sql ORM для go

Google

Alisher
02.04.2018
16:03:29
?

Demuz
02.04.2018
16:11:47
GORM пойдет с пивом.
https://github.com/jinzhu/gorm

Roman
02.04.2018
16:12:59
не подкажете как лучше всего выявлять утечки памяти в Go?
можно как-то алализировать где больше всего памяти алокейтится и не зависает?

Vasily Romanov
02.04.2018
16:31:07
штатный pprof

Marlik
02.04.2018
16:57:52

Nikita
02.04.2018
17:05:05
Товарищи, нужен совет. Нужно распарсить ДатуВремя [07/02/2018 13:38:01:095]
Пробовал так, но не хочет последнее двоеточие обрабатывать. Ток если на точку поменять, то работает. А как правильно маску составить под такую строку?
timer, _ := time.Parse("02/01/2006 15:04:05:000", action.DateTime)

Oleh
02.04.2018
17:06:59
ребята у меня концептуальный вопрос и нужна помощь
у меня есть поле с ячейками, есть особи
нужно реализовать движение особей (сначала хаотическое)
где лутше хранить особей? в самих полях или в отдельной мапе?
если в отдельной мапе то прийдется дублировать сылку на особь в клеточку, что бы проверять есть ли там особь
(не очень нравится)

Daniel
02.04.2018
17:07:00
похоже, никак
похоже, милисекунды только через точку

Nikita
02.04.2018
17:07:30
жиесть....(

Daniel
02.04.2018
17:07:37
https://godoc.org/github.com/jehiah/go-strftime
а, не, это только формат

Nikita
02.04.2018
17:08:55
оч много предобработки будет, если в каждой строке заменять это двоеточие...
и откинуть не откинешь
тот же процесс по сути