Maks
Но это дольше
xasai.denet
Но правильнее
xasai.denet
получается
Alexander
иногда правильнее с блокировкой =)
Alexander
от ситуации зависит
Maks
иногда правильнее с блокировкой =)
А как тогда спасти большую таблицу от "зависания" на время добавление индексов?
Alexander
Если у тебя большая таблица и зависание не страшно)
Maks
Я просто вот недавно на проде индексы добавлял в таблицу на 10 миллионов записей на жсон поле, а у нас в бд пишется по тысячи полторы в час.
Maks
Через MQ
Maks
И если на час зависнет запись в бд, то там очередь всю память отожрет и может упасть.
Maks
У нас платежный шлюз
Alexander
У меня так скажем больше процессинг контента, могущий подождать на некоторых этапах
Maks
Долгая индексация есть пить не просит, по этому я думаю конкурентли на больших таблицах в которых вечно что то пишется - мастхев)
Vardan
Привет всем, можете подсказать как можно парсить файл и создать экземпляр структуры в этом файле?
Anonymous
Hi i want to make an http request with payload and then get the result of this request. How can i do it
George
да вы прикалываетесь
Несин Данила
@edwvee, @shinanca хорошо попробую завтра сделать тоже самое на простых горутинах, без обертки в виде воркеров и сравнить результаты
@edwvee, @shinanca, @reijo1337 Доброе утро! В общем, попробовал сделать множественные запросы без обертки в виде воркеров, а простой горутиной: var wg sync.WaitGroup wg.Add(len(switchList)) for _, switchName := range switchList { go CallToSwitch(switchName, "user", "pass", macAddr, messageChan, &wg)} wg.Wait() ... } func CallToSwitch(switchName, user, pass, mac string, messageChan chan<- [][]string, wg *sync.WaitGroup) { defer wg.Done() ... messageChan <- text } И оно имеет проблемы с чтением с i/o: Error:read tcp x.x.x.x:50790->x.x.x.x:23: i/o timeout и зависанием на время timeout. Вернувшись к реализации с воркерами (оберткой над функцией), проблем не возникает и отработка запросов происходит на секунды. Остаюсь на варианте с воркерами.
Null
Использование инверсии зависимостей в Go https://nuancesprog.ru/p/9813/ @Golang_google
Maxim
А кто сейчас что из mq использует? mqtt - понравился для встаевымых систем, kafka - оверкилл, когда mq требует ресусрсов столько, сколько приложение редко, redis - устраивает, nats - для мена, странное позиционирование, но модно, rabbitmq - нашим не понравилось(разбирали архитектуру c-шники и asm-блирщики), activemq - кто-то использует?
Egor
попробуй aeron)
Maxim
Это не mq
@Thermophoto
Привет, подскажите, какой нужно сделать пет-проект на go, чтобы получить первую работу на golang
xasai.denet
Мне никаких хватило, тестовое решил правильно, и айда пошел
Maks
прошел собес сделал тестовое и в путь
Maks
при этом одинаково спрашивали на 80к, и на 150)
@Thermophoto
прошел собес сделал тестовое и в путь
Тестовые высылают до собеса, а на собес ты не попадаешь)
👀
Привет, подскажите, какой нужно сделать пет-проект на go, чтобы получить первую работу на golang
Сделай transplier brainfuck -> javascript, на senior; интерпретатор brainfuck на middle. Ну или попробуй сделать что-то из этого на junior. Всегда открыты)
Maks
у меня часто тестовое после собеса
Петр
Всем привет! Кто-нибудь сталкивался с проблемой отправки логов в грейлог и алертов в ТГ?
@Thermophoto
Alexander
Нечто вроде мемкэш или редиса
Maks
я работал в говноконторе мидлом за 85, потом ушел как мидл-минус за 80 на испыталку в петшоп, потом через 3 месяца подняли до сотки а через 2 месяца я ушел на полностью белую 175к-13%=152500
@Thermophoto
Нет, это слишком сложно
Maks
все что нужно быстро подтянул потом
Maks
главное развиваться самому
Alexander
Maks
Нет, это слишком сложно
а че сложного. Авторизацию научись делать, потом авторизованному пользователю отдавать список key:value значений сохраненных и по key получать значение, и записывать через пост
Maks
и удалять
Maks
это если с пользователями
Maks
без них просто слишком просто будет)
Петр
Всем привет! Кто-нибудь сталкивался с проблемой отправки логов в грейлог и алертов в ТГ?
Serhio
как можно удалить строки каскадно с softDelete? удаляются только при грубом удалении
Maks
Или ручками
Maxim
Или cascade
Maxim
В структуре таблиц
Алексей
Или cascade
При софтДелите каскад?
45383
Всем привет! Я новичок. Как в Go возводить в степень? Заранее спасибо.
45383
Большое спасибо!
la4z
Че за шляпа
la4z
Пиздец.
Maxim
哈喽
Μαριούπολη
вопрос не по теме
Μαριούπολη
Убунту перестала видеть второй монитор и на основном ток разрешение 4:3
Μαριούπολη
никто не сталкивался с подобной проблемой?
Μαριούπολη
Спасибо
Melbourne Channel
https://pastebin.com/raw/pcKfpqLd <- does anyone know why my cgo call the []bytes to c has error? why the strlen doesnt match?
Emil
Господа, а как несколько файлов (фото) прикрепить к респонсу Попытался в gin с.file в цикле, не захотел. Там multipart нужен? В запросах Гугл кажется думает, что я с запросом посылаю файлы)
𝕌ℕ𝔼𝕏ℙ𝔼ℂ𝕋𝔼𝔻
Господа, а как несколько файлов (фото) прикрепить к респонсу Попытался в gin с.file в цикле, не захотел. Там multipart нужен? В запросах Гугл кажется думает, что я с запросом посылаю файлы)
package main import ( "github.com/gin-gonic/gin" "log" "net/http" ) func main() { router := gin.Default() router.POST("/upload", func(c *gin.Context) { // Multipart form form, _ := c.MultipartForm() files := form.File["upload[]"] for _, file := range files { log.Println(file.Filename) } c.String(http.StatusOK, "Uploaded...") }) router.Run(":8080") }
Emil
А ты джин как клиент используешь?) xD
Я должен посылать джину(серверу) имя файла, дальше скачиваю файлы с похожим именем с Гугл драйва (я смог с ним заговорить, ура) и прислаю в ответ
Emil
Пока только один файл в ответ получается прислать
𝕌ℕ𝔼𝕏ℙ𝔼ℂ𝕋𝔼𝔻
Я должен посылать джину(серверу) имя файла, дальше скачиваю файлы с похожим именем с Гугл драйва (я смог с ним заговорить, ура) и прислаю в ответ
Реализуй функцию архивирования внутри сервиса, собирай нужные файлы, архивируй и отдавай одним файлом.
𝕌ℕ𝔼𝕏ℙ𝔼ℂ𝕋𝔼𝔻
Пока только один файл в ответ получается прислать
я сначала не увидел что тебе нужно в респонс отдать несколько файлов
Emil
Хм, красиво, попробую, спасибо
Alexander
в смысле вместо числа будет строка?
Alexander
ты просто создаешь свой тип на основе существующего. можешь добавлять к нему методы. в случаях сравнения или передачи в функцию и тп придется использовать приведение
Alexander
можно делать с каждым типом
Alexander
нет, объявление нового типа
Alexander
наследования нет в принципе
Alexander
да
Alexander
ща пример накатаю, окей
Alexander
https://goplay.space/#Tk_v5AKxZ-H
Alexander
смари, вот мы как бы переопределили метод родительский, который вызывается другим родительским методом - а воз и ныне там
Alexander
по сути это не наследование, а такая маскирующаяся композиция или аггрегация. забыл как это называется, в общем когда ты один объект внутрь другого включаешь