Dmitriy / დიმიტრი
Nikita
Неужели никто код не ревьювит?
Bogdan
Dmitriy / დიმიტრი
ревьювит, но если программа будет сама о таком предупреждать, то это будет удобнее, согласись. Именно в этом случае
Nikita
у меня?
не, это про сообщение выше
Евгений
что дает создание отдельного тестового пакета? почему не включить все тесты в виде файлов *_test.go в тестируемый пакет? тогда go его сам исключит из прод сборки.
Valentin
Anonymous
контейнер зависимостей для того и придуман )
Anonymous
https://github.com/sarulabs/di
Anonymous
также самодельный тут показывали
Oleksii
а есть разница, на каком языке примеры?
Aleksandr
примеры
Aleksandr
запаха
Aleksandr
цитата выше показывает скорее то,что ты не понимаешь прочитанное
Aleksandr
в контексте цитаты под синглтоном автор подразумевает то, что ты получишь один и тот же инстанс
Oleksii
Контейнер и создан для того, что бы управлять жизненным циклом обьектов, реализация синглтона через DI контейнер самая правильная, как по мне
Oleksii
Либу эту впервые вижу, ничего не скажу
Aleksandr
как и в любом другом контейнере
Oleksii
+
Aleksandr
в контексте цитаты под синглтоном автор подразумевает то, что ты получишь один и тот же инстанс
Aleksandr
это не про паттерн
Aleksandr
паттерн синглтон - антипаттерн. ему противопоставляется именно получение инстанса из контейнера.
Oleksii
Кстати, этот Ozzo Framework от одного из главных контрибюторов Laravel, если я не ошибаюсь
Oleksii
Yii*
Oleksii
Ошибся, всё-таки
Илья
В yii он не сделал вменяемый контейнер
Aleksandr
yii он делал тогда, когда di не был широко распространен. старая школа
Oleksii
Не знаю, я не из мира PHP
Oleksii
Просто как факт
Михаил Ерёмин
это конечно все очень круто. Но зачем вы выбрали Go ? Берите PHP
Илья
да вообще все реализации di в go как-то не вдохновляют
Aleksandr
ты привык к магии ларавеля. в go делают много проще. ты слышал это уже десять раз
Aleksandr
это же ты спросил либу di
Oleksii
В Go можно обойтись без DI или сделать себе собственный poor man's DI с единой точкой входа в приложение и сбором всех зависимостей в "луковицу"
Aleksandr
di в go используют кодеры с php/java бэкграундом
Илья
бери да руками все зависимости по интерфейсу передавай в функцию
Евгений
есть какие-нибудь примеры крупных проектов (где хотя бы 20+ своих пекаджей), которые не использовали DI?
Aleksandr
Oleksii
Oleksii
Тебе в любом случае где-то надо прописывать биндинги для DI container
Valentin
Зачем отказываться от DI, если с ним проще?
Oleksii
А можно код, который, по твоему мнению, хорошо виглядит?
Oleksii
необязательно на Go
Valentin
Это выглядит лучше https://github.com/sarulabs/di
Илья
Можно в контексте же передавать
Aleksandr
Oleksii
Context - request scoped data
Aleksandr
да. это общий контекст для цикла реквест-респонс
Aleksandr
Context - request scoped data
Aleksandr
да
Aleksandr
кошерно инжектить зависимости, а не контейнер (приложение в данном случае тоже контейнер)
Valentin
у вас весь код прибивается гвозьдями к application
Valentin
Лучше, чтобы клиенский код знал про объекты, а не наоборот
Anonymous
Вопрос: а как корректно можно остановить io.Copy ? Например, случился внешний эвент, и Я понимаю, что это копирование уже не нужно
Anonymous
хотелось бы более человеческим способом :))
Aleksandr
Anonymous
Спасибо :)
Aleksandr
коирует n байт из одного в другое
Aleksandr
а чем она должна шуршать? все байтиками делается
Aleksandr
ты опечатался, написав "не"
Aleksandr
go - это прежде всего об оптимальности работы, поэтому выходцы из более высокоуровневых языков могут быть ошарашены, т.к. первый раз видят байты
Евгений
> об оптимальности работы
чьей работы? программиста, компилятора или программы?
Aleksandr
программы
Anonymous
Х_Х
Anonymous
Если бы у меня вместо копии был симлинк - Йа б убился
Kirill
Черт
Anonymous
ужснах
Kirill
иногда лучше жевать чем говорить (с)
Aleksandr
причем здесь диск и симлинк? мы про reader/writer
Anonymous
пипл хавает (с)
Aleksandr
ок. ставь симлинку на http response)
Aleksandr
тогда ты гиговый файл из веба моментально слинкуешь с локальной версией
Aleksandr
как вспомнишь, поговорим.
Kirill
пипл хавает (с)
Я так понимаю что они сделали что-то вроде magic link в virtuozzo
Kirill
Еще говорят, что если долго пользоваться Андроидом то можно им стать !
Aleksandr
на уровне пакета - с маленькой буквы
Aleksandr
mystruct - видна только на уровне пакета
Mystruct - глобально
Aleksandr
других инструментов у тебя нет
Aleksandr
все верно