Монитор сайтов. Бесплатный, до 50-ти хостов, чек 5 минут, уведомления на e-mail, SMS, твитер, iOSPush.
1 |
http://www.uptimerobot.com |
http://www.uptimerobot.com
рекомендую)
Наткнулся на странный глюк — создаешь, переименовываешь или удаляешь файл в проводнике или на рабочем столе, а изменение происходит только после нажатия обновить из контекстного меня или кнопки F5.
Например, переименовал файл word, щелкаешь на файл, открывается word с ошибкой о не существовании файла.
Помогло создание и запуск reg-файла.
1 2 3 4 5 6 7 |
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoSimpleNetIDList"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer] "Max Cached Icons"="12000" |
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoSimpleNetIDList"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer] "Max Cached Icons"="12000"
Перезагрузка.
Для реализации мне потребовалось создать в базе поле titleEn c английским вариантом русского заголовка страницы title.
в phpmyadmin создаем новое поле titleEn в нужной таблице.
И копируем туда данные из русской версии заголовков:
1 |
UPDATE `table_name` SET `titleEn`=`title` |
UPDATE `table_name` SET `titleEn`=`title`
Для перевода используем простую функцию
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
function translitIt($str){ $tr = array( "А"=>"a","Б"=>"b","В"=>"v","Г"=>"g","Д"=>"d", "Е"=>"e","Ё"=>"yo","Ж"=>"j","З"=>"z","И"=>"i", "Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n", "О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t", "У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"c","Ч"=>"ch", "Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"", "Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ё"=>"yo","ж"=>"j", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y", "ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", " "=> "-", "."=> "", "/"=> "-" ); return strtr($str,$tr); } |
function translitIt($str){ $tr = array( "А"=>"a","Б"=>"b","В"=>"v","Г"=>"g","Д"=>"d", "Е"=>"e","Ё"=>"yo","Ж"=>"j","З"=>"z","И"=>"i", "Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n", "О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t", "У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"c","Ч"=>"ch", "Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"", "Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ё"=>"yo","ж"=>"j", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y", "ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", " "=> "-", "."=> "", "/"=> "-" ); return strtr($str,$tr); }
После чего убираем лишние символы
1 2 |
$fl = translitIt($fl); $fl = preg_replace('/[^A-Za-z0-9_\-]/', '', $fl);} |
$fl = translitIt($fl); $fl = preg_replace('/[^A-Za-z0-9_\-]/', '', $fl);}
Заголовок получает вид: kak-propisat-klyuch-v-standartnoy-signalizacii из исходного Как прописать ключ в стандартной сигнализации
Можно создать скрипт, для автоматической замены всего поля таблицы на транслит
Полезные для этого дела запросы к базе:
Вывод всех таблиц в базе database_name
1 |
$sql = "SHOW TABLES FROM database_name"; |
$sql = "SHOW TABLES FROM database_name";
Вывод всех полей в таблице table_name
1 |
$sql = "SHOW COLUMNS FROM `{table_name}`"; |
$sql = "SHOW COLUMNS FROM `{table_name}`";
и соответственно запись новых значений в поля базы
Обновление в таблице table_name установить значение поля field равным fieldvalue где значение поля field равно fieldrus(то есть старому значению)
1 |
$editfl = mysql_query ("UPDATE table_name SET field='fieldvalue' WHERE field='fieldrus'"); |
$editfl = mysql_query ("UPDATE table_name SET field='fieldvalue' WHERE field='fieldrus'");
Теперь мы имеем валидный адрес для каждой страницы сайта, к которому мы можем обращатся через базу и настроить красивые url’ы через rewrite_modeule apache. to be continued…
Наткнулся на набор бесплатных картинок с погодными условиями. Пришла в голову мысль сделать информер погоды со своими иконками погоды. С яндексом подружить не удалось, но попался сайт http://openweathermap.org/
. Есть открытый API, многое правда самому пришлось додумывать)
Узнаем id нужного города, получаем xml файл с погодой, закидываем данные в массив, раскладываем данные по переменным.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<? $city2_id=524901; // id города openweather.org $data_file2="http://api.openweathermap.org/data/2.5/weather?id=$city2_id&mode=xml&lang=ru&units=metric"; // адрес xml файла $data_file2 = file_get_contents($data_file2,0); //получаем данные о погоде из xml файла $xml2 = new SimplexmlElement($data_file2); //помещаем данные в массив $city2= $xml2->city[name];//забиваем необходимые данные в переменные $temperarure = $xml2->temperature[value]; $weather_id = $xml2->weather[number]; $weather_icon = $xml2->weather[icon]; $weather_type = $xml2->weather[value]; $pressure = $xml2->pressure[value]; $humidity = $xml2->humidity[value]; $sunrise = $xml2->city->sun[rise]; $sunset = $xml2->city->sun[set]; $windspeed = $xml2->wind->speed[value]; $windcode = $xml2->wind->direction[code]; ?> |
<? $city2_id=524901; // id города openweather.org $data_file2="http://api.openweathermap.org/data/2.5/weather?id=$city2_id&mode=xml&lang=ru&units=metric"; // адрес xml файла $data_file2 = file_get_contents($data_file2,0); //получаем данные о погоде из xml файла $xml2 = new SimplexmlElement($data_file2); //помещаем данные в массив $city2= $xml2->city[name];//забиваем необходимые данные в переменные $temperarure = $xml2->temperature[value]; $weather_id = $xml2->weather[number]; $weather_icon = $xml2->weather[icon]; $weather_type = $xml2->weather[value]; $pressure = $xml2->pressure[value]; $humidity = $xml2->humidity[value]; $sunrise = $xml2->city->sun[rise]; $sunset = $xml2->city->sun[set]; $windspeed = $xml2->wind->speed[value]; $windcode = $xml2->wind->direction; ?>
Выполняем нужные преобразования с данными,
1 2 3 4 5 6 7 8 |
<? if ($temperarure>0) {$temperarure='+'.$temperarure;}// Если значение температуры положительно, для наглядности добавляем "+" $pressure = $pressure * 0.75006375541921; //переводим из hPa в mmHg $pressure = round($pressure); //округляем $temperarure = round($temperarure); $sunrise = date('H:i',strtotime("+4 hours", strtotime($sunrise)));//меняем формат даты и прибавляем 4 часа $sunset = date('H:i',strtotime("+4 hours", strtotime($sunset))); ?> |
<? if ($temperarure>0) {$temperarure='+'.$temperarure;}// Если значение температуры положительно, для наглядности добавляем "+" $pressure = $pressure * 0.75006375541921; //переводим из hPa в mmHg $pressure = round($pressure); //округляем $temperarure = round($temperarure); $sunrise = date('H:i',strtotime("+4 hours", strtotime($sunrise)));//меняем формат даты и прибавляем 4 часа $sunset = date('H:i',strtotime("+4 hours", strtotime($sunset))); ?>
Формируем вывод и выводим все это дело
1 2 3 4 5 6 |
<? $title = "Город: ".$city2."\n". $weather_type." \nДавление: ".$pressure." мм рт. ст.\nВетер: ".$wind[trim ($windcode)].", ".$windspeed." м/с \nВлажность: ".$humidity."% \nВосход: ".$sunrise."\nЗакат: ".$sunset;//формируем данные для вывода в title картинки echo ("<img src=\"/blocks/weather/images/$weather_icon.png\" alt=\"$weather_type\" title=\"$title\" >"); //путь к кртинкам должен быть абсолютным echo ("$temperarure<sup>o</sup>C<br>");//выводим все безобразие ?> |
<? $title = "Город: ".$city2."\n". $weather_type." \nДавление: ".$pressure." мм рт. ст.\nВетер: ".$wind[trim ($windcode)].", ".$windspeed." м/с \nВлажность: ".$humidity."% \nВосход: ".$sunrise."\nЗакат: ".$sunset;//формируем данные для вывода в title картинки echo ("<img src=\"/blocks/weather/images/$weather_icon.png\" alt=\"$weather_type\" title=\"$title\" >"); //путь к кртинкам должен быть абсолютным echo ("$temperarure<sup>o</sup>C<br>");//выводим все безобразие ?>
Стандартные картинки подменяем своим, не меняя имени.
У меня получилось вот так:
1 |
http://web.scgarage.ru/blocks/weather/index.php |
http://web.scgarage.ru/blocks/weather/index.php
При наведении на иконку, отображается дополнительная информация.
Собираю команды, для их запоминания
1 |
last
|
last
1 |
crontab -u user -l |
crontab -u user -l
посмотреть cron задания для пользователя
1 |
useradd user_name |
useradd user_name
создать
1 |
passwd user_name
|
passwd user_name
поменять пароль
1 |
useradd -G groupname user_name
|
useradd -G groupname user_name
добавить в группу
1 |
groupadd groupname |
groupadd groupname
создать группу
1 |
top |
top
1 |
htop |
htop
(yum install htop)
1 |
find / -name config -print |
find / -name config -print
1 |
find /путь/ -type f -exec grep "текст" {} \; |
find /путь/ -type f -exec grep "текст" {} \;
1 |
grep -rl 'текст' /путь/ |
grep -rl 'текст' /путь/
1 |
ln -s куда_указывает где_размещается |
ln -s куда_указывает где_размещается
1 |
free -m |
free -m
и
1 |
cat /proc/meminfo |
cat /proc/meminfo
1 |
sudo chmod +x script.sh |
sudo chmod +x script.sh
или
1 |
sudo chmod 755 script.sh |
sudo chmod 755 script.sh
сменить права на все файлы в папке scotch
1 | chmod -R 755 /home/scotch |
chmod -R 755 /home/scotch
сменить владельца и группу для каталога
chown -R scotch:users /home/scotch
со всем содержимым
1 | rm -rf /dir1 /dir2 |
rm -rf /dir1 /dir2
1 | df -h |
df -h
1 |
du -sh * |
du -sh *
1 |
du -hx --max-depth=1 / |
du -hx --max-depth=1 /
1 |
df -T |
df -T
1 |
fdisk -l |
fdisk -l
1 | grep -v -E "^;|^$" /usr/local/lib/php.ini |
grep -v -E "^;|^$" /usr/local/lib/php.ini
или так:
1 | grep -v -E "#|^$" /usr/local/apache2/conf/httpd.conf |
grep -v -E "#|^$" /usr/local/apache2/conf/httpd.conf
^# и #. Первое это все строки начинающиеся с #, второе все строки содержащие #.
1 |
du -sh * |
du -sh *
1 |
sensors |
sensors
1 |
dmidecode -t 4 |
dmidecode -t 4
— информация о процессоре
1 |
dmidecode -t 17 |
dmidecode -t 17
— информация о памяти
1 |
dmesg | grep CPU |
dmesg | grep CPU
— информация о процессоре
Быстрая проверка на бан адреса почтового сервера за спам.
вбиваем адрес и смотрим результат —
Наткнулся на полезный сервис: выбираем необходимые программы, нажимаем кнопку и получаем готовый инсталлятор программ актуальных версий.
Адрес: http://ninite.com
пробуем)
Так же имеется агент, который следит за актуальностью софта, правда он платный.
В принципе можно воспользоваться командой :
1 |
mysql -u root -p root_pass db_name < db_name.sql |
mysql -u root -p root_pass db_name < db_name.sql
но она содержит подводные камни в виде того, что если например база уже создана, то импорт может оказаться неудачным.
Самым лучшим выходом из ситуации будет ипморт напрямую через cli MySQL :
Заходим в MySQL:
1 |
mysql -u Login -p DB_name -h Host |
mysql -u Login -p DB_name -h Host
(вместо Login и DB_name вводим данные пользователя БД и хост, например localhost)
Выбираем базу данных:
1 |
use db_name
|
use db_name
(вместо db_name вводим название БД)
Делаем импорт файла в выбранную бд:
1 |
source db_name.sql |
source db_name.sql
(вместо db_name.sql вводим название файла дампа БД или путь до файла, если вы находитесь не в той папке, где лежит файл)
Делаем экспорт посредством удобного mysqldump :
1 |
mysqldump -uLogin -pPassword db_name > db_name.sql |
mysqldump -uLogin -pPassword db_name > db_name.sql
Да поможет вам phpmyadmin)))
Как то мне понадобилось организовать wi-fi между телефоном и компьютером на работе. Подвернулась небольшая софтина для создания программной точки доступа — Connectify. Установилась она без проблем, нашлись драйвера на «семерку» для старого usb-свистка от dlink. И все работало долгое время….
Утилита при каждом запуске начала писать о доступности новой версии и в конце концов я сдался и нажал кнопку «обновить»…))) Зря я это сделал, т.к. после обновления оказалось что она перестала быть полнофункциональной бесплатно. И wi-fi соединение разрывалось через определенное время.
Мне эта ситуация не понравилась и я решил вернутся на старую версию. которая не просила денег и честно выполняла свои функции. Но тут начались танцы с бубнами О-О!!
Удалятся она не захотела, инсталляция в лоб старой версии тоже не проходила. Вырезать ее пришлось удалением каталога и удалением всех упоминаний в реестре в ручную… После перезапуска слетели все настройки сетевых адаптеров((. После оперативного вмешательства старая версия найденная на hdd встала….. но в упор не хотела видеть проводной сетевой адаптер. Корректная деинсталляция и последующая установка дала еще более «крутой» результат — программа написала, что она «Connectify hotspot has been blocked»
Обновление драйверов всех сетевых адаптеров, выключение брандмауэра и антивируса не помогали. Кроме того перестал включаться беспроводной адаптер… Хотелось уже снести эту дрянь и искать альтернативу. Но тут я решил еще раз проверить протоколы адаптеров)))
У беспроводного сетевого подключения было две службы «Connectify LightWeight Filter». После удаления двух и установки одной, тоже самое и на проводном адаптере, программа ожила))) После перезагрузки и настройки wi-fi точки заново все заработало. Повыносила она голову конечно…
Добавляем строчку в файл C:/windows/system32/drivers/etc/hosts
127.0.0.1 updates.connectify.me
Чтобы программа не доставала обновлением.
Скачать ConnectifyHotspotInstaller версия 3.7.1, которая работает стабильно и без вымогательства.