Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Spring Security + Telegram Authentication

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.3K

Spring Security + Telegram Auth

Добавить Telegram Auth в Spring Boot приложение оказалось сложнее, чем я ожидал — подробных руководств практически нет. После нескольких дней изучений я создал рабочее решение, которое вы легко сможете адаптировать под свои задачи. В этой статье я покажу, как настроить аутентификацию через Telegram в Spring Security и интегрировать ее с БД, а также протестировать как локально, так и на сервере...

Подробнее

Как поймать и обезвредить проблемные запросы в PostgreSQL

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров9.8K

«Как ускорить выполнение запросов к базам данных?» — извечный вопрос админов и пользователей. Казалось бы, раньше всё работало неплохо, но стоило клиентской базе вырасти в пять раз, как всё замедлилось. Знакомая ситуация? В этой статье расскажем, как найти запросы, которые можно ускорить, и оптимизировать их.

Статья подготовлена по материалам выступления на конференции PGCONF.СПБ 2024.

Бежим ловить запросы!

Безумные и забавные факты о SQLite

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров28K

  1. SQLite — самая часто разворачиваемая и используемая база данных. На текущий момент активно используется более одного триллиона (1000000000000 или миллиона миллионов) баз данных SQLite.

    Её поддерживают три человека. Они не допускают внешних контрибьюторов.
Читать дальше →

Индекс твоего города — Всего города

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3K

Мы все отлично знаем, где у нас в городе парки, а где университеты. Но если мы хотим узнать, где больше школ и меньше баров. Для двух параметров большинство людей смогут выполнить такую операцию оценки в пространстве в голове, но как быть если надо 4-5 параметров объединить и еще с разной важностью (детские сады важны, но школы важнее в два раза, а парки это вообще приоритет). Для этого был создан новый слой на карте.

Читать далее

Собираем бюджетный домашний NAS на 14 ТБ

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров98K


Начав заниматься фотографией, я быстро ощутил нехватку места на компьютере. Фотографии в RAW имеют большой вес, а про видео говорить ещё страшнее. Решение проблемы очень простое — собрать NAS.

О моём опыте сборки бюджетного NAS на 14 ТБ я напишу далее в статье.
Читать дальше →

Как мы повышали производительность очереди сообщений

Время на прочтение14 мин
Количество просмотров11K

Работа в Яндексе ставит огромное количество технических вызовов, которые интересно решать. И один из них — это производительность основной очереди сообщений YDB Topics. Посмотрим, может ли опенсорсный продукт от Яндекса конкурировать с Apache Kafka по производительности.

Меня зовут Зевайкин Александр. Я уже практически 20 лет в IT. Начинал с преподавания в вузе, запускал множество стартапов, руководил командами разработки. В текущий момент я работаю в Яндексе в отделе, занимающимся одной из высоконагруженных систем. Это разработка распределённой базы YDB, в частности, функциональности YDB Topic.

Читать далее

Максимально точное увеличение разрешения изображений: билинейная аппроксимация

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.5K

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

Продолжаем увеличивать апскейл...

Что такое фильтр Блума?

Время на прочтение9 мин
Количество просмотров46K

Всем привет! В этой статье я постараюсь описать, что такое фильтр Блума, рассказать о его назначении и показать сценарии, в которых его можно использовать. Я также реализую фильтр Блума на Python с нуля в целях облегчения понимания его внутреннего устройства.

Фильтр Блума. Что это?

Самая дешевая заводская панель управления умным домом, которая отлично работает

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров83K

Несколько лет назад уже писал про свои поиски идеальной и недорогой панели управления умным домом (статья собрала 200 закладок), тогда в 2020 году я остановился на недорогом андроид планшете, который перепрошил на чистый андроид для выполнения удаленных команд через ADB.

Программно меня всё устраивало, но вот красиво закрепить планшет на стене без колхоза и дополнительных действий было трудно. Пришлось отдавать его в багетную мастерскую для оформления в рамку, выпиливания в стенках мест под кабель и кнопки, а затем придумывать настенный крепеж, который бы не отваливался при нажатии на экран, а кнопку включения пришлось подпаивать внутри корпуса планшета, чтобы сделать её внешней. К тому же в случае проблем с устройством пришлось бы эти шаги повторять заново.

С тех пор я переехал и не захотел повторять все эти шаги, мне хотелось взять готовое заводское устройство, программно его настроить, отвязать от любых облачных сервисов и просто вставить его в подрозетник или поставить на стол. Переплачивать за панель тоже не хотелось. В итоге таким вариантом стала Sonoff NSPanel.

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол

Секреты JDK

Время на прочтение4 мин
Количество просмотров25K

Про Unsafe в Java не слышал только ленивый, однако это не единственный магический класс в Sun/Oracle JDK, стирающий границы Java платформы и открывающий тропинки, не нанесенные на карту публичного API. Я расскажу про некоторые из них, принесшие пользу в реальных проектах. Но помните: недокументированные возможности лишают ваше приложение переносимости на другие Java платформы и, кроме того, являются потенциальным источником нетривиальных ошибок. Я даже зря написал слово «приложение». Лучше сказать, что описанные ниже классы вовсе не годятся для приложений! Скорее, они представляют интерес лишь для системного ПО и для любознательных программистов, т.е. для вас :)
Читать дальше →

Подмена человеческого голоса. Как ИИ лишает работы певцов и актёров озвучки

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров4.5K

Если сравнивать нашу реальность с киберпанком, то в первую очередь с «Матрицей». Во второй части, «Матрица: Перезагрузка», должен был сняться Джет Ли. Но Ли тогда отказался из-за опасений, что киношники оцифруют все его боевые приёмы. Его боевое искусство тогда стало бы принадлежать студии. Эта концепция обеспокоила Ли, он не хотел, чтобы в будущем его цифровая версия была бы использована без его согласия.

Сегодня под видом предоставления «фан-сервиса» или «дани уважения прошлому» крупные корпорации, такие как Sony, Disney, Warner и другие, могут воссоздавать цифровые версии умерших актёров. Но использование ИИ голливудскими студиями и медиакомпаниями затронет не только крупных артистов, это теперь коснётся всех участников отрасли. Актёров массовки сканируют для создания цифрового двойника, и они не получают должной компенсации за этот цифровой дубликат и не знают, где и как это творение будет использоваться.

Мы живём в мире, где Том Хэнкс оправдывается, что не снимался в рекламе стоматологической клиники, в которой использовали его лицо. Это событие сопровождается тем, что дочь Робина Уильямса критикует корпорации, которые хотят с помощью ИИ воссоздать голос её отца, за плечами которого было много узнаваемых персонажей.

Актёры озвучивания обеспокоены тем, что их голоса могут быть использованы для создания нового контента, на который они не подписывались. Настал момент для артистов озвучки внимательно следить за своими контрактами: их голос может быть клонирован продюсерами или мошенниками. Это касается и певцов с узнаваемыми голосами. Теперь им придётся соревноваться не только с другими музыкантами, но и с самими собой.
Читать дальше →

Стеганография в файлах формата .m4a

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.3K

Стеганография - это искусство и наука передавать сокрытые данные внутри других, не сокрытых данных.

Подробнее можно прочитать здесь.

Часто, когда говорят о стеганографии, не выходят за рамки LSB в картинках (хотя и в картинках можно сделать нечто более оригинальное ). 

В данном посте мы хотим рассказать о ссылочной стеганографии (принцип ссылочной стеганографии можно почитать тут) в формате .m4a(.mp4).

Общий принцип

Для начала на “пальцах” распишем, как это в целом работает. Любой файл можно зашифровать и представить в base64 текстовом виде. Далее его можно отправить на сервис одноразовых сообщений (например https://onetimesercet.com/ )

Отправив сообщение мы получаем ссылку вида https://onetimesecret.com/secret/jqr1s0o5bvlts8cyice71fvwv0o0ltx 

Затем мы отправляем саму ссылку на сервис сокращения ссылок, и получаем сокращённую ссылку; например для goo.su: https://goo.su/SAsb.

Как видим у нас всего 4 байта, если мы заранее знаем какой сервис используем (в реальной стеганографии разумнее использовать свой сервис), если мы заранее имеем ключ расшифрования (обмен ключей – отдельная задача), то нам достаточно переслать всего 4 байта для передачи искомого файла. 

Это и есть принцип ссылочной стеганографии – мы передаем ссылку на сообщение, а не само сообщение.

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

Читать далее

Blockchain-разработка глазами Backend-разработчика

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров12K

Я достаточно давно занимаюсь Backend разработкой и последние несколько лет, все больше и больше пишу разные блокчейн проекты (Solidity на EVM). Погружение в блокчейн мне давалось непросто и мой бэкендерский мозг несколько раз ломался, и я решил поделиться своим взглядом на погружение в блокчейн-разработку.

У этого поста также есть видеоверсия.

Читать далее

Вопросы и ответы для собеседования по Kotlin. Часть 4

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров48K
Читать далее

Джейлбрейки ChatGPT: как Волдеморт помогает взламывать нейросети

Время на прочтение11 мин
Количество просмотров13K
Привет Хабр, меня зовут Владислав Тушканов и я тимлид в команде Data Science в «Лаборатории Касперского». Мы занимаемся созданием ML-технологий для защиты наших пользователей от угроз, а также изучаем, как новые технологии могут повлиять на кибербезопасность.

Когда мы слышим о джейлбрейках, первыми на ум приходят гаджеты с закрытой экосистемой: пользователи взламывают наложенные производителем ограничения, чтобы получать полный доступ к файловой системе или устанавливать приложения в обход магазина – но уж точно не Гарри Поттер. Однако с появлением больших языковых моделей (LLM), выполняющих инструкции, таких как ChatGPT, у этого слова появилось новое значение.



Заинтригованы? Залетайте под кат.
Читать дальше →

Умный дом на Home Assistant с дополнениями (Zigbee2MQTT,Portainer...) на любом пк

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров81K

В данной статье мы затронем установку Home Assistant с некоторыми аддонами как на поддерживаемые, так и на не поддерживаемые официально системы (32 бит).

Home Assistant - это бесплатная и открытая система управления домашними устройствами, которая позволяет интегрировать различные устройства и сервисы для автоматизации и управления жизнью в доме.

Преимущества Home Assistant перед системами умных домов других производителей (Xiaomi,Tuya, и др.) заключается в возможности использовать устройства разных производителей с разными типами подключения (WiFi, MQTT, Zigbee, Bluetooth) без привязки к экосистеме определенного производителя.

Читать далее

Legacy pairing в Bluetooth Low Energy и его недостатки

Время на прочтение9 мин
Количество просмотров2.6K

Эта статья посвящена старой, но все еще актуальной уязвимости протокола Bluetooth Low Energy 4.0 - 4.1.

Справка – версия Bluetooth и BLE не может быть обновлена, так как зависит от адаптера, который чаще всего припаян к плате устройства.

В современном мире понятие Bluetooth перегружено. Что первое приходит на ум, когда говорят: «работает по Bluetooth»? Конечно же беспроводные колонки, фитнес браслеты, пульты управления, клавиатуры, мышки и огромное множество другой мелкой техники, которую в современном мире принято называть Интернет Вещей (IoT). На самом деле большинство из них передают информацию по протоколу Bluetooth Low Energy (BLE или Bluetooth Smart).

Протокол BLE – спецификация ядра Bluetooth, определенная в стандарте Bluetooth 4.0, который отличается малым энергопотреблением по сравнению с классической версией протокола.

Справка – начиная с версии 4.0 Bluetooth SIG фактически поддерживает два стандарта: BR/EDR и Low Energy.

Узнать о недостатках

Недушные интервью разработчиков

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K

По примерным прикидкам за 10 лет работы в Miro провел порядка 500 интервью. Настало время поделиться сакральным опытом «как за час проверить, что чел шарит, и при этом не превратить интервью в душный допрос».

Читать далее

Способы организации инфраструктуры с базами данных: от простого к сложному и эффективному

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

За простыми UML- и ER-диаграммами архитектур скрываются витиеватые способы организации IT-инфраструктуры. Самый яркий пример — связь между веб-сервером и базой данных.

Какие есть варианты организации инфраструктуры с базами данных? Чем они отличаются и какие у них преимущества и недостатки? С такими же вопросами к нам приходят клиенты. Поэтому мы постарались расставить все по полочкам, а также показать, как связать сервер с базой данных через L3 VPN-соединение. Подробности под катом.
Читать дальше →

Ловушка алгоритмизации, или как 44-ФЗ породил коррупцию

Время на прочтение10 мин
Количество просмотров58K

Один из столпов российский борьбы с коррупцией — это призванный сделать все госзакупки прозрачными и честными федеральный закон «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд» от 05.04.2013 № 44-ФЗ. Ушла пора, когда коррумпированные чиновники закупали за миллионы рублей то, что стоит копейки, настало светлое время — и экономика наконец стала экономной.

Желание написать этот текст у меня возникло с неделю назад, когда я подискутировал в комментариях на Хабре с человеком, идеалистично считающим, что система госзакупок построена так, чтобы купить лучший товар по минимальной цене — и было заглохло. Но вчера на глаза попалась дискуссия о том же 44-ФЗ в Телеграм-каналах, начатая Алексеем Чадаевым:

Самый коррупциогенный из наших законов, твёрдый первый номер с большим отрывом — 44-ФЗ (о госзакупках) весь целиком построен на философии борьбы с коррупцией.

Или нет?

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Краснодар, Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность