Brown
Ты кодить учишь...
Constantine️
уже палеными волосами с задницы воняет
Michael
di позволяет пострелять себе по ногам используя любой язык
Brown
синглтон...
Brown
Синглтон глобальная переменная
Constantine️
Brown
в пдф
Brown
10.4. Область видимости вот прям отсюда
Constantine️
изложение по главе будет?
Constantine️
или можно отделаться пересказом?
Brown
Читать и все если не понятно чем плохи гломальные переменные и тот же синглтон
Brown
Там все описанно
Aleksandr
Хехе, забавно. На предыдущей странице Керриган и Пайк упоминаются)
Aleksandr
Керниган
Constantine️
они еще были по другую сторону
engelbart
Anton
сижу и думаю.. а чем ioc контейнер не синглтон? :)
и почему нельзя di через интерфейсы?
или хочется удобства, чтобы где-то в инитах подсовывались нужные реализации, чтоб не ручками подсовывать везде?
Brown
Да чтобы не подсовывать каждый раз, различие в том что это лекго замокать и протестировать
Brown
как синглтон замокать?
Brown
Никак
Brown
Мне казалось все DI используют, я прям прозрел
Brown
Это же так улобно
Constantine️
в go не используют, потому что здесь KISS господствует
Brown
Вот DI и добавлет этого, код становится проще, это маленькая магия (обьект кторорый отвечает за создание и хранение обьектов)
Brown
У меня код чистый и понятный боагодаря DI
Brown
Так мысль я понял
Brown
Все про DI не спрашиваю
Anton
ну если проект очень большой - наверное контейнер будет удобен.
мне пока не впадлу ручками подсовывать нужную реализацию в методы, которые в свою очередь принимают интерфейсы, для моков более чем достаточно
если лайфтаймом объектов в контейнере управлять не надо - то тогда вообще смысла не вижу.
для веб сервисов хватает контекста per request
Brown
Спасибо всем за ответы)
Constantine️
но с готовыми либами грустно :D
Constantine️
фейсбук либа странная, хотя это фейсбук
Slava
Глобальные объекты- это зло в чистом видн
Bald
в го 1.9 добавят sync.Map
Bald
джва года ждали
Anonymous
Но новость всё равно хорошая
Anton
Глобальные объекты- это зло в чистом видн
глобальный объект - это нормально. если он инитится где-то один раз и иммутабелен.
все эти ваши синглтоны с конфигами и иок контейнеры - это по своей сути те же глобальные объекты в большинстве случаев.
Slava
Anton
это когда неявно через init() у пакета тебе насовывают? :)
Vladimir
Кстати да, надо б но 1.9бета на часть продакшена выкатить
Anonymous
Там не такая простая реализация же :)
Бюджетный вариант с простейшими блокировками можно относительно быстро сделать. Но согласен, лучше уж один хороший вариант запилить из коробки.
Vladimir
Anonymous
Anonymous
Ну если так, то действительно можно поэксперементировать. ))
Anonymous
Anton
там даже тесты какието не проходили на выходных у меня
Vladimir
Anonymous
Ну если действительно багрепортите - то да.
Vladimir
Мой прод это мониторинг, он ещё достаточно жирный чтобы никто не заметил если я на 1 сервере каждой роли выкачу нестабильное нечто
Anonymous
Когда 1.9 выйдет, это считается блидинэджингом? :)
Anonymous
Или это эдж, но не блидин))
Anonymous
RC канешн нет. А релиз?
Anonymous
1.9 - это наверняка не только новые фичи, но и исправление косяков 1.8
Anonymous
Злой вы
Vladimir
У некоторых проектов такой блидинг Эдж что ему многие стейблы бы позовидовали
Ilya
Сомневаешься - ждешь 1 багфикс-релиза. Хотя с некоторыми проектами и парочка не повредит.
Vladimir
Ilya
Leonid Kalneus
Ребят, Dave Cheney в сентябре приедет в Новосибирск 😱
Anonymous
Leonid Kalneus
А кто это?
https://dave.cheney.net/ вот этот дядька :)
Anonymous
Я гуглить-то умею, уже нашел его сайт, но понятнее не стало
Anonymous
Разве что он контрибьютор го
Leonid Kalneus
полистай страничку about
Anonymous
Michael
Пайк - мистер Фёрст, Чени - мистер Секонд
Egor
Leonid Kalneus
https://gdg-siberia.com/
Egor
круто
Leonid Kalneus
будет воркшоп: https://dave.cheney.net/training#high-performance-go
и ещё один доклад :)
Leonid Kalneus
вообщем, приезжайте
Vladimir
Vladimir
И дядька рассказывает хорошо
Мерль
Overhead of Go's generic sort
https://github.com/nieksand/sortgenerics