@proGO

Страница 1215 из 1674
Marlik
09.02.2018
18:22:35
var a MyType и a:= MyType{} это одно и то же?
Вот почитай, там все ответы. https://go-tour-ru-ru.appspot.com/welcome/1

Maxim
09.02.2018
18:22:35
Ага, всё, кажется догоняю, спасибо.
В режиме вебхука - аналогично, только пакет ничего не шлёт а ждёт всего что скажет Telegram на адрес вебхука где висит бот

Dmitri
09.02.2018
18:23:27
Вот почитай, там все ответы. https://go-tour-ru-ru.appspot.com/welcome/1
Проходил уже, читаю доки и по ним вроде понятно, что это одно и то же делает

Google
Marlik
09.02.2018
19:15:46
Alexey
09.02.2018
19:16:23
Не понял?
Что именно? sql/db thread safe

Структурку же вы свою не меняете на лету, а не чтение она тоже тред сейф

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
Если есть случай когда два разных юзера читают/пишут во что-то одно, то тут будет гонка, которую и нужно лочить

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
Друзья, первый раз попробовал написать свой пакет - https://github.com/Chebyrash/promise Подскажите что можно исправить или доработать.
Ещё чуть критики. Публичное нужно комментировать, всё. Например метода, комментарий должен начинаться с имени метода. Это для документации и линера

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

Alexey
09.02.2018
20:24:32
Есть ли полезные ресурсы или статьи по оптимизации бэкэнда на net/http?
Профайлишь - видишь узкое место - оптимизируешь - .... - профит!

xPushkin
09.02.2018
20:25:36
Ещё чуть критики. Публичное нужно комментировать, всё. Например метода, комментарий должен начинаться с имени метода. Это для документации и линера
Понял, спасибо большое! Всё поправлю. Я так понял самая большая проблема была в data race. Попробую это исправить с помощью каналов.

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{} }

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
ты не знаешь заранее какой там будет размер
ну да, но можешь сказать скока тебе дали num'ов

Yaroslav
09.02.2018
21:17:41
ну да, но можешь сказать скока тебе дали num'ов
это я Nick отвечал) преаллокация время не улучшила, кстати

Vladimir
09.02.2018
21:17:51
а

Nick
09.02.2018
21:18:03
ты не знаешь заранее какой там будет размер
и что? можешь if написать и подобрать

Александр
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
логично

Александр
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
а для QT нет генератора? ?
go qt выше скинули

там и widgets и qml работают

правда всё заводить надо из-под msys2

там много примеров свистелок и кнопок

есть ещё ui для консоли, tui и tview, на чистом Go, запускаются на ура даже на ведре

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

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

Alexander
10.02.2018
11:01:58
народ есть у кого опыт работы с GUI?
Ничего достойного под go увы нет... я не так давно предлагал скооперироваться и разработать, но никому не надо (((

Michael
10.02.2018
11:18:24
наверное таких аж 0 на палочке

go qt вполне вменяем для чего-то небольшого, на большом просто не пробовал

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