Disclaimer: The following excerpt from http://www.me115.com/post/25.html
The following technologies and tools are the basis for working under the Linux platform and are proficient in:
C++
Working language, importance is self-evident;
Entry:
"C + + Primer"
"Effective C + +"
The Department is mainly application development, the technical requirements are not very high, skilled in C + +, can deal with daily work.
If you are interested in C + + direction to gain, some precipitation, there are a lot of good books waiting to read:
Improve:
"STL Source Code Analysis"
"Effective STL" http://book.douban.com/subject/1456960/
In our code, the STL is used a lot, the container is mainly vector and map, the algorithm is relatively trivial
"Deep Exploration of C + + object Model"
This book describes the structure of C + + objects in memory, and the intrinsic state of the object's member functions and member variables.
"Design Pattern Fine Solution"
My design pattern is the way to get started with this book, and a few examples explain how patterns are used, and why it is possible to use patterns (which may be more important), but it also speaks about 10 patterns. Interested in the design pattern and recommended for beginners;
"Design Mode"
This is supposed to be the Bible in the field, not all of it. Although classic, but one page after the end of the page, it is really a point of patience. Unlike the style of a foreigner writing a book, the book looks very tired (personal view). I think there are a lot of points of interest when you look at this book after you have some knowledge of most models.
Vim
One of the most popular editors for UNIX systems; usually work is remote SSH login to the server operation; The text editing work is essential, can choose a skilled application in VI or Emacs according to personal preference;
Introduction to VI: Recommended #VIM入门教程
Makefile
On the Windows platform, we don't have to care about the compilation order, the link relationship, etc. of each file, but under the UNIX system, you have to do it yourself. It is necessary to master makefile.
Study Makefile Article recommendation: "Baidu search" with me to learn makefile
Unix/linux system
As the students working in this environment, the importance of mastering the system is self-evident, the following gives several recommended readings, for reference:
"Brother Bird's basic study of Linux private Cuisine"
Reviews: For those of you who have never been in touch with Linux, this book is a boon, with a simple, witty language that speaks of common system command usage and context; For Linux 0 basic students, recommended
"Linux Programming"
Reviews: Write the standard, is Linux under the code of a Primer reference book, not too much attraction, if it is to develop in-depth Linux, you can directly read the "UNIX Environment Advanced Programming"
The Art of UNIX programming
Reviews: Personally think that the most exciting is the first 3 chapters, the History of Unix and the origin of the perfect display in front of the reader; This book is all about the culture of Unix, the history and design ideas of our common tools; When you're confused about the choice of VI and Emacs, When choosing between Python and Perl, you can refer to this book and you will get a pertinent suggestion.
Advanced Programming for the UNIX environment
Reviews: For the great work, I have always been fascinated, foreign authors generally can be the theory and the concept of a thorough and vivid; for this book, my point is: To say love you is not easy, it is a classic good book, but that dense typesetting format, that line of difficult words, let me again and again. Whenever there are technical difficulties, they can find the answer in the Stevens series. It is time to calm down, read it well, and then the permanent side of the case;
"UNIX Network Programming Volume 2"
Comment: Another name for the book: Unix System IPC Programming Bible
In the work, the need to use inter-process communication, and want to master the knowledge of IPC, the book is indispensable;
CPPUnit
The unit test tools currently used by the project team, and the current and future unit test code are built on the CPPUNIT framework;
Learn Cppunix, search the Web for an introduction, and then look at the unit test Code practice of the project team.
Linux Platform Development Guide