Anonymous
или он будет задержан на 10 сек?
Anonymous
александр ты чего
Anonymous
удалил ;(
Bagasl
я правильно понял, что если указать врайт таймаут например на 10 сек
write timeout это емнип сколько времени мы будем ждать данные ОТ клиента
Bagasl
нужно для защиты от атаки, когда бот создает кучу коннектов на сервер, каждый из которых отправляет тело запроса на 1кб (к примеру) по одному байту каждые 10 сек и тем самым забивает соединения для остальных клиентов
Anonymous
костыль написал через контексты
Артем
Какие репозитории на гитхабе вы используете как шаблон чистой архитектуры?
Nurzhan
https://github.com/golang-standards/project-layout
Bagasl
https://github.com/golang-standards/project-layout
Так это просто архитектура
Влад
https://youtu.be/V6lQG6d5LgU
Alexander
Типа там написано он включается с момента получения последнего заголовка реквеста. И короче я думал, что имеется ввиду тайм-аут когда ты начал отдавать сам заголовки или боди, а оказалось не очень понятно) Типа реквест отработался на сервере в плане логики, но при записи у тебя произойдёт ошибка, что истёк тайм-аут что ли...
Alexander
И ему как бы пофиг, что реквест ты обработал и ресурсы потратил и может какие-то изменения сделал, которые клиент не должен повторно запускать, а он не знает
Alexander
It is reset whenever a new // request's header is read.
Alexander
Короче надо изучать как фреймворки написаны) может ещё багу в них найдешь из-за таких странных моментов в самой стандартной библиотеке
🅞leksiy
И ему как бы пофиг, что реквест ты обработал и ресурсы потратил и может какие-то изменения сделал, которые клиент не должен повторно запускать, а он не знает
Ну как-бы, то что ты сделал изменения в бд и что-то считал это хорошо. Но то, что ответ дойдет до клиента все равно никто не гарантирует. Можт у него инет затупит или еще чего
Alexander
где в обычном хттп сервере у хэндлера контекст?
Alexander
Ну как-бы, то что ты сделал изменения в бд и что-то считал это хорошо. Но то, что ответ дойдет до клиента все равно никто не гарантирует. Можт у него инет затупит или еще чего
дык прикол в том, что таймаут на врайт 5с, ты получил реквест, 5 секунд делал запросики, и все - запросики отделал, а ответить не успел
Alexander
ок, спос
Alexander
хм, WriteTimeout звучит как таймаут на запись в соединение. вот там даже кто-то выше так предположил
Bagasl
Это read, а write там что-то сложнее
щас почитаю, спасибо
Alexander
типа начал писать - он включился, и вот клиент мудак не принял или у тебя затупила сеть - давай до свидания
Bagasl
а кто сказал, что это не jpeg?
Bagasl
Bagasl
покажи свой запрос в браузере
Bagasl
Нормально открывается
Bagasl
+
Bagasl
В браузере дело
Strč prst skrz krk
Привет, юзер Arsen Silkin с ID 1805571951 добавил меня без моего разрешения в криптовалютную группу (похоже, с Кипра 🇨🇾), я не знаю, было ли такое с другими юзерами в группе, но именно поэтому я сообщаю об этом. Извините, что отвлекся от темы группы на данный момент. Это всё.
Strč prst skrz krk
Зайди в настройки телеги и запрети всем, кроме контактов, добавлять тебя в группы. Заодно остальные настройки приватности проверь
Проблема не в этом, у меня уже есть параметры приватности, как ты уже давно предлагал. Хуже того, я уже достиг лимита групп и каналов Telegram, поэтому теоретически никто не может добавить меня в другую группу или канал. Только вчера человек, которому я помогал с его каналом, пытался добавить меня и не смог войти. Я предполагаю, что это достигается с помощью ботов или какого-то прямого трюка API, который обходит это ограничение. В любом случае, я просто хотел сообщить на случай, если с кем-то еще случится то же самое, я не хочу делать это больше или добавлять офф-топик.
Alexander
у меня однажды это чисто от прокси зависел. без прокси пнг отдавалась, с прокси и с моего браузера вебп
Alexander
они дурные бывают) надо хавать уметь, что дают
N
Подскажите новичку: как сконкатенировать строки, чтобы они друг к другу прилегали, то есть без отступов?
N
Без цикла и пустой переменной
Maks
Парни
Maks
Может кто знает
Maks
Как мне заюзать в системе интерпретатор php из докер имаджа. Так операции супер разовые, я хочу что бы в системе при вызове "php" он вызывался из докер контейнера
Maks
окей, другой вопрос))) докер ран - создаст новый контейнер и запустит его. docker start запустит существуюищй остановленный контейнер. Вопрос. Как в docker start передать аргументы командной строки?
Maks
всё сделал че хотел)
🅞leksiy
Так много вопросов, даже не знаю с чего начать
🅞leksiy
Мб его на лету вирусняк модифицирует?
🅞leksiy
Или паттерн просто совпадает
🅞leksiy
А что, если сбилдить, и потом с тем, что го ран генерирует, сравнить
🅞leksiy
По размеру и хешу
Maks
А у тебя докера нет?
Maks
Почему бы тебе приложение сбилженное в контейнере не поднимать. один раз создай докер-композ файл и докерфайл. В докерфайле возьми тот же альпин ну или дебиан базовый, поставь inotify-tools, замапить папку build и при обновлении приложения завершать работу контейнера прописав restart always
Maks
ну и билдить под линукс платформу)
Maks
может быть винда тогда ругаться не будет
Maks
и вообще не нужно будет ничего делать особо. ПРила будет всегда запущена)
🅞leksiy
может быть винда тогда ругаться не будет
А в композе можно пробрасывать доступ к бд на хосте?
Maks
я не знаю, если даже и можно то обычно так не делается. Я бд всегда поднимаю в контейнерах. Я даже композер на линухе поднял в контейнере и его юзаю в хосте в качестве composer обычного.
Maks
Я стараюсь вообще ничего не хост не ставить)
Maks
Нравится что докер изолированный и в случае чего можно снести вообще всё и не париться где какие следы остались)
Maks
ну из таких штук.
🅞leksiy
Я стараюсь вообще ничего не хост не ставить)
А файлы баз данных, прокидываешь каталог?
🅞leksiy
Или перезапуске все по новой?
Maks
ну создаю вольюм и всё.
🅞leksiy
Понял
Maks
и он при перезапуске не теряется
Maks
даже при ребилде
Maks
стараюсь еще вольюмы именовать что бы было более понятно
🅞leksiy
Интересно, почему в кубернетс не принято разворачивать бд в нем же?
🅞leksiy
Типа как антипаттерн
Maks
С кубером сам честно говоря не работал))) У нас девопсы за него отвечают почти всегда))) А я как сам пока не разбирался)
Maks
щас вот попробую свой проект сделать на симфони, потом переписать на микросервисы на го
🅞leksiy
Нашел тут: https://habr.com/ru/company/itsumma/blog/453602/
Maks
вот не хотел локально пыху ставить - долго пытался схему придумать)))) Даже symfony-cli нет смысла ставить если не ставишь пхп и композер локально. Но я нашел выход - композер в докере (в нем уже есть пхп) а симфони cli мне нужна была только что бы сделать new project, который в композере вызывает composer create-project symfony/skeleton project_dir
Maks
и сделал такой композер
Maks
Maks
Теперь локальный вызов команды композера будет запускать контейнер из имаджа композера и в хосте выполнять команду)
Влад
Нашел тут: https://habr.com/ru/company/itsumma/blog/453602/
Практически на каждом облаке есть Managed сервисы для популярных БД, однако для каких-то вещей, которые по лицензии не имеют возможности распространяться как облачное решение (всякие Community licence), тебе придется делать свой кластер. Либо, например, нужен доступ к топологии кластера, чтобы писать непосредственно в Data Nodes, минуя потенциальный боттлнек. Либо нужна какая-то тонкая настройка, с произвольными partition key и тд - как это делать в Managed - без понятия пока что. Хостить где-то у себя - будешь гонять траффик по сетке с задержкой. Использовать Managed - есть куча проблем, зависящих от конкретного облачного сервиса. Держать в k8s - проблемы из статьи. Надо конечно держать свой сосбтвенный пул машинс k8s и своим собственным s3 (это шутка (не для всех компаний))
Влад
Ну и конечно Managed DB всегда значительно дороже того что ты будешь поднимать сам