This Might Be Useful

Вставка видео с YouTube в высоком качестве. Плюс список видов видео.

January 12th, 2009 | автор: Filosoff | HTML, Web | 2 Comments »

По умолчанию код для вставки видео, который предлагает YouTube, дает видео в низком (точнее, обычном) качестве.
Для того, чтобы вставить видео высокого качества нужно добавить в адрес записи "&ap=%2526fmt%3D18" (без кавычек). Обратите внимание, что в коде вставки адрес встречается дважды.

Например:

HTML:
  1. <object width="480" height="295">
  2.   <param name="movie" value="http://www.youtube.com/v/S1ZZreXEqSY&hl=en&fs=1&ap=%2526fmt%3D18"></param>
  3.   <param name="allowFullScreen" value="true"></param>
  4.   <param name="allowscriptaccess" value="always"></param>
  5.   <embed src="http://www.youtube.com/v/S1ZZreXEqSY&hl=en&fs=1&ap=%2526fmt%3D18" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed>
  6. </object>

Само собой, это доступно только для тех записей, у которых есть вариант в высоком качестве. Если такого нет, автоматически покажется обычный.

Вообще, помимо варианта по умолчанию, доступны следующие виды качества видео (т.е. значения параметра fmt):

  • 6 - HQ flv (480 x 360, 30fps, 900KBps video Flash Sorenson, 44.1KHz 96 kbps Mono CBR audio MP3)
  • 18 - mp4 (480 x 360, 24fps, 512KBps video h.264, 44.1KHz 128 kbps Stereo audio AAC)
  • 22 - HD (1280 x 720, 30fps, 2000kbps video AVC, 232kbps audio AAC, 44.1khz stereo)

Эти параметры можно использовать и в ссылках на видео. Например: http://www.youtube.com/watch?v=S1ZZreXEqSY&fmt=18

Постовой: Активная продажа квартир в одессе дала кое-кому хороший дополнительный заработок. Особенно в условиях, когда работа в Одессе не радует.

Восстановление удаленных записей в mySQL из binlog

January 12th, 2009 | автор: Filosoff | Linux, SQL, Shell | No Comments »

Вчера я случайно удалил почти все записи из таблицы статистики просмотра видеозаписей Движущихся Картинок. Событие более чем печальное. До этого я предполагал, что восстановить удаленные записи практически невозможно. Оказалось, что можно. Если включены бинарные логи (для их включения в настройках mySQL надо указать параметр log-bin).
В результате некоторых раздумий получилась команда:
/usr/bin/mysqlbinlog --database=нужная_база_данных --start-datetime="2008-01-01 00:00:00" путь_ко_всем_binlog | tr "\t" " " | tr "\n" " " | tr ";""\n" | grep "INSERT INTO \`побитая_таблица\`" > p.sql

Параметр start-datetime содержит в себе дату, с которой вынимаем логи. Можно еще указать время остановки (в моем случае это было неактуально).
Далее нужно указать не просто путь к логам, а все файлы логов (например, /var/lib/mysql/lalala-bin.*).
Несколько tr'ов нужны потому, что запрос мой был многострочным, а надо было мне получать один запрос в одну строку.

В конечном счете в файле p.sql я получил нужные мне запросы. Единственное, что в конце строк не было точки с запятой. Это было исправное просто:
cat p.sql | sed "s/\"\)/\"\);/g" > p2.sq
Просто у меня каждый запрос оканчивался на ....")

Когда я попытался скормить запросы mySQL'у оказалось, что из-за того, что были удалены не все записи, начались проблемы с уникальностью некоторых полей. Чтобы не копаться в дампе руками, сделал так:
cat p2.sql | sed "s/INSERT INTO/INSERT IGNORE INTO/g" > p3.sql

И уже p3.sql успешно скормил mySQL'у.

Отсюда выводы: во первых, всегда делайте бекапы (как можно чаще), и во вторых всегда включайте логирование.

P.S. Конечно же из binlog'ов можно вытащить все, что делалось с базой. И Восстановить то состояние, которое нужно.

Постовой: В древнем Вавилоне новый год был поводом подарить друзьям очистители воздуха и купить лего.

Заключаем в таги выделенный в textarea текст

December 23rd, 2008 | автор: Filosoff | JavaScript | 2 Comments »

В продолжение вчерашних манипуляций с текстом понадобилось вставлять в textarea таги. Причем не просто вставлять, а "брать" в таги выделенный текст. Соответствующая функция приведена ниже.

JAVASCRIPT:
  1. function insertTag(elem, tagstart, tagend) {
  2.   // Mozilla и другие вменяемые браузеры
  3.   if (elem.setSelectionRange) {
  4.     elem.value = elem.value.substring(0, elem.selectionStart) +
  5.                   tagstart +
  6.                   elem.value.substring(elem.selectionStart, elem.selectionEnd) +
  7.                   tagend +
  8.                   elem.value.substring(elem.selectionEnd, elem.value.length);
  9.   }
  10.   // MSIE
  11.   else {
  12.     var selectedText = document.selection.createRange().text;
  13.     if (selectedText != "") {
  14.       var newText = tagstart + selectedText + tagend;
  15.       document.selection.createRange().text = newText;
  16.     }
  17.   }
  18. } // insertTag

Постовой: Пройди iq тест узнай, на сколько ты умен! Если что - поможет лечение алкоголизма и частная наркологическая клиника одесса.

Вставляем в textarea текст туда, где находится курсор

December 22nd, 2008 | автор: Filosoff | JavaScript | 5 Comments »

Только что наткнулся на необходимость с помощью JavaScript вставлять текст в textarea в то место, где сейчас находится курсор. Получилась нижеприведенная функция. Параметров у нее два - поле, куда вставлять, и текст, который вставлять.

JAVASCRIPT:
  1. function insertAtCursor(myField, myValue) {
  2.   //  Для MSIE
  3.   if (document.selection) {
  4.     myField.focus();
  5.     sel = document.selection.createRange();
  6.     sel.text = myValue;
  7.   }
  8.   // Для нормальных браузеров
  9.   else if (myField.selectionStart || myField.selectionStart == '0') {
  10.     var startPos = myField.selectionStart;
  11.     var endPos = myField.selectionEnd;
  12.     myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
  13.   }
  14.   // Для остальных ;)
  15.   else {
  16.     myField.value += myValue;
  17.   }
  18. } // insertAtCursor

Постовой: Правильная seo поисковая оптимизация - это залог процветания сайта. Кроме того, любому web-программисту рано или поздно понадобится web дизайн. Ну и чай, конечно ;).

Убираем всплывающие jobs и notifications в KDE 4.2

December 19th, 2008 | автор: Filosoff | Linux, Tweaking | 2 Comments »

В KDE 4.2 (на данный момент - beta 2) все в общем хорошо, но сильно раздражают всплывающие около system tray окошки job notification (особенно - при старте KTorrent и активном использовании Krusader). Спрятать их навсегда нормальными средствами нельзя - такой опции в настроках системы нет, а ветка 4.2 находится в состояние feature freeze, так что и не будет в ближайшее время. В принципе, программы сами должны иметь такую настройку (т.е. уметь использовать флаг KIO:HideProgressInfo). Но далеко не везде это реализовано.
Так что пока что можно спрятать лишние сообщения вручную, тем самым вернувшись к привычным окошкам с progress bar'ом (появляются только когда надо и не раздражают совсем).
Для этого надо в файл ~/.kde/share/config/plasma-appletrc добавить следующие строки:

[AppletGlobals][plasma_applet_systemtray]
ShowJobs=false

Чтобы спрятать notifications можно использовать флаг ShowNotifications. Но это, по-моему, уже лишнее.

Страница: 1 (всего: 26)12345»...Последняя »