
Marlik
09.02.2018
18:22:35

Maxim
09.02.2018
18:22:35

Dmitri
09.02.2018
18:23:27

Marlik
09.02.2018
18:23:32

Google

Alexey
09.02.2018
19:15:19

Marlik
09.02.2018
19:15:46

Alexey
09.02.2018
19:16:23
Структурку же вы свою не меняете на лету, а не чтение она тоже тред сейф

Marlik
09.02.2018
19:17:53

Alexey
09.02.2018
19:21:24

Marlik
09.02.2018
19:21:36
Ну да.

Alexey
09.02.2018
19:22:01
Можно использовать спокойно разными горутинами
Без мьютексов

Marlik
09.02.2018
19:22:41
Меня как раз вот этот вопрос то и мучал, а вдруг одновременно юзеры писать/читать будут...

Maxim
09.02.2018
19:23:53

Alexey
09.02.2018
19:24:32
Там свои локи

Google

Maxim
09.02.2018
19:24:46
Если есть случай когда два разных юзера читают/пишут во что-то одно, то тут будет гонка, которую и нужно лочить

The
09.02.2018
19:25:23
горутины или что вы имеете ввиду?

Maxim
09.02.2018
19:26:11

Marlik
09.02.2018
19:27:09
Причём придётся полноценное приложение клиента написать, что-бы опробовать что получится)))

The
09.02.2018
19:27:21
гонка будет, но не влияющая на работу приложения. или я не прав?

Maxim
09.02.2018
19:27:45

Marlik
09.02.2018
19:27:59
Хотя, там в контексте вебхуков вряд-ли...

The
09.02.2018
19:28:16
тут просто данные будут не консистентные
я думал вы имеете ввиду race condition в самом го и паника как следствие будет.
там нужно ещё учитывать возможность дедлока, подробнее тут: https://github.com/golang/go/issues/16873

Alexey
09.02.2018
19:49:40

Никита
09.02.2018
19:54:29
Есть ли полезные ресурсы или статьи по оптимизации бэкэнда на net/http?

Alexey
09.02.2018
20:24:32

xPushkin
09.02.2018
20:25:36

Yaroslav
09.02.2018
21:09:05
всем привет. решил порешать задачки на литкоде на го, и вот в первой тривиальной задаче мне показывает, что 30% человек сделали решение, которое работает быстрее моего. возник вопрос - что тут можно улучшить?
func twoSum(nums []int, target int) []int {
idxs := make(map[int]int)
for i, num := range(nums) {
elem, ok := idxs[target - num]
if ok {
return []int{i, elem}
} else {
idxs[num] = i
}
}
return []int{}
}

Vladimir
09.02.2018
21:11:37

Yaroslav
09.02.2018
21:12:06
а условие задачи какое?
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
Вот пример

Nick
09.02.2018
21:13:19
массив сортированный?

Google

Yaroslav
09.02.2018
21:13:39
Не обязательно
гарантируется что нет повторов и решение только одно

The
09.02.2018
21:14:36
а где задачки берешь, подскажи.

Yaroslav
09.02.2018
21:14:43
leetcode.com

The
09.02.2018
21:14:48
спасибо

Nick
09.02.2018
21:14:55
в кешлаин влезет?

Yaroslav
09.02.2018
21:15:33
произвольной длины, там много тесткейсов

Vladimir
09.02.2018
21:15:51
@y_romanov попробуй преалоцировать мапу какой-нибудь статической длины
например как len(nums)
make(map[int]int, len(nums))

Yaroslav
09.02.2018
21:16:23
о, точно

Nick
09.02.2018
21:16:24
я бы не юзал мапу для массивов маленьких размеров

Yaroslav
09.02.2018
21:16:44
ты не знаешь заранее какой там будет размер

Vladimir
09.02.2018
21:17:06

Yaroslav
09.02.2018
21:17:41

Vladimir
09.02.2018
21:17:51
а

Nick
09.02.2018
21:18:03

Александр
10.02.2018
06:03:46
народ есть у кого опыт работы с GUI?
мне бы послушать ваш опыт использования библиотек (не из гугла)

Google

Александр
10.02.2018
06:04:10
а то страсть как не хочется все перебирать
нужен кроссплатфоменный гуй

Ivan
10.02.2018
06:17:47
На go ?

Александр
10.02.2018
06:18:16
логично

Olzhas
10.02.2018
06:25:52

Александр
10.02.2018
06:26:41
я для гоу имел введу, обертку над нативном апи

Olzhas
10.02.2018
06:27:18
qt юзать тогда

Admin
ERROR: S client not available

Olzhas
10.02.2018
06:27:40
на го с гуи вообще сложно

Александр
10.02.2018
06:28:21
а биндинги?

Olzhas
10.02.2018
06:28:41
вроде видел биндинги для qt на го
https://github.com/therecipe/qt

Александр
10.02.2018
06:29:53
вы из гугла берете или из опыта? ?

Olzhas
10.02.2018
06:30:32
из гугла
я гуи для го аппки делал через одно место

Александр
10.02.2018
06:31:04
блин я специально же акцентировал на опыте в вопросе
гуглить я и сам умею

Olzhas
10.02.2018
06:31:42
поднял на го вебсервер, сделал rest api, написал spa на js и вшил js в бинарник

Александр
10.02.2018
06:32:28
да понятно блин, но мне там гуи из трех кнопок сделать

Olzhas
10.02.2018
06:32:46
коллега использовал одну библиотеку, спросил у него

Google

Olzhas
10.02.2018
06:32:51
как ответит, скину
тоже гуи из трех кнопок
https://github.com/lxn/walk
но как видно, это для windows

Александр
10.02.2018
08:39:13
а для QT нет генератора? ?
так влом вручную из кода делать

Michael
10.02.2018
09:27:20
там и widgets и qml работают
правда всё заводить надо из-под msys2
там много примеров свистелок и кнопок
есть ещё ui для консоли, tui и tview, на чистом Go, запускаются на ура даже на ведре

m
10.02.2018
09:40:29
День добрый.
Есть способы запускать демона под непривилигированным пользователем, писать и ротировать логи, кроме как через https://github.com/fiorix/go-daemon или systemd?
Тут не нравится, что нельзя отдельно писать , скажем аксес и ерор-логи.

Olzhas
10.02.2018
09:43:43
либо сам пиши

m
10.02.2018
09:48:34
решения, которые получают логи через пайп не годны для большого количества логируемых данных.

Alexander
10.02.2018
11:01:58

Roman
10.02.2018
11:04:41

Michael
10.02.2018
11:18:24
наверное таких аж 0 на палочке
go qt вполне вменяем для чего-то небольшого, на большом просто не пробовал