Maks
Пол года было прям чистейшего тдд
Как методологию оцениваешь эту? Мне кажется это офигенно с той точки зрения, что ты заранее можешь кейсы какие то не предусмотренные выявить
kostyaBro
Там было так
kostyaBro
Был опыт работы в проекте где все было идеально и работали так.
Пишем интеграционный тест на новую фичу.
Он падает.
Идем туда где упало, пишем тест с моками.
Он падает.
Идём глубже, пишем тест.
И так далее до юнит теста.
Пото добавляем фичу и все проходит.
kostyaBro
Кто нить через TDD работал? Я так мечтаю в проект с тдд попасть но нигде пока не довелось)
kostyaBro
kostyaBro
Там была инфроструктура хорошая, что дополнить интеграционные тесты, и темболее остальные, не сложно.
kostyaBro
И была монорепа.
И действительно удобно что ты узнаешь где тебе что надо поменять просто обновляя тесты
kostyaBro
Но бизнес всегда ругался что ыичи медленно появляются
kostyaBro
Vladislav
kostyaBro
То был стартап с лидом из гулла, и возможно в гугле все так
Andrey
Andrey
хочешь повторить приходи ко мне тесты писать )
Andrey
у меня как раз не одного теста нет, целыми днями можно сидеть и писать тесты )
kostyaBro
kostyaBro
И у меня наконец работа не только код писать
kostyaBro
Я такт заебался кнопки тыкать
kostyaBro
kostyaBro
time.Sleep(9*time.Hour)
Maks
Кажется я придумал как для себя решить проблему того что жвт не своевременно теряет доступ, не отзывается, не дает возможность следить за сессиями и при этом не слать запросы в бд постоянно)
Maks
1. В редис храним инфу необходимую о юзере(как в жвт) и обновляем ее когда она обновляется в бд.
2. В редис храним токен и ключ пользователя в редис которому это ключ принадлежит.
Минус: жрет оперативу.
Плюс: быстрый отклик на изменения, отзыв, возможность смотреть и отзывать конкретные сессии
Andrey
Maks
Maks
И смена пароля не запретит доступ компроментированному токену пока его время не истечет
Maks
И нельзя посмотреть сколько сессий запущено
Maks
И закрыть определенные сессии
Maks
Я честно говоря не люблю жвт для клиентской части
Maks
Для общения между сервисами да, ок, хорошо
Maks
Скомпроментировали - поменял ключ шифрования. Сервисы переподключились с кредами.
Maks
Стоит ли либу такую делать вообще? Похоже ведь на инмемори сессии.
Artur
Maks
О, еще я бы добавил в хедеры или куки хеш/таймстемп времени изменения данных о юзере
Maks
Maks
Ну это такой екстендед вариант
Maks
Обычно в инмемори сессиях вроде не лежат данные о юзерах. Не? Только айди
Maks
И потом юзер из бд тянется
Andrey
Ну это как сделаешь ты сам. Кто-то в редисе хранит кэш, но не долго, кто-то всегда вычисляет его постоянно
Maks
Собственно и придумал обычные сессии ага) просто чутка изменил некоторые механизмы)
Maks
Неловко)
Tolya
/voteban Edi Fauziah
Alexandr🇷🇺
Всем привет) Кто-нибудь пытался подружить golangci-lint и sonarqube, используя gitlab ci?
Илья
Илья
Получается, что мы усложняем бэк и фронт ради 15 минут (время жизни acess token) без одного запроса в бд, который можно кешировать
G
Получается, что мы усложняем бэк и фронт ради 15 минут (время жизни acess token) без одного запроса в бд, который можно кешировать
Когда у тебя больше одного сервиса, это очень актуально. Потому что иначе каждый сервис должен в себе содержать один и тот же слой данных и сервис проверки авторизации. Что-то там поменялось - иди пересобирай все сервисы и потом обновляй одновременно, и не дай Бог тебе что-то забыть пересобрать. А также каждый сервис должен иметь доступ к редиске. Если речь идёт о сервисах, которые крутятся на разных хостах, добавляется сетевая точка отказа. Если в разных датацентрах - то ещё и потребность в настройке репликации инстансов редиса. Крче, ты немного усложняешь код бэкенда, но сильно упрощаешь инфраструктурные требования бэкенда. На это можно посмотреть как на финансовый вопрос: немного увеличить капекс или ощутимо увеличить опекс.
Илья
Artur
G
G
Evgeny
прикручиваешь в ci/cd проверку на 100% покрытия для нового кода и работаешь спокойно
G
Artur
а если информация о юзере и нужна, то она передается в теле запроса или в query
Андрей QA
Maks
Ну да. Мне хочется что бы была возможность знать сколько сейчас устройств у юзера активно и при этом что бы в бд не обновлять данные частт)
Null
👣 Полезные библиотеки Go
Ddosify - очень простой в использовании инструмент для нагрузочного тестирования веб ресурсов.
Поддерживает HTTP, HTTPS, HTTP/2 протоколы.
➡️ GitHub/Инструкция
#go #golang #hack #pentest
@github_code
ILIA
Danil👽
Evgeny
а я могу как-то в go html template выключить эскейпинг параметра? ну типа, если я хочу туда в качестве параметра воткнуть кусочек прегенеренного html?
Dmitry
Бафомет
Приветствую! Где можно бесплатно постажироваться в разработке на go?
Emin Zalaev
Ozon/avito/yandex/wb/sber/tinkoff
Не ну это
дома как варик
Matvei
Подскажите как работает timer.Stop(), не могу понять, после остановки таймера надо ли читать из канала, чтобы оставить его пустым
Vladislav
Matvei
https://go.dev/play/p/Ej_spqEABaV
У меня просто есть задачка и не проходит тест, говорит что утечка,
но что-то не особо понимаю как ее побороть
Мне кажется что у меня не реализуется одно из условий или появляется зависшая рутинка