Search
Write a publication
Pull to refresh
15
0
Алексей Розман @alexyr

Python developer

Send message

Неожиданные результаты простого MySQL-запроса

Reading time3 min
Views34K

Недавно я потратил кучу времени, пытаясь понять, почему один запрос выдает такой странный результат. На MariaDB он выдавал явно некорректный результат, а на старом добром MySQL не выполнялся вовсе. Т.е. запрос запускался, но дождаться его завершения не удавалось. Для того чтобы разобраться, в чем же дело, пришлось провести небольшое исследование. Но давайте обо всем по порядку.
Читать дальше →

Быстрая загрузка World of Tanks: попытка №2

Reading time4 min
Views76K
image

Вместо предисловия

После прочтения статьи Ускоряем загрузку карты в World of Tanks как-то само собой родилось решение дополнить статью пользователя tangro.

Суть проблемы

Причину долгой загрузки карт в WoT обнаружить очень легко — достаточно заглянуть в папку \World_of_Tanks\res. Почти все ресурсы игры, а их более 35 000, хранятся в этой папке в открытом виде. Огромное количество файлов малого размера и является главной причиной, ведь любой современный HDD имеет катастрофически низкую скорость чтения мелких файлов, на порядки ниже скоростей при линейном чтении.
Решить проблему можно раз и навсегда, упаковав текстуры в один или несколько архивов, как это сделано в World of Wacraft. Чтение из архива будет значительно быстрее, а распаковка вряд ли скажется на производительности игры на современных компьютерах. Разработчики обещают упаковать ресурсы, но ждать улучшения можно вечно. Так что нам опять придется делать все самостоятельно и другим способом…
Читать дальше →

Работа с «плохими» файлами в командной строке в Linux

Reading time4 min
Views79K
При работе в командной строке администраторы часто сталкиваются с необходимостью что-то сделать с определенным файлом: удалить, переместить, скопировать. При выполнении подобных задач зачастую приходится обращаться к файлам по имени, что может быть затруднительно, поскольку в именах файлов могут встречаться самые разные символы. Даже те, которых нет на клавиатуре. В этом плане работу может облегчить файловый менеджер, в котором файл можно просто выделить и совершить с ним нужное действие. Но для тех, кто привык работать исключительно в командной строке, предлагаются следующие способы.

В качестве shell-оболочки рассмотрим bash, как самую используемую. А в качестве операции над файлами рассмотрим удаление, как самую деструктивную.
Читать дальше →

Менеджер пакетов для XCode

Reading time2 min
Views11K
Сегодня обнаружил достойный внимания всех разработчиков, пишущих под iOS/Mac OS и использующих XCode, проект – менеджер плагинов для XCode. Имя этому проекту – Alcatraz. Увидев это чудо, я незамедлительно захотел его протестировать, благо установка выполняется тремя действиями:
1. Запустить терминал
2. Вставить следующий код в окно терминала:
mkdir -p ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins;
curl -L http://goo.gl/xfmmt | tar xv -C ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -

3. Нажать Enter.
Читать дальше →

Установка usbip на ubuntu 12.04 server

Reading time3 min
Views14K
Здравствуйте, сегодня я хочу рассказать вам как поставить usbip на сервер с установленной ubuntu 12.04 server.
USBIP(USB over IP) служит для проброса usb устройства по сети, будь то windows или linux клиент. Серверная часть увы только под linux.
Данное решение самый лучший, бесплатный и по моему единственный продукт позволяющий пробрасывать практически любые usb устройства.
Читать дальше →

Samba. Поиск и устранение неисправностей в работе системы

Reading time13 min
Views133K
Эта статья по сути будет подборкой «Best practiсe» для системных администраторов Samba. Основой статьи является глава Troubleshooting Techniques из книги Sam’s Teach Yourself Samba in 24 Hours. Мы постараемся рассмотреть наиболее распространенные ошибки при настройке Samba.

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

Взламываем шифры с Python

Reading time1 min
Views52K
Опубликованное неделю назад издание «Взламываем секретные шифры с Python» (Hacking Secret Ciphers with Python) — это учебник по Python для новичков. Авторы разумно рассудили, что учиться программированию нужно на конкретных практических задачах. А что может быть интереснее, чем взлом зашифрованных сообщений?

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

Книга лежит в открытом доступе, её можно бесплатно скачать в формате pdf (зеркало).
Читать дальше →

Манипулирование URL'ами в JavaScript

Reading time2 min
Views71K
Из года в год, сталкиваюсь с одной и той же проблемой. Как добавить, изменить или удалить параметр к некоторому адресу в строковом виде. Быстро и грязно это можно делать с помощью, например, регулярных выражений или найти каке-то готовое решение. Зачастую также может потребоваться, к примеру, подменить путь в адресе или изменить протокол с HTTP на HTTPS и т.д.

В целом, это хочется делать просто и понятно. При этом хочется разумного компромиса. Я встречал некоторые библиотеки, которые дают мощный функционал, но при этом по объему — десятки килобайт JavaScript кода. Несколько десятков килобайт, чтобы, например, подменить параметр в QueryString? Эх…
Читать дальше →

Тест на фиттспригодность

Reading time11 min
Views67K
Статье 14 лет. Но, что удивительно, перевода этой классики на Хабре нет. Значит, будет.

Итак, вы называете себя «проектировщиком интерфейсов»? Если не сможете на все вопросы ответить быстро и обоснованно — вон из профессии!

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

А если вы не знаете, что такое «закон Фиттса», просто пройдите тест, не подсматривая в ответы. Это прояснит, какими стереотипами вы руководствовались. В ответах — подробный разбор задействованных принципов, и вы можете сравнить свои стереотипы с моими ответами. И не пугайтесь плохих результатов: большинство людей, даже давно знакомых с компьютерами, в первый раз проходит тест очень плохо. Зато во второй раз ответы получаются правильные, и большинство считает эту статью самой ценной на моём сайте: одно её прочтение улучшит все интерфейсы, спроектированные в дальнейшем.

Эти вопросы предполагают, что всё экранное пространство под вашим полным контролем. Просто представьте себе, что вы главный дизайнер в Microsoft или Apple.
Читать дальше →

Декомпиляция Java приложений

Reading time3 min
Views205K
Декомпиляция — процесс воссоздания исходного кода декомпилятором
Недавно я задался вопросом: Какой декомпилятор лучше?
Начал мучить Google, экспериментировать. В итоге нашел отличное решение. Как декомпильнуть любую программу и получить рабочие «исходники»? Об этом в сабже.
Читать дальше →

Легко настраиваемый python daemon

Reading time2 min
Views60K
В какой-то момент мне потребовалось демонизировать некоторое действие на python. В сети валялась куча примеров подобной деятельности разной степени собранности. Так как в дальнейшем предполагалось использовать код демонизации в дальнейшей деятельности я решил разнести на разные части настройки и собственно демона.
В итоге файлов получилось три:
  • Родительские классы — с небольшим изменением классы взятые из интернет статей
  • Классы настройки — реакция на сигналы, реакция на команды и набор статических настроек для запуска
  • Скрипт запуска — собирает первые два в собственно демона


Дальше я попробую описать логику работы всех трех.
Читать дальше →

Нативное решение проблемы с дисками WD в Linux

Reading time1 min
Views46K
Владельцы дисков WD серии Green сталкиваются с слишком частой парковкой головок. В этой статье было описано как решить проблему с помощью DOS-утилиты wdidle3 от поддержки WD. Со времен этой статьи прошло много времени, но проблема осталась. Да и сам метод решения с помощью DOS-утилиты не является гуманным.
В процессе решения этой проблемы наткнулся на программу idle3-tools, с помощью которой можно указать время парковки головок из Linux.
Читать дальше →

iPhone: MiTM-атака из кармана

Reading time3 min
Views93K
imageПриветствую, коллеги!
Традиционным устройством для проведения атаки на сети Wi-Fi, пожалуй, является ноутбук. Это обусловлено многими факторами: возможностью использования «специфичных» модулей Wi-Fi, наличием необходимого ПО и достаточной вычислительной мощностью. Поэтому «классическим» образом злоумышленника является человек в машине с ноутбуком и торчащей из окна антенной. Но развитие мобильных платформ не стоит на месте, и многие операции давно уже можно выполнять «из кармана».

Многие из нас пользуются «яблочными» устройствами на операционной системе iOS. И ни для кого не является секретом, что iOS является по-сути представителем *nix-семейства со всеми вытекающими из этого плюсами, в числе которых и возможность использовать многие классические pentest-приложения. Сегодня мне хотелось бы рассказать об инструментах для проведения простейшей классической атаки Man in the Middle на клиентов сети Wi-Fi с использованием метода arp poisoning.

Читать дальше →

Шаблоны iOS приложений

Reading time1 min
Views20K
Полезно было бы иметь под рукой типовые шаблоны приложений, в виде проекта Xcode.

Я для себя нашел совсем немного ресурсов, например

codecanyon.net/category/mobile/ios
что то есть на codecanyon.net/category/mobile/ios

А чем пользуетесь вы, когда нужно найти какой то начальный проект, который потом можно «допилить» под собственные нужды?

Экспорт фотоальбомов из ВКонтакта

Reading time4 min
Views85K

Преамбула


Дело было вечером, делать было нечего и тут мне в голову пришла мысль: «Как же мне выгрузить все фотографии из ВКонтакта на компьютер?» Недолго думая, я написал утилиту для этого и решил поделиться с общественностью, возможно я не один такой.

Поехали


В качестве инструмента для работы с API, путём кратких поисков, была выбрана библиотека vk_api. Для работы с сетью она использует Requests, поэтому и эта библиотека требуется для запуска.

Пощупать


GitHub Pages проекта
Исходный код с примерами

10 девайсов, которые вы можете проапгрейдить, немного поковырявшись с электроникой

Reading time4 min
Views180K

Правило №1 в DIY: никогда не довольствуйтесь тем, что вам дано. Вы можете проапгрейдить или улучшить все что угодно обладая скромными познаниями и приложив немного усилий, особенно если вы немного знакомы с электроникой. Под катом 10 домашних предметов, которые вы можете круто прокачать, используя капельку припоя и ряд DIY ноу-хау.
Читать дальше →

Intel WiDi. Инструкция по применению

Reading time5 min
Views264K

В блоге Intel мы уже неоднократно писали о технологии Intel WiDi. Год назад ей был посвящен целый пост, затем мы тестировали работу WiDi в коммуникаторе МегаФон Mint, наконец совсем недавно она промелькнула в нашем новостном дайджесте. Однако мы ощущали, что среди всей этой информации не хватает собственноличного и исчерпывающего тестирования WiDi на предмет изучения его особенностей, достоинств и недостатков. Поэтому как только в наши оч.умелые руки попал WiDi адаптер Netgear Push2TV HD мы поняли: момент настал. В течение недели я испытывал технологию и железо в своей самодельной домашней лаборатории, совмещая приятное с полезным. О полученных результатах, обнаруженных нюансах и багофичах и разрешите здесь доложить.
Читать дальше →

Кастомизация эмулятора Android от Intel

Reading time3 min
Views13K
Все началось с необходимости поправить hosts на эмуляторе от Intel. Только вот все найденные инструкции не привели к положительному результату, как оказалось, из-за read-only системного образа. Так как описанная мною задача правки hosts не такая уж и популярная, было решено заменить ее на более актуальную и интересную.

В результате вы получите эмулятор с открытой файловой системой и доступом в Google Play.

Читать дальше →

Information

Rating
Does not participate
Location
Иерусалим, Иерусалим, Израиль
Date of birth
Registered
Activity

Specialization

Embedded Software Engineer
Senior
Python
C#
Docker
Git
Linux