Юрий
ну, скажем так. В дочке одного из банков ты можешь использовать свои лицензии никто тебе по рукам за это не даст
Maks
они если сами оплачивают - то это их личные лицензии. И они стоят дороже. А если они не покупают - то работник сам должен решать в чем ему удобнее работать. Например вскод. А если ему удобнее в джетах - может свою лицензию юзать.
Maks
никаких ограничений в этом нет
Maks
но работодатель по идеи не имеет права личные лицензии использовать в качестве лицензий которые он выдает работникам и при этом работники могут меняться
Maks
короче такое себе
Maks
но вот на счет того, можно ли использовать учебную лицензию в целях зарабатывания денег - не уверен)
Юрий
но вот на счет того, можно ли использовать учебную лицензию в целях зарабатывания денег - не уверен)
Ну тут дело же в том, что это чисто на совесть. Там же нет никакого анализатора ты продакшн код пишешь или личный)
Maks
https://sales.jetbrains.com/hc/ru/articles/207240855-%D0%9C%D0%BE%D0%B3%D1%83-%D0%BB%D0%B8-%D1%8F-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F-%D1%81%D0%B2%D0%BE%D0%B5%D0%B9-%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D0%B5%D0%B9-%D0%B8-%D0%B4%D0%BE%D0%BC%D0%B0-%D0%B8-%D0%BD%D0%B0-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5-
Юрий
но если на тебя кто-нибудь настучит - то возможно у тебя отберут ее)
Null
👣 Urlhunter urlhunter – инструмент чекинга/разведки, который позволяет искать по URL-адресам, которые доступны через службы сокращения go install github.com/utkusen/urlhunter@latest #Go #Useful #Web 🖥 GitHub @Golang_google
Konstantin
👣 Тестовое задание для Golang разработчика Тестовое задание для кандидата на должность Golang разработчика. Описание Есть внешний сервис, который обрабатывает некие абстрактные объекты батчами. Данный сервис может обрабатывать только определенное количество элементов n в заданный временной интервал p. При превышении ограничения, сервис блокирует последующую обработку на долгое время. Задача заключается в реализации клиента к данному внешнему сервису, который позволит обрабатывать максимально возможное количество объектов без блокировки. Приводить реализацию внешнего сервиса необязательно! Определение сервиса: package main import ( "context" "errors" "time" ) // ErrBlocked reports if service is blocked. var ErrBlocked = errors.New("blocked") // Service defines external service that can process batches of items. type Service interface { GetLimits() (n uint64, p time.Duration) Process(ctx context.Context, batch Batch) error } // Batch is a batch of items. type Batch []Item // Item is some abstract item. type Item struct{} Требования - язык программирования Golang. - решение должно быть в git-репозитории (можно прислать архив или опубликовать на github, gitlab, bitbucket...). Пожелания - документирование кода; - тесты; - использование статического анализатора (конфигурацию положить в репозиторий). Варианты решений можно присылать в комментарии. ❤️, если нравится такие задачи. @Golang_google
вообще задача интереснее чем кажется на первый взгляд. батчи можно нарезать по-разному, можно ждать пока наберётся полный батч (и отправлять неполный только если пришёл shutdown-сигнал), можно пытаться оптимизировать latency и делать heartbeat-таймер, который отправит неполный батч, если с момента получения последнего задания прошло больше чем duration/N времени (и/или если с получения первого прошло больше чем maxLatency), но тут правда возникает другая проблема – если принимающая сторона использует интервалы, а не скользящее окно, то может решить что рейт превышен (даже если на самом деле нет)… мне некогда программить решение, но как мне кажется в самом простом варианте нужен канал с буфером по count и горутина с таймером на duration, которая будет каждый duration вытаскивать len(channel) элементов и если len > 0 отправлять батч. плюс сигнал на shutdown, по которому будет отправляться неполный батч и после его обработки завершать выполнение программы…
kostyaBro
Стандартная
kostyaBro
"time package - time - Go Packages" https://pkg.go.dev/time "os package - os - Go Packages" https://pkg.go.dev/os "bufio package - bufio - Go Packages" https://pkg.go.dev/bufio
Belka
Может кто подскажет, как правильно написать регулярное выражение в котором будут A-Z 0-9 и если в строке условно будет маленькая буква или какой-нибудь символ, то вернулась бы ошибка?
Dr_Rob0tnik
Здравствуйте. Вопрос по импортам. Go не умеет работать с подгруппами? Или как-то можно пофиксить? [~/GoProjects]: go get gitlab-server/devops/golang/packages/go-tools go: module gitlab-server/devops/golang/packages/go-tools: git ls-remote -q origin in /home/alexey/go/pkg/mod/cache/vcs/0aa327a87e9c7ed08294dee71d2d1babb0537c0051d617bcd57ea6c4018fbe59: exit status 128: remote: The project you were looking for could not be found or you don't have permission to view it. fatal: repository 'https://gitlab-server/devops/golang.git/' not found Вынес в корневую группу (devops), поправил mod.go, и заработало [~/GoProjects]: go get gitlab-server/devops/go-tools go: downloading gitlab-server/devops/go-tools v0.0.0-20221117140100-51d869ee919e go: added gitlab-server/devops/go-tools v0.0.0-20221117140100-51d869ee919e
Null
🖥 Lazydocker Вам понравится, если вся необходимая информация, связанная с работой Docker, будет в одном окне терминала? Вероятно, да, а значит Lazydocker вам более чем подходит. Этот клиент помимо сбора всей информации в одной месте (images, containers и т.д.), позволяет просматривать логи, производить любые манипуляции с контейнерами и многое другое. 🖥 GitHub @Golang_google
Anonymous
вот тут попробуй его собрать
Anonymous
Факт
Denis Pershin
олды придумали изобрели docker desktop
Докер десктоп платный для организаций, не все готовы платить
Илья
олды придумали изобрели docker desktop
docker desktop относительно недавно появился на линуксе, до этого юзали сторонние
Maks
Так а че вам десктоп, если докером можно без десктопа пользоваться
Maks
Кроме того, на линуксе тоже десктоп вышел
Илья
Кроме того, на линуксе тоже десктоп вышел
не тестил кстати, нужно будет скачать
Maks
Десктоп это всего лишь юай
Илья
но мне и плагина в Голенде хватает, если нужно логи посмотреть
Yegor
Кроме того, на линуксе тоже десктоп вышел
А он там кому-то нужен ? Все привыкли без него имхо
Khalid
главный поток быстрее других гоурутин?
Илья
главный поток быстрее других гоурутин?
В го нет понятия "главный поток"
Khalid
Илья
потому что приложение завершается быстрее, чем горутина успеет выполниться
Khalid
чо она такая медленная даже одну итерацию не успевает)))
Илья
я бы сказал быстрая
Илья
посмотри sync.WaitGroup
Khalid
лады
Sanity = nil
Потому что у тебя макбук
Khalid
Потому что у тебя макбук
убббббииийственный панч
Yegor
Это потому что санкции на Кадырова ввели , попробуй на Эльбрусе с Астра Линукс
Khalid
АХХАХАХАХХАХА
Khalid
какой тут юмор качественный
Sanity = nil
так air же
Khalid это новая модель какая-то?
Yegor
Есть конечно еще версия про Аллаха
Maks
Бля, чота я кринж щас словил и не понял пока как пофиксить
Maks
Суть в чем
Maks
В бд есть поле - jsonb[]
Maks
И мне блять не ясно как его описать в доктрине, что бы он при запуске тестов это поле нормально сам генерил.
Maks
Ебучий случай когда у вас сервисы отдельно, а бд между сервисами и даже сущности - общие
Maks
При этом код сущностей - не шаред либрари
Maks
То есть другая команда пишет в туже бд, в ту же таблицу, откуда мы берем, и тоже вносит изменения в схему этих таблиц но только у себя
Maks
Кринжова
Maks
Реалии
Maks
То есть одно дело писать, другое дело вносить изменения)
Maks
Вот со вторым боль щас почувствовал потому что в тестах база на основе сущностей схему генерирует
Maks
А мне надо поле которого в сущности нет
Andrey
а что этот сервис делает?
Andrey
как синхронизируете данные?
Andrey
есть какие-то локи, по которым ты понимаешь что сейчас пишет другой сервис и тебе надо подождать? или у вас оптимистичный как его там
Maks
Ну мы только читаем из этой таблицы
Maks
Это ок вроде как
Andrey
ну если вы только читаете а они только пишут то тогда еще ок
Maks
Просто у нас тесты упали (у меня) потому что тест он как бы не юнит
Maks
А функциональный или как правильно там я уже забыл
Andrey
Просто у нас тесты упали (у меня) потому что тест он как бы не юнит
ну это норм на самом деле, значит хороший тест раз показал что у вас что-то не то
Andrey
так может надо просто добавить поля?
Andrey
которых не хватает
Andrey
тест же это показал, что каких-то полей не хватает
Maks
Нет)) он упал с ошибкой базы данных) Сейчас объясню: Тесты в сиай и локально гоняются на базе которая генерится из сущностей. Я тестировал свой код на базе плейграунд стенда(это типо дев глобальный) там у меня все работает как часы. А тест падает с ошибкой типо ой ошибка транзакции просто и все, без подробностей. Что бы поправить тест, мне нужно на уровне аннотаций к полям сущности написать тип данных который должен будет в бд записаться, но такого типа в доктрине просто напросто нет!
Maks
Типо я не могу на уровне описания сущности добавить это поле корректно, так что бы оно работало как нужно. А все потому что кто то сделал это поле супер хуевым.
Maks
Завтра буду разбираться
Andrey
а доктрина это орм из симфони или что-то другое?
Maks
Ага
Maks
Ладно спать буду, завтра разберусь
Maks
Вообще лучше конечно же когда сервисы обмениваются данными через какие то протоколы а не через базу данных имхо.