Илья
всем go sleep()
kostyaBro
Да, я тоже gopark потихоньку
Илья
anhckie
ночи доброй. есть ли какие-то ограничения на сайз лимит в аргументах функций? пытаюсь понять, почему у меня слайс байт разный выходит в двух случаях. такое ощущение, что он при передаче обрезается до какого-то лимитного сайза или нечто подобное
1. респонс от АПИ отдается в клиентскую функцию как аргумент
2. АПИ вызывается напрямую в клиентской функции и работает с респонсом, который так же слайс байт
anhckie
во втором случае работает как ожидается, но реализация работы с апи в кл. ф-и быть не должно, собсно
anhckie
вызов происходит одного и того же урла, с тем же методом, с тем же пейлоадом, одинаковыми средствами fiber
kostyaBro
В fasthttp нельзя возвращать тело
kostyaBro
🅞leksiy
kostyaBro
?
Я имел в виду что если вы хотите вернуть байты респонза из функций в которой собственно делали реквест. То их надо скопировать.
Иначе другой реквест может перезаписать полностью иди частично байты в респонз.
Igor
chmod ugo-rwx
Oleksandr
Говорят
chmod ugo-rwx
Говорят обратное, сейчас статью найду
chmod ugo-rwx
https://habr.com/ru/post/598219/
chmod ugo-rwx
https://habr.com/ru/post/338268/
Oleksandr
https://habr.com/ru/post/676994/
Null
🧑💻 Implementing LRU Cache in Go
➡️ Статья
↪️ Что такое LRU кэш
@Golang_google
Vitaly
Кто-нибудь знает альтернативу codecanyone от envato, только с продажей скриптов, сервисов и прочего на Go?
Юра (Юрий Александрович)
MDWIT
MDWIT
Если решитесь, возвращайтесь с более подробным отзывом :)
прекрасная статья во всех смыслах)
Создается впечатление, что автор вообще не видит разницы в языках, не видит ниш в которых ведутся разработки. Он считает что все яп должны идеально работать для написания драйверов винды, ядра линукса, микросервисов и написания сайтиков где перетягивают джейсоны и html)
Я встречал с такой логикой и мышлением всяких сишников, которым дай задачу написать сервис для подсчета стоимости и выбрать язык. Так они выберут cи или асемблер, только потому что на первом можно писать ядро линукса, а на втором можно писать компиляторы
MDWIT
для каждого языка найдется своя задача, если я захочу писать ядро линукса, то у меня не будет стоять выбор между js, go, clojure или rust.
Логично же, что rust тут сделан для низкоуровневых разработок и он будет единственным кто тут сможет стоять на одном уровне с cи
MDWIT
Но то что в этой задаче я не могу применить GO, не говрит о том, что он плохой, и ровно так же не говорит, что я должен через боль его использовать, чтобы его оправдать
Nasonov
MDWIT
https://habr.com/ru/post/338268/
я проводил такой же тест, и у меня nestjs был на уровне gin, а сервер на bun js был быстрее fasthttp
К тому же гошные серваки потребляли значительно больше ресурсов. Говорит ли это что go и rust должны умереть? JS быстрее чем go, а go быстрее чем rust)
А еще быстрее всех zig, может и js и bun убьем?)
В опытных руках даже python будет быстр для своих задач)
Сегодня какой-то холиварный день) Заканчивайте уже выбирать языки и приступайте к решению задач)
Иван
вот если заюзать все микрооптимизации для какой то абсолютно предсказуемой нагрузки и посмотреть что будет быстрее из технологий
minone
Реализация алгоритма LRU через гоу
minone
лучше юзать компилятор tinygo
minone
он лучше справляется
minone
Иван
ну там не го а какой то сабсет от го но в целом люди от тиниго прям балдеют
minone
minone
проигрывает билд от тинигоу
minone
Хехе, живём в 21 веке, когда не надо так парится о масштабировании если бы это было на года основания интернета. Запилил сервисную архитектуру и плевать на непотраченные мегабайты.
minone
Джедаи по go, объясните мне есть ли перспектива реалищовавывать машин лернинг проекты на гоу? Не дать ли предпочтение питону.
И второе, почему вместо rabbitmq до сих пор отдают предпочтение Кафке, либо это связано с энтерпрайзом?
Emin Zalaev
нет
Emin Zalaev
лучше и легче на питоне
Кіт ✙
всё равно тензорфлоу всякие на плюсах
Emin Zalaev
ну может не любят питон(это я)
minone
типо оптимизации наврядли будет
Emin Zalaev
будет
Emin Zalaev
но оправдана ли
Кіт ✙
minone
Кіт ✙
может и не будет
опять же, тензорфлоу на плюсиках. Питон тут чисто как панелька регулировок
Кіт ✙
а на плюсиках, будем честны, оптимизаций можно навалить поболее, нежели на го
minone
minone
питон как Lua для тарантула
minone
И второе, почему вместо rabbitmq до сих пор отдают предпочтение Кафке, либо это связано с энтерпрайзом?
minone
Sanity = nil
А не многовато ли, два вопроса сразу?
Sanity = nil
💃
minone
типо ахуел
minone
😆😆
minone
ладно, сам найду
Илья
Илья
реббит сам направляет сообщения в разные comsumer'ы, к кафке можно подключиться и читать с любого места
Илья
грубо говоря рэббит в отличие от кафки не хранит сообщения
minone
типо тут кафка
minone
выступает как логгер
minone
?
Илья
ну в вашем случае в кафку просто логи кидают
Илья
если нужно какие-то получить, то просто читаешь
Даниил
Привет ребят!
Маленький вопрос - есть ли какие то флаги возникновения паники в функции?
В одном из учебных материалов, есть небольшая подзадача, чтобы при панике выводилась строка обхода файла, на парсинге которой эта паника произошла.
Обнаруживать панику условием(условный пример):
if recovery() != nil {
fmt.Println("parse error on string", i)
panic("parse error")
}
считаю неверным. Это как то неправильно, восстанавливать панику и сразу ее объявлять.
Как можно определить возникновение в функции паники помимо такой конструкции? =)
Юра (Юрий Александрович)
> Это как то неправильно, восстанавливать панику и сразу ее объявлять
в зависимости от ситуции это может быть и правильно, и неправильно. Если после восстановления из паники повторять ее не нужно - не повторяйте.
Юра (Юрий Александрович)
Обычно делается так: если функция возвращает err, то она ловит панику через recovery, пытается распознать ситуацию, если ситуация понятная - возвращает какой-то из error'ов, если вообще непонятно, что произошло, то прокидывает панику дальше.
Если функция err не возвращает, то панику обычно повторяет, т.к. скрывать от стека вызова возникшую панику - это нехорошо.
Юра (Юрий Александрович)
Т.е. все зависит от контекста (но не того, который context). Если вы не смогли открыть дверь холодильника, когда захотели перекусить - это такая паника, которую можно подавить, ничего страшного. А если вы не смогли открыть дверь холодильника, в котором хранится лекарство, которое вам срочно надо принять - тогда паника-рекавер-паника
Даниил
Ага, понял, т.е. ловить панику нужно только восстановлением. Логика верного\неверного тоже понятна. Спасибо =)
Но возникает вопрос о проходе файла.
Если в цикле возникла паника, внутри цикла отложенной замкнутой функцией была перехвачена и опознана как ожидаемая и есть меры по предотвращению, то возможно ли из отложенной функции вернуть управление циклу и будет ли он продолжать работу, если будет инструкция continue()? Увидит ли цикл - continue из замкнутой функции и будет ли вообще выполнять свою работу со следующей строки?
Юра (Юрий Александрович)
Юра (Юрий Александрович)
Например в цикле мы можем для каждого файла вызывать функцию обработки одного файла, которая внутри себя будет ловить панику, на основании которой возвращать err или что-то нормальное.
Александр
извините чат перепутал😅