Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
Эта заметка доступна на: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  Arabic  

[Фото автора]
автор Katja Socher

Об авторе:

Катя - немецкий редактор LinuxFocus. Она стала пользователем Linux когда, несколько лет назад, она впервые познакомилась с Gimp. Ее домашняя страничка расположена по адресу: http://www.oche.de/~bearix/k/.


Содержание:

 

Обзор книги: Начала программирования в Linux - Второе издание (Beginning Linux Programming - Second Edition)

[tuxreading]

Резюме:

Это обзор книги: Начала программирования в Linux - Второе издание
(Beginning Linux Programming - Second Edition)
Ричарда Стоунса (Richard Stones) и Нейла Метью (Neil Matthew),
опубликованной Wrox press



 

Книга

"Начала программирования в Linux - Второе издание" ("Beginning Linux Programming - Second Edition") - это введение в среду Linux для опытных программистов C, которые уже имеют некоторые базовые знания по Linux. Книга освещает концепции и идеи, которые среда Linux может предложить программистам и представляет читателю несколько прекрасных инструментов программирования, доступных под Linux, таких как Perl, Tk или Gtk+.

[Обложка книги]

Покупая эту книгу Вы получаете не только около 2 кг бумаги, но, также, и много информации по широкому кругу вопросов. Это - не книга для начинающих, но начала широкого спектра концепций и инструментов, принадлежащих области программирования в Linux. Каждая глава дает глубокое введение в предмет, так, что после прочтения ее Вы получите полное представление о предмете и сможете самостоятельно решить многие задачи. Конечно, после прочтения книги, Вы не станете экспертом в любом вопросе но Ваших знаний в большинстве случаев будет достаточно и, во всяком случае, Вы сможете выйти из положения, почитав страницы руководства или другую, более свежую, чем книга информацию, что в такой быстро меняющейся области вполне естественно.

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

Вы получите хорошее представление о возможностях, которые Вы, как программист, имеете под Linux и сможете решить, какие темы больше заслуживают Вашего внимания, какие больше подходят для Вас, с тем, чтобы глубже изучив их, Вы стали настоящим экспертом.

Хотя это только начала, книга охватывает такой широкий круг вопросов, что после прочтения Вы станете снова и снова использовать ее в качестве справочника в поисках решений программистских проблем и их практического воплощения.

Это - воистину книга, написанная программистами для программистов, в которой два очень опытных Linux-программиста делятся своими знаниями с другими программистами. Они делают это с огромным количеством примеров, которые очень подробно объясняют. С помощью этих примеров Вы очень легко входите в курс дела и видите, как идеи и концепции можно применить практически. Часто Вы сможете использовать их примеры в своих программах без изменений или с минимальными изменениями. Эти примеры открыли мне путь к пониманию и использованию материала.

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

 

Synopsis

Книга начинается с краткого введения в мир Linux и его философию и в то, как используются C и его библиотеки под Linux и, таким образом, готовится переход к программированию оболочки (shell programming). После иллюстрации некоторых основных концепций оболочки (таких, как перенаправление и конвейеры) книга представляет нам оболочку как язык программирования и вводит такие понятия, как переменные, условия, управляющие конструкции, списки, функции.

В главе 3 вводитсяя понятие файлов Linux, где все, даже внешние устройства представляется в виде файлов. Она начинается с низкоуровневых системных вызовов и дальше в этой главе авторы переходят к объяснению стандартной библиотеки ввода/вывода.

В главе 4 дан обзор среды Linux. Авторы, например, говорят об аргументах командной строки и о переменных среды, позволяющих изменить поведение программы по умолчанию. Они, также, показывают, как программа может воспользоваться библиотечными функциями для манипуляции данными и временнЫми значениями (time values), а, также, получить информацию о себе самой, пользователе и компьютере, на котором она выполняется.

Следующая глава посвящена терминалам и различным аспектам управления терминалами. После этого введения в терминалы мы узнаем о библиотеке курсоров (the curses library), предлагающей способ графического отображения вывода в терминальных окнах.

В главе 7 говорится об управлении данными, динамическом управлении памятью, локировании файлов и частей общих файлов, а в конце дается введение в базу данных dbm.

В главе 8 представлены инструменты разработчика, позволяющие управлять разработкой и распространением программ. Сначала представлены make и makefile, позволяющие манипулировать многочисленными исходными файлами, затем рассматривается управление исходниками с использованием RCS и CVS. И, наконец, упоминаются tar и gzip, используемые для распространения и обновления программ.

Глава 9 посвящена отладке. После обсуждения общей техники отладки представлен отладчик GNU gdb. Также упоминаются инструменты статического анализа, такие, как cflow и lclint. В конце рассмотрены две утилиты, помогающие избежать утечек памяти - Electric Fence и Checker.

Глава 10 посвящена процессам и сигналам, которые управляют почти всей активностью в компьютерной системе под управлением Linux. Она начинается с описания структуры процесса и продолжается объяснением, как можно создать новый процесс с помощью системного вызова fork. Затем читателю на нескольких примерах представлен программный интерфейс сигналов.

Глава 11 посвящена потокам Posix (Posix Threads). Она начинается с объяснения их отличия от процессов, а затем объясняются мьютексы (mutexes) и семафоры, необходимые для написания более сложных многопотоковых программ.

Следующие главы посвящены межпроцессорному взаимодействию. Сначала объясняются конвейеры. Обсуждаются нормальные неименованные конвейеры, именованные конвейеры (FIFO) а также то, как данные могут передаваться между несвязанными программами.

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

Под конец объясняются сокеты, которые можно использовать как конвейеры, но которые выполняются в сети.

В главе 15 описан Tcl, (Tool Command Language). Авторы рассказывают о командах и управляющих структурах, строках и списках в Tcl, вводе и выводе, а, также, о приложениях и расширениях Tcl.

После краткого обзора X в следующей главе мы узнаем о Tk, графическом наборе инструментов для Tcl. Нам показывают множество примочек, предоставляемых Tk, таких как фреймы, метки, кнопки, поля, полосы скроллинга, шкалы, текст и канва. Приведен пример головоломки "15" и объяснены концепции меню, диалогов, схем цвета (color schemes), шрифтов, связок (binding), управления геометрией, фокуса и навигации.

Затем мы изучаем Gnome и Gtk+. Мы узнаем об архитектуре Gnome и рабочем столе Gnome, о программировании для Gnome с использованием Gtk+ и познакомимся с набором инструментов Gtk+. Возможности огромные и даже больше, чем под Tk. Авторы, также, разрабатывают приложение Gnome: аналоговые часы Gnome.

Следующая глава - очень краткое введение в основы программирования на Perl.

Глава 19 учит основам HTML и служит введением в CGI программирование, которое рассматривается в следующей главе. Затем авторы объясняют нам, как создавать формы на HTML, необходимые на клиентской стороне и как передавать информацию на серверную сторону, декодировать ее на C или Perl и формировать динамический ответ клиенту.

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

Если Вы системный администратор, программист или настоящий поклонник Linux, книга Вам несомненно понравится.

 

Страница отзывов

У каждой заметки есть страница отзывов. На этой странице вы можете оставить свой комментарий или просмотреть комментарии других читателей.
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Katja Socher, FDL
LinuxFocus.org

Click here to report a fault or send a comment to LinuxFocus
Translation information:
en -> -- Katja Socher
en -> ru Eugene S. Saenko

2001-08-14, generated by lfparser version 2.17