Регулярные выражения — 3. Квантификаторы

Как и прежде, после любого символа в регулярном выражении допустимо указывать квантификатор — то есть некую конструкцию, которая уточняет, сколько раз символ может встречаться в тестируемой строке. Читать далее «Регулярные выражения — 3. Квантификаторы»

Первая попытка установить Parrot и Perl 6

История началась с дистрибутива parrot-0.0.10. Первая попытка откомпилировать его привела к системе, которой худо-бедно можно пользоваться, но путь не был прямым.

Вначале я компилировал под Windows (с установленным ActivePerl). Собрать parrot компилятором Borland не удалось. Более или менее полный комплект построил компилятор Microsoft Visual C++ 7. Виртуальная машина Parrot заработала. Читать далее «Первая попытка установить Parrot и Perl 6»

Устройства Firebox SOHO 6 Wireless защищают беспроводные сети

Точки доступа в беспроводные сети и DSL-соединения это неотъемлимая часть сладких снов работающего дома или часто бывающего в разъездах работника. Но эта мечта может очень лего превратиться в ночной кошмар без должного уровня обеспечения защиты. Не смотря на то, что большое число компаний, таких как Linksys,подразделение CIsco Systems и Netgear, которые предоставляют дешевые точки доступа в беспроводные сети не идут ни в какое сравнение с безопастность, которую предлагает WatchGuard Technologies в устройствах Firebox SOHO 6 Wireless, а также в организации виртуальной частной сети. Читать далее «Устройства Firebox SOHO 6 Wireless защищают беспроводные сети»

Пошаговый анализ кода

Давайте теперь взглянем на основные части кода библиотеки TFP.

Начнем мы с заголовочного файла tfplib.h. Каждая программа, в которой будет использоваться библиотека идентификации, должна включать tfplib.h. Читать далее «Пошаговый анализ кода»

Создание дополнительных сегментов с помощью языковых расширений компилятора GNU C/C++

Для этих целей используется модификатор __attribute__ который может задавать условия сохранения структур, данных и т.п. в исполняемом файле. Читать далее «Создание дополнительных сегментов с помощью языковых расширений компилятора GNU C/C++»

Требования к утилите

Требования к утилите, которые стали понятны из телефонного разговора, были довольно нехитры: заказчики хотели простой иметь простой, минимально затрагивающий поведение программы, способ ассоциировать некую маркировку с каждым потоком, который они могли контролировать в их системе. Читать далее «Требования к утилите»

Мутексы

Добро пожаловать в замечательный мир мутексов ( mutex = mutual exclusion, что переводится как «взаимное исключение» ). Из названия видно, что мутексы предназначены для того, чтобы сделать определнный код или данные доступными только одному потоку одновременно. Читать далее «Мутексы»

Дизайн

Главной сложностью дизайна было принятие решения о том, где именно хранить идентифицирующую информацию. Очевидно, что она должна была храниться для каждого потока индивидуально, что в свою очередь означало или изощренное применение глобальных переменных или использование существующей в Neutrino поддержки потоковых областей данных. Читать далее «Дизайн»