
Владимир
19.10.2018
17:53:50
Ну да, иначе зачем скрывать

Vadim
19.10.2018
19:25:45
Копался в awesome go. Смотрите что нашёл https://github.com/striker2000/petrovich

Eugenii
19.10.2018
19:32:59
конкретный дисонанс между формой и содержанием
но занятно

Google

Marlik
19.10.2018
21:45:01

Roman
19.10.2018
21:48:02

Petr
19.10.2018
22:50:33
Есть кто-то, кто переписал проект на golang и пожалел? Если да, то почему?

Гриша
20.10.2018
00:26:39
Подскажите, кто работал с изображениями на go. Использую стандартный image.Decode для проверки на тип и на "битость" изображений, но там аллоцируется очень много памяти в image.NewYCbCr, при этом не отдает почему-то память обратно в ОС. Кто-то сталкивался с подобным, или возможно знает что-то более подходящее для валидации. Проверяю png и jpeg

Айбелив
20.10.2018
04:00:35

Александр
20.10.2018
04:30:34

Misha
20.10.2018
05:55:50
Добрый день, уважаемые гоферы! Такая задача, подаю в канал некое количество данных, а потом хочу его обработать из нескольких горутин. Горутины отрабатывают и дальше остается вопрос, как их убить. То есть можно ли как-то проверить, что все данные из канала обработаны?

Pavel
20.10.2018
05:57:21
Закрыть канал.

Misha
20.10.2018
06:00:16
А как это проконтролировать в горотинах? Они у меня читают данные из канала в цикле бесконечном, или можно как-то в условие этого цикла вставить существование канала?

Denys
20.10.2018
06:01:02
range chan завершится когда канал закроется

Nikolay
20.10.2018
06:01:02
Tweet from @yelbota
https://twitter.com/yelbota/status/1053302713356861440
@yelbota: @vasilenkos МИМО ГОФЕСКОГО КАБИНЕТА
Я БЕЗ ШУТОК НЕ ХОЖУ
ТО АППЛИКАТИВНЫЙ ФУНКТОР ПОД ДВЕРЬ ПРОСУНУ
ТО МОНАДУ ПОКАЖУ

Misha
20.10.2018
06:01:25

Pavel
20.10.2018
06:02:18

Google

Denys
20.10.2018
06:03:24
да, готур лучше пройит, он очень короткий и очень эффективный

Misha
20.10.2018
06:50:29
Го тур прошли?
Полгода назад где-то, с тех пор каналы так и не пригодились. Надо бы повторить их

Roman
20.10.2018
07:11:53

Vladimir
20.10.2018
07:52:38

Denys
20.10.2018
07:55:40

Misha
20.10.2018
08:08:21

Vladimir
20.10.2018
08:10:27

Misha
20.10.2018
08:12:12
Пока что го мне требовался только для учебно-проектных задач в плане несложных апи. Сейчас возникла задача, где нужно обрабатывать большие объемы данных, вот и начал разбираться с рутинами и каналами, и в частности с их использованием

Vadim
20.10.2018
08:12:44

Vladimir
20.10.2018
08:13:37

Vadim
20.10.2018
08:14:17
Говорю сугубо по своему опыту

Misha
20.10.2018
08:14:47
Я не вижу смысла как-то использовать конкурентность, когда данных как кот наплакал

Vladimir
20.10.2018
08:16:36

Nikolay
20.10.2018
08:16:38
А конкурентность - это больше про io bound

Vladimir
20.10.2018
08:17:37
в моем значении конкурентность по Пайку

Misha
20.10.2018
08:17:40

Nikolay
20.10.2018
08:18:09

Misha
20.10.2018
08:18:25
Json

Nikolay
20.10.2018
08:18:45
Json
Jq использовать не вариант?

Google

Misha
20.10.2018
08:19:13
А что это есть?

Nikolay
20.10.2018
08:20:09
Хотя несколько сотен тысяч - это очень мало

Misha
20.10.2018
08:21:15
Данные предоставляются частично, запрашиваю из апи. Возвращает кусками
У меня нет на руках сразу всех данных

Nikolay
20.10.2018
08:22:12
И что это меняет? Просто постранично перебираешь API и кидаешь на диск
Я бы советовал сохранить всё перед анализом

Vladimir
20.10.2018
08:22:55
каждая страница обрабатывается отдельной рутиной

Nikolay
20.10.2018
08:23:40

Misha
20.10.2018
08:25:29
Так места не диске не напасешься, плюс даже запросив эти данные, определенные их части приходится дозапрашивать, если их сначала собирать, а потом обрабатывать, выйдет слишком долго

Vladimir
20.10.2018
08:30:22

Misha
20.10.2018
08:31:05
При определенном количестве они начнут друг другу только мешать, время переключения будет больше времени выполнения
При достаточно простых процессах

Vladimir
20.10.2018
08:32:01
исходя из успешных практик многие работают с тысячами рутин и каналов

Misha
20.10.2018
08:33:46
А как-то можно вычислить это количество?
Ну если говорить немного о теории

Vladimir
20.10.2018
08:34:37
введи инкрементор и декрементор защищенный мьютексом и считай

Google

Vladimir
20.10.2018
08:36:26
даже придебаге поможет, ведь закрылась или нет рутина на первых порах очень важно

Misha
20.10.2018
08:36:29
Нет, я имею ввиду, рассчитать, при скольких рутинах достигается максимальная эффективность

George
20.10.2018
08:37:10

Vadim
20.10.2018
08:37:23

Vladimir
20.10.2018
08:37:31

Vadim
20.10.2018
08:37:47
Очень часто не больше кол-ва ядер.

Misha
20.10.2018
08:37:50
Научного метода нет? Только методом тыка?

Vladimir
20.10.2018
08:38:06

Misha
20.10.2018
08:38:13

George
20.10.2018
08:38:35

Vadim
20.10.2018
08:39:36

Misha
20.10.2018
08:40:07
Я чувствую выбор количество горутин - это такой же вопрос, как выбор количества нейронов в каждом слое нейронной сетки
То есть дело опыта и интуиции

Vladimir
20.10.2018
08:41:21

Misha
20.10.2018
08:43:32
А как их учесть?

Nikolay
20.10.2018
08:44:02

Oleh
20.10.2018
08:45:06
Если в горутине используется очень простая операция (к примеру умножение) и их много, то будет больше времени тратится на переключение между ними
А дальше только смотреть в профайлер и как шедулер много ест проца

Misha
20.10.2018
08:46:47

Nikolay
20.10.2018
08:47:26

Misha
20.10.2018
08:48:03

Google

Vladimir
20.10.2018
08:49:57
я их называю зелеными соседями
dвот набросал для изучающих
// Factorial.go
package main
import (
"fmt"
)
func fu(l uint64, max uint64, p chan uint64) {
var f, g uint64
uch := make(chan uint64)
if l+2 <= max {
go fu(l+2, max, uch)
f = l * (l + 1)
g = <-uch
p <- g * f
} else {
if l == max {
p <- l
} else {
p <- (l) * (l + 1)
}
}
}
func factorial(n uint64) uint64 {
uch := make(chan uint64)
go fu(1, n, uch)
return <-uch
}
func main() {
fmt.Println("Факториал через рутины")
for i:=0;i<17;i++ {
fmt.Println(i+1,"!=",factorial(uint64(i+1)))
}
}
не задавайте вопросы ,экспериментируйте сами
сделайте для чисел Фибоначи и уверенность придет или из псевдорекурсии сделайте на циклах с разбиением

Roman
20.10.2018
09:25:46

Vladimir
20.10.2018
09:26:32
Ужас
неужели показ на псевдорекурсии - это ужас?
как минимум количество рутин превысит количество ядер
иначе GREEN останется англицким словом всего лишь

Roman
20.10.2018
09:30:33

Vladimir
20.10.2018
09:33:41

$continue$
20.10.2018
09:35:02
приветствую. есть ли в го функция, которая переведет time.Since в дни, если h > 24?
или нужно писать код для этого

Fastumkruk ✅
20.10.2018
09:36:29
Привет Ребята. На го есть эмуляция клика?

Vladimir
20.10.2018
09:37:22

$continue$
20.10.2018
09:37:47

Misha
20.10.2018
09:37:50

$continue$
20.10.2018
09:37:52
тогда нужен format времени