@proGO

Страница 1666 из 1674
Roman
29.08.2018
12:46:46
стоит пропосал написать? хотя чуя я писать его буду наверное месяц..

Crypt
29.08.2018
12:48:52
Кто в AICups будет участвовать? Мне интересно, много народу на Go будет писать?

Google
Никита
29.08.2018
12:56:28
Roman
29.08.2018
12:56:51
Наверняка стоит. Писать можно коллективно
поэтому и спрашиваю, кто заинтересован

Crypt
29.08.2018
12:58:43
а кинь ссылочкой
https://aicups.ru/ - завтра откроют третью бету и материалы к ней

Daniel
29.08.2018
13:13:23
а он почти никому не нужен :)

Wingman
29.08.2018
13:13:53
Особенно если хочется http2

Sergey
29.08.2018
13:14:57
На сколько я знаю, нет пакета для вебсокетов на хттп2 для го

Daniel
29.08.2018
13:15:25
http/2 же перпендикулярен вебсокетам

или даже параллелен

Sergey
29.08.2018
13:16:04
О вы математик

Daniel
29.08.2018
13:17:59
тем не менее - http/2 решает задачи, для которых был сделан вебсокет, другими средствами

Sergey
29.08.2018
13:21:02
Напомните пожалуйста, что значит "х" в импорте модуля. x/net/http2

Daniel
29.08.2018
13:21:12
ничего

Google
Sergey
29.08.2018
13:22:18
ничего
Я вроде бы читал что они не от разработчиков Go

Daniel
29.08.2018
13:22:57
и это тоже, в общем, ничего не значит

Никита
29.08.2018
13:23:06
Напомните пожалуйста, что значит "х" в импорте модуля. x/net/http2
Что он не входит в стандартный набор библиотек

Daniel
29.08.2018
13:23:18
входит

Никита
29.08.2018
13:23:37
Как входит? Он не ставится вместе с Го

Daniel
29.08.2018
13:23:39
то, что не входит, имеет сервер в пути

чтобы понимать, откуда ставить

без сервра в импортх только то, что в GOROOT лежит

Daniel
29.08.2018
13:24:51
а?!

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

Sergey
29.08.2018
13:25:46
в смысле - SSL сейчас везде же обязателен практически
Я делаю проект в виде бэкэнда и приложения, сейчас делаю шифрование запросов, мне SSL не нужен

Но думаю, я смогу ускорить бэк из-за http2

Daniel
29.08.2018
13:32:07
я однажды делал уже шифрование свое, и даже неплохо получилось. но! ключи на эллиптических кривых решали мою задачу лучше :) а у вас какая причина делать свое шифрование?

Евгений
29.08.2018
13:57:45
Про обработку ошибок: мне понравился вариант в Rust - всего в 1 символ. Могло бы выглядеть примерно так: сейчас: x, err := strconv.Atoi(a) if err != nil { return err } вариант: x, err := strconv.Atoi(a)? В оригинале: Вот конструкция, которая может кинуть ошибку: fn read_username_from_file() -> Result<String, io::Error> { let f = File::open("hello.txt"); let mut f = match f { Ok(file) => file, Err(e) => return Err(e), }; let mut s = String::new(); match f.read_to_string(&mut s) { Ok(_) => Ok(s), Err(e) => Err(e), } } Сокращенная запись: fn read_username_from_file() -> Result<String, io::Error> { let mut f = File::open("hello.txt")?; let mut s = String::new(); f.read_to_string(&mut s)?; Ok(s) }

? сокращенное: ``ìf err != nil { return nil, err }```

ну или сообразно кол-ву возвращаемых значений: все заданные - нулевое значение, ошибку - в error

Daniel
29.08.2018
13:59:33
будет нечитабельно

вообще, коллеги, проблема не в if err != nil

Google
Daniel
29.08.2018
14:00:15
проблемы глубже

Евгений
29.08.2018
14:00:33
на примере функции из предложения: func printSum(a, b string) error { x := strconv.Atoi(a) ? y := strconv.Atoi(b) ? fmt.Println("result:", x + y) return nil }

Lesha
29.08.2018
14:02:06
на примере функции из предложения: func printSum(a, b string) error { x := strconv.Atoi(a) ? y := strconv.Atoi(b) ? fmt.Println("result:", x + y) return nil }
разве такое делать нормально? туда должны уже числа прилетать, а конвертироваться выше

Sergey
29.08.2018
14:25:21
Плохая практика возвращать из функции указатель?

Daniel
29.08.2018
14:26:38
почему?

возвращайте то, что надо

Sergey
29.08.2018
14:28:11
А делать глобальный объект по типу Фасад - плохо?

Dorian
29.08.2018
14:28:32
Какой обьект?

Daniel
29.08.2018
14:28:42
с глобальными объектами сложнее

Sergey
29.08.2018
14:29:01
У меня есть структура Core, в нем Users, Redis, etc

Daniel
29.08.2018
14:29:22
а зачем она такая?

Dorian
29.08.2018
14:29:25
Пробовал, мне не понравилось

Sergey
29.08.2018
14:30:22
а зачем она такая?
А как можно сделать иначе?

Dorian
29.08.2018
14:31:04
Sergey
29.08.2018
14:31:17
По пакетам
И по переменным отдельным?

Dorian
29.08.2018
14:31:30
В них глобальные на уровне пакета с мутексами и прочим

Гляньте лог пакет из стд

Или фмт

Google
Sergey
29.08.2018
14:48:26
Если функция возвращает int а я потом его каждый раз конвертирую в uint8 - это не хорошо?

Daniel
29.08.2018
14:49:02
на этот вопрос нет однозначного ответа

Crypt
29.08.2018
14:52:51
Если функция возвращает int а я потом его каждый раз конвертирую в uint8 - это не хорошо?
если есть причина использовать именно uint8, то норм. Если нет - то лучше так и прокидывать везде int

Crypt
29.08.2018
14:53:16
тогда нет)

uint8 кушоет меньше памяти
хотя не, сколько примерно чисел то ожидается в памяти? если одно - два, то смысла нет экономить

Никита
29.08.2018
14:58:19
Так а в чем смысл, если ты и так так выделяешь память под int, возвращая его из функции?

Конвертация тут не имеет никакой пользы

Dorian
29.08.2018
15:01:43
Вы там игры под 8ми битку пишете что ли?

Foxcool
29.08.2018
15:14:40
кстати

https://github.com/therecipe/qt юзал кто?

Александр
29.08.2018
16:09:34
ну гуи под гоу это "Такое"

из за сборщика мусора

Subbotin
29.08.2018
16:10:23
сборщик мусора - 5 мс

человеческий глаз такое не замечает

Евгений
29.08.2018
16:10:48
вроде не так плохо 5 мс?

а в java?

Subbotin
29.08.2018
16:11:03
как получится :)

Александр
29.08.2018
16:11:22
человеческий глаз такое не замечает
замечает разницу между 120 и 240 fps ?

спроси у игроков CS:GO

Google
Sergey
29.08.2018
16:11:42
Александр
29.08.2018
16:11:58
мне 30 ?

Subbotin
29.08.2018
16:12:11
Виктор
29.08.2018
16:12:44
замечает разницу между 120 и 240 fps ?
если есть монитор 240 герц, то наверное можно заметить) хотел бы я попробовать в такой монитор посмотреть

Subbotin
29.08.2018
16:13:51
а лаги интерфейса на 5 мс иногда потеряются в задержках рендерах и считывания сканкодов клавиш. на современных ноутах от нажатия на кнопку до появления символа на экране обычно проходят десятки милисекунд. в плохих случая - больше сотни

Александр
29.08.2018
16:14:20
рендер может попадать в циклы отрисовки на мониторе, и прочие радости

Виктор
29.08.2018
16:14:47
я бы это обсудил, но боюсь не подходящий чатик)

Subbotin
29.08.2018
16:15:24
я предлагаю сойтись на том что 5 мс - копейки на фоне обычных лагов системы

динамичные шутеры наверное не стоит на го писать

Roman
29.08.2018
16:16:54
Александр
29.08.2018
16:17:18
видел статейку забавную, лаги при 60 fps (заметные)

не давно только отловили в чем грабли

Виктор
29.08.2018
16:18:24
видел статейку забавную, лаги при 60 fps (заметные)
60 фпс это дело хорошее, но ведь кадры в секунду могут считаться по-разному. думаю гораздо лучше смотреть на такую метрику, как время нахождения кадра на экране

Roman
29.08.2018
16:20:27
60 fps = 16,6 миллисекунд на кадр, если у тебя в кадр X runtime решит порыскать по помойкам прям ровно 5 мс, то у тебя на кадр останется 11,6 миллисекунд, т.е. на целых 30,13% меньше для обработки логики и отрисовки. а если GC займёт более 10 миллисекунд то ты практически кадр потерял и получил микролаг GC можно использовать только для бизнес логики, не для самого рендера, тот должен быть manually managed

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