Neil Matthew and Richard Stones, Brad Clements, Andrew Froggatt, David J. Goodger, Ivan Griffin, Jeff Licquia, Ronald van Loon, Harish Rawat, Udaya Ranawake, Marius Sundbakken, Deepak Thomas, Stephen J. Turnbull, David Woodhouse, Richard Stones, Christopher Browne9781861003010, 1861003013
In this follow-up to the best-selling Beginning Linux Programming, you will learn from the authors’ real-world knowledge and experience of developing software for Linux; you’ll be taken through the development of a sample ‘DVD Store’ application, with ‘theme’ chapters addressing different aspects of its implementation. Meanwhile, individual ‘take-a-break’ chapters cover important topics that go beyond the bounds of the central theme. All focus on the practical aspects of programming, showing how crucial it is to choose the right tools for the job, use them as they should be used, and get things right first time.
Who is this book for?
Experienced Linux programmers and aspiring developers alike will find a great deal of practical information in this book on libraries, techniques, tools and applications. You should be familiar with a simple Linux system, have a good working knowledge of programming in C, and a basic understanding of object-oriented programming with C++ for the Qt/KDE chapters.
What does this book cover?
Data storage in Linux – including coverage of PostgreSQL, MySQL and XML Implementation of Linux GUIs – covering both KDE and GNOME Web-based interfaces – using the PHP module for Apache Python – including extending and embedding the language Using RPC and CORBA to construct distributed object-based applications Versioning (with CVS), documentation, internationalization and project distribution Distributed hardware solutions such as diskless Linux and Beowulf clustering
Amazon.com Review By tapping the strengths of the open-source movement, developers can write custom Linux software without spending a dime on licensing fees. Aimed at the experienced C/C++ programmer, Professional Linux Programming provides a wide-ranging and hands-on guide to the different pieces of the puzzle that are required to program successfully on this exciting new platform.
The book is framed as a case study for building a custom database program in Linux for a video rental store. After a tour of the requirements and a brief look at project management for creating this software, the various Linux packages that are needed to implement this system are described, along with sample code, most of which is written in C. Some packages, such as the CVS version-control package, come with most distributions of Linux; others will require downloading additional software over the Internet. In every case, you’re provided with the actual command-line arguments that are needed to install, configure, and run each package.
Besides a great exploration of CVS for version control, this title offers excellent coverage of the free PostgreSQL and MySQL databases, which are two very popular choices for Linux databases. The book also does a good job of explaining UI design under both the GTK+/GNOME and KDE (two popular Linux desktops), and how to extend the reach of the sample database application by using Remote Procedure Calls (RPCs) and CORBA. Of course, the finished application doesn’t use every Linux API that’s covered here, but the book does cast a wide net, and introduces features and tools that are available.
Two prominent chapters take you on a tour of the essentials of other programming languages. There’s PHP for Web development and an appealing, enthusiastic introduction to Python (which probably will turn you into a Python convert). Later chapters provide practical tips for testing and debugging applications, including how to profile your code. The book closes with a useful guide to creating Red Hat Package Manager (RPM) packages for deploying applications, as well as an overview of your options for internationalization.
By covering so many APIs, languages, and tools effectively, Professional Linux Programming gives experienced C/C++ programmers all that they need to get started with Linux development. With its remarkably clear presentation style and abundance of practical tips, the book is an admirably useful blueprint for building custom software. –Richard Dragan
Topics covered: Introduction to open-source software and Linux requirements Use cases and sample C objects for sample video rental store Version control and CVS (command-line options, revisions, branches, and multiuser version control) Open-source freeware packages compared (mSQL, MySQL, and PostgreSQL) Introduction to databases Installing and using PostgreSQL Tutorial on psql SQL PostgreSQL C database APIs using libcq and embedded SQL calls with ECPG Installing and using MySQL (command-line utilities and C database APIs) Debugging with gdb Introduction and tutorial to UI programming with glib GTK+ and GNOME Source trees and GNOME UI design with Glade Testing strategies (including regression testing, profiling, and memory bounds checking) KDE/Qt UI programming Introduction and quick tutorial to Python (keywords and basic syntax) PHP for Web programming Introduction to Remote Procedure Calls (RPCs) and CORBA XML basics (document structure, parsing, and libxml) Strategies for documentation (including custom man pages) Distributing Linux applications with Red Hat Package Manager (RPM) packages Code patches
Reviews
There are no reviews yet.