golang
Об (отсутствии) синтаксической поддержки обработки ошибок в Go

Программисты на Go уже давно и долго жалуются на слишком многословную обработку ошибок. Все мы близко (а иногда и болезненно) знакомы со следующим шаблоном кода:x, err := call() if err != nil { // обработка err }Проверка if err != nil встречается настолько часто, что может становиться объёмнее остального кода. Обычно это происходит в программах, выполняющих много вызовов API, в которых обработка ошибок рудиментарна и они просто возвращаются. Некоторые программы в итоге выглядят примерно…

  • четверг, 5 июня 2025 г. в 00:00:07
golang
Структурированные логи + локальный стек вызовов: эволюция обработки ошибок в Go

Каждый 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 } Проблемы такого подхода: Дублирование названий методов в сообщениях об ошибках Ручное добавление метаданных (аргументы, переменные) в каждое место Сложность отслеживания места возникновения ошибки при нескольких то…

  • четверг, 5 июня 2025 г. в 00:00:06
golang
Десктопное кросс-платформенное приложение на Wails (Golang + Vue.js). Как мы делали Tuna Desktop

Что такое Wails?Wails - это легковесный фреймворк, предназначенный для создания кросс-платформенных GUI приложений рабочего стола на golang и стандартных веб технологиях (Svelte, React, Preact, Vue, Lit, Vanilla JS). Ближайшие аналоги это естественно Electron (JS), Tauri (Rust), хочется добавить Qt (С++), но это уже другой уровень. Сразу скажу, что Wails не идеален, имеет множество ограничений и в целом не подойдёт для чего-то крупного, Tauri к примеру более зрелый проект, больше функций, быстр…

  • четверг, 5 июня 2025 г. в 00:00:05
javascript
Монитор 42 — сервис для мониторинга документов о вырубке и застройке зеленых зон

Привет!Меня зовут Алексей Фоменко.Я разработчик из Нижнего Новгорода.Последние 5 лет я бесплатно работаю волонтёрю в экологическом центре "Дронт", где занимаюсь проектом "42 - я имею право!". Мы освещаем экологические проблемы Нижегородской области и рассказываем о том, как их решать.Что делать, если во дворе появился строительный забор? Или уже начали вырубать деревья?Рано или поздно с подобным вопросом сталкивается каждый житель крупного российского города. На практике ответ н…

  • четверг, 5 июня 2025 г. в 00:00:04
javascript
Веб-воркеры — многопоточность в JavaScript

Даже самые зелёные новички в вебе знаю, что скрипты JS, нужно располагать в самом низу страницы перед закрывающим тегом script и всё знаю что это повышает скорость загрузки страницы. Но Вы когда-нибудь задумывалась, почему оно так?JavaScript по своей природе однопоточный язык, но мало того, он делит этот единственный поток сразу с HTML и CSS. Это приводит к тому, что встречая тег script, браузер начинает, исполнять его код, при этом останавливая дальнейшую обработку HTML и CSS и в результате по…

  • четверг, 5 июня 2025 г. в 00:00:03
xaker
Qualcomm устраняет три 0-day уязвимости, используемые в целевых атаках

Компания Qualcomm выпустила исправления для трех уязвимостей нулевого дня. Разработчики предупредили, что эти проблемы уже использовались в ограниченных целевых атаках.

  • среда, 4 июня 2025 г. в 00:00:23
xaker
Интернет-кафе в Южной Корее оказались заражены майнером T-Rex

Специалисты AhnLab (ASEC) обнаружили массовое заражение корейских интернет-кафе майнером T-Rex. Предполагается, что стоящий за этой кампанией злоумышленник активен с 2022 года, а атаки на интернет-кафе начались еще во второй половине 2024 года.

  • среда, 4 июня 2025 г. в 00:00:22
xaker
Более 93,7 млрд файлов cookie продаются в даркнете

Аналитики NordVPN подсчитали, что в даркнете и в Telegram продаются миллиарды украденных файлов cookie. Около 7–9% этих cookie все еще активны и могут использоваться злоумышленниками

  • среда, 4 июня 2025 г. в 00:00:20
xaker
Тонкости passkeys. Разбираем сильные и слабые стороны нового способа аутентификации

При слове «криптография» все обычно сразу думают о шифровании, то есть сохранении данных в секрете. Но не менее важна и подлинность: гарантия того, что информация действительно исходит от надежного источника. Пароли традиционно служат для аутентификации пользователей, но они уязвимы для фишинг‑атак и утечек данных. И здесь на помощь приходят passkeys, они же — ключи доступа.

  • среда, 4 июня 2025 г. в 00:00:19