URL без завершающих слэшей и www

Часто бывает нужно убрать www и завершающие слэши из всех URL. Данную операцию достаточно просто выполнить при помощи кода в .htaccess #Если вы хотите, чтобы всегда был домен с www RewriteCond %{HTTP_HOST} ^domen\.ru RewriteRule ^(.*)$ http://www.domen.ru/$1 [R=301,L] #Если вы хотите, чтобы всегда был домен без www RewriteCond %{HTTP_HOST} ^www\.domen\.ru RewriteRule ^(.*)$ http://domen.ru/$1 [R=301,L] #Добавить завершающий слэш RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301] #Удалить завершающий слэш RewriteBase / RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteRule ^(.*)(/)$ $1 [L,R=301]

Быстрое добавление множества директорий в .gitignore

Часто в проекте есть директория uploads/ с вложениями, содержимое в которых не нуждаются в поддержки версионности, для того чтобы не утомлять себя ручным вводом каждой директории можно воспользоваться командой:
 $ ls -l uploads | awk {'print "/uploads/"$9"/*"'} > ../.gitignore 
Дело сделано, нужные директории теперь не будут включены в репозитарий.

Выравнивание дива по вертикали и горизонтали

Иногда бывает нужно отцентрировать div на странице, это достаточно просто сделать через абсолютное позиционирование:
 <!DOCTYPE html> 
<html> 
<head> 
<style type="text/css"> 
div { 
background-color: #000; 
height: 500px; 
left: 50%; 
margin: -250px 0 0 -250px; 
top: 50%; 
position: absolute; 
width: 500px; 
} 
</style> 
</head> 
<body> 
<div></div> 
</body> 
</html> 
Это создаст квадрат Малевича 500x500 пикселей по центу страницы.

Групповое переименование файлов по маске

По долгу службы встала задача переименовать группу файлов в директории по маске ( убрать у php файлов префикс и постфикс ). Исходные файлы вида aqNameClass.class.php нужно привести к виду NameClass.php Решается эта задача одной командой shell:
 for i in *.class.php; do mv "$i" `echo "$i" | sed "s/\.class//" | sed "s/^aq//"`; done 
Unix – это круто =)

Монтирование SD карты с правами пользователя в arch linux

Задача: примонтировать SD карту на 64G как дополнительный жесткий диск, чтобы не-root мог читать ее и записывать в нее. Решение:
mount -o uid=<uid> /dev/<dev_id> /mnt/<mount_point>
где, <uid> - id пользователя ( узнать можно командой id или посмотреть в /etc/passwd ) <dev_id> - устройство sd карты <mount_point> - каталог в который будет примонтирована SD-карта. в /etc/fstab добавляем опцию монтированя uid=<uid> и всё.

Запись звука в Linux

[announce]Запись звука в Linux из консоли.[/announce]
На моём субноуте есть микрофон, вот подумал, что неплохобы понять как записывать снимать звук с него, вот что нашёл:

Запись в wav:
$ arecord test.wav Переконвертировать wav в mp3 можно вот так:
$ cat test.wav | lame - > test.mp3
или сразу создать mp3
$ arecord | lame - > test.mp3

Вот так можно записать ядро системы linux в mp3 :)
$ cat /boot/mykernel.img > /dev/dsp & arecord | lame - > test.mp3

Получить снимок с web камеры через консоль Linux

[announce]Вот способ получисть снимок с web камеры из шел.[/announce]
Искал способ как получить снимок (фото) с web камеры
Наткнулся только на статью про видеозахват через - ffmpeg. Вот ссылка - http://www.newmoldova.com/?q=node/85

Почитав немного ман по ffmpeg попробовал вот такую конструкцию:

$ ffmpeg -f video4linux2 -s 1024x768 -i /dev/video0 -f image2 snapshot.jpg 2>/dev/null

Вроде работает :)
-f video2linux - формат видео для захвата
-s 1024x768 - размер кадра захвата
-i /dev/video0 - файла web камеры
-f image2 snapshot.jpg - выходной тим и имя файла

javascript как узнать все свойства объекта

Небольшая функция на javascript, которая позволяет узнать все свойства объекта Вот сама функция:
function fnShowProps(obj, objName){
    var result = "";
    for (var i in obj) // обращение к свойствам объекта по индексу
        result += objName + "." + i + " = " + obj[i] + "
\n";
    document.write(result);
}
Вот пример исползования:
fnShowProps(window.location, "location")
Результат:

location.pathname = /JavaScript/
location.protocol = http:
location.search = ?8
location.hash =
location.hostname = htmlcssjs.ru
location.href = http://htmlcssjs.ru/JavaScript/?8
location.host = htmlcssjs.ru
location.port =
location.reload = function reload() { [native code] }
location.replace = function replace() { [native code] }
location.assign = function assign() { [native code] }
Источник: http://htmlcssjs.ru/JavaScript/?8  

foreach в javascript

Во несколько способов реализации foreach в javascript Вариант 1:
for (var key in some_array) {
            var val = some_array [key];
	    alert (key+' = '+val);	
}
Источник: http://mihalytch.org.ua/programming/php/analogue-foreach-in-javascript.html Вариант 2:
for(i=0, c=arr.length; i<c; i++) {
	my_func(arr[i]);
}
Нужно отметить, что второй вариант не совсем реализует foreach, так как перебираются только значения массива без ключей.