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