This Might Be Useful

Сохраняем звуковую дорожку из видеофайла

August 22nd, 2008 | автор: Filosoff | Linux, Shell | No Comments »

ffmpeg -i videofile.ext -acodec copy -y soundtrack.mp3

Под videofile.ext может скрываться и .avi, .flv и другие форматы. На выходе тоже может быть и не mp3 - формат зависит от того, какой кодек использован для сжатия звуковой дорожки.

Как скачать видеоролик с YouTube в формате mp4

August 20th, 2008 | автор: Filosoff | JavaScript, Web | 5 Comments »

В адресной строке браузера достаточно набрать следующее:

JAVASCRIPT:
  1. javascript:document.location.replace("get_video?video_id="+swfArgs.video_id+"&t="+swfArgs.t+"&fmt=18");

Можно также это дело добавить в bookmarks. Тогда останется только кликнуть на закладку - и все готово.

Двигаем при выводе строчки в таблице друг относительно друга

August 14th, 2008 | автор: Filosoff | PHP, SQL | No Comments »

Часто встречается ситуация, когда необходимо вручную устанавливать порядок вывода записей в некоем списке. То есть клиент должен иметь возможность двигать строчки вверх-вниз друг относительно друга. Некоторые "программисты" изобретают для этого сложнейшие велосипеды. На самом же деле сделать это очень просто. Просто создаем дополнительное поле `customorder`, которое по умолчанию равно `id` (в случае, усли `id` не auto_increment, можно его ставить в (MAX(`customorder`) + 1)). Затем используем вот такую простую функцию:

PHP:
  1. function move_line($id, $up) {
  2.   $rez = mysql_query('SELECT `customorder`
  3.       FROM `thetable`
  4.       WHERE `id` = '.intval($id));
  5.   list($o) = mysql_fetch_row($rez);
  6.   $rez = mysql_query('SELECT `id`, `customorder`
  7.       FROM `thetable`
  8.       WHERE `customorder` '.($up ? '<' : '>').' '.$o.'
  9.       ORDER BY `order` '.($up ? 'DESC' : 'ASC').'
  10.       LIMIT 1');
  11.   if (mysql_num_rows($rez) > 0) {
  12.     list($nid, $no) = mysql_fetch_row($rez);
  13.     mysql_query('UPDATE `content`
  14.       SET `customorder` = '.$no.'
  15.       WHERE `id` = '.$id);
  16.     mysql_query('UPDATE `content`
  17.       SET `customorder` = '.$o.'
  18.       WHERE `id` = '.$nid);
  19.   }
  20. } // move_line

И да, я знаю, что это можно сделать меньшим количеством запросов. Но так нагляднее :).

Как заставить JOIN в MySQL нормально использовать индексы и максимально ускорить выполнение запросов

July 30th, 2008 | автор: Filosoff | SQL | 8 Comments »

Несколько раз натыкался на эту проблему, но только сегодня полноценно ее решил. Проблема проста: есть запрос с несколькими JOIN'ами. При выполнении запроса толком не используются индексы. В результате все ужасно тормозит.
Запрос примерно такой:

SQL:
  1. SELECT `a`.*, `b`.*
  2. FROM `a` LEFT JOIN `b` ON `a`.`field1` = `b`.`field2`
  3. WHERE `b`.`field3` = "something"
  4. ORDER BY `a`.`field4`

Понятно, что все может быть сложнее, но для примера сойдет.
Итак, что же надо сделать, чтобы запрос работал максимально быстро (при условии, что запрос и таблицы построены грамотно)?

  1. Создать индекс по каждому из полей, используемых в WHERE и JOIN. Отдельно по каждому.
  2. Убедиться, что в WHERE указано максимально жесткое условие дабы сократить диапазон выборки.
  3. А теперь - внимание! Убедиться, что у `a`.`field1` и `b`.`field2` одинаковый collation!

Комментарий по последнему пункту: В моем случае у одного поля был latin1_swedish_ci, у второго - utf8_general_ci. Вроде как по данным выходило правильно. Но запрос работал очень медленно, порядка 3 секунд (использовались три таблицы с большим количеством записей - ~100,000, ~30,000 и ~3,000). После применения пункта номер один и особенно пункта номер три запрос стал выполняться за 0.1 (одну десятую!) секунды.

Способы красивого завязывания шнурков

July 4th, 2008 | автор: Filosoff | Life and stuff | No Comments »

Для разнообразия - совершенно не ITшная заметка. Случайно увидел эти картинки и решил поделиться.
Развлечение для владельцев ботинок :).

Способо завязывания шнурков #1 Способо завязывания шнурков #2 Способо завязывания шнурков #3 Способо завязывания шнурков #4 Способо завязывания шнурков #5 Способо завязывания шнурков #7 Способо завязывания шнурков #6

Остальные способы можно найти тут (несколько десятков вариантов, однако).

 Страница: 4 (всего: 26)  « Первая  ... « 2  3  4  5  6 » ...  Последняя »