Читать дальше →
Виталий Сергеев @enkryptor
Разработчик
Here be dragons: Управление памятью в Windows как оно есть [1/3]
8 min
181K
Каталог:
Один
Два
Три
Менеджер памяти (и связанные с ним вопросы контроллера кеша, менеджера ввода/вывода и пр) — одна из вещей, в которой (наряду с медициной и политикой) «разбираются все». Но даже люди «изучившие винду досконально» нет-нет, да и начинают писать чепуху вроде (не говоря уже о другой чепухе, написанной там же):
Грамотная работа с памятью!!! За все время использования у меня своп файл не увеличился ни на Килобайт. По этому Фаерфокс с 10-20 окнами сворачивается / разворачивается в/из трея как пуля. Такого эффекта я на винде добивался с отключенным свопом и с переносом tmp файлов на RAM диск.
Или к примеру μTorrent — у меня нет никаких оснований сомневаться в компетентности его авторов, но вот про работу памяти в Windows они со всей очевидностью знают мало. Не забываем и товарищей, производящих софт для слежения за производительностью и не имеющих ни малейшего понятия об управлении памятью в Windows (и поднявших по этому поводу истерику на пол интернета, на Ars-е даже был разбор полетов). Но самое потрясающее, что я видел всвязи с управлением памятью — это совет переместить pagefile на RAM-диск:
Из моих трех гигабайт под RAM disk был выделен один (на тот момент, когда на лаптопе еще была установлена XP), на котором я создал своп на 768МБ ...
Цель данной статьи — не полное описание работы менеджера памяти (не хватит ни места ни опыта), а попытка пролить хоть немного света на темное царство мифов и суеверий, окружающих вопросы управления памятью в Windows.
+316
Ускорение загрузки Windows for fun and profit
4 min
811K
Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
+501
Как создается операционная система
7 min
8.8KПо докладу Ивана Рузанова «Windows – как создается операционная система» с конференции «Платформа 2009».
Как уже писал antonms, стали доступны записи докладов с Платформы. Несколько из них я посмотрел и хочу поделиться наиболее понравившимся. Учитывая занятость рядового хабра-юзера и продолжительность исходной записи доклада (1 час 20 мин.), ниже привожу развернутое изложение материала.
Как уже писал antonms, стали доступны записи докладов с Платформы. Несколько из них я посмотрел и хочу поделиться наиболее понравившимся. Учитывая занятость рядового хабра-юзера и продолжительность исходной записи доклада (1 час 20 мин.), ниже привожу развернутое изложение материала.
- История Windows
- Windows сегодня
- Разработка Windows
- Изменения ядра Windows 7
- Сопровождение Windows, обновления/исправления
+149
Структура кода в Unity3d — личное мнение и пара трюков
7 min
61K
Хотелось бы поделиться личными впечатлениями о разработке мобильных игр на основе Unity3d. Изначально думал уместить в одном посте все мелкие «Tip&Trick» с которыми столкнулся при работе с Unity3d за последнее время. Но их оказалось черезчур много. Так что в этом посте будут только те, которые касаются непосредственно написания кода.
Главная тема поста — разделение классов по «слоям», связывание их через события и чуть-чуть о том, как наладить взаимодействие объектов на сцене.
Кому интересно — добро пожаловать под кат!
+19
Как накосячить с типографией: подборка работающих способов
7 min
120K
Тут наверняка есть косяки, просто мы ещё не открыли коробку
За три года нас с коллегами сотни раз било по голове ручкой от грабель при работе с типографиями. Мы списывали целые контейнеры криво напечатанной упаковки для игр, переделывали в авральном порядке тиражи, отправляли назад брак, который нам пытались выдать за нормальную печать, и натыкались на банальное кидалово.
Поначалу может показаться, что типографии — это специальные ловушки для тех, кто не умеет правильно формулировать задание, читать договор и проверять тираж. Позже, через несколько сорванных сроков и битых тиражей, приходит понимание каких-то основ.
+152
Time for Coded UI Tests
6 min
53KВ данной статье я постараюсь детально рассказать о работе с Coded UI Test, одним из множества нововведений Visual Studio 2010, а так же упомянуть о проблемах, с которыми я столкнулся.
Не будем зря терять время и сразу приступим к тестированию.
Не будем зря терять время и сразу приступим к тестированию.
+40
Переместить сообщения Outlook в архив по нажатию горячей клавиши
3 min
11KПосле того как я променял The Bat! на Outlook мне очень не хватало одной важной функциональности. В старичке можно было настроить так, чтоб по нажатию Shift+Del выбранную группу писем переносило в любую другую папку вместо Удаленных. В Outlook, чтобы держать Inbox в чистоте, приходится мучаться драг-н-дропом. Но, к счастью, оказалось горячую клавишу можно настроить и для Outlook.
+5
Замена для FIND и GREP
4 min
39KМне кажется, давно зреет тема сравнения возможностей PowerShell и оболочек мира UNIX. Сравнения не в холиварном смысле этого слова, а в позитивно-конструктивном. Линуксовым скриптописателям (не фанатикам), думаю, будет интересно узнать, как делаются те или иные штуки, которые они привыкли делать на bash или zsh, на PowerShell. Пожалуй, я и начну такую тему — и очень надеюсь, что кто-то из моих коллег-повершелловцев (Guderian, ApeCoder) также поддержит эту тему.
В UNIX для поиска текста в дереве файлов существует довольно популярная связка утилит
Давайте посмотрим, что предлагает нам PowerShell для этих целей.
В UNIX для поиска текста в дереве файлов существует довольно популярная связка утилит
find
и grep
. Например, с помощью этих утилит мы можем найти все упоминания ключевого слова class
в нашем дереве исходников:$ find -name \*.cpp -o -name \*.hpp -exec grep -Hb class {} \;
Давайте посмотрим, что предлагает нам PowerShell для этих целей.
+13
Сортировка изображений по разрешению… на сцене PowerShell
9 min
8.9KВ очередной раз просматривая интересности, любопытности и прочие всякости на Хабре, натолкнулся на статью о том, как с помощью Питона навести порядок среди иллюстраций, цифровое кладбище которых имеется почти у каждого из нас. Поскольку не так давно мне выпала доля заниматься процессингом картинок с использованием PowerShell, я решил провести показательное сравнение. Показательное с той точки зрения, чтобы продемонстрировать некоторые характерные возможности PowerShell тем, кто еще пока не знаком с ним или знаком поверхностно.
К сожалению, с PowerShell сложилась странная ситуация, когда весьма мощный инструмент оказывается обойден вниманием общественности и определенно нуждается в некоторой популяризации. Тем более, что с недавнего времени он входит в составе Windows 7 и скоро будет на рабочих местах немалого количества пользователей. А тут такой повод в виде лаконичной с одной стороны, но интересной с другой задачи административного характера по наведению порядка в хранилищах информации. Итак, приступим.
К сожалению, с PowerShell сложилась странная ситуация, когда весьма мощный инструмент оказывается обойден вниманием общественности и определенно нуждается в некоторой популяризации. Тем более, что с недавнего времени он входит в составе Windows 7 и скоро будет на рабочих местах немалого количества пользователей. А тут такой повод в виде лаконичной с одной стороны, но интересной с другой задачи административного характера по наведению порядка в хранилищах информации. Итак, приступим.
+32
Функциональное программирование для землян — списки
6 min
10K
+51
Powershell — логирование в файл
2 min
44KДоброго времени суток, $username!
Хочу поделиться с вами функцией, которую я использую вместо обычного вывода информации на экран или только записи в файл.
Функция была написана для того, чтобы информация выводилась и на экран и в лог (текстовый), предназначается для замены стандартного write-host.
Хочу поделиться с вами функцией, которую я использую вместо обычного вывода информации на экран или только записи в файл.
Функция была написана для того, чтобы информация выводилась и на экран и в лог (текстовый), предназначается для замены стандартного write-host.
+4
Меняем цвета в PowerShell
3 min
24KСовершено недавно открыл для себя эту оболочку. Тут же полез искать книги, которые, кстати, уже перевели и их можно взять отсюда. И все вроде бы хорошо, и код пишется легко и интеграция с vsb-скиптами, но, почему то, тянет меня к мастдайным окнам.
И так, было решено перекрасить окошко PowerShell в стандартный цвет cmd и параллельно настроить автозапуск собственных функций и алиасов. Так же, слегка, напрягало предложения ввода с надписью — PS, которое, совместно с цветом, напоминает лого Adobe Photoshop ( Ничего против Adobe не имею ).
Итак, информация следом исключительно для новичков.
И так, было решено перекрасить окошко PowerShell в стандартный цвет cmd и параллельно настроить автозапуск собственных функций и алиасов. Так же, слегка, напрягало предложения ввода с надписью — PS, которое, совместно с цветом, напоминает лого Adobe Photoshop ( Ничего против Adobe не имею ).
Итак, информация следом исключительно для новичков.
+4
Визуализация каталогов на Python средствами NetworkX
5 min
17KЛистая на Хабре раздел Python наткнулся на интересную статью о библиотеке NetworkX. Впечатлившись красивыми графами, решил повысить свой python-скилл и покопаться в networkx.

Первый вопрос — откуда взять данные для визуализации? Генерировать случайные не интересно, они и в комплекте модуля были. Тут вспомнилась Dos утилитка tree, выводящая каталоги файловой системы в виде дерева. Решено было написать красивый аналог на Python и нарисовать все в networkx с помощью matplotlib.

Пролог
Первый вопрос — откуда взять данные для визуализации? Генерировать случайные не интересно, они и в комплекте модуля были. Тут вспомнилась Dos утилитка tree, выводящая каталоги файловой системы в виде дерева. Решено было написать красивый аналог на Python и нарисовать все в networkx с помощью matplotlib.
+47
Погружение в скрипты игрового движка Unity3d, ч.1
6 min
237KДоброго времени суток, уважаемый читатель! На Хабре неоднократно публиковались статьи о разработке игр с использованием замечательного движка Unity3d. Большинство этих статей были посвящены вполне определенным задачам, я же хотел сделать общий экскурс в данный движок. Данная часть будет посвящена наиболее часто используемым скриптовым методам и объектам, которые используются мной в процессе разработки на данном движке. Примеры я буду приводить на JavaScript, как на наиболее близком мне языке.
+34
Отлаживаем ошибки доступа к памяти с помощью Application Verifier
4 min
14KХабраюзер burdakovd задал в Q&A задачку про C++, vector и запись в чужую память. Задачка, кроме всего прочего, хороша тем, что на ней можно удобно продемонстрировать, как пользоваться инструментом Application Verifier и находить, кто же портит память.
Application Verifier — очень мощный инструмент, кроме диагностики работы с хипом он умеет уйму всего другого, например определять неправильную работу с хендлами, ошибки реализации многопоточности, эмулировать нехватку ресурсов, чтобы проверить корректную работу программы в таких условиях, но об этом как-нибудь в другой раз.
Application Verifier — очень мощный инструмент, кроме диагностики работы с хипом он умеет уйму всего другого, например определять неправильную работу с хендлами, ошибки реализации многопоточности, эмулировать нехватку ресурсов, чтобы проверить корректную работу программы в таких условиях, но об этом как-нибудь в другой раз.
+30
Application Verifier для программиста: тестирование Windows-приложений
7 min
21KВозможно в Вашем проекте и не пишут
Тогда Вам повезло, можете переходить к следующему топику.
try { /* code */ } catch(...) { }
для того чтобы избежать исключений при работе с памятью, умеют закрывать хендлы и знают о виртуализации Windows Vista, а программы никогда не падают по непонятным и редко повторяемым причинам. Тогда Вам повезло, можете переходить к следующему топику.
+50
Демон для удаленного управления компьтером через e-mail
5 min
5.8KЗдравствуй, Хабр!
В данной статье я хотел бы поделиться опытом в создании демона для удаленного управления компьютером командами через электронную почту.
В данной статье я хотел бы поделиться опытом в создании демона для удаленного управления компьютером командами через электронную почту.
+46
Оценка вредоносности файлов с помощью песочниц: Часть 2. Анализ в оффлайн
8 min
21KИтак, ранее мы познакомились с основными ресурсами, доступными в сети для анализа файлов.
Однако на практике случается довольно много случаев, когда использование онлайн-песочниц не позволяет решить задачу. Это может быть связано с самыми различными факторами, например:
— Доступ к интернет затруднителен
— Онлайн-песочницы в данный момент перегружены, а выполнение анализа критично по времени
— Выполнение в онлайн песочницах блокируется изучаемым файлом
— Необходима более тонкая настройка режима выполнения файла при анализе, например — увеличение времени задержки с момента запуска
В этом случае на помощь нам приходит оффлайн-решение проблемы.
Однако на практике случается довольно много случаев, когда использование онлайн-песочниц не позволяет решить задачу. Это может быть связано с самыми различными факторами, например:
— Доступ к интернет затруднителен
— Онлайн-песочницы в данный момент перегружены, а выполнение анализа критично по времени
— Выполнение в онлайн песочницах блокируется изучаемым файлом
— Необходима более тонкая настройка режима выполнения файла при анализе, например — увеличение времени задержки с момента запуска
В этом случае на помощь нам приходит оффлайн-решение проблемы.
+26
Основы работы с потоками в языке Python
20 min
64KПредисловие
Данную статью я затеял написать после учащающихся вопросов как на форуме так и вопросов в icq на тему многопоточности в CPython. Проблема людей, которые их задают происходит, в основном, из незнания или непонимания основных принципов работы многопоточных приложений. По крайней мере, это относится к используемой мной модели многопоточности, которая носит название Thread Pool (Пул потоков). Часто встречаемой проблемой является и другое: люди не имеют элементарных навыков работы со стандартными модулями CPython. В статья я постараюсь привести примеры такого незнания, не останавливаясь на личностях, так как это по моему скромному мнению неважно. Исходя из условий, в которых пишется эта статья, то мы немного затронем и работу через proxy серверы (не путать с SOCKS).
+47
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Registered
- Activity