Aleksandr
Причем здесь го? Это во всех языках одинаково решается
Alexandr
где там дублирование кода?
метод Rotate что будет содержать?
Alexandr
я хз. ваш вопрос
Rotate и будет содержать алгорит ротации, верно? а он одинаков для двух струтур
Pawel
так я не понял, в вашем коде ваши типы УЖЕ реализуют Rotate или нет?
Aleksandr
Rotate и будет содержать алгорит ротации, верно? а он одинаков для двух струтур
Напиши плейграунд что хочешь сделать. Я так понял ротировать слайс из баннеров и тизеров
Alexandr
Aleksandr
Тогда применяй паттерн адаптер
Alexandr
так я не понял, в вашем коде ваши типы УЖЕ реализуют Rotate или нет?
сейчас там байда,с абсолютно разными алгоритмами и костылями
Aleksandr
Вопрос закрыт
Alexandr
Тогда применяй паттерн адаптер
ясен пень) это уже было решено часов 6 назад. Просто каждый пытается предложить свой вариант и я думал может будет иной выход. Всегда полезно узнать разные мнения и доводы. Всем спасибо)
Pawel
ну и как тут не ругаться матом?
Alexandr
Alexandr
сначало вы проявили себя ка знаток книг, мне стало интересно послушать, т.к я не считаю себя человеком знающим много паттернов, потом Александр кинул еще более крутую заявочку, и его тоже хотелось послушать.
Alexandr
и тут нет никакого сарказма и подколов, слушать часто полезно,тем более вы не показались мне глупыми людьми и стоило услышать ваши доводы
Roman
type TeaserBanner interface{Rotate()}; json.Decode([]TeaserBanner); func (t Teaser) Less(){}; func (b Banner) Less(){}; sort.Reverse([]TeaserBanner)
Alexandr
type TeaserBanner interface{Rotate()}; json.Decode([]TeaserBanner); func (t Teaser) Less(){}; func (b Banner) Less(){}; sort.Reverse([]TeaserBanner)
извините, но я наверное ввел вас в заблуждение, может и еще кого, но будет ротироваться либо тизеры, либо баннеры,но по одному, общему алгоритму
Roman
в этом стиле
Roman
это про адаптер и кодогену
Roman
в этом случае у тебя кодогена
Roman
но попроще, там только условно Less надо реализовать, а не весь алгоритм дублить
Roman
interface{Less()}
Nik
А есть способ передать в http сервер контекст? (не в реквест)
🏁Александр
ась?
🏁Александр
опиши бизнес задачу
Nik
опиши бизнес задачу
Одно приложение с нескольмими http серверами
Nik
хочу всех красиво синхронно гасить
Nick
Ну не контекст, серверу передаешь канал на вход, по которому дашь сигнал
Nick
То же самое что ctx.Done, только ты его руками создашь, канал для этих целей
Artem
И у сервера ещё есть Shutdown() метод который поможет погасить
Nik
так наверно и сделаю
Nik
А такие вещи кто нибудь ловил при утечке fd на стандартном http клиенте? сначала это были CLOSE_WAIT, подкрутил таймаутов, теперь это выглядит так
Nik
До этого был close_wait
Илья
уже
докер?
Nik
нет
Илья
тогда нсатройки TCP системы изучать, выглядит подозрительно
Nik
уже
Nik
sudo lsof -p $(pidof myApp)
Илья
sudo lsof -p $(pidof myApp)
есть scratch для воспроизведения? ну очень подозрительно выглядит
Илья
думаю даже сам локализуешь проблему если сделаешь минимальник для вопсроизведения
Nik
думаю даже сам локализуешь проблему если сделаешь минимальник для вопсроизведения
Появилось у меня одно подозрение, выкатил на прод проверить
Nik
Потом отпишу
heavycharged
Потом отпишу
а nginx используется на фронте? может reuseport какой-то.
Илья
не совсем релевантно теме группы, но вот завтра доклад по фронту, где бэк переходил с руби на го: https://devconf.ru/ru/offers/offer/405
Илья
опыт нашей компании
Max
Team Viewer детектед
Alexey
Ну это самая вменяемая книга (по крайне мере год назад была)
Denis
я читал. нормально, своих денег стоит
Denis
в начале краткое введение в язык, затем просто best practises. как обрабатывать ошибки, как писать сервера без фреймворков, как устроены html-шаблоны, парсинг http-форм, немножко про рефлексию. в общем разные практические задачи и их решения, как и обещает название)
Denis
если тебе просто основы языка нужны, то лучше возьми эту https://www.ozon.ru/context/detail/id/34671680/?gclid=CjwKCAjwiurXBRAnEiwAk2GFZsN8B8KYfgaokwr8io525Vv5uWybMMsJZLBywIQhHsU_kyhJ75KzqxoCs5EQAvD_BwE
Alexey
Я читал как только она вышла, ничего нового не подчерпнул для себя
Alexey
Перед этим 2 года на Go писал
Alexey
А вот эту советую почитать, писал ее в тч один из авторов Go
Alexey
?
Alexander
google, stackoverflow
Roman
golang.org
Anonymous
Кмк, книга Кернигана должна быть первой от корки до корки + доки по стандартной библиотеке. Второй книгой я бы рекомендовал Mastering Concurrency in Go и после Go Web Programming, переписывая практику на fasthttp, например, а не http. Go in Practice полезна будет только тем, что рассказывает всё обо всём по чуть-чуть. Не более.
Anonymous
Я вот на втором шаге и пока всё нравится)
Dmitriy / დიმიტრი
Есть где-нибудь сравнение го-шных ORM? Ну и вообще кто чем пользуется для работы с базами данных в Go? Сам пока что попробовал только pg(https://github.com/go-pg/pg) и GORM(http://gorm.io/). Может есть еще какие?
Daniel
reform есть
Dmitriy / დიმიტრი
спасибо, посмотрю
Илья
Есть где-нибудь сравнение го-шных ORM? Ну и вообще кто чем пользуется для работы с базами данных в Go? Сам пока что попробовал только pg(https://github.com/go-pg/pg) и GORM(http://gorm.io/). Может есть еще какие?
https://github.com/go-reform/reform (как уже казано) https://github.com/Masterminds/squirrel — SQL query builder https://github.com/jmoiron/sqlx — набор расширений для стандартной database/sql с маршализацией и прочими удобняхами
Илья
вам точно пригодится https://tour.golang.org/
Илья
прям можно начать до книг
Je
@Saluev а правда, что в яндексе запрещен го?
Aleksandr
@Saluev а правда, что в яндексе запрещен го?
ну меня хантили туда неделю назад, и описании был go
Tigran
@Saluev а правда, что в яндексе запрещен го?
Не знаю, я плохо помню список разрешённых языков. Уволился уже месяц как)
Dmitry
а как же Слава Бахмутов с его докладом про Go?
Denis
В браузере конкретно пишут на го
Aleksandr
а как же Слава Бахмутов с его докладом про Go?
Слава Бахмутов там не работает
Dmitry
Слава Бахмутов там не работает
так доклад был, когда работал