FAQ

Stepan Ilyin aka Step

Xakep, номер #061, стр. 061-104-2


Spin Up Time - время раскрутки пакета дисков из состояния покоя до рабочей скорости.

Spin Up Retry Count - число повторных попыток раскрутки дисков до рабочей скорости.

Seek Error Rate - частота ошибок при позиционировании блока головок.

Reallocated Sector Count - число операций переназначения секторов.

Стоит заметить, что показания S.M.A.R.T.’a отнюдь не всегда правильные, тем не менее, погрешность чаще всего невелика. Так что если твой S.M.A.R.T. ненавязчиво намекает на то, что винт того и гляди уйдет в мир иной, тебе стоит всерьез задуматься о покупке нового HDD и позаботиться о скорейшем бэкапе.

Q: Помоги разобраться: в чем разница между Avi, DivX, Mpeg4. Друзья говорят, что это одно и то же, но ведь это не так?..

A: Конечно же, это не так! С этими понятиями уже довольно давно существует путаница. Дело в том, что DivX, XviD и т.п. – это кодеки, то есть алгоритмы кодирование и декодирования данных с целью их воспроизведения. В то время как AVI (Audio Video Interleave) – это всего лишь формат данных, который был разработан еще в далеких девяностых годах во времена Windows 3.1x. Главная специфика это формата заключается в возможности использования (в том числе и одновременном) различных кодеков. То есть, если несколько файлов имеют одно и то же расширение .AVI, то это вовсе не означает, что они закодированы одинаковыми кодеками. Стоит отметить, что существует еще и формат MKV, однако он куда менее популярен, чем AVI, даже несмотря на ряд значимых преимуществ. И последнее: известная тебе аббревиатура MPEG – это одновременно и кодек, и формат данных. Надеюсь, теперь все ясно.

Q: Привет! Я достаточно давно пишу на Delphi. Подскажи, пожалуйста, какой-нибудь хороший и быстрый алгоритм сортировки одномерного массива.

A: Не буду тебя грузить стандартными сортировками по методу «пузырька», вставок, последовательного выбора и т.п. Предложу альтернативный вариант. Смысл алгоритма следующий: первоначально фиксируем один из элементов массива, так называемый X элемент. После добиваемся, чтобы все элементы левее X были меньше значения X, а правее X – соответственно наоборот. Это мы реализуем, «проходя» массив с обеих сторон, последовательно меняя местами неподходящие элементы. Далее проделываем то же самое с каждой из двух половинок массива.

const n = 100;

type Arr = array [1 .. n] of real;

procedure QuickSort (var a : Arr);

procedure Sort(l, r : integer);

var x, w : real;

i, j : integer;

begin {Sort}

i := l; j := r;

x := a[ (l+r) div 2 ];

while i <= j do

begin

while a[i] < x do Inc(i);

while a[j] > x do Dec(j);

if i <= j

then begin

w := a[i];

a[i] := a[j];

a[j] := w;

Inc( i);

Dec( j);

end;

end;

if l < j

then Sort(l, j);

if i < r

then Sort(i, r);

end;{Sort}

begin {QuickSort}

Sort(1, n);

end;

Q: Подскажи, каким образом можно выставить cookie через JavaScript. И возможно ли это?

A: Возможно. Думаю, следующий пример дает исчерпывающую информацию по этому вопросу:

Назад на стр. 061-104-1  Содержание  Вперед на стр. 061-104-3