Pull to refresh
-1
0
Андрей Фролов @Plone

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

Send message

Here be dragons: Управление памятью в Windows как оно есть [3/3]

Reading time5 min
Views147K

Каталог:
Один
Два
Три

μTorrent


Это, пожалуй, самая забавная часть. При очевидно высоких навыках программирования, авторы либо не читали, либо не поняли вот этот документ. Вот что происходит с дефолтными настройками:
Читать дальше →
Total votes 323: ↑300 and ↓23+277
Comments171

Here be dragons: Управление памятью в Windows как оно есть [2/3]

Reading time5 min
Views39K

Каталог:
Один
Два
Три

Оказывается длинные опусы нужно разбивать. А я то думал «многосерийные» топики публикуют исключительно для зарабатывания рейтинга :-)

Продолжу с места в карьер, так как где разбилось — там разбилось, а писать дополнительные введения к каждой серии выше моих сил.
Читать дальше →
Total votes 274: ↑251 and ↓23+228
Comments34

Here be dragons: Управление памятью в Windows как оно есть [1/3]

Reading time8 min
Views175K

Каталог:
Один
Два
Три

Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.

Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...

Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
Читать дальше →
Total votes 360: ↑338 and ↓22+316
Comments85

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16+500
Comments365

Запущен сайт по Windows Phone 7 для iPhone-разработчиков

Reading time1 min
Views661
Сегодня открылась первая версия сайта 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 доступен бесплатно на русском языке.
Total votes 50: ↑33 and ↓17+16
Comments41

Основы программирования под Android на примере игры Судоку

Reading time6 min
Views375K
В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.

Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments48

Evasi0n под микроскопом

Reading time8 min
Views38K
Совсем недавно вышел свежий набор утилит для «джейла» iOS. Пришло время разобрать его и посмотреть, какие эксплойты и механизмы проникновения он использует. Сейчас «джейлить» iOS стало настолько просто, что люди забывают, насколько это сложный процесс. Механизмы защиты, встроенные в пространство пользователя, такие как песочница, ASLR (Address Space Layout Randomisation – рандомизация расположения в адресном пространстве) и механим цифровых подписей, делают процесс написания «джейла» невероятно сложным.

Стоит отметить, что, в отличие от предыдущих эксплойтов jailbreak.me, которые можно было использовать на ничего не подозревающих жертвах, «джейлы», которые требуют подключения по USB, обычно несут меньшие угрозы безопасности, и типично полезны только самому владельцу устройства. Злоумышленники заинтересованы в них меньше, так как айфон с установленным пин-кодом откажется общаться по USB, если он заблокирован, если он, конечно, ранее не был синхронизирован с компьютером, куда его подключают. Таким образом, если телефон был украден и на нем был установлен пин-код, злоумышленник не сможет «джейлнуть» его. Только вредоносный код, выполняемый на вашем компьютере, может иметь хоть какую-то возможность выполнить «джейл» незаметно.
Читать дальше →
Total votes 117: ↑116 and ↓1+115
Comments46

Eclipse for Java Developers. Навигация и редактирование

Reading time6 min
Views184K

Наблюдая за со своими знакомыми, которые недавно начали изучать программирование или перешли на Eclipse c другой IDE, я часто замечаю что они почти не используют вспомогательные инструменты среды разработки. Они либо не знают о них вообще, либо не понимают какую практическую пользу они могут принести.
Данная статья предназначена в основном для начинающих в работе с Eclipse. Но в процессе подготовки статьи я сам узнал о нескольких простых и удобных инструментах, которые за два года активной разработки ни разу не использовал.
В данной статье речь пойдет о навигации и редактировании.
Внутри скриншоты.
Читать дальше →
Total votes 81: ↑75 and ↓6+69
Comments75

Работа и жизнь гика с проблемами концентрации внимания

Reading time8 min
Views220K
Каждый — гениален. Но если вы будете судить рыбу по ее способности лазать по деревьям,
она всю жизнь проживет с верой в свою глупость.

Альберт Эйнштейн

Лень — это привычка отдыхать до того, как ты устанешь.

Жюль Ренар


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

Решительно сократить количество проблем можно, придерживаясь следующих рекомендаций:
  1. В голове держать не больше трех-пяти вещей за раз, объединив действия в большие смысловые блоки.
  2. Раз и навсегда выбрать решение по ежедневному набору мелочей: вносить дела к календарь, проверять утюг и т.п.
  3. Разложить все вещи по своим местам и поддерживать заведенный порядок.
  4. Дублировать необходимые и часто используемые вещи; разложить их по всем углам.
  5. Умело пользоваться календарем, мобильником и другими инструментами интернет-века.
  6. И самое главное: НЕ ОТВЛЕКАТЬСЯ ПО МЕЛОЧАМ!
Интересно? Читаем дальше!
Total votes 122: ↑105 and ↓17+88
Comments84

Как я узнал, что у нас сливают трафик

Reading time5 min
Views13K
Приветствую Вас уважаемое хабра-сообщество. Хочу поведать Вам о том, как сливали трафик у одного из моих клиентов.
Сидел я поздним вечером, и решил пройтись по сайтам клиентов, и на одном из них, я увидел, что чуть-чуть сместился один div.
Посмотрев исходный код и пролистав его туда-сюда раз 10, я увидел, что скрипт подгружается с интересного домена:

Трудно заметить, что последний подключаемый скрипт ведет на goog1(цифра)e-analitics.com
Читать дальше →
Total votes 167: ↑154 and ↓13+141
Comments85

Возможности 3D графики Windows Phone

Reading time3 min
Views5K
Все телефоны на базе Windows Phone согласно требованиям Microsoft имеют аппаратное ускорение графики поддерживающее 3D рендеринг. В XNA 4.0 включено 5 основных эффектов шейдеров для 3D графики и несколько опций для их дополнительной конфигурации. Это основная палитра для использования в 3D играх для телефона. Вы можете скачать пример, чтобы познакомиться с тем как они работают. В этой статье приведен обзор всех пяти шейдеров, и они проиллюстрированы короткими роликами, которые дают понять об их основных визуальных возможностях.
Читать дальше →
Total votes 65: ↑56 and ↓9+47
Comments27

Автоконфигурация сетевых интерфейсов в Debian GNU/Linux

Reading time6 min
Views18K
Решил рассказать о вариантах решения достаточно часто встречающейся проблемы для обладателей мобильных устройств. Проблема заключается в том, что зачастую лаптопы подключаются к достаточно большому количеству разных сетей, в которых далеко не всегда есть DHCP-сервер, либо же DHCP-сервер «отдаёт» не все необходимые настройки, либо же отдаёт неверные.
Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments32

Как я разработал устройство, от идеи до производства. Часть 3

Reading time3 min
Views20K


Итак техническая часть проекта MT9000, заключительная. Если вы не читали первую и вторую части, рекомендую ознакомиться. Что же, приступим!

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

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

Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments30

Разработка игрового приложения под iPhone

Reading time7 min
Views9.9K

Разработка игрового приложения под iPhone



Начало

В октябре 2008 года на очередной встрече с двумя друзьями, я узнал, что оба они занимаются разработками игр под iPhone. В то время я уже имел почти законченный shareware проект под Windows.
Загоревшись желанием портировать его под iPhone, я начал работать в данном направлении.

Цели

Cоздать и настроить средства разработки под Windows платформу без покупки самого девайса, Mac и сопутствующих средств разработки. Покупку Mac была отложена до момента полного понимания что и как работает.
Почти готовый проект и тулзы для него были под Windows поэтому было принято решение всё делать под Windows.
Несколько дней на поиск в интернете и я приступил к осуществлению данной идеи.

Шаг Первый — Настройка окружения и компилятора под Windows, а точнее под Cygwin

Было потрачено где-то около месяца на сборку toolchain под Cygwin. Результатом этого был огромный makefile для сборки toolchain и скомпилированное приложение HelloWorld, которое негде было запустить, так как девайса у меня не было. Когда я говорю что это заняло месяц, это не означает что я месяц по 8 часов в день работал над этим, в основном работа велась по выходным и после работы. Много времени уходило на перекомпиляцию, фикс проблем с путями, фикс проблем компиляции и настройки среды CygWin (только Cygwin я переставлял раза три).

Читать дальше →
Total votes 100: ↑88 and ↓12+76
Comments60

WiMAX. Как это работает

Reading time4 min
Views115K
В этой статье я расскажу о неоднократно упоминавшейся на Хабре технологии.
Worlwide Interoperability for Microwave Access. Так расшифровывается WiMAX.
У этой технологии нет глубоких корней, как например у GSM или CDMA. Она появилась сравнительно недавно: в 2004 году вышел первый стандарт для WiMAX, а в наш повседневный мир она проникает только сейчас.
Изначально его позиционировали, как 4G из-за его новизны и скорости передачи, но в 2008 году он однозначно занял своё место среди технологий третьего поколения. Однако этот факт не помешал продажникам, рекламщикам и прочим нечистым на язык людям рекламировать его именно под слоганом «4G интернет» (о чём это они?).
Прошлое и настоящее WiMAX
Total votes 74: ↑64 and ↓10+54
Comments147

Lamport hash chain – страховка от кражи базы паролей клиентов

Reading time7 min
Views3.9K
Весьма интересный пост, опубликованный недавно на Хабре, и особенно комментарии к нему подтолкнули меня к описанию, пожалуй, единственной симметричной схемы, действительно обеспечивающей страховку от кражи базы паролей с сервера – схемы Лэмпорта («Lamport hash chain»). Алгоритм на самом деле чрезвычайно прост и предложен автором (L.Lamport) еще в 1981 году. Более того, схема в большинстве учебников уже упоминается как «устаревшая», т.к. целью ее разработки была в первую очередь защита от перехвата пароля на этапе передачи, а появившиеся позднее схемы семейства «challenge-handshake» (CHAP, CRAM) решают эту задачу гораздо более эффективно. А вот о втором интересном свойстве схемы Лэмпорта уже потихоньку забыли – она не требует конфиденциальности аутентификационных данных пользователей, хранимых на серверной стороне (свойство, обычно присущее только асимметричным схемам с сертификатам клиентов). Посмотрим, как можно достичь этого свойства с помощью одной только криптостойкой хеш-функции.
Читать дальше →
Total votes 76: ↑74 and ↓2+72
Comments19

Пишем оповещение для iOS

Reading time5 min
Views2.2K
Доброе утро/день/вечер/ночь %username%!

Предыстория

В процессе реализации очередного проекта появилась необходимость реализовать эффективное оповещение пользователя о чём-либо (например, об отсутствии интернет соединения). Так как же это сделать? Стандартный класс UIAlertView оказался для этой цели слишком громоздким и скучным, и, не найдя более ничего подходящего, было решено написать своё казино с блекдже… свой класс оповещения.
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments11

Не такой уж ты и страшный, XTS-AES

Reading time4 min
Views25K

Приветствую, %username%!


Сегодняшняя статья навеяна мыслями написать бесплатный аналог программы для шифрования файлов в DropBox, а именно аспектом режима шифрования файлов посекторно (для возможности читать\писать из/в произвольное место)
Мы поговорим о режиме шифрования XTS-AES, применяемом во всех популярных дискошифровалках (TrueCrypt, DiskCryptor).
Он описан в IEEE P1619™/D16 (Standard for Cryptographic Protection of Data on Block-Oriented Storage Devices) и считается самым безопасным способом хранить данные посекторно.
Так как же он устроен?
Total votes 31: ↑28 and ↓3+25
Comments24

Опрос. Инструменты автоматизации тестирования

Reading time2 min
Views12K
Здравствуйте, уважаемые хабровчане!
Мы с коллегой готовим для конференции доклад на тему автоматизации тестирования desktop-приложений. Ценность и полезность доклада возрастет, если мы сможем использовать в выступлении результаты опроса профессионального сообщества.
Результатами поделюсь на Хабре.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments8

Быстрое умножение многочленов при помощи преобразования Фурье — это просто

Reading time9 min
Views78K
Добрый вечер.
Этот пост посвящён быстрому преобразованию Фурье. Будут рассмотрены прямое и обратное преобразования (в комплексных числах). В следующей части я планирую рассмотреть их применения в некоторых задачах олимпиадного программирования (в частности, одна задача про «похожесть» строк), а также рассказать про реализацию преобразования в целых числах.
БПФ — это алгоритм, вычисляющий значения многочлена степени n=2k в некоторых n точках за время O(n⋅logn) («наивный» метод выполняет ту же задачу за время O(n2)). За то же время можно выполнить и обратное преобразование. Так как складывать, вычитать и умножать массивы чисел гораздо легче, чем многочлены (особенно умножать), БПФ часто применяется для ускорения вычислений с многочленами и длинными числами.
Читать дальше →
Total votes 112: ↑105 and ↓7+98
Comments38

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity