AJAX — WEB 2.0 за 5 минут
Сегодня, в век WEB 2.0, строить сайты из статичных страниц просто пошло.
Суть WEB 2.0 заключается вовсе не в "стеклянных" кнопочках и раздвижных меню (как думают многие), а в интерактивности. А это значит, что страницы сайта должны реагировать на "внешние раздражители" (команды пользователя) без такой привычной и такой всем давно надоевшей полной перезагрузки. Добиться подобного функционала можно используя Flash или AJAX. Про флэш разговор отдельный, долгий и спорный, а вот AJAX — это как раз то, что нужно.
Сразу хочу обратить ваше внимание на две вещи:
-
во-первых, все примеры в этой статье на самом деле не совсем AJAX-овые. Это скорее AJAH, т.е. сервер возвращает простой HTML, вместо XML, как того требует технология AJAX.
-
во-вторых, я не стал размещать здесь действующих демонстраций — на мой взгляд примеры настолько просты и примитивны, что повторить их на своей локальной машине дело пары минут. А мне просто лень.

Если Вы никогда прежде не использовали AJAX, то может показаться, что все там сложно и запутанно. Но на самом деле все совсем не так. И в этой паре килобайт текста я вам дам всю необходимую информацию, чтобы начать использовать AJAX, даже если ваш сайт не имеет движка и состоит только из статичных HTML-страниц.
Приступим.
Для того, чтобы не лезть в дебри того, как выполняются HTTP-запросы, не рыться в форматах протоколов и не рвать себе волосы из-за несовместимости броузеров, я буду (и настоятельно рекомендую вам) использовать javascript-фреймфорк, имя которому jQuery. Это прекрасная библиотека, способная решить подавляющее большинство проблем, встающих перед дизайнером, создающим интерактивный сайт. Если у вас есть трудности с javascript, смело вставляйте в свои страницы команду загрузки jQuery и забудьте о своих проблемах. Анимация, визуальных эффекты, гибкое управление DOM, асинхронные запросы к серверу и многое-многое другое — все это больше не будет для вас проблемой — jQuery сделает всю черную работу за вас. Естественно, что из всех фантастических возможностей jQuery, в этой статье я остановлюсь только на работе с AJAX.
Итак, первое, что нужно сделать — подключить фреймворк к вашей странице. Поскольку вся библиотекуа представляет собой всего один обычный файл с java-скриптом, то и подключается он стандартным HTML-тэгом:
<script type="text/javascript" src="jquery.js"></script>
Обычно его располагают в секции <head> страницы.
Ок, библиотека подключена, что дальше?
Начнем с простейшей вещи — загрузки контента внутрь нашей страницы. Для примера вставим внутрь своей страницы такой код:
<div id="my_container" style="background: yellow; width: 300px; height: 200px;"></div>
Этот код создаст прямоугольную область 300х200 точек, залитую ядовитым желтым цветом. Эта область — наш контейнер, в который мы и будем загружать данные. Но эти данные кто-то должен предоставить... Поэтому сделаем файл, который будет посылать некий ответ на наш запрос. Для этого создадим HTML-файл, например, такого банального содержания:
<H1>Hello from ajax!</h1>
Сохраним его на сервере под именем text.html (но вы, естественно, можете дать любое имя).
Теперь вернемся к нашей странице и добавим в нее функцию загрузки содержимого:
<script>
function mytest()
{
$('#my_container').load('text.html');
}
</script>
О том, как работают селекторы jQuery можете прочесть в интернете, статей на эту тему уйма, я лишь скажу, что обратиться к любому элементу DOM (или набору элементов),можно просто передав в специальную функцию $(...) идентификатор или имя класса в формате CSS. Не понятно?
Ну смотрите, в CSS изменить свойства нашего контейнера (например, изменить его фоновый цвет) можно следующей "командой":
#my_container { background: red;}
Броузер понимает запись #my_container как некую ссылку на элемент с id="my_container", точно так же работает и jQuery — запись $('#my_container') указывает фреймворку, что мы собираемся работать с элементом DOM, имеющим id="my_container".
Функция $('#my_container') вернет объект jQuery, который имеет массу методов, выполняющих самые разные действия. Но, поскольку нас интересует загрузка содержимого в наш контейнер, то мы воспользуемся методом load(). Ему в качестве параметра передается URL, с которого необходимо получить данные. В моем примере я обращаюсь к ранее созданному HTML-файлу text.html. Т.е. после выполнения функции mytest() внутри контейнера будет помещено содержимое нашего файла (в данном примере это будет надпись "Hello from ajax!").
Итак, функция загрузки готова, осталось как-то ее активировать (запустить). Не стану изобретать велосипед и просто добавлю на страницу ссылку, кликнув по которой пользователь запустит наш скрипт. Код:
<a href="javascript:void(0);" onclick="mytest();">Run!</a>
Итак, полный код примера:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script>
function mytest() { $('#my_container').load('text.html'); }
</script>
</head>
<body>
<div id="my_container"
style="background: yellow; width: 300px; height: 200px;">
</div>
<a href="javascript:void(0);" onclick="mytest();">Run!</a>
</body>
</html>
Сохраните файлы index.html, jquery.js и text.html в одной папке, откройте index.html в вашем любимом броузере, кликните по ссылку Run! и насладитесь динамической загрузкой контента БЕЗ перезагрузки самой страницы!
Сложно? Не-а!
Думаю не стоит упоминать, что таким способом вы можете загружать контент в любой контейнер вашей страницы будь то div, span или любой другой тэг. Например командой $('body').load('text.html'); вы полностью замените все содержимое вашей страницы. А с использованием более сложных селекторов вы можете одновременно загрузить контент сразу в несколько контейнеров.
Ок, идем дальше.
Как правило от простой загрузки статичного контента в контейнеры проку не очень много. Гораздо чаще встречается ситуация, когда нужно отправить серверу какие-то данные и получить ответ, который, затем необходимо всунуть в контейнер. Решается эта задача так же просто, но сперва давайте создадим серверный скрипт, который будет получать данные с нашей страницы и отправлять ответ.
Продолжаю банальничать. Наш скрипт будет получать со страницы имя пользователя и отправлять назад приветствие. Файл будет зваться name.php. Код:
<?php echo '<h1>Hello '.$_POST['n'],'</h1>'; ?>
Мы будем отправлять данные (введенное имя) в скрипт методом POST (а почему бы и нет?) в переменной n и получать в ответ фразу 'Hello …' с вставленным туда именем.
Слегка модифицируем нашу страницу — добавим поле для ввода имени:
Enter your name: <input id="n" value=""><br>
Так же придется изменить и функцию mytest(). Теперь она будет выглядеть вот так:
function mytest()
{
nnn = $('#n').attr('value');
$('#my_container').load('name.php', {'n': nnn});
}
Первой командой мы считываем значение атрибута value из нашего поля ввода и сохраняем его в переменной nnn, а второй командой вызываем наш серверный скрипт с передачей ему считанного имени и занесением ответа в наш контейнер.
Внимание! Этот пример использует серверный скрипт, поэтому на вашей локальной машине (без установленного вэб-сервера и интерпретатора PHP) он не сработает. Имейте это в виду прежде чем материться в комментах :)
Ну вот мы уже имеем полностью интерактивную страницу с запрограммированным поведением. В принципе этой информации уже достаточно, чтобы соорудить сколько угодно сложное взаимодействие с пользователем. Но мы пойдем дальше и решим еще пару часто возникающих проблем. Начнем с человеческой лени. ;)
Проблема встает, когда ваша форма содержит десятки элементов ввода — радио-кнопок, чек-боксов, полей ввода и т.д. Писать код, считывающий все эти значения, чтобы передать их скрипту — не самое приятное занятие. К тому же далеко не всегда полученные данные нужно тупо поместить в контейнер, гораздо чаще требуется провести еще кое-какую обработку полученной информации уже на стороне клиента. Можно, конечно, запихнуть их в скрытый контейнер и потом пропарсить, но такой подход никак нельзя назвать элегантным решением. Поэтому будем искать другой подход.
И тут нам на помощь приходит еще один метод jQuery — post(). Он делает тоже, что и load — передает данные на сервер и получает ответ, но при этом он не изменяет содержимое DOM. Вместо этого он позволяет создать функцию-обработчик полученных данных. Начнем, как и раньше, с серверного скрипта. Теперь он будет получать два значения: имя пользователя и его возраст и возвращать приветствие и год рождения пользователя (текущий год минус возраст).
Код:
<?php
echo '<h1>Hello '.$_POST['n'],'</h1>';
echo '<p>You was born in '.(date("Y")-$_POST['a']).'.</p>';
?>
Код страницы так же будет изменен. Приведу его полностью, чтобы было меньше путаницы:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script>
function mytest()
{
$.post('name.php', $('#myform').serialize(), function(data)
{
$('#my_container').html(data);
});
}
</script>
</head>
<body>
<div id="my_container" style="background: yellow;
width: 300px; height: 200px;"></div>
<form id="myform">
Enter your name: <input name="n" value=""><br>
Enter your age: <input name="a" value=""><br>
</form>
<a href="javascript:void(0);" onclick="mytest();">Run!</a>
</body>
</html>
Как видите, теперь я создал форму и использовал два поля — для имени и для возраста. И теперь эти поля не имеют идентификаторов, зато имеют имена.Причина проста — идентификаторы нам не нужны, т.к. мы больше не будем "вручную" считывать данные из полей, этим займется метод serialize(), который сам соберет все данные из формы и упакует их в формат, понятный для метода post(). В свою очередь, метод post() (в отличии от load()) не требует обязательного определения целевого контейнера. Вместо этого он принимает третьим параметром функцию, которая будет обрабатывать полученные с сервера данные. В данном примере она просто помещает их в наш старый контейнер.
Теперь, если вам нужно передать на сервер больше данных, то просто добавьте в форму сколько угодно полей различных типов (радио-кнопки, текстовые области, пароли, чек-боксы). Больше никаких изменений в странице производить не нужно — фреймворк сам определит количество и типы полей и сам соберет из них данные для отправки. Выходит, что для расширения функционала никаких лишних телодвижений с вашей стороны не потребуется. Просто добавь воды... ;)
Ну вот, на этом можно было бы и закончить, если бы не одно "но". При всей простоте, гибкости, мощности и привлекательности, описанный выше способ имеет одно ограничение — вы не сможете с его помощью закачать на сервер файлы. А очень хочется...
Но решение, как всегда, уже давно существует! Просто придется подключить к jquery один маленький (всего 18 килобайт) плагин — jquery.form.js. Он упрощает отправку данных на сервер до предела — вам вообще ничего не придется программировать :)
Не станем здесь городить огород с реальной загрузкой файлов, просто выведем данные о загруженном файле. Код скрипта (файл file.php):
<?php var_dump($_FILES); ?>
И полный код страницы:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.form.js"></script>
<script>
$(document).ready(function()
{
$('#myform').ajaxForm(
{
beforeSubmit: function() { alert('start uploading'); },
success: function(data) { $('#my_container').html(data);}
});
});
</script>
</head>
<body>
<div id="my_container" style="background: yellow;
width: 300px; height: 200px;"></div>
<form id="myform" method="POST"
enctype="multipart/form-data"
action="file.php">
File: <input type="file" name="img"><br>
<input type="submit" name="upload" value="Upload!">
</form>
</body>
</html>
Чуть комментариев к коду.
-
как уже было сказано, сразу за библиотекой jquery загружаем плагин jquery.form.js
-
"жуткая" конструкция $(document).ready(...); всего навсего указывает функцию, которую необходимо выполнить сразу после загрузки страницы. Здесь нам это нужно, чтобы указать плагину, какую именно форму ему придется обрабатывать.
-
$('#myform).ajaxForm(...) — выбираем форму и задаем для нее две функции. Первая будет вызвана перед началом отправки данных (в данном примере она покажет alert-окно с надписью 'start uploading'), а вторая — после получения ответа (она поместит ответ в наш контейнер).
-
все, больше ничего делать не нужно. Всю необходимую информацию (список полей, их типы, адрес серверного скрипта и т.д.) плагин возьмет из формы.
Надеюсь, что этот скромный пост (и пол-часа ваших собственных экспериментов) навсегда закроют для вас тему использования AJAX на ваших сайтах. Читайте, изучайте, экспериментируйте, пишите комменты... ;)
DropBox - убийца фалообменников
Зачем использовать DropBox я уже писал — большинство существующих файлообменников (если вы не купите премиум-аккаунт) будут всячески препятствовать нормальному обмену файлами, подсовывая вам гнусную рекламу с голыми девками, заставляя вас тупо ждать, пялясь на счетчик, в надежде, что вы таки не выдержите и кликните по какой-нить из партнерских ссылок, коих вам будет предложено немеряно. Так же про докачку и скачивание на пределе скорости вашего канала вы тоже можете забыть. Вот для решения этих и многих других проблем и подходит DropBox
Итак, что вам нужно сделать для того чтобы навсегда забыть обо всяких рапидах, ифолдерах и прочих депозит-файлах с лититбитами? Нужно просто дочитать эту статью до конца 
Знаю, что читать большие посты вы не любите, поэтому давайте сожмем волю в кулак и приступим.Для начала переходим по ссылке http://fit-media.com/links/dropbox.html и попадаем на страницу:

На этой страничке вводим любые имя и фамилию (поля First name и Last name), а так же адрес электронной почты и желаемый пароль. Адрес ящика можно давать абсолютно левый, правда в этом случае вы не сможете восстановить забытый пароль.
Главное запомните введенный ящик, т.к. он будет использоваться в качестве логина для входа в систему. Так же можете указать и адрес своего реального ящика — за два с лишним месяца с этого сайта пришло только одно письмо (об успешной регистрации), так что завал спамом вам не грозит.
Итак, ввели данные и нажали "Create account" — попадаем на следующую страницу:

Здесь желательно поклацать по всем ссылкам в левом столбике, чтобы система больше не лезла к вам с предложениями рассказать, какая она удобная и показать как с ней нужно работать. Там же внизу есть синяя картинка с коробкой - это ссылка на скачивание клиента. Вот на нее и нажмем, сразу же начнется скачивание программы. Размер — 14 мегабайт.
В принципе, если вы не хотите ставить на свой компьютер вский "левый софт", то вы можете пользоваться всеми возможностями и без клиента, через вэб-интерфейс. Работа с ним такая же простая, как с любым файлообменником (об этом я напишу как-нить позже). Но при этом вы теряете кучу удобств. Впрочем, как поступить решать вам.
Пока идет закачка в вашем броузере будет показана страница с инструкцией (с картинками) о том, как устанавливать клиента. Кратенько опишу этот процесс.
В первом окне выберите пункт "I already have a DropBox account", тем самым уведомив программу о том, что вы уже зарегистрировались в системе.
В следующем окне введите е-мэйл и пароль, которые вы вводили при регистрации. В поле "Computer's name" нужно вписать название вашего компьютера. Это нужно лишь в том случае, если вы собираетесь использовать DropBox на нескольких устройствах (компьютерах), чтобы система могла их опознавать и синхронизировать информацию между ними. Иначе впишите в это поле любое слово или оставьте "userpc", как предлагает сама программа.
После нажатия на кнопку "Next" инсталлятор свяжется с сервером и проверит ваши регистрационные данные. Если все в порядке, то в следующем окне вам будет предложено выбрать тарифный план. Смело выбирайте "2Gb" и жмите кнопку "Next" аж 5 раз (пока инсталлятор будет вам показывать все туже инструкцию по использованию программы.
Когда вы просмотрите все картинки, то дойдете наконец до окна с крупной надписью "That's it!". В этом окне нужно поставить галочку "I want to choose where to put my DropBox folder" - появится поле с указанием пути и кнопкой "Change". Нажмите на нее и выберите любую папку, в которой дропбокс должен разместить папку для обмена. Именно содержимое этой папки и будет автоматически синхронизироваться с сервером.
Тут есть один момент
В отличие от файлообменников, содержимое сервера дропбокса всегда совпадает с вашей папкой обмена. Это значит, что стоит вам удалить какой-то файл из этой папки, как он тут же будет удален с сервера. С одной стороны это хорошо и удобно — для удаления файла с сервера достаточно просто удалить этот файл из своей папки. С другой стороны это не удобно, т.к. информация фактически дублируется — одна копия лежит у вас, вторая — на сервере. Но ведь дропбокс — это не файлообменник, а средство резервирования данных, поэтому именно так он и должен себя вести. Впрочем от этого недостатка можно избавиться, но об этом в другой статье.
Что ж, продолжим.
Выберите папки и нажмите Finish — тут же на экране откроется только что созданная папка обмена и вы увидите ее начальное содержимое. Кстати, броузер можете уже закрыть — он больше не нужен

Как видно на картинке, в вашей папке уже созданы две вспомогательные папки: "Public" и "Photos", а так же валяется непонятный RTF файл, который можете сразу же стереть — в нем находится инструкция по использованию на английском языке. А вот про папки стоит рассказать подробнее.
Начну с того, что содержимое обех созданных папок (и только их!) может быть доступно кому-нибудь кроме вас (если вы этому "кому-нибудь" дадите ссылку). Поэтому если вы хотите, чтобы кто-то кроме вас мог скачать файлы из вашего аккаунта, то вы должны разместить эти файлы внутри одной из этих папок.
Все остальные папки и файлы, которые вы можете создать и которые НЕ будут находиться внутри папок Public или Photos никогда не будут доступны другим пользователям (за одним маленьким исключением, которое называется "расшариванием папок", но сейчас не об этом).
Папка "Photos" — это стандартное хранилище для фотоальбомов. Отличие этой папки от папки "Public" в том, что она умеет автоматически создавать галереи из помещенных в нее фотографий. Давайте за пару минут соорудим свой первый фотоальбом.
Для этого войдите в папку "Photos" и сотрите все, что в ней есть (файл RTF с описанием работы и пример готового альбома). Теперь создайте папку с любым названием, например "My First Album" и скопируйте в нее несколько фотографий:

Если файлы большие или ваше соединение с интернет не очень быстрое, то вы заметите, что у каждой иконки сперва появляется синий значек с двумя стрелочками, который потом заменяется на зеленый с галочкой. Так вот, этот значек показывает статус закачки: синий — файл или папка еще закачивается на сервер, зеленый — файл или папка успешно закачаны.
Все, альбом создан!
А как теперь его показать вашим друзьям из Зимбабве? Для этого нужно получить public-ссылку на ваш альбом и отправить ее вашим друзьям по электронной почте или разместить в форуме.
Чтобы получить паблик-ссылку перейдите в папку Photos, кликните правой кнопкой мыши по папке альбома (My First Album) и в меню выберите Dropbox / Copy Public Gallery Link:

Вроде ничего не произошло, но на самом деле прямая ссылка на ваш фотоальбом была скопирована в буфер обмена (клипборд) и теперь вы можете вставить ее в письмо, в сообщение форума, в аську или просто в броузер для проверки. Вот так, например, будет выглядеть только созданный мной альбом:

Все картинки в нем кликабельны, клик на любой из них покажет ее в более крупном размере.

Так же можно загрузить ее в полный размер, сохранить на диске или запустить автоматическое слайд-шоу. В общем, просто, но достаточно функционально.
Недостаток папки "Photos" в том, что в ней нельзя расшарить (сделать публично-доступным) один какой-то файл, только целиком альбом (вложенную папку). Если же вам нужно раздавать файлы по одному, то вам нужно воспользоваться папкой "Public".
Работа с ней точно такая же как и с "Photos", только наоборот — в ней можно получить паблик-ссылку на любой вложенный файл, но нельзя получить такую ссылку на папку. Т.е. раздавать файлы можно только по одному. Но ведь архиваторы еще никто не отменил.
Так что смело копируйте нужные файлы в папку Public, получайте на них паблик-ссылки и заваливайте этим спамом все известные вам форумы.
Еще раз напомню, что если вы удалите как-нить файлы из ваших папок Public или Photos (или любых других внутри папки My Dropbox), то эти файлы тут же будут удалены с сервера. Не забывайте об этом! Правда сервер DropBox'а достаточно умный — он сохраняет резервные копии всех удаленных файлов и их можно восстановить через вэб-интерфейс, но все же не стоит этим злоупотреблять.
Ну и на последок пару замечаний по работе программы.
- Клиент дропбокса достаточно умный в плане использования интернет-трафика. Вся передача происходит фоном, вам ничего делать не нужно. Клиент передает информацию частями и, естественно, поддерживает докачку. Поэтому никакие обрывы связи вам теперь не страшны — все закачается без проблем, даже если вы будете каждую минуту выдергивать вилку модема из розетки.
- Так же дробление информации имеет еще один "плюс" — если какой-любо из закачанных файлов изменился, то перезалита будет только изменившаяся часть, а не весь файл. Таким образом вы можете нехило экономить трафик. Но не стоит терять голову, есть куча файловых форматов, на которых эта штука не сработает. Например архивы или медиа-файлы...
- Заливка всех файлов идет параллельно, но с учетом использования канала другими программами — дропбокс будет стараться не мешать вашей работе в интернете. Само собой это может несколько снизить скорость закачки.
На этом краткий вводный курс завончен. Приятного вам расшаривания. 
DropBox: Шарим файлы, шаримся сами.
Каждый из нас пользуется интернетом не только для наглого скачивания софта из сети. Всё же мы потихоньку привыкаем к тому, что интернет — это не просто рекламная площадка и файло-помойка, но еще и очень удобное средство общения и поиска людей со схожими интересами и взглядами.
Я уверен, что у каждого читающего эти строки есть не один десяток аккаунтов на разных форумах, RSS-лента ломится от сообщений с блогов, в мыло ежедневно сыпятся уведомления о новых фоловерах в твиттере и друзьях в фэйс-буке, одноклассниках и прочих «в-контактах». Если я прав, то сей рассказ возможно окажется для вас интересным.
Итак, суть сводится к следующему. Перед любым активным «жителем сети» рано или поздно встает задача рассылки файлов большому количеству народа. Что это за файлы и зачем нужна эта рассылка — вопрос другого плана, к данной статье не относится и здесь рассматриваться не будет. Я о другом речь веду.
Для решения проблемы существует масса специализированных интернет-сервисов, вы все о них прекрасно знаете и не раз пользовались всякими рапид-шарами, депозит-филесами, летит-битам и прочими файло-шарилками. С поставленной задачей они прекрасно справляются, но... за деньги. Если же пользователь не желает распрощаться с кровным зелёным червонцем, то придется терпеть всякие анноящие заморочки.
Большинство обменников сперва будут тупо тормозить минуты полторы, а чтоб вам не стало скучно они вас будут развлекать посекундным счетчиком и рекламой разных левых сайтов (далеко не всегда высоко-морального содержания). После этой удивительной экскурсии по просторам сети вы таки получите желанную ссылку на скачивание, но тут же выяснится, что ни один даунлоадер ее не может открыть, качать нужно только броузером, и только в один поток, и докачка не поддерживается, и скорость ограничена почти как на диал-апе...
Понятно, что большинство народу, взвесив в уме все «за» и «против» потери 10-15 баксов на премиум-аккаунт и геморроя, характерного для фри-моуд, решат таки отжалеть денег, дабы нервы себе не портить.
Это все вы прекрасно знаете и по-сути я тут никакой Америки не открыл. Но вот знаете ли вы, что есть возможность совершенно бесплатно соорудить свой личный файлообменник, который не только позволит вашим клиентам скачивать ваши файлы без всех вышеописанных заморочек, но и еще имеет несколько весьма полезных в жизни вкусностей? 
Речь сегодня пойдет о DropBox – интернет-сервисе, назначение которого состоит в банальном выделении вам персонального места в сети для бэкапа ваших файлов.
Итак, что такое DropBox и что им нужно закусывать.
- DropBox – это совершенно бесплатные 2 гигабайта места в сети, которое вы можете набить любым содержимым. Причем есть возможность очень легко нарастить этот объем до 3 Гб. Повторюсь — речь идет о бесплатном аккаунте, т.к. на платном можете получить и 50 Гб, но то, что можно сделать за деньги нас сейчас не интересует.
- DropBox – это весьма удобное средство для синхронизации содержимого определенных папок вашего персонального компьютера с архивом в сети и с папками на других ваших (или не ваших) компьютерах. Изменили содержимое локальной папки на одной машине — та же папка на других машинах тоже изменилась.
- DropBox — это средство для расшаривания файлов в сети. Просто копируете нужный файл в папку дропбокса на вашем винчестере, получаете прямую public-ссылку и рассылаете ее друзьям и знакомым. С помощью этой ссылки любой человек (даже не знающий о существовании DropBox'а) сможет без всяких заморочек этот файл скачать. Кроме того, вы сами определяете когда следует удалить расшаренный файл — как только вы его удалили из своей папки, он исчезает и из сети.
- DropBox – это возможность очень простого создания фотоальбомов в интернете — просто перетащите папку с фотками в папку Photos дропбокса и альбом готов, осталось только ссылки на него разослать всем знакомым и заспамить ими все доступные форумы.

- DropBox – это инструмент для создания «сквозных» папок с другими зарегистрированными пользователями. Суть в том, что у всех людей, имеющих доступ к такой папке, ее содержимое всегда будет синхронизировано. Т.е. кто-то один вкинул в папку файл (на своем винчестере) и он тут же появился в залинкованных папках у всех остальных участников (на их винчестерах).
- Вся работа с файлами ведется на локальном винчестере вашей машины, вам не нужно открывать броузер, лезть на сайт дропбокса, и т.д. Вы просто выполняете обычные операции копирования/переноса/удаления между папками на вашем компьютере, а копия в сети будет автоматически синхронизироваться с вашими действиями.
- DropBox имеет удобный WEB-интерфейс. Поэтому, если вы терпеть не можете всякий «программный мусор» на вашем компьютере, то можете пользоваться сетевым хранилищем с помощью вашего любимого броузера. В этом случае клиента можно удалить.
- DropBox помнит все версии всех файлов, которые когда-либо попадали в его папки. Поэтому вы с легкостью сможете восстановить удаленные файлы или «откатить» измененные.
- DropBox использует встроенный механизм кэширования, поэтому вам не придется тупо смотреть в монитор в ожидании, когда же наконец файл закачается. Для вас копирование происходит моментально, а остальные участники увидят новые файлы только после окончания их передачи.
- DropBox не требует постоянного подключения к сети или высокой скорости соединения — синхронизацию можно проводить в любой момент, когда вам удобно (например, когда компьютер простаивает).
- DropBox не встраивает никаких сервисов в вашу машину. Клиент — это просто программа. Когда вам нужно провести синхронизацию с хранилищем просто запустите клиента, когда он больше не нужен - закройте.
- Клиент DropBox культурен по отношению к пропускной способности вашего соединения — для своей работы он будет использовать только ту скорость, какую вы укажете в настройках, а не будет тупо захватывать весь интернет-канал, не давая вам нормально работать.
В общем, DropBox – это весьма дружественный по отношению к пользователю аналог «Портфеля» из стандартного пакета Windows, но заточенный под много-пользовательское применение и интернет.
Нравится? Мне — очень! 
Чтобы получить аккаунт, просто перейдите по ссылке, пройдите регистрацию, скачайте и установите клиента (14 мегабайт) и вы в шоколаде!
ЗЫ
Чуть позже (если проявите интерес в комментариях) опишу работу с программой во всех подробностях и с картинками.
