Библиотеки

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

Чтобы избежать подобной ситуации, нужно твёрдо знать свою цель. Когда вы переключаетесь на решение чрезмерно сложной подзадачи, она сама по себе становится для вас задачей. Таким образом, исходная задача меняется и вы, сами того не желая, меняете вектор развития проекта. Всё дело в том, что крупные подзадачи всегда нужно решать отдельно, а не в составе других задач. Как же быть, если решение крупной подзадачи препятствует решению задачи? Ответ прост: нужно воспользоваться наработками третьего лица, решившего задачу в виде вашей подзадачи. То есть использовать готовую библиотеку или фреймворк.

Готовых библиотек в мире существует великое множество. Очень полезно уметь ориентироваться в них, оценивать сложность их API и внешние зависимости (одни библиотеки могут зависить от других). Вот лишь некоторые, которые всегда рекомендуется брать на вооружение.

PCRE — библиотека поддержки Perl-совместимых регулярных выражений. Эта библиотека просто незаменима при работе со строками — с её помощью можно делать автоматические замены, проверять строки на соответствие определённым шаблонам, дробить их на составные части.

SQLite — встраиваемая СУБД. Эта библиотека позволяет встроить в приложение поддержку полноценных реляционных баз данных. В базах данных можно хранить, например, пользовательские настройки, различные временные данные и т.п. Например, если вы пишете FTP-клиент, то в базе данных SQLite можно сохранять учётные записи.

libcurl — библиотека для взаимодействия по протоколу HTTP. Её можно использовать в случаях, когда нужно делать обращения к веб-сайтам из вашего приложения.

expat — настоящая находка для парсинга XML. Отлично подходит для потокового XML, например, при работе с протоколом Jabber/XMPP. Предоставляет API на callback-ах

iksemel — ещё одна библиотека для работы с XML с расширенной поддержкой Jabber/XMPP. Автором не использовалась, но часто рекомендуется другими разработчиками.

libjpeg — библиотека для работы с JPEG-изображениями. Она довольно низкоуровнева и предназначена для загрузки изображения из JPEG-файла в некоторый буфер кадра и сохранения обратно в файл.

libjpeg ­— схожая библиотека для работы с изображениями в формате PNG.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>