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

C#, C++, Lua

Send message

Лучшие бесплатные программы для поиска дубликатов фото

Level of difficultyEasy
Reading time7 min
Views3.4K

Вам знакомо это чувство лёгкой паники, когда ваш ноутбук внезапно начинает жалобно пищать, а на экране возникает зловещее предупреждение: «Диск почти заполнен»? Со мной это тоже недавно случилось. Я открыл «Проводник» и остолбенел – мой внешний диск на 1 ТБ был забит под завязку – на 95%!

Виновниками оказались не фильмы и не игры, а гигантское кладбище фотографий. Двенадцать папок с безликим именем «DCIM», горы скриншотов, которые я копировал по пять раз «на всякий случай», и целые россыпи почти одинаковых снимков заката, сделанных в режиме серийной съёмки. Попытка вручную найти идентичные фото напоминала поиск иголки в стоге сена размером с Сибирь.

В предыдущей статье я разбирал, как лучше сортировать фото, и ещё тогда я понял: пора объявлять войну дубликатам. И вот этот момент настал. После тестирования более 15 инструментов (и кучи потраченных нервов) я отобрал 5 бесплатных программ, которые реально помогают решить проблему. Этим опытом и поделюсь.

Читать далее

Разделяем DNS-запросы

Reading time2 min
Views6.2K

В локальной сети используется локальный named для того, чтобы задать имена для локальных серверов. Все остальные запросы форвардятся на DNS-сервер провайдера и на сервер Гугля.
Ну, можно сказать, стандартная ситуация.

Но несколько дней назад внезапно некоторые внешние DNS-имена перестали ресолвится, вообще. При этом DNS-сервер от Гугля вообще перестал быть доступен.
Однако точно такой же named на удаленном сервере продолжал работать как обычно.

Простое сопоставление A и B как бы намекает, что у местного провайдера что-то сломалось.

-- Это ж-ж-ж неспроста! - сказала паранойя - надо что-то делать!

Если сервер у провайдера ломается, а сервер Гугля внезапно устаревает - надо решать проблему иначе.

Читать далее

Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов

Level of difficultyMedium
Reading time15 min
Views3.5K

В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time.

Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся.

Читать далее

Как один глупый Bash-скрипт сэкономил нам 100 часов ручной работы

Level of difficultyMedium
Reading time4 min
Views26K

Есть некоторая ирония в том, как простые инструменты решают сложные задачи. Пока технические форумы гудят от обсуждений Kubernetes, пайплайнов машинного обучения и микросервисных архитектур, я хочу на минуту отвлечься и поговорить о чем-то до безобразия простом: Bash-скрипте. Не особенно изящном. Без функций. Без параметров. Без проверок корректности. Просто линейный, безжалостно прагматичный shell-скрипт, который за год сэкономил нам несколько недель работы.

Это история не о красоте кода, а об его полезности. Не о совершенстве, а о решении реальных проблем в условиях нехватки времени, терпения и мотивации команды. Если вы разработчик, системный администратор, специалист по данным или просто устали от рутинных задач — этот пост для вас.

Читать далее

Жив ли Delphi в 2025 году? Погружение в технологии, релизы и мнение сообщества

Level of difficultyEasy
Reading time2 min
Views8.2K

Delphi — легендарная RAD-среда, известная с середины 90-х. Её эпоха расцвета пришлась на Delphi 5-7 и Borland'овский бум. Многие разработчики (включая автора этой статьи) помнят, как легко и быстро можно было создавать GUI-приложения под Windows.

Читать далее

Как установить GUI на сервер Ubuntu 24.04

Level of difficultyEasy
Reading time9 min
Views7.9K

Привет, Хабр! Изначально Ubuntu Server создавался как легкая и производительная операционная система для работы с задачами на серверах. Именно поэтому на них по умолчанию не устанавливается графический интерфейс (GUI) — это позволяет экономить ресурсы, ускорять работу системы и повышать ее безопасность.

Однако бывают ситуации, когда графический интерфейс на сервере все же необходим. Например, если вам нужно запускать привычные десктопные программы прямо на сервере, тестировать приложения с графическим управлением и решать другие задачи. Под катом пошагово покажем, как установить GUI, на примере сервера Ubuntu 24.04 с минимальной конфигурацией.

Читать далее

Windows Home Server: взгляд на домашний сервер Microsoft, который не прижился

Reading time6 min
Views7.4K

Время мчится с бешеной скоростью. Кажется, что релиз этой операционной системы был совсем недавно, а на самом деле прошло уже 18 лет. За это время мир не раз менялся, а вместе с ним изменились и потребности пользователей. Сегодня с высоты прожитых лет попробуем разобраться, что пошло не так в развитии Windows Home Server (WHS) и почему перспективный изначально проект в итоге свернули.

Читать далее

Накопитель цифровой информации. Самый загадочный прибор на базе МК-85

Level of difficultyMedium
Reading time6 min
Views15K

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

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

Ввод данных

СДВГ и сон. Степень выраженности симптомов СДВГ связана с гормоном сна

Level of difficultyEasy
Reading time3 min
Views1.9K

Обнаружена генетическая связь между ночным синтезом гормона сна – мелатонином и тяжестью симптомов СДВГ у детей. Исследование проливает свет на более глубинные первопричины СДВГ и связанные с этим состоянием особенности режима дня.

Читать далее

Pet-проект: игра Дебаггер на Python с графическим интерфейсом на Tkinter

Level of difficultyEasy
Reading time11 min
Views3.9K

Всем привет! В статье расскажу, как я написал игру Дебаггер на Python и добавил к ней графический интерфейс на Tkinter. Мне хотелось сделать простую игру на IT тематику, поэтому я скопировал игровую механику из игры Сапер и теперь нам нужно отметить все баги на игровом поле или наш код сломается.

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

Нажми, если не боишься багов!

Делаем простой навигатор с помощью google maps на flutter своими руками

Level of difficultyMedium
Reading time3 min
Views2K

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

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

Читать далее

Liquid Glass и цикличность в UI-дизайне

Level of difficultyEasy
Reading time4 min
Views6.1K

Когда я смотрел эстетичные Frutiger Aero картинки, либо эстетичные UI-концепты со стекломорфизмом в Пинтересте, я не думал, что оно снова станет реальностью, а останется приятной ностальгией..

Читать далее

«Никогда такого не было, и вот опять»: разбираем атаку c эксплуатацией уязвимости в подключаемом модуле Bitrix

Level of difficultyEasy
Reading time7 min
Views3.7K

Привет, Хабр! Меня зовут Никита Полосухин, я старший системный аналитик центра мониторинга и реагирования на кибератаки RED Security SOC. В этом материале я хочу снова поднять тему важности своевременных обновлений и актуализации версий CMS и их компонентов. В мире ИБ про это знают почти все, но вот коллегам из администрирования и бизнеса, я думаю, может быть полезно увидеть, почему хотя бы раз в год надо уделять время проверке и устранению уязвимостей.

В СМИ периодически появляется информация об массовых атаках на сайты на базе Bitrix с использованием уязвимостей в сторонних модулях — например, недавно компания предупреждала об уязвимости в подключаемых модулях от eSolutions и «Маяк».

Мы в центре мониторинга и реагирования на киберугрозы RED Security SOC тоже регулярно видим такие атаки. В этой статье покажем, как они выглядят in the wild, как их выявлять и блокировать их развитие.

Читать далее

12 платформ, где можно генерировать визуал (и не только) бесплатно

Level of difficultyEasy
Reading time2 min
Views2.9K

Возможно, пригодится на рабочей неделе 😉

1. aistudio.google.com

Бесплатно доступны:

— лучшая текстовая модель от Google — Gemini 2.5 Pro

— прошлое поколение видеогенератора Veo2 — всё ещё очень хорошо

— прошлое поколение генератора картинок Imagen 3 — для простых задач сойдёт

— генерация речи в свежей Lyria — можно создать качественный голос с интонацией и даже диалог персонажей

Лимитов почти нет.

Читать далее

Процедурная генерация миров: как создать уникальные локации для каждого игрока

Level of difficultyMedium
Reading time10 min
Views6.8K

Как работает процедурная генерация в играх? В этой статье разбираемся с основными понятиями и алгоритмами процедурной генерации.

Читать далее

Какой подход для вёрстки карточек товара выбрать

Level of difficultyEasy
Reading time5 min
Views3.1K

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

Читать далее

Нужен ли внешний SSL-офлоадинг, если Intel уже встроила его прямо в CPU?

Level of difficultyMedium
Reading time5 min
Views1.6K

HTTPS стал стандартом — а вместе с ним выросла нагрузка на инфраструктуру. Расшифровка трафика серьёзно нагружает CPU, поэтому многие до сих пор используют внешние SSL-ускорители с ASIC-чипами. Но с выходом серверных процессоров Intel Xeon 4-го поколения всё изменилось.

Теперь TLS-терминация может выполняться прямо на сервере — быстро и эффективно. Встроенный в CPU криптоускоритель Intel QAT открывает путь к распределённой обработке HTTPS-трафика без компромиссов по производительности и надёжности.

Читать далее

Автополив домашних растений с помощью кибернетики

Level of difficultyEasy
Reading time5 min
Views3.5K

Добрый день, суть стать в создании устройства для автополива комнатных растений на базе SoC CH32v003 и распространенной платы на AliExpress для реализации изделия. Ниже привожу конечный результат изделия, все исходники и чертежи тут https://github.com/Levon24/ch32-auto-watering

Читать далее

Что не так с USB-C и как Microsoft наводит порядки в стандарте

Reading time5 min
Views8.6K

USB-C проектировался как универсальный стандарт. Но его возможности, к сожалению, варьируются от устройства к устройству, а это сбивает с толку пользователей. Microsoft решает эту проблему, внедряя строгие требования в рамках Windows Hardware Compatibility Program (WHCP). Сегодня разберем, как компания исправляет путаницу с USB-C-портами на Windows-устройствах, какие проблемы устраняет и что это значит для пользователей и производителей.

Читать далее

Как мы снизили время создания бэкапов Git с 48 часов до 41 минуты

Level of difficultyEasy
Reading time6 min
Views6.6K

В этой статье мы расскажем о том, как GitLab выявил и устранил «бутылочное горлышко» производительности в 15-летней функции Git, что повысило эффективность, обеспечив возможность применения более надёжных стратегий резервного копирования и снижения рисков.

Резервные копии репозиториев — важнейший компонент надёжной любой стратегии восстановления после сбоев. Однако с увеличением размеров репозиториев процесс создания надёжных бэкапов становится всё сложнее. Для резервного копирования нашего собственного репозитория Rails нам требовалось 48 часов. Это заставило нас искать невозможные компромиссы между частотой резервного копирования и производительностью системы. Мы хотели найти собственное внутреннее решение для наших клиентов и пользователей.

В конечном итоге, мы нашли источник проблемы в 15-летней функции Git со сложностью O(N²) и устранили его, внеся изменения в алгоритм, что экспоненциально уменьшило время резервного копирования. В результате мы обеспечили снижение затрат, уменьшение рисков и возможность создания стратегий резервного копирования, которые хорошо масштабируются месте с нашей кодовой базой.

Оказалось, что это проблема масштабируемости Git, влияла на всех его пользователей с крупными репозиториями. Ниже мы расскажем историю о том, как выявили и устранили проблему.

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

Information

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