Konstantin
Всем привет. подскажите какой нибудь минималистичный фреймворк для тестирования rest? restit попадался
Fastumkruk
Гляньте пока вот эти issues: https://github.com/valyala/fasthttp/issues/64 https://github.com/valyala/fasthttp/issues/161
Гуглил уже. Все равно там нету примера с лог\паролем
Alexander
Эм так, а как жить то дальше? ) с блокировкой телеграм в рсци
Можно воспользоваться этим https://github.com/tucnak/telebot
Fastumkruk
Гляньте пока вот эти issues: https://github.com/valyala/fasthttp/issues/64 https://github.com/valyala/fasthttp/issues/161
Возможно ли сделать библиотеку через сандартный http?
Maxim
Возможно ли сделать библиотеку через сандартный http?
Придётся перелопатить некоторые кишочки, конечно. Плюс скорость работы будет снижена
Daniel
а?!
Daniel
это как это она будет снижена?
Fastumkruk
Придётся перелопатить некоторые кишочки, конечно. Плюс скорость работы будет снижена
Просто с fasthttp, Ваша библиотека будет юзабильна только через всякие приблуды, это если для России
Fastumkruk
Из-за 7% пользователей менять движок?
Я особо не настиваю, просто говорю свое мнение
Daniel
Бенчмарки же ж
и что бенчмарки? как это влияет на интегральную производительность
Maxim
Из-за 7% пользователей менять движок?
Ну, мне не трудно, тащем-то
Kirill
Тем более в РФ дороже сидеть
Kirill
????
Сколько стоит твой сервер для бота?
Kirill
(Если не гуглить самые дешёвые виртуалки РФ)
Kirill
Вот - рили
Alexander
Тем более в РФ дороже сидеть
иногда нужны российские айпишники.
Alexander
но есть хак, купить маломощный сервак в РФ, поднять там прокси и бегать через него
Maxim
Причём тут Россия?
При том что в россии обычно наблюдаются некоторые проблемы с соединением к API
Fastumkruk
Сколько стоит твой сервер для бота?
5э и он не в роси, ставить прокси на всю ОС только для разработки, не особо хочеться.
Alexander
Для бота? Чё?
ну я не про телегу
Kirill
ну я не про телегу
А мы выше о телеге
Alexander
А мы выше о телеге
ну ты написал что "Тем более в РФ дороже сидеть" - это в принципе так, безотносительно бот для телеги или любой другой сервис. но иногда надо сидеть в россии.
Maxim
Есть какие-то прям обязательства хостить бота только на российских адресах?
Maxim
Если подразумевается работа бота для всех, то логично подыскать площадку, в которой для подъёма бота не требуется танцев с бубном
Maxim
Для локального тестирования - поднимай прокси у себя. В проде логика проксирования, наиболее вероятно, не потребуется
Alexander
а есть прокси, который можно цеплять к процессу. ща найду
Alexander
я так лечил приклад, который не умел в прокси.
Alexander
proxychains - вот эта штука.
Maxim
Кстати да, помню какую-то тулзовину, через которую пропускаются команды для запуска чего-нибудь сквозь прокси
Kirill
ну ты написал что "Тем более в РФ дороже сидеть" - это в принципе так, безотносительно бот для телеги или любой другой сервис. но иногда надо сидеть в россии.
Ок. Рассмотрим кейс не бота. Сколько стоит сервер 8*3.5ghz с овером, 48 гиг памяти, 2*2тб рейд, 2 БП, /29 + /64 и гигабит выделенки в РФ?
Alexander
Ок. Рассмотрим кейс не бота. Сколько стоит сервер 8*3.5ghz с овером, 48 гиг памяти, 2*2тб рейд, 2 БП, /29 + /64 и гигабит выделенки в РФ?
ну тысяч 5 в месяц. да не спорю я что в РФ и хостинг и дедики дороже. и если у тебя бизнес не завязан на условие, что хостится нужно в россии - лучше сэкономить.
Kirill
Я как раз говорил о телеге, где невыгодно сидеть в РФ
Kirill
У нас тоже сайты должны в РБ хоститься, если хостинг не бесплатный, ну вы понимаете)
Anonymous
Blockchain Weekly Meetup #5! 1 июня , начало в 18:00 , Казань , ул. Подлужная 17 Еще немного и криптовалюты выйдут из серой зоны - на рассмотрение в нижнюю палату парламента поступил законопроект "О цифровых финансовых активах".🔥 Будут ли токены и криптовалюты считаться имуществом, а майнинг предпринимательской деятельностью? Где и как можно будет обменять рубли на криптомонеты в законной форме? Как легально провести ICO в России? На все эти вопросы ответит гость нашего следующего митапа, юрист в составе рабочей группы Российской Ассоциации Криптовалют и Блокчейна (РАКИБ) — Галиуллин Рустем! https://blockchainclub.timepad.ru/event/735160/
Aleksey
Почему здесь нет ни слова о том, почему эта реклама должна быть здесь?
Потому что большинство вакансий на го про блокчейн?
Daniel
а?!
Aleksey
А что вы прокси и прокси для телеги? Есть же vpn, там можно пустить трафик на телеграм сервера только через него
Kirill
Я одобрил
Вопрос снят 🙃
Fastumkruk
if update.CallbackQuery != nil { fmt.Println(update.CallbackQuery.Data)//Выполняет и потом крашиться на сравнении } panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x58 pc=0x6198c2] Вопрос, что ему не нравиться?
Fastumkruk
if update.Message != nil { fmt.Println("message", update.Message.Text) } Аналогичный код, но не крашиться
Fastumkruk
Fastumkruk
Fastumkruk
if update.CallbackQuery != nil {
Но при этом успевает выполниться следущяя строка с принтом
Ilya
то есть, сначала выполняется код внутри ифа, а потом код самого ифа?
Ilya
это значит "да" или значит "нет"? :)
Cat
😐
.Data ссылается на невалидную память?
Cat
что печатается в println(.Data)?
Cat
адрес?
Fastumkruk
Разобрался в чем дело. Сообщения и инлайн сообщения нужно обрабатывать в разных ифах, тогда краша нету.
Aleksandr
update.CallbackQuery - Пусто тут)
Aleksandr
switch { case update.Message != nil: msg := update.Message // в этом кейсе работаете только с msg case update.CallbackQuery != nil: call := update.CallbackQuery // в этом кейсе работаете только с call }
Aleksandr
вчера тебе на это указывали
Fastumkruk
update.CallbackQuery - Пусто тут)
Пусто, а update.InlineQuery не хочет вообще ни чего давать.
heavycharged
нужен совет: 1. читаю файл, и пишу в канал задания для воркеров 2. crawler ходят по REST API и тело HTTP ответа записывают в канал, где работают парсеры. 3. парсеры парсят тело ответа, и пишут во writer, который записывает в файл. вопрос вот в чем: после того как я прочел файл, я закрываю канал с заданиями, crawler завершают свою работу, делаю wg.Wait() и закрываю канал в который писали кравлеры, и из которого читали парсеры (т.е. они тоже завершат свою работу). И вот тут затык, как мне закрыть канал, в который эти парсеры пишут? Потому что если его не закрыть, то врайтер будет ждать результаты для записи в файл. Вешать ещё один WaitGroup?
heavycharged
сорян за сумбур
heavycharged
можно рулить через context.Context и for { select {
heavycharged
а ещё варианты какие-то есть? может есть вариант проще?
Daniel
нету
Daniel
и не надо
Altay unstppbl
Объединить crawler с парсером
Andrey
У вас несколько груп писателей, поэтому на каждую группу нужен свой waitgroup. Облегчает задачу то, что у вас определён порядок работы, то есть первыми завершаются краулеры, значит сначала надо ждать их, потом закрывать канал куда они пишут, потом ждать парсеры, и закрывать их канал
Andrey
Если бы порядок не был определён, то пришлось бы порождать отдельные горутины с waitgroup
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Завести калал done := chan struct {}
Pawel
Использует кто нибудь graph-gophers/graphql-go вместо graphql-go/graphql ?
Pawel
@Aleksandr Zelenin, ты вроде в теме, какую либу юзаешь для графкуэль?
heavycharged
всем спасибо
Aleksandr