Привет! Я Михаил Абраш — старший Go-разработчик, работаю в команде Evolution AI Factory в Cloud.ru. Недавно мы начали активно внедрять новые сервисы, переходя с Python на Go, и заметили, что нагрузка между репликами распределяется неравномерно. У нас в команде не было единого подхода к тому, как правильно делать балансировку, поэтому решили провести небольшое R&D-исследование. Что из этого вышло, к чему мы в итоге пришли и как работает балансировка gRPC в целом, рассказал в статье. Почему н…
Программисты на Go уже давно и долго жалуются на слишком многословную обработку ошибок. Все мы близко (а иногда и болезненно) знакомы со следующим шаблоном кода:x, err := call() if err != nil { // обработка err }Проверка if err != nil встречается настолько часто, что может становиться объёмнее остального кода. Обычно это происходит в программах, выполняющих много вызовов API, в которых обработка ошибок рудиментарна и они просто возвращаются. Некоторые программы в итоге выглядят примерно…
Каждый Go-разработчик знаком с этим паттерном — создание обёрток для ошибок с дублированием метаданных: func (*SomeObject).SomeMethod(val any) error { if err := otherMethod(val); err != nil { return fmt.Errorf("otherMethod %w with val %v", err, val) } return nil } Проблемы такого подхода: Дублирование названий методов в сообщениях об ошибках Ручное добавление метаданных (аргументы, переменные) в каждое место Сложность отслеживания места возникновения ошибки при нескольких то…
Что такое Wails?Wails - это легковесный фреймворк, предназначенный для создания кросс-платформенных GUI приложений рабочего стола на golang и стандартных веб технологиях (Svelte, React, Preact, Vue, Lit, Vanilla JS). Ближайшие аналоги это естественно Electron (JS), Tauri (Rust), хочется добавить Qt (С++), но это уже другой уровень. Сразу скажу, что Wails не идеален, имеет множество ограничений и в целом не подойдёт для чего-то крупного, Tauri к примеру более зрелый проект, больше функций, быстр…
Привет!Меня зовут Алексей Фоменко.Я разработчик из Нижнего Новгорода.Последние 5 лет я бесплатно работаю волонтёрю в экологическом центре "Дронт", где занимаюсь проектом "42 - я имею право!". Мы освещаем экологические проблемы Нижегородской области и рассказываем о том, как их решать.Что делать, если во дворе появился строительный забор? Или уже начали вырубать деревья?Рано или поздно с подобным вопросом сталкивается каждый житель крупного российского города. На практике ответ н…
Даже самые зелёные новички в вебе знаю, что скрипты JS, нужно располагать в самом низу страницы перед закрывающим тегом script и всё знаю что это повышает скорость загрузки страницы. Но Вы когда-нибудь задумывалась, почему оно так?JavaScript по своей природе однопоточный язык, но мало того, он делит этот единственный поток сразу с HTML и CSS. Это приводит к тому, что встречая тег script, браузер начинает, исполнять его код, при этом останавливая дальнейшую обработку HTML и CSS и в результате по…
Компания Qualcomm выпустила исправления для трех уязвимостей нулевого дня. Разработчики предупредили, что эти проблемы уже использовались в ограниченных целевых атаках.
Специалисты AhnLab (ASEC) обнаружили массовое заражение корейских интернет-кафе майнером T-Rex. Предполагается, что стоящий за этой кампанией злоумышленник активен с 2022 года, а атаки на интернет-кафе начались еще во второй половине 2024 года.
Аналитики NordVPN подсчитали, что в даркнете и в Telegram продаются миллиарды украденных файлов cookie. Около 7–9% этих cookie все еще активны и могут использоваться злоумышленниками