IT — VLC - Как сделать фильм погромче?
1. Регулятор громкости программы заканчивается на 200%, однако, если крутануть колесом мыши вперёд, можно поднять значение до 400%
IT — TIniFIle
Начиная с D2009, в Delphi появился нативный Unicode, однако в порывах использовать его в IniFile-ах может возникнуть некоторая заминка. Для того, чтобы TIniFile смог адекватно прочесть ваши unicode-cтроки, необходимо сохранять файл в кодировке USC2. Но на этом приколы не заканчиваются, сохранять нужно именно в USC2-Little Endian, а не Big Endian, в противном случае, класс не сможет прочесть Boolean переменные. Такие вот пироги =(
IT — Photoshop, шрифты, вёрстка
Наткнулся на полезнейшую вещь - таблицу соответствий единиц измерений шрифта (pt, px, em, %). На всякий случай скопипастил на сайт, для долговечности :) (источник).
IT — Opera 11 — расширения
Не так давно вышел релиз 11 оперы. Он принёс с собой много "плюшек", среди которых наиболее выделяются группировка вкладок и расширения. В этом посте я бы хотел поведать вам о тех расширениях. которые использую сам:
- Download Helper — помогает скачивать файлы с популярных файлообменников. В завиcимости от оного позоляет избежать ожидания окончания таймера, автоматически загрузить файл по его завершению и т.д. Работает с megaupload.com, hotfile.com, depositfiles.com, 4shared.com, mediafire.com. "Полезная в хозяйстве" вещь, правда стоит отметить, что в ру-нете популярностью пользуются только 1 и 3 хостинг.
IT — Regexp - вырезать слова менее Х символов
Недавно столкнулся с задачей - как при помощи регулярных выражений вырезать из строки все слова короче 3 символов (может быть применено, к примеру, при составлении запроса поиска слов в бд). Долго поламав над этим голову, наткнулся на такое вот решение:
s = 'aa bbb c d e ff gggg qq';
s = (' '+s+' ').replace(/ +/g,' ');
s.replace(/ \S{1,2} /g,'').replace(/ +/g,' ').trim();
- Добавляем по одному пробелу в начало и конец строки. Это необходимо для упрощения дальнейшего regexp-а, т.к. позволяет избежать дополнительной проверки при идентификации слова;
- Дублируем все пробелы, специально для того, чтобы при вырезании коротких слов, оставшиеся не склеивались;
- Вырезаем всё, что подходит под описание - 1 пробел + 1 или 2 не пробела + 1 пробел. И в итоге у нас остаётся строка, в которой наличиствуют только многочисленные пробелы и слова, подходящие под запрос
- Убираем лишние пробелы, при помощи / +/g , и дело в шляпе :)
Строго НЕ рекомендую использовать сий метод хоть где-либо, где необходима адекватная производительность. К примеру, того же самого можно достичь в php, используя explode, foreach и mb_strlen. Ну и на последок, для тех, кому регулярные выражения кажутся совсем уж дремучим лесом, следующее выражение позволяет просто вырезать все слова из строки:
s.match(/\S+/g)
- первый и последний / означают то, что между ними находится регулярное выражение
- флаг g, сообщает о том, что применить regexp следует многократно, если его убрать, то вы получите только первое слово
- \S - означает, что нас интересуют все символы, не являющиеся пробелами, табуляциями или переводом строки
- \S+ - говорит о том, что должен быть хотя бы 1 символ, но можно и более. Если убрать +, то вы получите список всех пробельных символов в строке, если оставить, то парсер regexp-движка, наткнувшись на первый не пробельный символ, будет искать их далее вплоть до того, пока не закончится строка, или попадётся любой символ не подходящий под \S, то есть пробел, табуляция или перевод строки.
Если эта тема вас заинтересовала, то рекомендую ознакомиться со следующим руководством phpclub.ru.