The following technologies and tools are the foundation of the work on the Linux platform, proficient in:
C ++
The importance of working language is self-evident;
Entry:
C ++ primer, http://book.douban.com/subject/1767741/
Objective C ++ http://book.douban.com/subject/1842426/
This department is mainly engaged in application development. It does not have high technical requirements. It is proficient in C ++ and can cope with daily work.
If you are interested in the C ++ direction, there are still many good books waiting for reading:
Improvement:
STL source code analysis, http://book.douban.com/subject/1110934/
Creative STL http://book.douban.com/subject/1456960/.
OurCodeSTL is used a lot. The Container mainly involves vector and map,AlgorithmRelatively trivial
Design Pattern explanation http://book.douban.com/subject/1219912/
The path to my design patterns is from this book. Several examples explain the usage of the patterns and why they should be used (this may be more important ), however, the book also talked about 10 models, which are not enough. Interested in design patterns and recommended for beginners;
Design Patterns http://book.douban.com/subject/2111801/
This book is supposed to be a Bible in this field, but it is not all about it. Although it is classic, it is really patience to finish page by page. Unlike the style of writing books by foreigners, this book is very tired (personal opinion ). I think reading this book after having a certain understanding of most models will find many points of interest.
Vim
One of the most popular editors for Unix systems; usually, users log on to the server remotely through SSH; text editing is essential. You can select a skilled application in VI or Emacs based on your preferences;
VI Entry: Recommended # Vim entry guide
Makefile
On the Windows platform, we don't have to worry about the compilation sequence and links between each file. But on Unix systems, we have to do these tasks in person. It is necessary to master makefile.
Learning makefileArticleRecommendation: [Baidu search] makemakefile
Unix/Linux systems
As a student working in this environment, it is self-evident to be familiar with the importance of the system. The following are some recommended books for reference:
"Laruence's Linux house dish basic learning" http://book.douban.com/subject/2208530/
Comments: for students who have never been familiar with Linux, this book is a good news and uses common system commands and contexts in a humorous and easy language. For those who have no basic knowledge of Linux, we recommend
LinuxProgramDesign http://book.douban.com/subject/2073826/.
Comments: it is a reference book for coding in Linux. It is not very attractive. If you want to develop in depth on Linux, you can directly read "Advanced Programming in UNIX environment".
Unix programming art http://book.douban.com/subject/1467587/
Comments: I personally think the most exciting part is the first three chapters, which perfectly present the history and origins of UNIX to readers. This book is about promoting the Unix culture from start to end, clarify the history and design ideas of our commonly used tools. When you are confused about the VI and Emacs options, you can refer to this book when choosing between Python and Perl, you will get a pertinent suggestion.
UNIX environment advanced programming http://book.douban.com/subject/1788421/
Comments: I have always been fascinated by the huge book. foreign authors can generally give a thorough and vivid explanation of theories and concepts. For this book, my point of view is: it is not easy to love you; it is indeed a classic book, but the dense typographical format, that line of difficult text, let me again and again stuck. Whenever there are technical difficulties, you can find the answer in the Steven S series. It is time to calm down, read it well, and then stay at the side of the case;
UNIX Network Programming Volume 2 http://book.douban.com/subject/4118577/
Comments: Another name of the book: Unix system IPC programming Bible
This book is indispensable for the use of inter-process communication and the knowledge of IPC;
Cppunit
Unit test tools currently used by the project team; current and future unit test code are built on the cppunit framework;
to learn cppunix, search for an introduction on the Internet and view the unit test code practices of the project team.