@gogolang

Страница 1208 из 1630
Илья
04.07.2018
15:15:50
он на сложных yaml генерит такие хендлеры специфические
а дальше нужно уходить на слой валидаторов-фильтров-парсеров и нырять в бизнеслогику, и плевать на специфику (в теории)

Никита
04.07.2018
15:16:30
А что, так сложно ручками самому писать?

Илья
04.07.2018
15:18:11
А что, так сложно ручками самому писать?
человекофактор не полезен, + время на написание того, что может быть сгенерировано. это же делегирование задачи и ответственности на автоматизацию

Никита
04.07.2018
15:18:46
И что, много времени уходит на написание?

Google
GoodMoodDealler
04.07.2018
15:26:09
Крч у меня максимально глупый вопрос. Как мне получить значение из gorutine без канала, если она отдает его через return?

GoodMoodDealler
04.07.2018
15:27:39
Добавить канал и замыкание )
Про замыкание я уже думал

Но как мне добавить канал, если я не могу менять изначальную функцию?

GoodMoodDealler
04.07.2018
15:29:16
Ща

https://play.golang.org/p/iuyjTEKBpi4

Что-то типа того

Daniel
04.07.2018
15:33:44
А что, так сложно ручками самому писать?
Поддерживать и тестировать сложно.

GoodMoodDealler
04.07.2018
15:35:17
Я надеюсь смысл моего кода понятен

Google
Andrei
04.07.2018
15:39:42
Я надеюсь смысл моего кода понятен
можешь обернуть запуск горутины в функцию https://play.golang.org/p/rU8bSxdMN8T

в итоге у тебя SingleHash дождется дочерние горутины и получит результат из них

GoodMoodDealler
04.07.2018
15:41:22
Спасибо огромное

Это не костыльно вообще?

Нормальная практика?

Andrei
04.07.2018
15:42:47
не вижу ничего порочного в этом

GoodMoodDealler
04.07.2018
15:43:04
Ну и по сути это как раз у нас замыкание получается?

наши goрутины

Andrei
04.07.2018
15:43:23
я часто делаю синхронную функцию, а потом ее запускаю как горутину оборачивая в анонимную, в которой уже работаю с локами и прочим

Kirill
04.07.2018
15:43:56
https://t.me/golangjob
Там же херня какая-то была

Никита
04.07.2018
16:21:58
Что скажете об этой библиотеке? https://github.com/caarlos0/env Стоит использовать?)

‎‎‎‎
04.07.2018
16:24:50
можно выключить горутину когда она в слипе?

Andrei
04.07.2018
16:31:59
можно выключить горутину когда она в слипе?
можно через таймер это сделать

‎‎‎‎
04.07.2018
16:32:42
Andrei
04.07.2018
16:32:44
получаешь канал от таймера и канал для завершения работы и делаешь switch между ними

Vasily Romanov
04.07.2018
16:42:23
Ну и по сути это как раз у нас замыкание получается?
Домашнее задание предназначено для самостоятельного решения, а не при помощи коллективного разума чата Если есть по нему вопросы - задавайте в чат курса плиз

GoodMoodDealler
04.07.2018
16:43:39
Но впредь буду писать в ваш чат)

Vasily Romanov
04.07.2018
16:45:29
Но впредь буду писать в ваш чат)
В лекциях есть все приемы для выполнения задания, пересмотрите лучше

GoodMoodDealler
04.07.2018
16:45:44
Google
GoodMoodDealler
04.07.2018
16:45:47
С замыканиями

Там есть такого типа горутины безымянные, просто я не сообразил дополнительные каналы создать

Denis
04.07.2018
19:47:10
Юзаю библиотеку googollee/go-socket.io У меня возникла проблема с CORS. Нужно отдавать access-control-allow-origin. Нашел вроде точку входа всего хттп: https://github.com/googollee/go-socket.io/blob/master/server.go#L91 Там дергается метод s.eio.ServeHTTP(w, r) Я нашел его, добавил отправку хедера. Но это как-то корявенько — вторгся в чужой код; не сделал возможности проверять Origin. Вот если бы я из области своего кода мог это сделать, то и не влезал в код пакета, и более развернутую проверку Origin сделал. Как нормальные люди решают такие проблемы? Нужно оверрайдить этот метод?

Vadim
04.07.2018
19:55:41
Приём. У меня проблема. Запустил vscode на другом компе. Дебагер не работает

Call stack пустой

Душа пустая

Но программа работает

Также, не даёт нажать паузу.

Товарищи Гоферы, что делать?

Антон
04.07.2018
20:00:59
получаешь канал от таймера и канал для завершения работы и делаешь switch между ними
А не оверкилл ли использовать канал тупо для передачи сигнала от таймера?

Andrei
04.07.2018
20:06:17
А не оверкилл ли использовать канал тупо для передачи сигнала от таймера?
1. этот механизм есть в стандартной либе 2. каналы - это очень быстро с точки зрения разработки на го, нужна лучшая производительность? добро пожаловать в мир си

Vadim
04.07.2018
20:20:41
/dev/null
05.07.2018
10:02:44
Ребят, как правильно сделать конкатенацию строк в данном случае if !file.IsDir() { fileZip.name = file.Name() fileZip.path = path +"/"+ file.Name() f = append(f, fileZip) } fileZip.path = path +"/"+ file.Name()

Конструкция +"/"+ аж глаз режет

Zaur
05.07.2018
10:03:56
Sprintf

daysandbox_bot
05.07.2018
10:04:04
Removed msg from Anatoly Tenenev. Reason: new user + external link

Anatoly
05.07.2018
10:04:48
strings.Join

/dev/null
05.07.2018
10:05:08
strings.Join
он же с массивом работает

Google
Lesha
05.07.2018
10:05:23
с путями так работать: https://golang.org/pkg/path/#Join

path.Join(path, file.Name())

Admin
ERROR: S client not available

Zaur
05.07.2018
10:08:44
Конструкция +"/"+ аж глаз режет
Честно говоря и так нормально же

Zloy Dobriy
05.07.2018
10:09:59
path.Join(path, file.Name())
четенько вообще

Anatoly
05.07.2018
10:10:06
Честно говоря и так нормально же
не кроссплатформенно же, как и мой вариант path.Join - норм

Lesha
05.07.2018
10:10:50
как это?
а вы для винды посмотрите на слеши

/dev/null
05.07.2018
10:11:05
не кроссплатформенно же, как и мой вариант path.Join - норм
fileZip.path = filepath.Join(path, "/", file.Name()) так тоже получается не очень кроссплатформенно

Zaur
05.07.2018
10:11:08
Аааа

Lesha
05.07.2018
10:11:21
именно так: path.Join(path, file.Name())

Zloy Dobriy
05.07.2018
10:11:39
Lesha
05.07.2018
10:11:41
он сам дополнит/обрежит слеши если нужно

/dev/null
05.07.2018
10:11:51
спасибо

Lesha
05.07.2018
10:15:44
Только лучше использовать "path/filepath", я чуть перепутал https://golang.org/pkg/path/filepath/#Join Он как раз мультиплатформенный

/dev/null
05.07.2018
10:16:27
Еще вопрос, чем проверить что файл это архив ZIP без проверки на окончание File.name()

Google
/dev/null
05.07.2018
10:17:33
нашел

Filepath тоже это умеет

всем спс

Lesha
05.07.2018
10:18:08
и там ошибку обработать

Zloy Dobriy
05.07.2018
10:18:26
os.FileInfo?

/dev/null
05.07.2018
10:23:21
и там ошибку обработать
так сейчас делаю, не очень красиво выглядит

Никита
05.07.2018
10:24:15
Mimetype проверить
Не всегда поможет

GoodMoodDealler
05.07.2018
10:24:37
Еще есть такая штука как TRID

Никита
05.07.2018
10:24:43
Это что?

GoodMoodDealler
05.07.2018
10:25:05
Эвристическая утилита

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