Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Путешествие в глубины сети с Shodan – поисковой системой, открывающей двери в неизведанное

Reading time6 min
Views13K

Shodan — это инструмент для поиска подключенных к интернету устройств.
Для работы ему не нужны записи DNS. Вместо этого он самостоятельно отправляет запросы на различные сетевые узлы, проверяя каждый порт в разных диапазонах IP-адресов.

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

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

Рассмотрим с вами два вопроса:

Читать далее

Компоненты среды рабочего стола | Linux

Level of difficultyMedium
Reading time12 min
Views15K

Всех приветствую, читатели Хабра! Решил попробовать себя в роли знатока-писателя и освятить для вас такую тему, как “Компоненты среды рабочего стола”, чтобы больше людей, хотя-бы в основе, понимали, что там происходит в системе такого, благодаря чему мы можем, не тыкаясь в консоли, с ней взаимодействовать.

Читать далее

Google пытается оптимизировать формат JPEG, увеличив компрессию на 35%. Что это за технология?

Reading time4 min
Views15K

Формат изображений JPEG появился ещё в конце прошлого века, причём актуальность он не теряет, а, наоборот, набирает. Казалось бы, что можно изменить в технологии, которой столько лет? В Google посчитали, что сейчас самое время для оптимизации формата, а именно повышения эффективности компрессии. Что предложили в Google и как работает новая технология?

Читать далее

Как не стоит делать игры на Unity

Reading time10 min
Views4.2K

Много статей написано про хороший и плохой код, но статей с разборами проблем реального кода очень мало (за исключением багов в open source проектах), поэтому решил показать проблемы в реальной игре на Unity.

Читать далее

Алгоритм расчёта расстояния между строками

Level of difficultyMedium
Reading time3 min
Views7.2K

По работе стояла задача оптимизации поиска по адресам (улицы, дома и объекты). Главный критерий - нахождение адреса, если написано с ошибками или не дописан он в полной мере. Bert’ы, косинусные расстояния эмбеддингов и т.д. не подходили, так как они заточены под смысловой поиск, а в адресах смысла нет. TF-IDF c лемматизацией тоже не очень подходил для этой задачи, результаты были плохие.

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

Цель данного поста описание только алгоритма.

Читать далее

Микросеть: настройка роутера для ИТшной семьи

Level of difficultyMedium
Reading time8 min
Views41K

Привет, читатель!

Недавно закончили ремонт, переехали в свеженькую квартиру, так что настала пора настаивать домашний интернет и локальную сеть. В большинстве случаев для домашней сети достаточно использовать один небольшой маршрутизатор, желательно расположенный в геометрическом центре квартиры. Однако, у нас семья айтишников и к сети есть определенные пожелания. Исходя из желаний и наличия взял mikrotik и провел первичную настройку, оставив заметки, по которым в будущем можно настроить сеть дома или в небольшой организации.

Вперед к настройке

Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)

Reading time7 min
Views43K

В жизни любого разработчика наступает момент, когда он роняет прод. Представьте: полдень, в Skyeng час пик, тысячи запланированных онлайн-уроков, а наша платформа лежит… 

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

Читать далее

Концепция «все есть файл» — давно устарела

Reading time4 min
Views45K

Собственно, сабж.

На это указывает ряд моментов в существующих решениях.

Прежде всего, давайте вспомним, какими важными характеристиками обладает файл?

Читать далее

Расшифровка BitLocker — добыча ключа из микросхемы TPM

Reading time4 min
Views25K

Подключение сниффера к модулю TPM по шине LPC

Полнодисковое шифрование BitLocker в ОС Windows считается довольно надёжным способом сохранения данных. По умолчанию оно использует алгоритм Advanced Encryption Standard (AES) в режиме сцепления блоков (CBC) или в режиме подстроенной кодовой книги с кражей шифротекста (XTS) на базе xor-encrypt-xor (XEX) со 128- или 256-битным ключом.

В теории это довольно крепкая схема. Проблема только в том, что секретный ключ BitLocker хранится в Trusted Platform Module (TPM), а в некоторых случаях (на некоторых компьютерах) его можно извлечь, получив физический доступ к устройству.
Читать дальше →

Система инвентаря на Godot. Костыль первый

Level of difficultyEasy
Reading time15 min
Views12K

Годот, немного костылей и прямые руки (по желанию).

Самый подробный гайд о создании системы инвентаря, без воды, по факту и с кодом!

Начать гайд

Как компьютер узнаёт точное время и чем здесь интересен 2038 год

Level of difficultyEasy
Reading time5 min
Views15K

Ваш браузер узнаёт актуальное время от компьютера. А как узнаёт время компьютер? Через батарейку в материнской плате. А откуда берётся время там? А кто отвечает за то, чтобы время у всех было точное? В этом посте мы проследим, как отсчитывается время, на которое ориентируется современная техника, и рассмотрим, какие потенциальные проблемы сулит такой расклад.

Читать далее

Как задеплоить сайт в облако. Инструкция для новичков

Level of difficultyEasy
Reading time6 min
Views12K

Опубликовать сайт можно разными способами. Например, если проект лежит в репозитории на GitHub, можно воспользоваться GitHub Pages. Но если вы не боитесь трудностей, советуем попробовать кое-что поинтересней — разместить сайт на облачном сервере.

Новичкам этот способ может показаться сложным. Но на самом деле он очень удобен, потому что вы сможете легко масштабировать архитектуру проекта и гибко управлять мощностями сервера.
Читать дальше →

Не баг, а фича: видеоигровые баги, которые стали классикой

Reading time5 min
Views9K

Даже в AAA‑играх могут быть ошибки. Чаще всего сталкиваться с багами неприятно, однако иногда они могут войти в геймплей целого жанра или вовсе стать основой целой франшизы видеоигр. Разработчикам может будет полезным что‑то позаимствовать.

В комментариях пишите о других известных багах, которые повлияли на игровой процесс в играх, особенно сделанных студиями родом из России.

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

Читать далее

Германия снова делает попытку перехода с Windows и MS Office на Linux и LibreOffice. Почему не получилось в прошлый раз?

Reading time3 min
Views45K

На днях стало известно о том, что в Германии реализуется проект, цель которого — перевести многие тысячи компьютеров в госучреждениях на открытое ПО. В частности, вместо Windows от Microsoft власти собираются установить один из дистрибутивов Linux, а Microsoft Office заменят на LibreOffice.

Инициатива в целом неплохая. Но это уже не первая попытка немцев перейти на открытое ПО. И предыдущие заканчивались не очень хорошо. Подробности — под катом.

Читать далее

Как я делал сеть на 10 гигабит с минимальным бюджетом

Level of difficultyMedium
Reading time11 min
Views83K


Решил я ускорить тривиальную задачу в виде передачи файлов с одного компьютера на маленький домашний NAS. Раньше 10 гигабит были для меня чем-то заоблачным (с учётом цены на свичи, а также сетевые карты). Но благодаря апгрейду дата-центров, а также свежим чипам для свичей от Realtek, апгрейд оказался недорогим и безболезненным.

О выборе железа и тестах — под катом.
Читать дальше →

Внутренний Я(ндекс)

Level of difficultyEasy
Reading time8 min
Views112K

В этой статье я хочу описать (часть) моего опыта взаимодействия со структурой, именуемой в дальнейшем «яндекс», с точки зрения работника. Опишу собеседования и этап «входа».

Да, уже были статьи про собеседование и даже в эту же структуру, некоторые из них я видел, но не во всём с ними согласен, к тому же конкретно С++ разработчиков я там не видел.

Читать далее

CRTP в C++

Level of difficultyEasy
Reading time4 min
Views10K

Привет, Хабр!

CRTP — это метод в C++, при котором класс наследуется от шаблона класса, используя себя в качестве параметра шаблона. Это выглядит примерно так: класс X наследуется от класса-шаблона Y<X>. Этот паттерн позволяет базовому классу напрямую обращаться к методам производного класса. С помощью CRTP можно можно обогатить интерфейс производного класса, внеся в него дополнительные методы через базовый класс-шаблон.

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

Читать далее

Умная квартира айтишника: хотел всё на Wi-Fi, но передумал

Level of difficultyEasy
Reading time7 min
Views66K

Артур — айтишник из Минска, который любит все технологичное и современное. После покупки новой квартиры с черновой отделкой все сомнения были отброшены: она будет умной!

Как тогда казалось Артуру, беспроводные технологии — самое передовое и удобное решение для инженерных систем умного дома. Тем более многие кондиционеры, пылесосы, приводы штор, лампы, регуляторы теплых полов и другая бытовая техника поддерживают Wi-Fi «из коробки».

Однако появились аргументы против. В итоге Артур выбрал гибридное решение, сочетающее как проводные технологии, так и Wi-Fi с Zigbee.

В статье мы расскажем о выборе Артура и инженерных системах, которые работают в его умной квартире. Интересно? Ныряйте под кат.

Читать далее

Как настроить библиотеку SFML C++ в Visual Studio 2022: статическая компоновка

Reading time3 min
Views9.3K

В этой статье рассказывается, как настроить ваши проекты SFML С++ со статической компоновкой используя интегрированную среду разработки программного обеспечения Visual Studio.

Установка SFML библиотеки

Загрузите библиотеку SFML c официального сайта. Выбираем самую последнюю версию софта, на сегодня это версия SFML 2.6.1.

Читать далее

Об одной изящной задаче

Level of difficultyEasy
Reading time4 min
Views16K

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

Имеется функция magic(), принимающая три целочисленных аргумента, в теле которой определены константы a, b, c, являющиеся натуральными числами. Требуется определить значения констант a, b и c за минимальное количество вызовов данной функции.

Посмотреть разбор задачи

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity