Читать дальше →
Андрей Фролов @Plone
Пользователь
+228
Here be dragons: Управление памятью в Windows как оно есть [1/3]
8 min
175KКаталог:
Один
Два
Три
Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.
Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...
Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
+316
Ускорение загрузки Windows for fun and profit
4 min
803K Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…
Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
+500
Запущен сайт по Windows Phone 7 для iPhone-разработчиков
1 min
661Сегодня открылась первая версия сайта Windows Phone 7 Interoperability, на котором будут размещаться материалы для разработчиков под различные мобильные платформы.
На данный момент ресурс содержит несколько статей и видеороликов для iPhone-разработчиков про платформу WP7 – программную модель и идеологию дизайна.
Многим разработчикам под iOS интересна тема портирования существующих приложений и игр – так, например, на недавнем Mobile Developer Day представитель JoyBits рассказывал, что для портирования популярной игры Doodle God потребовалось всего несколько дней – сегодня это одно из 50 самых популярных платных приложений WP7 в мире!
В дальнейшем на сайте планируется появление новых материалов, интересным в том числе Android-разработчикам, а также руководств по созданию приложений на разные платформы как на клиентской, так и серверной стороне. В рамках этого же проекта на этой неделе появились HTML5 Labs.
Напомню, что на данный момент в магазине приложений Windows Marketplace находятся более 4000 приложений, а скорость его роста превысила аналогичные темпы Android Marketplace. Учебный курс по Windows Phone 7 доступен бесплатно на русском языке.
На данный момент ресурс содержит несколько статей и видеороликов для iPhone-разработчиков про платформу WP7 – программную модель и идеологию дизайна.
Многим разработчикам под iOS интересна тема портирования существующих приложений и игр – так, например, на недавнем Mobile Developer Day представитель JoyBits рассказывал, что для портирования популярной игры Doodle God потребовалось всего несколько дней – сегодня это одно из 50 самых популярных платных приложений WP7 в мире!
В дальнейшем на сайте планируется появление новых материалов, интересным в том числе Android-разработчикам, а также руководств по созданию приложений на разные платформы как на клиентской, так и серверной стороне. В рамках этого же проекта на этой неделе появились HTML5 Labs.
Напомню, что на данный момент в магазине приложений Windows Marketplace находятся более 4000 приложений, а скорость его роста превысила аналогичные темпы Android Marketplace. Учебный курс по Windows Phone 7 доступен бесплатно на русском языке.
+16
Основы программирования под Android на примере игры Судоку
6 min
375KВ статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.
+125
Evasi0n под микроскопом
8 min
38KTranslation
Совсем недавно вышел свежий набор утилит для «джейла» iOS. Пришло время разобрать его и посмотреть, какие эксплойты и механизмы проникновения он использует. Сейчас «джейлить» iOS стало настолько просто, что люди забывают, насколько это сложный процесс. Механизмы защиты, встроенные в пространство пользователя, такие как песочница, ASLR (Address Space Layout Randomisation – рандомизация расположения в адресном пространстве) и механим цифровых подписей, делают процесс написания «джейла» невероятно сложным.
Стоит отметить, что, в отличие от предыдущих эксплойтов jailbreak.me, которые можно было использовать на ничего не подозревающих жертвах, «джейлы», которые требуют подключения по USB, обычно несут меньшие угрозы безопасности, и типично полезны только самому владельцу устройства. Злоумышленники заинтересованы в них меньше, так как айфон с установленным пин-кодом откажется общаться по USB, если он заблокирован, если он, конечно, ранее не был синхронизирован с компьютером, куда его подключают. Таким образом, если телефон был украден и на нем был установлен пин-код, злоумышленник не сможет «джейлнуть» его. Только вредоносный код, выполняемый на вашем компьютере, может иметь хоть какую-то возможность выполнить «джейл» незаметно.
Стоит отметить, что, в отличие от предыдущих эксплойтов jailbreak.me, которые можно было использовать на ничего не подозревающих жертвах, «джейлы», которые требуют подключения по USB, обычно несут меньшие угрозы безопасности, и типично полезны только самому владельцу устройства. Злоумышленники заинтересованы в них меньше, так как айфон с установленным пин-кодом откажется общаться по USB, если он заблокирован, если он, конечно, ранее не был синхронизирован с компьютером, куда его подключают. Таким образом, если телефон был украден и на нем был установлен пин-код, злоумышленник не сможет «джейлнуть» его. Только вредоносный код, выполняемый на вашем компьютере, может иметь хоть какую-то возможность выполнить «джейл» незаметно.
+115
Eclipse for Java Developers. Навигация и редактирование
6 min
184KНаблюдая за со своими знакомыми, которые недавно начали изучать программирование или перешли на Eclipse c другой IDE, я часто замечаю что они почти не используют вспомогательные инструменты среды разработки. Они либо не знают о них вообще, либо не понимают какую практическую пользу они могут принести.
Данная статья предназначена в основном для начинающих в работе с Eclipse. Но в процессе подготовки статьи я сам узнал о нескольких простых и удобных инструментах, которые за два года активной разработки ни разу не использовал.
В данной статье речь пойдет о навигации и редактировании.
Внутри скриншоты.
+69
Работа и жизнь гика с проблемами концентрации внимания
8 min
220KКаждый — гениален. Но если вы будете судить рыбу по ее способности лазать по деревьям,
она всю жизнь проживет с верой в свою глупость.
Альберт Эйнштейн
Лень — это привычка отдыхать до того, как ты устанешь.
Жюль Ренар
Проблемы с концентрацией внимания? Внешнее воздействие сбивает с толку? Кажется, что все кругом рушится? Не получается запоминать вещи? Выход есть. Чтобы все было нормально, надо только чуть-чуть помочь. Надо принять себя и научиться с этим жить.
Решительно сократить количество проблем можно, придерживаясь следующих рекомендаций:
она всю жизнь проживет с верой в свою глупость.
Альберт Эйнштейн
Лень — это привычка отдыхать до того, как ты устанешь.
Жюль Ренар
Проблемы с концентрацией внимания? Внешнее воздействие сбивает с толку? Кажется, что все кругом рушится? Не получается запоминать вещи? Выход есть. Чтобы все было нормально, надо только чуть-чуть помочь. Надо принять себя и научиться с этим жить.
Решительно сократить количество проблем можно, придерживаясь следующих рекомендаций:
- В голове держать не больше трех-пяти вещей за раз, объединив действия в большие смысловые блоки.
- Раз и навсегда выбрать решение по ежедневному набору мелочей: вносить дела к календарь, проверять утюг и т.п.
- Разложить все вещи по своим местам и поддерживать заведенный порядок.
- Дублировать необходимые и часто используемые вещи; разложить их по всем углам.
- Умело пользоваться календарем, мобильником и другими инструментами интернет-века.
- И самое главное: НЕ ОТВЛЕКАТЬСЯ ПО МЕЛОЧАМ!
+88
Как я узнал, что у нас сливают трафик
5 min
13KПриветствую Вас уважаемое хабра-сообщество. Хочу поведать Вам о том, как сливали трафик у одного из моих клиентов.
Сидел я поздним вечером, и решил пройтись по сайтам клиентов, и на одном из них, я увидел, что чуть-чуть сместился один div.
Посмотрев исходный код и пролистав его туда-сюда раз 10, я увидел, что скрипт подгружается с интересного домена:
Трудно заметить, что последний подключаемый скрипт ведет на goog1(цифра)e-analitics.com
Сидел я поздним вечером, и решил пройтись по сайтам клиентов, и на одном из них, я увидел, что чуть-чуть сместился один div.
Посмотрев исходный код и пролистав его туда-сюда раз 10, я увидел, что скрипт подгружается с интересного домена:
Трудно заметить, что последний подключаемый скрипт ведет на goog1(цифра)e-analitics.com
+141
Возможности 3D графики Windows Phone
3 min
5KВсе телефоны на базе Windows Phone согласно требованиям Microsoft имеют аппаратное ускорение графики поддерживающее 3D рендеринг. В XNA 4.0 включено 5 основных эффектов шейдеров для 3D графики и несколько опций для их дополнительной конфигурации. Это основная палитра для использования в 3D играх для телефона. Вы можете скачать пример, чтобы познакомиться с тем как они работают. В этой статье приведен обзор всех пяти шейдеров, и они проиллюстрированы короткими роликами, которые дают понять об их основных визуальных возможностях.
+47
Автоконфигурация сетевых интерфейсов в Debian GNU/Linux
6 min
18KРешил рассказать о вариантах решения достаточно часто встречающейся проблемы для обладателей мобильных устройств. Проблема заключается в том, что зачастую лаптопы подключаются к достаточно большому количеству разных сетей, в которых далеко не всегда есть DHCP-сервер, либо же DHCP-сервер «отдаёт» не все необходимые настройки, либо же отдаёт неверные.
+63
Как я разработал устройство, от идеи до производства. Часть 3
3 min
20KИтак техническая часть проекта MT9000, заключительная. Если вы не читали первую и вторую части, рекомендую ознакомиться. Что же, приступим!
Как мама учит мыть руки перед едой, так и планирование – обязательная стадия разработки любого проекта. Иначе проект может перерасти в процесс, а мне это совершенно не нужно. Без плана и определения методики разработки не делаю ничего!
Для разработки проекта в целом использован старый добрый классический инкрементный подход: тщательное планирование, проектирование, несколько этапов тестирования прототипов, релиз. Нужно заранее спланировать все критические даты и важные точки проекта. Тогда есть шанс сдать проект с минимальной задержкой.
+44
Разработка игрового приложения под iPhone
7 min
9.9KРазработка игрового приложения под iPhone
Начало
В октябре 2008 года на очередной встрече с двумя друзьями, я узнал, что оба они занимаются разработками игр под iPhone. В то время я уже имел почти законченный shareware проект под Windows.
Загоревшись желанием портировать его под iPhone, я начал работать в данном направлении.
Цели
Cоздать и настроить средства разработки под Windows платформу без покупки самого девайса, Mac и сопутствующих средств разработки. Покупку Mac была отложена до момента полного понимания что и как работает.
Почти готовый проект и тулзы для него были под Windows поэтому было принято решение всё делать под Windows.
Несколько дней на поиск в интернете и я приступил к осуществлению данной идеи.
Шаг Первый — Настройка окружения и компилятора под Windows, а точнее под Cygwin
Было потрачено где-то около месяца на сборку toolchain под Cygwin. Результатом этого был огромный makefile для сборки toolchain и скомпилированное приложение HelloWorld, которое негде было запустить, так как девайса у меня не было. Когда я говорю что это заняло месяц, это не означает что я месяц по 8 часов в день работал над этим, в основном работа велась по выходным и после работы. Много времени уходило на перекомпиляцию, фикс проблем с путями, фикс проблем компиляции и настройки среды CygWin (только Cygwin я переставлял раза три).
+76
WiMAX. Как это работает
4 min
115KВ этой статье я расскажу о неоднократно упоминавшейся на Хабре технологии.
Worlwide Interoperability for Microwave Access. Так расшифровывается WiMAX.
У этой технологии нет глубоких корней, как например у GSM или CDMA. Она появилась сравнительно недавно: в 2004 году вышел первый стандарт для WiMAX, а в наш повседневный мир она проникает только сейчас.
Изначально его позиционировали, как 4G из-за его новизны и скорости передачи, но в 2008 году он однозначно занял своё место среди технологий третьего поколения. Однако этот факт не помешал продажникам, рекламщикам и прочим нечистым на язык людям рекламировать его именно под слоганом «4G интернет» (о чём это они?).
Worlwide Interoperability for Microwave Access. Так расшифровывается WiMAX.
У этой технологии нет глубоких корней, как например у GSM или CDMA. Она появилась сравнительно недавно: в 2004 году вышел первый стандарт для WiMAX, а в наш повседневный мир она проникает только сейчас.
Изначально его позиционировали, как 4G из-за его новизны и скорости передачи, но в 2008 году он однозначно занял своё место среди технологий третьего поколения. Однако этот факт не помешал продажникам, рекламщикам и прочим нечистым на язык людям рекламировать его именно под слоганом «4G интернет» (о чём это они?).
+54
Lamport hash chain – страховка от кражи базы паролей клиентов
7 min
3.9KВесьма интересный пост, опубликованный недавно на Хабре, и особенно комментарии к нему подтолкнули меня к описанию, пожалуй, единственной симметричной схемы, действительно обеспечивающей страховку от кражи базы паролей с сервера – схемы Лэмпорта («Lamport hash chain»). Алгоритм на самом деле чрезвычайно прост и предложен автором (L.Lamport) еще в 1981 году. Более того, схема в большинстве учебников уже упоминается как «устаревшая», т.к. целью ее разработки была в первую очередь защита от перехвата пароля на этапе передачи, а появившиеся позднее схемы семейства «challenge-handshake» (CHAP, CRAM) решают эту задачу гораздо более эффективно. А вот о втором интересном свойстве схемы Лэмпорта уже потихоньку забыли – она не требует конфиденциальности аутентификационных данных пользователей, хранимых на серверной стороне (свойство, обычно присущее только асимметричным схемам с сертификатам клиентов). Посмотрим, как можно достичь этого свойства с помощью одной только криптостойкой хеш-функции.
+72
Пишем оповещение для iOS
5 min
2.2KДоброе утро/день/вечер/ночь %username%!
В процессе реализации очередного проекта появилась необходимость реализовать эффективное оповещение пользователя о чём-либо (например, об отсутствии интернет соединения). Так как же это сделать? Стандартный класс UIAlertView оказался для этой цели слишком громоздким и скучным, и, не найдя более ничего подходящего, было решено написатьсвоё казино с блекдже… свой класс оповещения.
Предыстория
В процессе реализации очередного проекта появилась необходимость реализовать эффективное оповещение пользователя о чём-либо (например, об отсутствии интернет соединения). Так как же это сделать? Стандартный класс UIAlertView оказался для этой цели слишком громоздким и скучным, и, не найдя более ничего подходящего, было решено написать
+24
Не такой уж ты и страшный, XTS-AES
4 min
25KПриветствую, %username%!
Сегодняшняя статья навеяна мыслями написать бесплатный аналог программы для шифрования файлов в DropBox, а именно аспектом режима шифрования файлов посекторно (для возможности читать\писать из/в произвольное место)
Мы поговорим о режиме шифрования XTS-AES, применяемом во всех популярных дискошифровалках (TrueCrypt, DiskCryptor).
Он описан в IEEE P1619™/D16 (Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices) и считается самым безопасным способом хранить данные посекторно.
+25
Опрос. Инструменты автоматизации тестирования
2 min
12KЗдравствуйте, уважаемые хабровчане!
Мы с коллегой готовим для конференции доклад на тему автоматизации тестирования desktop-приложений. Ценность и полезность доклада возрастет, если мы сможем использовать в выступлении результаты опроса профессионального сообщества.
Результатами поделюсь на Хабре.
Мы с коллегой готовим для конференции доклад на тему автоматизации тестирования desktop-приложений. Ценность и полезность доклада возрастет, если мы сможем использовать в выступлении результаты опроса профессионального сообщества.
Результатами поделюсь на Хабре.
+13
Быстрое умножение многочленов при помощи преобразования Фурье — это просто
9 min
78KДобрый вечер.
Этот пост посвящён быстрому преобразованию Фурье. Будут рассмотрены прямое и обратное преобразования (в комплексных числах). В следующей части я планирую рассмотреть их применения в некоторых задачах олимпиадного программирования (в частности, одна задача про «похожесть» строк), а также рассказать про реализацию преобразования в целых числах.
БПФ — это алгоритм, вычисляющий значения многочлена степени n=2k в некоторых n точках за время O(n⋅logn) («наивный» метод выполняет ту же задачу за время O(n2)). За то же время можно выполнить и обратное преобразование. Так как складывать, вычитать и умножать массивы чисел гораздо легче, чем многочлены (особенно умножать), БПФ часто применяется для ускорения вычислений с многочленами и длинными числами.
Этот пост посвящён быстрому преобразованию Фурье. Будут рассмотрены прямое и обратное преобразования (в комплексных числах). В следующей части я планирую рассмотреть их применения в некоторых задачах олимпиадного программирования (в частности, одна задача про «похожесть» строк), а также рассказать про реализацию преобразования в целых числах.
БПФ — это алгоритм, вычисляющий значения многочлена степени n=2k в некоторых n точках за время O(n⋅logn) («наивный» метод выполняет ту же задачу за время O(n2)). За то же время можно выполнить и обратное преобразование. Так как складывать, вычитать и умножать массивы чисел гораздо легче, чем многочлены (особенно умножать), БПФ часто применяется для ускорения вычислений с многочленами и длинными числами.
+98
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity