CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

Web программистов

Владимир МАЛЬЧИКОВ mavr@pma.ntu-kpi.kiev.ua

90-ые годы прошлого века были отмечены быстрым развитием информационных технологий, которое, несмотря на некоторое замедление показателей роста, вызванного рядом обстоятельств, не прекращается и по сей день. Компьютер перестал быть дорогой игрушкой для избранных и превратился в рабочий инструмент для обычного пользователя. То есть появилась необходимость создания разнообразного программного обеспечения, ориентированного на различные уровни подготовленности пользователей. В свою очередь, это привело к росту спроса на специальность «программист».

С тех пор прошло уже немало лет, тем не менее, высококвалифицированные программистские кадры по-прежнему высоко ценятся. К сожалению, в последние годы, на мой взгляд, достаточно выразительно проявляется определенная тенденция. Человек, прочитавший книжку «Программирование на языке… за 24 часа» и научившийся быстренько создавать графические интерфейсы пользователя в любой визуальной среде разработки приложений, считает себя Программистом с большой буквы и при этом частенько останавливается в развитии. В большинстве своем он не понимает, что хорошим программистом нельзя стать ни за 24 часа, ни за пару месяцев. За видимой легкостью создания сложных программ буквально несколькими движениями пальцев стоят долгие годы кропотливой работы, включающую, помимо всего прочего, также и серьезную алгоритмическую подготовку. Как мне кажется, программист экстра-класса должен уметь не только запрограммировать конкретную задачу, но и создать алгоритм ее решения или, в крайнем случае, реализовать уже разработанный алгоритм, который он выбрал для решения. Таким образом, опытный и квалифицированный программист должен быть знаком с основными классами и типами алгоритмов.

Наш еженедельник уже делал обзоры сайтов соответствующей тематики (см., например, статьи Владимира Мазепы «Клондайк для программиста», МК № 46 (165) и 2 (173)). Эту статью можно рассматривать как продолжение поднятой темы, поэтому в ней мы рассмотрим сайты, предоставляющие информацию об алгоритмах сжатия данных. Тут мне могут возразить — зачем их изучать, если можно найти достаточно много вариантов реализации всех известных на сегодняшний день алгоритмов компрессии либо в виде динамической библиотеки, либо в виде исходных текстов? Однако всегда может возникнуть ситуация, когда их использование окажется неприемлемым, и вам придется разобраться в соответствующем алгоритме, изучить его и написать свою реализацию.

Перед началом обзора хотелось бы сделать одно маленькое, но ключевое замечание. Во-первых, не будет осуществляться деление сайтов на англо- и русскоязычные (для программиста английский — второй родной язык). А во-вторых, я не стану обращать особого внимания на дизайн страниц сайта (нас то интересует не внешняя красота, а внутренняя — контент ресурса).

Начнем мы, пожалуй, с «Программистского Рая» (http://www.programmersheaven.com/). Как мне кажется, каждому программисту просто необходимо занести этот адрес в свои закладки, поскольку и начинающий, и профессионал сможет найти здесь нужные сведения. То, что интересует нас, находится на странице General Programmning, в разделе Data Compression (http://www.programmersheaven.com/zone22/mh142.htm). Информация в этом подраздел разбита на следующие категории: статьи, ссылки на другие сайты и документация. При этом в отдельную категорию выделены линки на сайты с описанием современной технологии вейвлет-преобразований. Количество статей, может быть, и не вызовет оптимизма у посетителей. Однако среди них присутствуют и настоящие «рецепты», необходимые для того, чтобы начать разбираться со сжатием. К примеру, это советы по реализации алгоритмов Хаффмена, Лемпеля-Зива-Велча, арифметического кодирования и многое другое, что может оказаться очень полезным при работе. Среди документации вы также найдете описания стандартов сжатия данных, форматов файлов архивов различных типов, методов, использованных в некоторых архиваторах, и многое другое.

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

Теперь после многих часов, проведенных на «Небесах», спустимся на землю и отправимся на домашнюю страничку Максима Захарова, посвященную сжатию данных (http://sochi.net.ru/~maxime/compression.shtml). Несмотря на то, что это всего лишь одна страничка, информации на ней столько, что глаза разбегаются. Статьи, исходные тексты программ и ссылки — все как на подбор! Причем регулярно обновляется, за что огромное спасибо ее создателю. Конечно, она больше ориентированна на подготовленных программистов. Новичкам, только начинающим познавать таинства алгоритмов сжатия данных, будет лучше воспользоваться одной из следующих ниже ссылок. Но мы все-таки сначала разберемся с представленной здесь информацией. Среди статей вы найдете как классические, рассказывающие о введении в теорию информации и алгоритмов сжатия, так и описания разработок в области компрессии за последние 10–15 лет. Также присутствуют характеристики архивных форматов и используемых в архиваторах методов. Хочу обратить ваше внимание на то, что часть статей (в том числе, журнальные) представлены в виде графических файлов, соответствующих страницам. Кстати, среди исходных текстов программ присутствуют только наиболее интересные алгоритмы. Ссылок на другие сайты, может быть, не так уж и много, однако они указывают на наиболее важные серверы и страницы. Также на страничке реализована возможность осуществить поиск интересующей информации (если ее вдруг не оказалось здесь) по серверам, посвященным сжатию данных.

Теперь воспользуемся одной из ссылок и отправимся на домашнюю страничку Константина Балашова (http://cotty.16x16.com/compress/index.html). К сожалению, с апреля 1999 года она не обновлялась. Появление этого проекта связано с попыткой автора разобраться со сжатием данных, поскольку среди выложенного материала присутствуют как статьи, так и программы разработчика страницы. К счастью, помимо собственных творений, имеются также материалы других авторов. Больше всего их по PPM-компресиии и методу LZW. Также представляют интерес ссылки на другие сайты, среди которых — список ресурсов по сжатию информации с Altavist’ы.

Далее наш путь лежит на сайт «Алгоритмы и методы программирования» (http://algolist.manual.ru). Здесь нас интересует раздел «Сжатие и кодирование» (http://algolist.manual.ru/compress/index.php). Как и весь ресурс, эта рубрика очень информативна. Тут нет ссылок на другие адреса, только информация, информация и еще раз информация. Раздел разбит на три категории: общие алгоритмы сжатия и кодирования, сжатие аудиосигналов и сжатие изображений. В каждой выложены статьи соответствующего направления, а также ряд дополнительных материалов, представленных в виде ZIP-архивов. Сайт постоянно развивается, поэтому на такие мелочи, как всего три архива с обзорами методов сжатия звуковых файлов, не будем обращать внимания (это только временно, надеюсь). Тем более что по сжатию изображений опубликовано очень много материала. Это и методическое пособие, курсы по вейвлет-анализу и фрактальной компрессии. Среди общих алгоритмов и новичок, и профессионал найдут интересующий именно их материал. Вы спросите, а как же тексты программ? Они тоже присутствуют, правда, только в составе статей. При этом в аннотациях о них упоминается. Также есть информация о CRC-алгоритмах, призванных обнаруживать и (при возможности) исправлять ошибки, возникающие при передаче данных.

Теперь направляем наши стопы на http://compression.graphicon.ru, основной задачей которого (по заявлению его авторов) является сбор и публикация доступной информации в области сжатия данных. Поверьте, в этом они преуспели! Радует регулярное обновление сайта. Основные разделы: «Ссылки»,Download (он же статьи и исходные тексты), персональные проекты Ратушняка, Смирнова, Юкина, Шелвина, Филинского и Шкарина. Помимо этого во время последнего посещения сайта обнаружил там главы из книги «Методы сжатия данных» Д.Ватолина, А.Ратушняка, М.Смирнова и В.Юкина, второй раздел которой посвящен компрессии изображений. Как сообщается, публикация полного текста будет возможна только после распродажи ее тиража. Так что пока придется довольствоваться тем, что есть.

А есть немало! К примеру, в разделе Download присутствуют обзоры методов сжатия, статьи о конкретных алгоритмах (в том числе PPM, BWT, динамическое марковское сжатие, фрактальная компрессия), описание общих принципов сжатия различного рода исходных данных. Коллекция ссылок, быть может, на первый взгляд, покажется небольшой, однако в ней собраны жемчужины Сети, относящиеся к рассматриваемой нами теме. Обязательно приводится краткое описание содержимого каждого сайта, а также рейтинг по пятибалльной шкале (кстати, одна из ссылок удостоилась оценки «5+»!). В персональных проектах каждый из авторов рассказывает о своих наработках и исследованиях по архивации. Заходите, читайте, скачивайте — ведь нельзя научиться хорошо программировать, не познакомившись с чужими программами и не пробовав создавать свои.

Начиная с марта 2002 года, на сайте работает форум «Компрессор», предназначенный для свободного обмена мнениями по любым вопросам, относящимся к архивированию данных. Тут вы можете получить высококвалифицированный ответ на все животрепещущие вопросы.

Далее перед нами распахивает свои двери The Data Compression Library (http://www.datacompression.info). Данный сайт поддерживается Марком Нельсоном — одним из авторов книги The Data Compression Book и ведущим рассылки Data Compression Newsletter журнала Dr. Dobb’s Journal (http://www.ddj.com/topics/compression). Ресурс представляет собой огромнейший алфавитный каталог ссылок на web-сайты по сжатию. Фактически перед нами аналог Yahoo! определенной тематики. Количество линков просто огромно. Описывать все богатство представленной информации нет смысла — сюда нужно заходить и искать то, что вас интересует. Оно обязательно найдется, если воспользоваться системой поиска по библиотеке. Если же вы создали ресурс, посвященный сжатию данных, то можете добавить его в каталог. Также есть возможность подписаться на рассылку обновлений сайта.

Ну что ж, закончим мы наше небольшое путешествие (невозможно объять необъятное) на сайте Кирилла Волошина «Архиваторы: тесты, новости, описания, утилиты, линки» (http://arctest.narod.ru). Понятно, что любой, даже самый совершенный алгоритм ничего не стоит, если его нельзя применить на практике. А основная область использования алгоритмов сжатия данных — это, естественно, архиваторы. Поэтому данный ресурс соединяет воедино теорию с практикой. Здесь вы найдете практически все, что нужно как разработчику, так и обычному пользователю архиваторов. Итак, приступаем к осмотру! Начнем с теории — раздел «Описания». Здесь опубликованы обзорные статьи по программам сжатия из различных газет и журналов, а также интервью с их разработчиками, описания алгоритмов компрессии, документация с описанием алгоритмов, использованных в популярных архиваторах и FAQ. В «Новостях» — последняя информация с фронтов архивных действий, существует архив новостей.

Все остальное — практическое применение описанных алгоритмов. Довольно много места отведено под сравнительные тесты архиваторов, причем представлены как стандартные тесты на различных типах файлов (текст, мультимедиа, программы), так и альтернативные. Так что если вы разработали новый алгоритм сжатия или реализовали один из известных алгоритмов, то можете сравнить результаты. Среди программ много информации о различных вспомогательных утилитах для работы с архивами, и естественно, как же без них, взломщики паролей сжатых файлов. Также есть модули архивации для популярных оболочек FAR и Windows Commander.

Коллекция ссылок достаточно обширная. Также на сайте проводится опрос пользователей на предмет выявления их мнения о программах сжатия данных.

Ну что же, пожалуй, на этом мы завершим наш обзор. Естественно, что он не был исчерпывающим, но я надеюсь, что он станет хорошим стартом для дальнейших исследований Интернета.

Напоследок в режиме одной строки еще несколько полезных ресурсов:

comp.compression и comp.compression.research — конференции UseNet (на английском языке), в которых ведется обсуждение алгоритмов сжатия данных и публикуются результаты последних исследований;

fido7.ru.compress — конференция аналогичной направленности российского сегмента сети FidoNet;

ftp://ftp.elf.stuba.sk/pub/pc/pack — ftp-архив, содержащий программы сжатия данных вместе с исходными текстами. Информация об обновлениях регулярно публикуется в конференции fido7.ru.compress.

За сим позвольте откланяться. Попутного wwwетра тебе, серфер!

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov