Рад приветствовать тебя,%username%. В этой статье я поделюсь тем, как создать вращающуюся ручку (в зарубежной литературе именуемой Knob). Далее по тексту я её буду называть «кноб». Перейдём к сути вопроса.Что меня сподвигло на написание данной статьи, или как я докатился до жизни такойКогда-то давно, будучи ещё совсем зелёным и несмышлёным кодером, мне взбрело в голову сделать своё приложение. Моих знаний хватало на какой‑нибудь «Hello, World!», но кое‑что выдать я мог. И на тот момент мне поза…
Google Gen AI Go SDK provides an interface for developers to integrate Google's generative models into their Go applications. ✨ NEW ✨ Google Gemini Multimodal Live support Introducing support for the Gemini Multimodal Live feature. Here's an example Multimodal Live server showing realtime conversation and video streaming: code Google Gen AI Go SDK The Google Gen AI Go SDK provides an interface for developers to integrate Google's generative models into their Go applications. It support…
В прошлом месяце на сайте «Хакера» завершилась публикация книги Валентина Холмогорова «Хакеры.RU» — приключенческой истории с налетом технотриллера и атмосферой времен, когда хакинг был стилем жизни. Ты можешь не просто прочитать эту историю, но и подержать ее в руках — у нас есть бумажная версия книги с черно-белыми иллюстрациями!
Если 25 лет назад мне бы сказали слово Creative, то я бы автоматически ответил Sound Blaster. Эти карты де-факто стали стандартом для геймеров еще в 90-х, так что открыв почти любую игру тех лет, в настройках вы видели заветное словосочетание. Разумная стоимость и богатая функциональность — поддержка MIDI, встроенный музыкальный синтезатор, наличие порта для подключения джойстика, возможность воспроизводить цифровой звук — сделали SB невероятно популярной линейкой.Но, помимо геймеров и разработ…
Стандартная библиотека C++ содержит множество классов и функций, которые легко интегрируются в проект, безопасны и протестированы на множестве кейсов. Однако за удобность и всеядность приходится платить производительностью. В играх, если производительность сразу не стоит на первом месте, то к концу проекта вы получаете такой технический долг, что проще бывает всё выкинуть и начать заново. Прямолинейное использование стандартной библиотеки в большинстве случаев, когда нужен производительный и э…
Представьте, что можно управлять всеми приложениями, трансляциями фильмов и музыки, бэкапами, дисковым хранилищем, устройствами умного дома — с домашнего сервера. Это есть личное или персональное облако, то есть аналог публичных облачных сервисов, но на своём сервере, дома или на VPS. Например, система CasaOS изначально создавалась для одноплатника ZimaBoard (на фото), который позиционируется как мини-NAS. Главная ценность — отшлифованный UI с системными гаджетами для домашнего сервера, отоб…
C 26 мая 2025 года вступают в силу расширенные требования ЦБ к иностранным цифровым правам (ИЦП), в результате чего физлицам запрещено покупать USDT и другие стейблкоины. USDT — популярный и надёжный стейблкоин. В нём удобно производить расчёты, переводить деньги друзьям, рассчитываться за услуги, покупать товары. Но центробанки хотят навязать гражданам свои цифровые валюты с полным отказом от анонимности, с автоматической уплатой налогов и удобной конфискацией средств в случае необходимос…
Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как GoodbyeDPI (большое спасибо @ValdikSS!). Сегодня я хочу представить вам (почти) свою разработку - аналог GoodbyeDPI.Около полугода назад в своей статье Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1 (заблокирована по требованию РКН) я рассказывал о том, как скачивать видео с YouTube на Python, а так как YouTube у нас "деградировал&#…
Привет, Хабр!Сегодня разберём, как устроен reflect.Value изнутри и что на происходит, когда вы вызываете .Field(i). Что прячется в reflect.Value — и как это связано с вашей памятьюКогда вы пишете в коде reflect.ValueOf(x), вам возвращается объект, внутри которого — по сути, три вещи:type Value struct { typ_ *abi.Type // описание типа (reflect.Type — это обёртка вокруг) ptr unsafe.Pointer // указатель на данные, которые мы отражаем flag flag // битовая маска, определя…