Beginning Linux Programming, Fourth Edition continues its unique approach to teaching UNIX programming in a simple and structured way on the Linux platform. Through the use of detailed and realistic examples, students learn by doing, and are able to move from being a Linux beginner to creating custom applications in Linux. The book introduces fundamental concepts beginning with the basics of writing Unix programs in C, and including material on basic system calls, file I/O, interprocess communication (for getting programs to work together), and shell programming. Parallel to this, the book introduces the toolkits and libraries for working with user interfaces, from simpler terminal mode applications to X and GTK+ for graphical user interfaces. Advanced topics are covered in detail such as processes, pipes, semaphores, socket programming, using MySQL, writing applications for the GNOME or the KDE desktop, writing device drivers, POSIX Threads, and kernel programming for the latest Linux Kernel.
(more…)
Beginning Rails is the practical starting point for anyone wanting to learn how to build dynamic web applications using the Rails framework for Ruby. You’ll learn how all of the components of Rails fit together and how you can leverage them to create sophisticated web applications with less code and more joy.
This book is particularly well suited to those with little or no experience with web application development, or who have some experience but are new to Rails. Beginning Rails assumes basic familiarity with web terms and technologies, but doesn't require you to be an expert.
Topics include:
- A gentle introduction to the Ruby programming language
- Installing Ruby and Rails on a Mac, Linux, or Windows system
- The philosophy behind Rails and why it matters
- The Model-View-Controller architecture
- The basics of relational databases and SQL
- Setting up a MySQL database and creating a schema with migrations
- Experimenting with your live application in the Rails console
- Creating rich relationships between your models
- Using controllers and templates properly
- Leveraging helpers to keep your templates clean and logic free
- Adding Ajax and visual effects to enrich your user interfaces
- JavaScript with Prototype and script.aculo.us
- How to send and receive mail from your application
- Using and creating your own plug-ins
- Ensuring your code against Murphy’s Law through writing tests
- Using Capistrano to deploy your application
Rather than delving into the arcane details of Rails, the focus is on the aspects of the framework that will become your pick, shovel, and axe. Part history lesson, part introduction to object-oriented programming, and part dissertation on open source software, Beginning Rails doesn’t just explain how to do something in Rails, it explains why.
Every programmer fondly remembers the book that helped them get started. The goal of Beginning Rails is to become that book for you, today.
(more…)
Expert techniques for designing your system to achieve maximum availability and predictable downtime
With your company’s reputation and profits at stake, downtime on your 24/7 web site is not an option, nor is poor application performance. Now in its second edition, this authoritative book provides you with the design blueprints to maximize your system availability.
Striking a balance between costs and benefits, the authors show you all of the elements of your computer system that can fail–as well as ways to assess their reliability and attain resiliency and high availability for each one. A unique feature is "Tales from the Field," a collection of true-to-life experiences that will help you avoid mistakes and deploy your system with confidence.
Learn how to design your system to limit the impact of such problems as computer viruses, natural disasters, or the corruption of critical files and discover how to:
- Implement effective backup-and-restore and tape management strategies
- Arrange disks and disk arrays to avoid downtime caused by inevitable failures
- Utilize technologies such as Storage Area Networks (SANs), Network Attached Storage (NAS), Virtualization, and clustering
- Achieve effective application recovery after any part of the system has failed
- Replicate critical data to remote systems across a network
(more…)
Organized by exam objectives, this is a focused, concise review guide that works hand-in-hand with any learning tool, including the Sybex CCNA: Cisco Certified Network Associate Study Guide, 6th and Deluxe editions.
The book will consist of four high-level chapters, each mapping to the four main Domains of the exam skill-set. The book will drill down into the specifics of the exam, covering the following:
- Designing Cisco internetworks
- Developing an access list
- Evaluating TCP/IP communication
- Configuring routers and switches
- Configuring IP addresses, subnet masks, and gateway addresses
- Performing LAN, VLAN, and WAN troubleshooting
- Understanding rules for packet control
The interactive CD contains two bonus exams, handy flashcard questions, and a searchable PDF of a Glossary of Terms.
(more…)