Как стать автором
Обновить
-20
0.1
Максим Сидоров @sidorovmax

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

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

99+ бесплатных инструментов для анализа зловредов

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

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

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

Читать далее
Всего голосов 42: ↑41 и ↓1+43
Комментарии1

Динамические структуры в shared-памяти

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

Приветствую, читатель! Хотелось бы осветить свою небольшую библиотеку для C++, которая призвана помочь Вам создавать динамические структуры в shared-памяти. Далее - под катом.

Читать далее
Всего голосов 6: ↑2 и ↓4-2
Комментарии27

Гарантированная локализация/русификация консоли Windows

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

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

Далее о локализции приложений в консоли
Всего голосов 15: ↑10 и ↓5+12
Комментарии82

Карманный справочник: сравнение синтаксиса MS SQL Server и PostgreSQL

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

Приветствую, уважаемые хаброжители!

Так как занимаюсь переводом кода с MS SQL в Postgre SQL с начала 2019 года, то решил продолжить сравнение этих двух СУБД.

В прошлой публикации мы рассматривали отличия в быстродействии MS SQL и PostgreSQL для 1C.

Сегодня давайте сравним основные конструкции синтаксиса MS SQL и PostgreSQL для правильного чтения кода, а также для того, чтобы быстро изменить код из MS SQL для PostgreSQL или наоборот.

Начнем рассмотрение с сопоставления типов.

Читать далее
Всего голосов 78: ↑78 и ↓0+78
Комментарии78

Реальный Windows. Пишем realtime под окошками

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

В этом тексте я делюсь трюками, с помощью которых удалось заставить Windows стать чем-то похожим на операционную систему реального времени.

Читать далее
Всего голосов 69: ↑68 и ↓1+79
Комментарии142

Управляем подсветкой клавиатуры при смене языка ввода

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

Недавно я купил себе клавиатуру от Corsair модели K55 RGB Pro. У нее есть модная нынче RGB-подсветка, а чтобы ее настраивать, производитель предлагает скачать программу iCUE. На сайте написано, что некоторые игры могут управлять подсветкой совместимых устройств. Я заинтересовался, как они это делают. Гугл обнаружил официальный SDK с примерами, а также документацию. Я решил сделать что-то полезное для себя, а заодно посмотреть, как создаются приложения под Windows.

Мой код (для Visual Studio) можно найти здесь.

Подробнее о том, как я это сделал, примеры кода и как это выглядит - под катом.

Читать далее
Всего голосов 29: ↑28 и ↓1+36
Комментарии29

Резервное копирование данных в домашних условиях

Время на прочтение10 мин
Количество просмотров47K
Статья описывает, как в домашних условиях создавать надежные резервные копии ценой минимальных затрат. Текст рассчитан на не-специалистов ИТ, понимающих основы работы с компьютером, а также на профи, которым нужно простое решение для неспециалистов-родственников и знакомых. Целевая операционная система – Windows 10.

Итак, начнем с аксиомы: все люди делятся на тех, кто уже терял данные, и тех, кто еще не терял. Что такое «данные»? Тексты, таблицы, рисунки, фотографии и все прочее, что нажито непосильным трудом. Современные жесткие диски и иные носители достаточно надежны, но сами по себе от потери данных не защищают.

1. От чего защищаемся?


  1. Физические сбои: мертвый жесткий диск или SSD-носитель.
  2. Логические сбои: случайное удаление или неверная правка, повреждение приложением, сбой файловой системы.
  3. Вирусы, уничтожающие данные (как классические вандалы, так и современные шифраторы).
  4. Полная утрата компьютера (пожар, затопление, кража, изъятие полицией и т.п.).

Важно понимать, что одно-единственное решение не защитит от всех угроз. Например, защита от сбоев оборудования защищает от (1), но не от (2)-(4). Кроме того, некоторые решения, используемые профессионалами, в домашних условиях неоправданно дороги или сложны в использовании (да, я в курсе, как классно подключить NAS по iSCSI, но попробуйте предложить такое решение своей бабушке). Поэтому придется применять несколько решений одновременно.

2. Что потребуется?


  • Дополнительный жесткий диск в ПК (очень желательно, чтобы их было минимум два).
  • Две или более флэшки достаточного объема (32/64/128 Гб и более). Рекомендуется USB3 (и удостоверьтесь, что это истинная скорость, а не цифирки на интерфейсе к улиточно-медленной памяти, как у самых дешевых моделей).
  • привод DVD-RW.
  • Подключение к облачному хранилищу типа Google Drive, Microsoft OneDrive или аналогичным.
Читать дальше →
Всего голосов 19: ↑7 и ↓12-4
Комментарии107

PyQt6 — полное руководство для новичков. Продолжение

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

В первом материале мы рассказали о создании первого окна, о сигналах, слотах и событиях, а также о виджетах. Сегодня, к старту курса по Fullstack-разработке на Python, делимся продолжением — о макетах, работе с панелями инструментов и меню при помощи QAction, дополнительных и диалоговых окнах. За подробностями приглашаем под кат.

1. Макеты

2. Панели инструментов, меню и QAction

3. Диалоговые окна и окна предупреждений

4. Дополнительные окна

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии9

PyQt6 — полное руководство для новичков

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

К старту курса по разработке на Python делимся детальным руководством по работе с современным PyQt для новичков. Чтобы читать было удобнее, мы объединили несколько статей в одну:

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее
Всего голосов 23: ↑22 и ↓1+26
Комментарии14

Домашний веб-сервер для чайников

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

Привет, Хабр! Относительно недавно после пары лет перерыва в айти, потраченных на изучение японского языка, мне пришлось срочно обновлять свои знания на работе. Ну знаете, искать возможности исполнить все хотелки начальника, как и положено эникею. Меня ждало много увлекательных открытий, но при этом, как водится, и немало боли и борьбы с непонятками. Docker, контейнеры, реверс DNS и реверс прокси, получение TLS сертификатов. В какой-то момент я наконец дошёл до удобного решения, которым я теперь хочу поделиться.

В своё время домашний сервер очень облегчил бы мне понимание Docker’а, да и удобство работы с ним неслабо бы повысил. Поэтому возникла идея написать эту статью, после прочтения которой любой человек даже с поверхностными знаниями в информационных технологиях сможет поставить себе постоянно доступный домашний сервер на базе Docker Swarm с удобной веб-мордой, простым получением TLS-сертификатов и Heroku-подобным функционалом (для чего будем использовать PaaS CapRover). 

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

Читать далее
Всего голосов 24: ↑22 и ↓2+23
Комментарии29

Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr]

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

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

Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Всего голосов 64: ↑63 и ↓1+81
Комментарии59

Простой GUI калькулятор на Python #1. Дизайн приложения

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

Штош. Наверное, каждый начинающий программист после "Hello, world!" хочет написать какой-нибудь простенький проект. Почти всегда в голову приходит идея создания калькулятора. Но консольный калькулятор - это как-то скучно и просто. Хочется сделать приложение прямо как в системе. Ну или хотя бы что-то похожее.

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

Научиться!
Всего голосов 22: ↑22 и ↓0+22
Комментарии23

Подготовка эффективной среды для написания bash сценариев

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

Bash, он же возрождённый shell, является по-прежнему одним из самых популярных командных процессоров и интерпретаторов сценариев. Как бы его ненавидели и не пытались заменить, всё равно он присутствует вокруг нас и никуда не собирается исчезать. Если вам приходится писать bash скрипты или вы только планируете этим заняться, данная статья написана для вас.

Читать далее
Всего голосов 25: ↑23 и ↓2+25
Комментарии17

Адаптация Qt-приложений под мониторы высокой чёткости. Часть 2

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

В прошлой статье мы начали рассказ о рецептах, посвященных переводу Qt-приложений на рельсы High DPI, то есть адаптации этих приложений к мониторам высокой четкости.

Суть в том, что в ОС Windows давно есть такие настройки, как масштабирование шрифта и изображений (масштаб экрана), которые применяются для увеличения слишком малых элементов GUI на мониторах с высокой чёткостью (High DPI). Однако не каждое приложение, написанное на Qt, способно адекватно учитывать, применять этот самый масштаб экрана. Частая ситуация – приложение хорошо выглядит на Full HD (1920x1080), но стоит поставить монитор 4K (3840x2160) и увеличить масштаб экрана, то появляются многочисленные артефакты.

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии1

Работа с СОМ-портом на Си в linux

Время на прочтение18 мин
Количество просмотров72K
Телетайп, на который БЭВМ могли выводить и получать данные. Фото взято здесь.

Каждый, кто постоянно занимается электроникой и программирует встраиваемые устройства, неизбежно сталкивается с необходимостью работы с СОМ-портом под линуксом. Недаром, моя статья "UART и с чем его едят" спустя 11 лет после выпуска набирает просмотры и комментарии.

Для разработчиков чаще всего появляется задача сопрячь какой-то датчик, либо удалённое устройство с одноплатником. Да что греха таить, сейчас в 2021 году UART, наверное, самый распространённый интерфейс для обмена данными, несмотря на всю его архаичность. Далеко за примером ходить не надо, внутри смартфона, лежащего у вас в кармане, будет с десяток UART интерфейсов, самый известный из которых — это подключение SIM-карты.

Поэтому умение работать с СОМ-портами в linux особенно важно. И вот, казалось бы, UART, древнейший интерфейс, всё должно быть известно и понятно, и даже опытные программисты ломают зубы, работая с ним в линуксе. Особенный цирк с конями начинается при работе с передачей сырых данных по RS-485. Не знаю ни одного программиста, который бы не хватил горя при разработке ПО для таких решений. Самое забавное, что с более новомодным i2c работать в линуксе куда проще и понятнее, чем с ортодоксальным UART. Чтобы не было путаницы дальше, всё семейство UART (RS-232, RS-485, UART 5V, UART 3,3 и т.д.) по тексту я буду называть COM-порт или UART. Мы говорим в статье не о физическом интерфейсе, а о программной стороне вопроса.

В этой статье я хочу показать, как писать свои программы, работающие с UART в ОС Linux. И неважно на каком языке вы пишете программу для работы с UART (python, c, c++, bash, php, perl и т.д.), принцип работы и грабли будут одни и те же, так как всё равно всё упирается в системные вызовы к ядру. А непонимание того, что там происходит и приводит к различным трудноуловимым багам.
Читать дальше →
Всего голосов 56: ↑53 и ↓3+69
Комментарии24

Всё о работе с cookie в Python — класс http.cookies

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


Модуль http.cookies реализует парсер для cookie, по большей части совместимый с RFC 2109 — документом со стандартами работы с cookie и смежными вещами.

Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии2

Сравнительный обзор VPN клиент-серверных приложений

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

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

Ну что ты там понаписал...
Всего голосов 14: ↑11 и ↓3+9
Комментарии31

Статическая линковка Qt 5.x.x с MinGW32 в Windows (сборка в один exe'шник)

Время на прочтение3 мин
Количество просмотров19K
Доброго времени суток, хабравчане!

Я уверен, что все заметили, когда делали деплой своей программы через windeployqt.exe, программа зависит от разных динамических и qt'шных библиотек. Вследствие чего, развертка на других компьютерах становится неудобной. Почему? Приходится держать сам exe'шник в папке с нужными библиотеками. Разумеется, можно умудриться и без статической линковки решить эту проблему. Согласитесь, неудобно, да и каждый раз нужно лишние телодвижения делать. Проще один раз запариться и потом не делать лишних движений. Еще один плюс статической линковки — размер файла. При динамической линковке сам exe'шник весит примерно от 1 МБ до 7-8 МБ, а с окружением до 70 МБ может спокойно дойти, даже если проект небольшой. При статической линковке есть только exe'шник, который весит примерно в 2 раза меньше, чем окружение при динамической линковке.
Читать дальше →
Всего голосов 5: ↑3 и ↓2+2
Комментарии28

Даже не пытайтесь повторить это в GUI

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


Есть такое понятие, как дружественный пользователю Linux. Возникло оно оно очень давно, возможно через несколько минут после того, как Линус Торвальдс анонсировал свою разработку в листе comp.os.minix. Трудно сказать принесла-ли пользу данная концепция и различные её воплощения на рабочей станции. Понятно одно, что прогресс на этом пути довольно-таки ощутимо не совпадает с ожиданиями этого самого пользователя.

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

Предлагаем рассмотреть несколько сценариев из реальной жизни, где хочешь — не хочешь, все необходимо сделать в CLI. Таких примеров очень и очень много, это всего лишь пара кейсов в огромном множестве подобных.
Читать дальше →
Всего голосов 41: ↑21 и ↓20+9
Комментарии23

Как быстрее всего передавать данные с PostgreSQL на MS SQL

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

Однажды мне потребовалось забирать регулярно относительно большие объемы данных в MS SQL из PostgreSQL. Неожиданно выяснилось, что самый очевидный способ, через Linked Server на родные ODBC к PostgreSQL, очень медленный.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии82

Информация

В рейтинге
2 612-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность