@gogolang

Страница 1629 из 1630
Daniel
27.10.2018
07:47:46
Вообще, метод интерфейса, возвращающий тот же интерфейс, пахнет гнилой абстракцией

Ilya
27.10.2018
07:48:29
А как же методы With...?

Daniel
27.10.2018
07:48:45
А?!

Google
Александр
27.10.2018
07:50:11
если вы про мой пример

я просто удивился что разработчики так тупо сравнивают типы

могли бы хоть проверить что "если возращаемое значение реализует интерфейс который в возврате то пропускаем"

Daniel
27.10.2018
07:54:38
Если другой - надо другой и возвращать, тогда ни о каких циклических импортах речи нет

Александр
27.10.2018
07:58:20
я просто абстракцию над бд делал. И там функция аля use() возращала другую структуру уже с методами работы с конкретной бд

и базовый db пакет интерфейсы под это дело содержал

(бд несколько)

Илья
27.10.2018
08:16:45
А как же методы With...?
With же обычно возвращает entry, если ты про логгер

Alexander
27.10.2018
08:17:22
где класс которые реализует интерфейс, его не использует
мм, чо? класс который реализует интерфейс? Саша, хочешь в джявисты ? в тебе виден потенциал

Ilya
27.10.2018
08:17:37
With же обычно возвращает entry, если ты про логгер
Про все что угодно. Контекст, хттп реквест и тп

Я про концепцию - все что ее реализует, возвращает себя. Экстраполируя на интерфейсы там может быть тоже самое.

Точнее, там вроде как нет причин чтобы было подругому

Google
anatolii
27.10.2018
09:20:50
А что не так с html/template?

Aydar
27.10.2018
10:43:16
для GUI
Я согласен вариант хороший, но сложность по сравнению с qt большая

Aydar
27.10.2018
10:58:50
для 2d игрулек самый раз!
Я планировал даже для десктоп софта заюзать, задолбали всякие электроны

Pawel
27.10.2018
11:10:05
Я не могу его использовать, мне нужно внешние шаблоны обрабатывать
а что такое внешние шаблоны? что с ним не так в порядке убывания важности : - ахриненно сложный. Танцы с бубуеном при связаннии с аргументами шаблона, шаблонном наследовании и встраивании шаблонов в другие шаблоны. - ошибоки можно видеть только во время выполнения, 90% - тольков проде - в языке шаблонов нет ни каких средств абстракции, кроме примитивных циклов и if-ов, через задницу сделанных - отвратительно стыкуется с гошным кодом - тормозной аки падла - синтаксис глупый и ничего общего с Го не имеет

Pawel
27.10.2018
11:13:03
а что мешает тому, кто пишет эти шаблоны, написать вместо них qtpl ?

anatolii
27.10.2018
11:15:14
Это независимые проекты, мне надо от силы 5 переменных в нем заменить

Pawel
27.10.2018
11:16:55
Собственно для меня тоже хтмл/цсс пишут специально обученные особо одарённые личности. Мне как-то особо нет разницы в какой шаблонный движок это встраивать

anatolii
27.10.2018
11:19:11
Я понимаю, в большинстве случаев мне бы подошел тот шаблонизатор с головой, это просто частная ситуация

Vladimir
27.10.2018
11:48:12
Я планировал даже для десктоп софта заюзать, задолбали всякие электроны
медленно с ним, кастомные элементы самому рисовать

Roman
27.10.2018
12:23:04
http: Accept error: accept tcp [::]:8081: accept4: too many open files; retrying in 10ms https://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/ хотя я вроде лимит поднял, по крайней мере root@debian:~# sysctl fs.file-max fs.file-max = 1000000 Но ulimit под моим debian 9.5 всё-равно выдаёт низкие лимиты root@debian:~# ulimit -Hn 4096 root@debian:~# ulimit -Sn 1024 никто не сталкивалсё с подобной проблемой?

Roman
27.10.2018
12:24:44
лимиты изменены для правильного пользователя?
/etc/security/limits.conf ... # End of file * soft nofile 1000000 * hard nofile 1000000

в смысле бинарь рут запускает?
что рут, что не рут, так или иначе валится с этой ошибкой

Anton
27.10.2018
12:26:22
ясно, мне помогало выставление в ulimit для пользователя, дело было в centos 7.2

Google
Roman
27.10.2018
12:26:27
я вообще не понимаю почему ulimit выдаёт такие числа всли везде они 1кк

Anton
27.10.2018
12:28:39
попробуй в новой консоли под нужным пользователем ulimit -n 100000

Roman
27.10.2018
12:31:51
попробуй в новой консоли под нужным пользователем ulimit -n 100000
да, это помогает, под рутом ставлю ulimit -n и вроде норм, спасибо!

Kolunchik
27.10.2018
12:37:09
А еще есть systemd и его видение установки лимитов. Это будет потом, при запуске демонов ;)

Vladislav
27.10.2018
14:27:14
как подклчить GoLand дебаггер к докеру? я воспользовался жтой статье и он не подключается… https://blog.jetbrains.com/go/2018/04/30/debugging-containerized-go-applications/



Илья
27.10.2018
14:28:40
пробросить нужные порты?

Vladislav
27.10.2018
14:32:37


Dk
27.10.2018
16:53:47
Добрый вечер. Где почитать про возможные ошибки в Go? Появилась ошибка missing function body, а почему так ругается, не могу нагуглить

Vladimir
27.10.2018
16:54:37
func fu() { } ?

скорее всего 1-я фигурная скобка перенесена

Dk
27.10.2018
16:55:35


Vadim
27.10.2018
16:56:50
Запятая на 4 строке вроде нужна

Dima
27.10.2018
16:57:17
функция должна возвращать *Vector

Vadim
27.10.2018
16:57:21
И возвращаешь же указатель

V
27.10.2018
16:59:54
немного оффтоплю, но такие сниппеты гораздо удобнее дебажить, когда они приведены в текстовый вид

Vadim
27.10.2018
17:02:40
func newVec(a,b point) *Vector {}

Dk
27.10.2018
17:03:04
Поставил запятые, поменял возвращаемое значение. Спасибо

аэ, понял не скриншотом

Google
V
27.10.2018
17:04:29
Это как?
вот так: func newVec(a,b point) &Vector { // Your code goes here }

Andrei
27.10.2018
18:38:03
вот так: func newVec(a,b point) &Vector { // Your code goes here }
и так тоже не надо, playground наше всё

Dk
27.10.2018
18:46:26
1) За скрин извиняюсь. 2) У меня изолированный кусок кода, который не запустится на play, зачем его туда? Тем более, меня, почему-то, мучает совесть, что я их сервера захламляю всяким мусором.

Уж лучше сниппетами

Admin


Никита
27.10.2018
19:34:59
Такой вопрос: При блокирующем вызове планировщик передает процессор с пулом горутин другому треду, и если нет простаивающих тредов, то он спавнит новые. Я правильно понимаю что при 1000 долгих блокирующих вызовов планировщик заспавнит 1000 тредов?

Daniel
27.10.2018
19:35:44
да.

но 1000 тредов - это не очень много

Никита
27.10.2018
19:36:34
Понял, спасибо

kzrv
27.10.2018
19:41:39
Пацаны, подскажите плиз один момент, в книжке увидел -- не понимаю что за покемон: var a = struct {}{}

Daniel
27.10.2018
19:43:19
инициализация пустой структуры

kzrv
27.10.2018
19:43:19
типа объявление и сразу вызов?

Daniel
27.10.2018
19:43:46
зачем, правда, она нужна в переменной - бог знает

kzrv
27.10.2018
19:44:17
там сложнее, вопрос в двух {}{}

Daniel
27.10.2018
19:44:20
пустую структуру используют как значение в map, когда хотят сделать из него set

там сложнее, вопрос в двух {}{}
struct{} - анонимный тип. struct{}{} - анонимный тип и инициализация вроде struct{a string}{"a"}

Vadim
27.10.2018
19:45:26
Ещё в модели с тикетами

Google
Daniel
27.10.2018
19:45:38
это я не знаю, что такое

kzrv
27.10.2018
19:45:55
окей, а почему тогда не a := struct{}{}?

Daniel
27.10.2018
19:46:18
нипочему

kzrv
27.10.2018
19:46:51
или var a = struct{}{}

Daniel
27.10.2018
19:47:18
не понимаю вопроса

kzrv
27.10.2018
19:47:24
бля, там var

сорян, я спать

уже плыву

Daniel
27.10.2018
19:57:48
задайте вопрос, что ли

Dk
27.10.2018
19:58:34
Как из map делают set и как это используется?

Roman
27.10.2018
19:59:07
Как из map делают set и как это используется?
map[int]struct{} просто пустую структуру в качестве значения

а используется это как обычный мап)

Dk
27.10.2018
19:59:46
Понял.

А struct{}{} не занимает места много, поэтому?

Страница 1629 из 1630