Alexander
на каждый запрос вызов бд
Что за мифические запросы без единого вызова в БД?
Maks
Статика)
Segmentation
А кто -нибудь пользуется testify/suite? Как вы поступаете, когда надо организовать вложенные suite друг в друга, чтобы выполнять каскадную настройку и каскадный откат? ---- s1.SetupSuite() ---- s2.SetupSuite() ---- s3.SetupSuite() ---- Test1 ---- Test2 ---- Test2 ---- s3.TearDownSuite() ---- s2.TearDownSuite() ---- s1.TearDownSuite()
kostyaBro
Там есть setup test, мб он принимает шаблон для названия теста, хз не пользовался
kostyaBro
Но ginkgo gomega внатуре топ, могу видео скинуть. И скрины найти. Это как dsl для тестов
kostyaBro
kostyaBro
https://youtu.be/zUaYeFfcuPs
Segmentation
Пользовался раньше. Понадобился твой кейс. Пересел на ginkgo & gomega
Спасибо, посмотрю. Пока кажется, что в каждом сюте руками запускать и откатывать родителя...
Ilyas
А можно ли сделать отдельный эндпоинт для рефреша токенов
Смысла? Так и должно быть. А что вы до этого описывали? Вам одновременно аксес и рефреш присылают?
Тимофей
Смысла? Так и должно быть. А что вы до этого описывали? Вам одновременно аксес и рефреш присылают?
Типо при каждой авторизации пользователю токены слать, а я предлагаю сделать обновление токенов по желанию клиента
Ilyas
Сначала прислали аксес, вы говорите - идите отсюда. Затем отдельно присылают рефреш
Артем
всем привет, кто как накатывает миграции, когда запускаете приложение в докере?
Артем
понятно, прямо из прилы как зависимость качаете, +1 сервисом в докер композе или руками как-то вызываете?
Илья
его можно использовать как контейнер в докере
Артем
да, я так и понял
Артем
спасибо
Айдар
привет, ребят. у меня такая ситуация: есть лисенер, который в бесконечном цикле выполняет операцию 1(делает запрос в очередь и берет оттуда задачу, после удаляет её из очереди). есть воркер, который выполняет операцию 2(иногда из очереди вытаскивает задачи по конкретному айдишнику и удаляет её из очереди). операции 1,2 должны происходить асинхронно, поэтому я вешаю мютексы на операции 1 и 2. Но тк первый в бесконечном цикле, то он очень редко дает выполниться операции 2. Как быть в таком случае, добавить таймаут на цикл? и вообще можно ли так юзать мютексы в бесконечном цикле
Vladislav
мьютексы надо ставить только вокруг операций с общей памятью
Vladislav
ну то есть должно быть так, что вы держите его там какие-то считанные микросекунды
Vladislav
такого, чтоб мьютекс на всё время обработки задачи быть не должно
Илья
можно сделать воркер который будет выполнять операции 1 и 2
в бесконечном цикле отправляете в канал операцию 1. если он небуферизированный, то вторая операция будет всегда выполняться через 0-1 цикла первой после отправки
kostyaBro
Я когда то очередь с приоритетами писал. Но там сама задача сложнее была
Evgeny
Я когда то очередь с приоритетами писал. Но там сама задача сложнее была
мне в латокене давали похожую задачу на тестовом :)
Evgeny
типа, есть несколько очередей, у каждой свой приоритет, выраженный положительным числом, хотим чтобы задач выполнялось пропорционально приоритету
Evgeny
очереди пополняются из разных потоков, разумеется, ну и вся сложность была в том чтобы логику шедулера запилить, который будет задачи воркерам раздавать
kostyaBro
типа, есть несколько очередей, у каждой свой приоритет, выраженный положительным числом, хотим чтобы задач выполнялось пропорционально приоритету
У меня был ModBus Там у разных групп параметров разные периоды опроса. И он умеет только в один поток отвечать. Пришлось сделать такую вещь. Иначе 700 переметров с периодом 10м будут ломать 2х секундный период опроса у других параметров
kostyaBro
Да, тоже было по воркеру с тикером на каждый период опроса, потом в конце клиент, его из всех потоков зовут, ну и пришлось декоратор вставить в серидину
Кіт ✙
у нас есть мапа типа map[string][]byte, каждое значение аллоцируется. Нам нужно как-то переиспользовать эти слайсы, то есть, нам нужен пул. Но я не хочу по выходу из обработчика проходиться по всем заголовкам и совать их значение в пул одно из решений - это иметь один низлежащий массив для всех значений, просто в мапе будет лежать слайс на конкретный участок
Кіт ✙
в таком случае, даже пул не пригодится, то есть всё довольно-таки красивенько получается
minone
Тупо голанг всë время : if err != nil { return err }
Evgeny
такая чушь, господи
minone
Шаблонная херь
kostyaBro
Тупо голанг всë время : if err != nil { return err }
Делай wrap, не пиши говнокод
Evgeny
а куда цитата про эксепшены делась? запрещено поминать этот механизм? )
jk
Кто то работал с wasm на go?)
Alexander
jk
Что может мешать выполнению с открытой консолью
jk
Открываешь devtools тормозит, закрываешь летает
Alexander
хммм
Alexander
странное поведение
Alexander
попробуй не постить в консоль
Alexander
но открой
Alexander
разницу пощупай
Alexander
что именно тормозит, сообщения в консоли или сама консоль
jk
Я в неё вообще не пишу, у меня рендерит изображения в канвас прога, и анимация очень лагает когда консоль открыта )
Alexander
🤔
jk
Тут советовали юзнуть ebitengin но мне нельзя сторонние либы дергать особо )
Alexander
хз даж))
Alexander
а можешь замедить рендер
jk
да пробовал уже
Alexander
и как
Alexander
лагает так же
jk
ага)
Alexander
а замедля до какого
Alexander
до 1сек пробывал
Andrey
Ребят, читаю http://golang-book.ru/chapter-09-structs-and-interfaces.html Перечитываю и не могу понять в чем таки разница между написать имя или не написать
Evgeny
типа заинлайнены
Evgeny
ну хотя по факту это просто синтаксис такой
Andrey
Все равно не понимаю, а с именем, они же так-же будут доступны через точку
Evgeny
не
Evgeny
в смысле
Evgeny
с именем ты доступаешься типа myAndroid.Person.personName
Evgeny
а без имени можешь myAndroid.personName
Andrey
теперь понял, это как наследование?
Evgeny
не совсем
Evgeny
совсем не, я бы даже сказал. но... для полей... в каком-то смысле да)
Evgeny
короче нет, это не как наследование, но в том смысле в котором ты спрашиваешь и для себя это осмыслил - да, это как наследование
Evgeny
со всякими поправками на краевые случаи
Andrey
а если я укажу "без имени" две структуры которые будут иметь пересекающиеся имена ?