Kamis, 17 Maret 2016

** Download The Linux Programmer's Toolbox, by John Fusco

Download The Linux Programmer's Toolbox, by John Fusco

The The Linux Programmer's Toolbox, By John Fusco has the tendency to be wonderful reading book that is understandable. This is why this book The Linux Programmer's Toolbox, By John Fusco ends up being a preferred book to check out. Why do not you really want become one of them? You can enjoy checking out The Linux Programmer's Toolbox, By John Fusco while doing various other tasks. The visibility of the soft documents of this book The Linux Programmer's Toolbox, By John Fusco is kind of obtaining encounter quickly. It consists of just how you need to conserve the book The Linux Programmer's Toolbox, By John Fusco, not in shelves of course. You could save it in your computer tool as well as gadget.

The Linux Programmer's Toolbox, by John Fusco

The Linux Programmer's Toolbox, by John Fusco



The Linux Programmer's Toolbox, by John Fusco

Download The Linux Programmer's Toolbox, by John Fusco

Is The Linux Programmer's Toolbox, By John Fusco publication your favourite reading? Is fictions? How's regarding record? Or is the very best seller unique your option to fulfil your extra time? Or perhaps the politic or religious publications are you searching for currently? Below we go we offer The Linux Programmer's Toolbox, By John Fusco book collections that you need. Bunches of varieties of publications from many industries are given. From fictions to scientific research as well as spiritual can be searched as well as discovered here. You might not stress not to locate your referred book to check out. This The Linux Programmer's Toolbox, By John Fusco is one of them.

Reading behavior will constantly lead individuals not to satisfied reading The Linux Programmer's Toolbox, By John Fusco, an e-book, ten e-book, hundreds books, and also a lot more. One that will certainly make them feel satisfied is completing reviewing this e-book The Linux Programmer's Toolbox, By John Fusco and also obtaining the notification of the books, after that locating the various other next e-book to review. It continues increasingly more. The moment to complete reading a publication The Linux Programmer's Toolbox, By John Fusco will certainly be constantly different depending on spar time to invest; one example is this The Linux Programmer's Toolbox, By John Fusco

Now, how do you understand where to get this book The Linux Programmer's Toolbox, By John Fusco Never ever mind, now you may not go to guide establishment under the brilliant sunlight or night to search the e-book The Linux Programmer's Toolbox, By John Fusco We below always help you to discover hundreds type of e-book. One of them is this e-book entitled The Linux Programmer's Toolbox, By John Fusco You might go to the link page offered in this collection and after that go with downloading and install. It will not take even more times. Merely connect to your internet access and also you could access the e-book The Linux Programmer's Toolbox, By John Fusco on the internet. Obviously, after downloading and install The Linux Programmer's Toolbox, By John Fusco, you could not print it.

You could save the soft data of this publication The Linux Programmer's Toolbox, By John Fusco It will depend on your extra time as well as activities to open up and also review this book The Linux Programmer's Toolbox, By John Fusco soft documents. So, you may not be afraid to bring this publication The Linux Programmer's Toolbox, By John Fusco all over you go. Just add this sot data to your gizmo or computer disk to permit you check out each time and all over you have time.

The Linux Programmer's Toolbox, by John Fusco

Master the Linux Tools That Will Make You a More Productive, Effective Programmer

The Linux Programmer's Toolbox helps you tap into the vast collection of open source tools available for GNU/Linux. Author John Fusco systematically describes the most useful tools available on most GNU/Linux distributions using concise examples that you can easily modify to meet your needs.

You'll start by learning the basics of downloading, building, and installing open source projects. You'll then learn how open source tools are distributed, and what to look for to avoid wasting time on projects that aren't ready for you. Next, you'll learn the ins and outs of building your own projects. Fusco also demonstrates what to look for in a text editor, and may even show you a few new tricks in your favorite text editor.

You'll enhance your knowledge of the Linux kernel by learning how it interacts with your software. Fusco walks you through the fundamentals of the Linux kernel with simple, thought-provoking examples that illustrate the principles behind the operating system. Then he shows you how to put this knowledge to use with more advanced tools. He focuses on how to interpret output from tools like sar, vmstat, valgrind, strace, and apply it to your application; how to take advantage of various programming APIs to develop your own tools; and how to write code that monitors itself.

Next, Fusco covers tools that help you enhance the performance of your software. He explains the principles behind today's multicore CPUs and demonstrates how to squeeze the most performance from these systems. Finally, you'll learn tools and techniques to debug your code under any circumstances.

Coverage includes

  • Maximizing productivity with editors, revision control tools, source code browsers, and "beautifiers"
  • Interpreting the kernel: what your tools are telling you
  • Understanding processes–and the tools available for managing them
  • Tracing and resolving application bottlenecks with gprof and valgrind
  • Streamlining and automating the documentation process
  • Rapidly finding help, solutions, and workarounds when you need them
  • Optimizing program code with sar, vmstat, iostat, and other tools
  • Debugging IPC with shell commands: signals, pipes, sockets, files, and IPC objects
  • Using printf, gdb, and other essential debugging tools

Foreword 
Preface 
Acknowledgments 
About the Author 
Chapter 1 Downloading and Installing Open Source Tools
Chapter 2 Building from Source
Chapter 3 Finding Help
Chapter 4 Editing and Maintaining Source Files
Chapter 5 What Every Developer Should Know about the Kernel
Chapter 6 Understanding Processes
Chapter 7 Communication between Processes
Chapter 8 Debugging IPC with Shell Commands
Chapter 9 Performance Tuning
Chapter 10 Debugging
Index 

  • Sales Rank: #1219791 in Books
  • Published on: 2007-03-16
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.10" h x 1.40" w x 7.00" l, 2.02 pounds
  • Binding: Paperback
  • 656 pages

From the Back Cover
Master the Linux Tools That Will Make You a More Productive, Effective Programmer"The Linux Programmer's Toolbox "helps you tap into the vast collection of open source tools available for GNU/Linux. Author John Fusco systematically describes the most useful tools available on most GNU/Linux distributions using concise examples that you can easily modify to meet your needs. You'll start by learning the basics of downloading, building, and installing open source projects. You'll then learn how open source tools are distributed, and what to look for to avoid wasting time on projects that aren't ready for you. Next, you'll learn the ins and outs of building your own projects. Fusco also demonstrates what to look for in a text editor, and may even show you a few new tricks in your favorite text editor.You'll enhance your knowledge of the Linux kernel by learning how it interacts with your software. Fusco walks you through the fundamentals of the Linux kernel with simple, thought-provoking examples that illustrate the principles behind the operating system. Then he shows you how to put this knowledge to use with more advanced tools. He focuses on how to interpret output from tools like sar, vmstat, valgrind, strace, and apply it to your application; how to take advantage of various programming APIs to develop your own tools; and how to write code that monitors itself.Next, Fusco covers tools that help you enhance the performance of your software. He explains the principles behind today's multicore CPUs and demonstrates how to squeeze the most performance from these systems. Finally, you'll learn tools and techniques to debug your code under any circumstances.Coverage includesMaximizing productivity with editors, revision control tools, source code browsers, and "beautifiers"Interpreting the kernel: what your tools are telling you Understanding processes-and the tools available for managing themTracing and resolving application bottlenecks with gprof and valgrind Streamlining and automating the documentation processRapidly finding help, solutions, and workarounds when you need them Optimizing program code with sar, vmstat, iostat, and other toolsDebugging IPC with shell commands: signals, pipes, sockets, files, and IPC objectsUsing printf, gdb, and other essential debugging tools
"Foreword " "
Preface " "
Acknowledgments " "
About the Author "
Chapter 1 Downloading and Installing Open Source Tools
Chapter 2 Building from Source
Chapter 3 Finding Help
Chapter 4 Editing and Maintaining Source Files
Chapter 5 What Every Developer Should Know about the Kernel
Chapter 6 Understanding Processes
Chapter 7 Communication between Processes
Chapter 8 Debugging IPC with Shell Commands
Chapter 9 Performance Tuning
Chapter 10 Debugging
"Index "

About the Author

John Fusco is a software developer for GE Healthcare who specializes in Linux applications and device drivers. He has worked on Unix software for more than ten years and has been developing applications for Linux since kernel version 2.0. He has written articles for Embedded Systems Programming and Linux Journal.

Excerpt. © Reprinted by permission. All rights reserved.

Linux has no shortage of tools. Many are inherited from Unix, with cryptic two-letter names that conjure up images of developers trying to preserve space on a punch card. Happily, those days are long gone, but the legacy remains.

Many of those old tools are still quite useful. Most are highly specialized. Each may do only one thing but does it very well. Highly specialized tools often have many options that can make them intimidating to use. Consider the first time you used grepand learned what a regular expression was. Perhaps you haven't mastered regular expression syntax yet (don't worry; no one else has, either). That's not important, because you don't need to be a master of regular expressions to put grep to good use.

If there's one thing that I hope you learn from this book, it's that there are many tools out there that you can use without having to master them. You don't need to invest an enormous amount of time reading manuals before you can be productive. I hope you will discover new tools that you may not have been familiar with. Some of the tools this book looks at are quite old and some are new. All of them are useful. As you learn more about each tool, you will find more uses for it.

I use the term tool loosely in this book. To me, creating tools is as important as using tools, so I have included various APIs that are not usually covered in much detail in other books. In addition, this book provides some background on the internal workings of the Linux kernel that are necessary to understand what some tools are trying to tell you. I present a unique perspective on the kernel: the user's point of view. You will find enough information to allow you to understand the ground rules that the kernel sets for every process, and I promise you will not have to read a single line of kernel source code.

What you will not find in this book is reconstituted man pages or other documentation stitched into the text. The GNU and Linux developers have done a great job of documenting their work, but that documentation can be hard to find for the inexperienced user. Rather than reprint documentation that will be out of date by the time you read this, I show you some ingenious ways to find the most up-to-date documentation.

GNU/Linux documentation is abundant, but it's not always easy to read. You can read a 10,000-word document for a tool and still not have a clue what the tool does or how to use it. This is where I have tried to fill in the missing pieces. I have tried to explain not just how to use each tool, but also why you would want to use it. Wherever possible, I have provided simple, brief examples that you can type and modify yourself to enhance your understanding of the tools and Linux itself.

What all the tools in this book have in common is that they are available at no cost. Most come with standard Linux distributions, and for those that may not, I have included URLs so that you can download them yourself.

As much as possible, I tried to keep the material interesting and fun.

Who Should Read This Book

This book is written for intermediate to advanced Linux programmers who wish to become more productive and gain a better understanding of the Linux programming environment. If you're an experienced Windows programmer who feels like a fish out of water in the Linux environment, then this book is for you, too.

Non-programmers should also find this book useful because many of the tools and topics I cover have applications beyond programming. If you are a system administrator, or just a Linux enthusiast, then there's something for you in this book, too.

The Purpose of This Book

I wrote this book as a follow-up to an article I wrote for the Linux Journal entitled "Ten Commands Every Linux Developer Should Know." The inspiration for this article came from my own experience as a Linux programmer. In my daily work I make it a point to invest some of my time in learning something new, even if it means a temporary lull in progress on my project. Invariably this strategy has paid off. I have always been amazed at how many times I learned about a tool or feature that I concluded would not be useful, only to find a use for it shortly afterward. This has always been a powerful motivation for me to keep learning. I hope that by reading this book, you will follow my example and enhance your skills on a regular basis.

It's also just plain fun to learn about this stuff. If you are like me, you enjoy working with Linux. Motivating yourself to learn more has never been a problem. Because Linux is open source, you have the opportunity to understand all of its inner workings, which is not possible with closed source environments like Windows. In this book I present several freely available resources available to help you learn more.

How to Read This Book

The chapters are presented such that each chapter can stand on its own. Later chapters require some background knowledge that is presented in the earlier chapters. Wherever possible, I have cross-referenced the material to help you find the necessary background information.

I believe the best way to learn is by example, so I have tried to provide simple examples wherever possible. I encourage the reader to try the examples and experiment.

How This Book Is Organized

Chapter 1, Downloading and Installing Open Source Tools, covers the mechanisms used to distribute open source code. I discuss the various package formats used by different distributions and the advantages and disadvantages of each. I present several tools used to maintain packages and how to use them.

Chapter 2, Building from Source, covers the basics of building an open source project. I present some of the tools used to build software and alternatives that are emerging. There are several tips and tricks in this chapter that you can use to master your use of make. I also show you how to configure projects that are distributed with GNU's autoconf tools so that you can customize them to meet your needs. Finally, I cover the stages of the build that are often misunderstood by many programmers. I look at some of the errors and warnings you are likely to encounter and how to interpret them.

Chapter 3, Finding Help, looks at the various documentation formats tucked away in your Linux distribution that you may not know about. I look at the tools used to read these formats and discuss effective ways to use them.

Chapter 4, Editing and Maintaining Source Files, discusses the various text editors available for programmers as well as the advantages and disadvantages of each. I present a set of features that every programmer should look for in an editor and measure each editor against these. This chapter also covers the basics of revision control, which is vital for software project management.

Chapter 5, What Every Developer Should Know about the Kernel, looks at the kernel from a user's perspective. In this chapter you will find the necessary background information required to understand the workings of a Linux system. I introduce several tools that allow you to see how your code interacts with the kernel.

Chapter 6, Understanding Processes, focuses on processes, their characteristics, and how to manage them. I cover a good deal of background required to introduce the tools in this chapter and understand why they are useful. In addition, this chapter introduces several programming APIs that you can use to create your own tools.

Chapter 7, Communication Between Processes, introduces the concepts behind inter-process communication (IPC). This chapter contains mostly background information required for Chapter 8. Along with each IPC mechanism, I introduce the APIs required to use it along with a working example.

Chapter 8, Debugging IPC with Shell Commands, presents several tools available to debug applications that use IPC. It builds on the information from Chapter 7 to help you interpret the output of these tools, which can be difficult to understand.

Chapter 9, Performance Tuning, introduces tools to measure the performance of your system as well as the performance of individual applications. I present several examples to illustrate how programming can impact performance. I also discuss some of the performance issues that are unique to multi-core processors.

Chapter 10, Debugging, presents several tools and techniques that you can use to debug applications. I look at some open source memory debugging tools including Valgrind and Electric Fence. I also take an in-depth look at the capabilities of gdb, and how to use it effectively.

Most helpful customer reviews

14 of 15 people found the following review helpful.
How to learn Linux
By topoman
This book is aimed at the person who has learned his way around Linux at the user level and now wants to look under the covers. It's extremely comprehensive - from how to add a Linux application that wasn't in your your initial distribution - whether you can use the binary or need to rebuild it from source - through basic facts on the kernel, devices and their drivers, processes and debugging tools. There has been a need for a book that addresses readers who do know something about computers, but not much Linux. This book fills that need extremely well.

20 of 23 people found the following review helpful.
I'm awestruck
By Anthony Lawrence
No, really. The first thing that impressed me is how much information the author packed into 600 odd pages. It takes skill to do that well and still be readable and interesting.

A programmer moving from anything to Linux would find this a simply wonderful roadmap and introduction, but I was surprised to notice that this would also be very good for non-programmers: sys admin or high level support types will like this book also.

There's good stuff here: the subsection of Chapter Two that deals with things that can go wrong during compiles is the best treatment of that I've ever read. Chapter 5 is titled "What every developer should know about the kernel", but most of it is things every admin/support person should know too. Of course there's much more: this is very thorough and complete.

Definitely recommended.

3 of 3 people found the following review helpful.
A very good reference book to Linux developers
By Jason Ni
It is a very good reference to Linux developers, by providing the most common seen or most used techniques in Linux developments. It covers from the most used tools, including source version control, source code edit, debug,etc, to a brief introduction on the Linux kernel architecture and memory management, that is essential to any programmers who want to know the "evil" inside the kernel.

Jason

See all 12 customer reviews...

The Linux Programmer's Toolbox, by John Fusco PDF
The Linux Programmer's Toolbox, by John Fusco EPub
The Linux Programmer's Toolbox, by John Fusco Doc
The Linux Programmer's Toolbox, by John Fusco iBooks
The Linux Programmer's Toolbox, by John Fusco rtf
The Linux Programmer's Toolbox, by John Fusco Mobipocket
The Linux Programmer's Toolbox, by John Fusco Kindle

** Download The Linux Programmer's Toolbox, by John Fusco Doc

** Download The Linux Programmer's Toolbox, by John Fusco Doc

** Download The Linux Programmer's Toolbox, by John Fusco Doc
** Download The Linux Programmer's Toolbox, by John Fusco Doc

Tidak ada komentar:

Posting Komentar