Быстрый поиск
Введите фрагмент названия статьи для поиска
Как скопировать массив на JavaScript
29.05.2013 | Категория: Web-мастеру и не только | Автор: ManHunter
При программировании на JavaScript иногда требуется создать копию массива. Но особенность заключается в том, что в JavaScript массив является объектом, поэтому при использовании оператора присваивания, новой копии создаваться не будет, а просто будет создана ссылка на существующий массив. Если после этого попробовать внести какие-нибудь изменения в любой из этих массивов, то изменения будут внесены сразу в оба. Так получается, потому что фактически это один и тот же объект. Например:Code (JavaScript) : Убрать нумерацию
- // Как хочется сделать, но не получится
- var old_array = ['one', 'two', 'three'];
- var new_array = old_array;
- // Добавляем по одному элементу в исходный и "новый" массив
- old_array.push('banana');
- new_array.push('lemon');
- // Получается вот что
- // old_array = ['one', 'two', 'three', 'banana', 'lemon'];
- // new_array = ['one', 'two', 'three', 'banana', 'lemon'];
Code (JavaScript) : Убрать нумерацию
- // Корректный вариант решения
- var old_array = ['one', 'two', 'three'];
- var new_array = old_array.slice(0);
- // Добавляем по одному элементу в исходный и новый массив
- old_array.push('banana');
- new_array.push('lemon');
- // Теперь все правильно
- // old_array = ['one', 'two', 'three', 'banana'];
- // new_array = ['one', 'two', 'three', 'lemon'];
Просмотров: 4646 | Комментариев: 6
Выставка скульптур из песка "Тайны народов мира"
26.05.2013 | Категория: Жизнь в оффлайне | Автор: ManHunter
Выставка скульптур из песка "Тайны народов мира"
Весной в парке Коломенское открылась традиционная выставка скульптур из песка. Тема этого года - "Тайны народов мира". Каждая фигура представляет собой копию одного из известных архитектурных сооружений. Здесь можно увидеть пирамиду Хеопса, индийского Ганешу, скандинавского Тора и другие скульптуры. Всего 14 фигур, в создании которых принимали участие мастера из России, Польши, Индии, Италии, Болгарии, Чехии, Белоруссии и других стран.
Читать статью целиком »
Просмотров: 4436 | Комментариев: 3
Прохождение игры "Натали Брукс. Сокровища затерянного королевства"
23.05.2013 | Категория: Software | Автор: ManHunter
Натали Брукс. Сокровища затерянного королевства
Предлагаю вашему вниманию полное прохождение второй части из серии игр про приключения Натали Брукс - "Натали Брукс. Сокровища затерянного королевства". Здесь не будет ссылок на ломаные файлы, ключей для регистрации и прочего вареза, только подробная инструкция с картинками по прохождению игры. Игра интересная, ничуть не уступает остальным частям, как раз чтобы скоротать пару свободных вечеров.
Читать статью целиком »
Просмотров: 26370 | Комментариев: 5
Исследование защиты программы ExtraCHM
21.05.2013 | Категория: Темная сторона Силы | Автор: ManHunter
Скриншот программы ExtraCHM
ExtraCHM - неплохая замена стандартному просмотрщику CHM-файлов, который используется в Windows. Программа обладает удобным многовкладочным интерфейсом, возможностью поиска по файлу справки, даже если в нем отсутствует поисковый индекс, с помощью ExtraCHM можно декомпилировать CHM-файл и даже подключить его к голосовому движку для чтения содержимого. Такая куча ништяков просто обязана быть бесплатной, но аффтар почему-то имеет на этот счет другое мнение. Я же, в свою очередь, это мнение не поддерживаю.
Читать статью целиком »
Просмотров: 5676 | Комментариев: 2
Получение информации о другом процессе
17.05.2013 | Категория: Образ мышления: Assembler | Автор: ManHunter
Возможность получения информации о стороннем процессе раскрывает перед программистами и пользователями широкие возможности. Это могут быть продвинутые менеджеры процессов, антивирусные и антитроянские программы, утилиты для реверсной инженерии и многое другое. У меня, к примеру, подобные функции используются в программе Quick Task Terminator. Давайте посмотрим, как это делается. Для начала надо описать структуры, необходимые для работы с процессами. В стандартном комплекте FASM их, естественно, нет, но это и неудивительно.Code (Assembler) : Убрать нумерацию
- ; Структура для получения данных о процессе под Win32
- struct PROCESS_BASIC_INFORMATION
- ExitStatus dd ?
- PebBaseAddress dd ?
- AffinityMask dd ?
- BasePriority dd ?
- uUniqueProcessId dd ?
- uInheritedFromUniqueProcessId dd ?
- ends
- ; Структура PEB процесса под Win32
- ; Process Enviroment Block или блок окружения процесса
- ; Содержит все параметры пользовательского режима, ассоциированные
- ; системой с текущим процессом
- struct PEB
- InheritedAddressSpace db ?
- ReadImageFileExecOptions db ?
- BeingDebugged db ?
- b003 db ?
- Mutant dd ?
- ImageBaseAddress dd ?
- Ldr dd ?
- ProcessParameters dd ?
- ends
- ; Юникодная строка в Win32
- struct UNICODE_STRING
- Length dw ?
- MaximumLength dw ?
- Buffer dd ?
- ends
- ; Структура RTL_USER_PROCESS_PARAMETERS под Win32
- struct RTL_USER_PROCESS_PARAMETERS
- MaximumLength dd ?
- Length dd ?
- Flags dd ?
- DebugFlags dd ?
- ConsoleHandle dd ?
- ConsoleFlags dd ?
- StdInputHandle dd ?
- StdOutputHandle dd ?
- StdErrorHandle dd ?
- CurrentDirectoryPath UNICODE_STRING
- CurrentDirectoryHandle dd ?
- DllPath UNICODE_STRING
- ImagePathName UNICODE_STRING
- CommandLine UNICODE_STRING
- ends
Code (Assembler) : Убрать нумерацию
- section '.data' data readable writeable
- ...
- ; Данные о 32-битных процессах
- Info PROCESS_BASIC_INFORMATION
- peb PEB
- pparam RTL_USER_PROCESS_PARAMETERS
Читать статью целиком »
Просмотров: 9860 | Комментариев: 6