Anonymous
Мок обычно содержит хоть какую-то логику
Evgenii
первый раз такое слышу)
Evgenii
мок должен полностью реализовать интерфейс реального объекта, но вот сама реализация может быть любой, даже вообще без логики
Anatoly
Кирилл правильно говорит
Anonymous
Я думал это общепринятая терминология. Мок - объект, который частично реализует логику реального объекта Стаб обычно просто возвращает набор данных, как правило один и тот же Если я где-то не прав - поправьте
Evgenii
Вопрос где можно официальные определния посмотреть, так как я всегда слышал только мок.
Anatoly
https://martinfowler.com/articles/mocksArentStubs.html
Evgenii
ок, благодарю!
Мерль
https://habrahabr.ru/company/virgilsecurity/blog/334506/
Мерль
Господа, а есть какой-то способ заставить линтеры игнорировать vendor? Я как-о не нашёл очевидного решения Потому что когда при сохранении вся орава бежит проверять все тонны зависимостей, начинается адъ
Мерль
Или я один страдаю от этого?
Daniel
gometalinter имеет ключ -vendor
Мерль
Ага, расширение для vscode имеет поддержку gometalinter, но по умолчанию используется golint поэтому вот можно использовать вот такой конфиг: { "go.lintTool": "gometalinter", "go.lintFlags": [ "--vendor", "--deadline=10s" ] }
Мерль
спасибо
Daniel
я еще --skip включаю для генеренных файлов
Мерль
да, логично
Roman
у Golang нет проблем в плане дровов к MongoDB и MySQL?
Roman
не встречал
и с тем и с тем подружится?
Roman
вернее уже дружит?
Alexei
да
Roman
отлично
Valentin
С мускулем 100% ок
Anonymous
99.99, ибо нет совершенного ПО
Anonymous
Т - точность
Anonymous
(но это не точно)
Anonymous
Это ты типа с себя мемасы запилил?
Anonymous
А 3д-статуэтку себя не забыл сделать?)
Kirill
Это ты типа с себя мемасы запилил?
Это не я пилил, но я юзаю
Irina
Наверно, очень нубский вопрос В проекте около 20 штук разных таблиц в базе данных. Все туториалы по database/sql или sqlx подразумевают что я пишу для каждой таблицы файл user.go в котором у меня struct User {first_name string, last_name string} и функции типа selectAllUsers которые выполняют SQL запрос, например "SELECT * from users;". И так 20 файлов в которых почти одинаковый код, только sql слегка разный. Есть ли какой-то общепринятый вариант, как мне написать некий wrapper, которому я могла бы просто передавать например имя таблицы (users) и название функции (selectAll) и он бы мне автоматически возвращал массив результатов? Мне советовали для этого sqlx, но я так и не нашла такого функционала ни в туториалах, ни в документации. Плохо ищу? Или с таким запросом надо сразу gorm брать?
Irina
лол
Irina
Ну наверно должна быть какая-то возможность абстракции для крудов?
Anonymous
В go нет дженериков, занимаемся кодогенерацией 😔. Или ждём выхода Go 2, может быть реализуют.
Irina
Valentin
Можно сделать репозиторий с методом GetAll(), который будет возвращать набор данных
Valentin
И везде, где нужны юзеры вызывать метод
Irina
То есть во всех приложениях, где есть скажем 10+ таблиц в базе данных, есть ещё и десяток файлов user.go, address.go, service.go etc? И в каждом структура и к ней функции с голым SQL в них?
Anton
А шо, ормы нельзя использовать?
Irina
А шо, ормы нельзя использовать?
Можно, но хотелось понять как это обычно делается
Irina
Т.е. если обычно берут gorm/gorp - спасибо, понятно, прекрасно
Irina
А если я что-то не учла и тот же функционал обычно запиливают с database/sql или sqlx, то тоже прекрасно
Slava
здесь нет понятия обычно
Slava
все делают как им нравится
Slava
кто-то только sqlbuilder использует, кто-то генерит структуры и код по sql, кто-то наоборот по структурам генерирует миграции
Irina
Ага, спасибо
Peter
Я такое делал, руками занимался кодогенерацией 7-ми репозиториев на sqlx
Peter
Мерзкое занятие когда в середине процесса понимаешь, что нужно добавить ещё метод или немного поменять реализацию
Irina
Что-то выбрали вместо этого?
Peter
Нет, так оставил
Peter
Но в следующий раз я бы стал такое делать кодогенерацией
Irina
В смысле "не стал бы"?
Peter
Не стал бы руками весь этот шаблонный код писать, определил бы модели и на их основе сгенерировал уже готовую реализацию репозитория
Irina
Ага, понятно
Mike
ну да
Mike
руками через jdbc куда ппроще с базой работать
Mike
и эскейпить юзерские запросы
Mike
ты конечно очень прав
Irina
ну а что, под каждый используемый в коде sql-запрос (getAllUsers, getAllProjects, updateUser etc) писать функцию с голым update users where ... в ней?
Alexey
Да
Anton
жаль нельзя как в ондроеде сделать интырфейс с аннотациями и забыть рутину
Alexey
жаль нельзя как в ондроеде сделать интырфейс с аннотациями и забыть рутину
Дело привычки, несложные запросы пишутся за пару минут вместе с маппингом
Mike
Дело привычки, несложные запросы пишутся за пару минут вместе с маппингом
угу, и в каждом проекте эскейпинг и коннекшн пулы заново реализовывать?
Anonymous
Два смузи за столик данного гофера за мой счёт.
Anonymous
@twentydraft неси банхаммер.
hex
@banofbot
Evgenia
Всем, добрый день! Gett ищет senior golang разработчиков в российскую и иностранную команды. По деньгам очень гибко, смотрим любые ожидания. Может быть кому-либо интересно?
Максим
Доброе утро! Подскажите, плз, есть ли какая то библиотека, аналог Nlog на C#? Для записи логов в файлы с группировкой по датам и типу записи
Daniel
нет
Dmitry
почему?
Daniel
человек хочет с записью в файл и автоматической ротацией
Daniel
у меня этим всегда занимается супервизор
Daniel
так что я вот не знаю такую либу
Valentin
я бы отдал ротацию внешней утилите