Кіт ✙
кажется его должно распидорасить
Кіт ✙
а почему не распидорасило вопрос(question)
Кіт ✙
Eugene
Кіт ✙
ДА ДА ДАВАЙ ДААА
Vladislav
🤡
Кіт ✙
ну и к чему это?
Кіт ✙
О прикол, благодаря этой штуке понял, что движок рендеринга у меня один для всех пользователей, хотя должен per-user быть Отобрал его у роутера. Теперь и без интернета 230к рпс выдаёт. Неплохой буст с 70к
kostyaBro
uber multierr
Vladislav
я чё-то хашикорповский юзаю https://github.com/hashicorp/go-multierror
Maks
Они вроде ушли
Maks
Из рф
Vladislav
правильно сделали, конечно, но почему это важно?
Vladislav
код-то их доступен
Maks
Некоторые имаджи не тащутся вроде говорят
Maks
Типа бинари не качаются
Maks
терраформ ходит во внутренний реджестри хашикорп. а он закрыт
Vladislav
через проксю наверняка сработает
Vladislav
например https://github.com/Snawoot/dumbproxy/
Null
➡️ Как Go выполняет встраивание В статье рассказано, как Go подходит к инлайнингу функций — этот процесс ещё называют встраиванием. В статье разберёмся, зачем вообще это нужно, какой профит можно получить для ускорения работы кода, а когда плюсы могут обернуться минусами. На примерах углубимся в специфику Go: как этот язык инлайнит функции, что можно и что нельзя встроить, какие возможности доступны в разных версиях. Также обсудим ограничения и способы обойти их. ➡️ Читать дальше 🎞 Видео @Golang_google
Кіт ✙
О прикол, благодаря этой штуке понял, что движок рендеринга у меня один для всех пользователей, хотя должен per-user быть Отобрал его у роутера. Теперь и без интернета 230к рпс выдаёт. Неплохой буст с 70к
Егор
Подскажите пожалуйста, как правильно реализовать считывание инт переменных используя bufio.NewReader(os.Stdin) ?
Илья
используй NewScanner
Илья
for scanner.Scan() { n, err := strconv.Atoi(scanner.Text()) }
Vladislav
если нет финансов, то можно нанять спецов только с неактуальными скиллами, типа деплоя на прод через композ
Dmitry
А как связаны финансы и кубернетес ?
инфра много стоит, если разворачивать целый куб для небольшого проекта
Larchenko
инфра много стоит, если разворачивать целый куб для небольшого проекта
Естб скромные версии кубера, для одного хоста, даже ноут потянет
Dmitry
Естб скромные версии кубера, для одного хоста, даже ноут потянет
а сколько нужно времени, чтобы его развернуть и правильно настроить на виртуалке относительно времени с тем же compose?
Илья
или дать конкретные мощности приложению
Vladislav
щас почти каждый современный облачный провайдер даёт менеджед кубер как сервис
Dmitry
Зачем тащить в прод этого монстра для небольшого ненагруженного сервиса, которому виртуалки 2 ядра и 2 гига оператвы хватит с головой?
Vladislav
а деплоить как?
Dmitry
А если это твой проект и ты платишь за него деньги?
Vladislav
стопать и стартовать сервис?
Dmitry
а деплоить как?
ansible + terraform
Vladislav
А если это твой проект и ты платишь за него деньги?
по деньгам разницы нет, я, например, юзаю кластер k8s в scaleway
Vladislav
кубер - это унификация инфры
Vladislav
просто кто-то освоил, а кто-то отстаёт
Vladislav
даже для локальной разработки весьма годно какой-нить tilt юзать для запуска энва
Larchenko
А если это твой проект и ты платишь за него деньги?
Смотря как будет масштабироваться и насколько важна отказоустойчивость
Кіт ✙
а что ты так тестируешь ? зачастую все упирается в запросы в базу
Свой веб-сервер. Именно тот, что фреймворк для разработки бэкендов На циферки дрочу
Егор
for scanner.Scan() { n, err := strconv.Atoi(scanner.Text()) }
scanner := bufio.NewScanner(os.Stdin) var x int for scanner.Scan() { n, _ := strconv.Atoi(scanner.Text()) x = n } fmt.Printf("x = %T\n", x) //в бесконечный цикл уходит, что не так сделал?
Илья
потому что ждет число
Егор
Я единицы вводил
Егор
Все равно цикл продолжал работать
Илья
а ты как вводишь числа? 1) 1 2 3 4 2) 1 2 3 4
Илья
scanner := bufio.NewScanner(os.Stdin) scanner.Split(bufio.ScanLines) забыл в примере одну строчку
Егор
Добавил, но все равно также уходит в бесконечность
Егор
а ты как вводишь числа? 1) 1 2 3 4 2) 1 2 3 4
Пробовал уже и так и так вводить
Илья
.Scan() бесконечно работает
Илья
scanner := bufio.NewScanner(os.Stdin) scanner.Split(bufio.ScanWords) var x int scanner.Scan() n, _ := strconv.Atoi(scanner.Text()) x = n fmt.Printf("x = %T\n", x) если одно число
Егор
scanner := bufio.NewScanner(os.Stdin) scanner.Split(bufio.ScanWords) var x int scanner.Scan() n, _ := strconv.Atoi(scanner.Text()) x = n fmt.Printf("x = %T\n", x) если одно число
Если несколько, проще будет для каждой переменной такую процедуру писать?
Егор
Или есть другие методы?
Илья
для нескольких
Илья
только три раза
Егор
Спасибо)
anhckie
столкнулся с недопониманием. работаю на основе чистой архитектуры (https://github.com/evrone/go-clean-template). описываю второй юзкейс и вошел в ступор - 'New' redeclared in this package. думаю, что проблема не в архитектуре, а в моем затупе) и ведь действительно, как мне объявлять конструктор new() для другого юзкейса, если он в одном пакете находятся)
Aleksandr
переименовать
Илья
в плане код
anhckie
директория usecase. в ней два файла - usecase1, usecase2. у каждого свой конструктор new()
anhckie
на выходе - ошибка
Илья
NewUsecase1 NewUsecase2 я вообще в папки выношу