As one of the most powerful disciplines among all the dark horse programmers, C / C ++ and network offensive and defensive disciplines have always been known for stable employment and high average salary. C / C ++, as a programming language, has a long history, is widely used, runs fast, and has high security. Learning C / C ++ can make a programmer more aware of the fundamentals of programming, while also allowing a programmer to work in this Going further in the industry. In view of the fact that many of the small partners who want to learn C / C ++ by themselves find the information too fragmented, I have summarized this learning roadmap for everyone. I hope everyone can learn C / C ++ systematically and efficiently and see more on the road to programming Scenery ~
The first stage of C language development
1. Learning objectives:
1) Possesses basic professional programming ability in C / C ++ field;
2) Complete project cases independently;
2. Knowledge points:
1) C language overview computer foundation; the first C language program; the meaning and compilation of C code; integrated development environment (vs, qt)
2) Programming basic constants and variables; hexadecimal conversion; operators; conditional control statements; arrays and strings
3) Basic concepts of function functions; common functions for string operations; custom functions
4) Definition of pointer pointer variables; pointers are basically used; pointers modified by const; the relationship between first-level pointers and array names; pointer method operates on array elements; pointers are used as function parameters; arrays are used as function parameters; pointers are used as function return values ; Pointer processing string
5) Scope and life cycle of memory management local variables; Scope and life cycle of static local variables; Scope and life cycle of global variables; Scope and life cycle of static global variables; Static functions and non-static functions Difference; memory partition; heap memory allocation (malloc) and free (free) 6) Basic usage of compound type structures; structure nested pointers and arrays; structures as function parameters; declaration and use of compound types 7) File operation file classification (text, binary); file opening and closing; file operation function; file read and write buffer concept
Easy to master C language video tutorial (you can learn by typing)
Full video: http://yun.itheima.com/course/369.html?2004zzpyk
Supporting information: https://pan.baidu.com/s/1UF3Va4zIozuwSoo7uzfHJw Password: ofh9
The second stage-C advanced programming
1. Learning objectives:
1) Master the usage of strings, one-dimensional arrays and two-dimensional arrays in C language;
2) Master the advanced usage of first-level pointer, second-level pointer and third-level pointer, understand the concept of N-level pointer, pointer array and array pointer;
3) Learn to use structures and documents;
4) C language interface package design.
2. Knowledge points:
1) Memory partition
Function call model data types, meanings of variables; characteristics of four memory areas; function call model; memory operation functions; macro definition and preprocessing
2) Basic use of pointer advanced pointer;
The concept of pointer step size; pointer profile assignment; pointers and multilevel pointers as the characteristics and use of function parameters; operation of strings through pointers; const type modifiers; logical operators of bits; shift operators; array pointers and pointers Array; multi-dimensional array as function parameters; structure nested first-level pointer; structure nested second-level pointer; shallow copy deep copy
3) Function pointer and callback function
The idea of encapsulation and design; three methods of function pointer definition; callback function
4) Data structure and linked list
Basic concepts of linked lists; related operations of single linked lists
5) Recursive function
The concept of recursive functions; the use of recursion
6) Data structure and algorithm
Basic concepts of Big O notation; linear table sequential storage and chained storage concepts; linear table sequential storage (array); linear table chained storage (linked list); queue order and chained storage; stack order and chained Storage; basic operation of binary tree; commonly used sorting algorithm
7) Interface packaging and design
Function packaging design; decoupling design concept; module realization and business separation
C language to improve the
depth of the simple video: http://yun.itheima.com/course/407.html?zzpyk
supporting materials: https://pan.baidu.com/s/1jhJplSj4-ZPzSecz1elr4A password: ov17
C language data structure training architect thinking
complete video: http://yun.itheima.com/course/428.html?zzpyk
supporting materials: https://pan.baidu.com/s/1C4cm3tVmR0Wea9q6ut-xYQ password: 4wi6
The third stage-C ++ core programming
1. Learning objectives:
1) Have basic knowledge and common skills in common C ++ direction.
2. Knowledge points:
1) C ++ extension to C, the use of namespaces that reference the C ++ language; C ++ extension to C; differences between const in C and C ++; definition and use of reference type variables
2) The default parameters of function overloading classes; C ++ function overloading; basic concepts of classes and objects; class encapsulation and access control permissions; simple programming of classes and objects
3) Class and object class constructor; class destructor; explicit keyword role; use of class copy constructor; deep copy and shallow copy problems; multiple object construction and destructor (initialization list)
4) Dynamic allocation and release of objects and dynamic allocation and release of objects; the use of static member variables and functions; the handling mechanism of member variables and member methods by the C ++ compiler; the use of this; friend functions; friend classes
5) Operator overloading Operator overloading concept; common operator overloading; custom smart pointer class; implement a custom String class
6) Class Inheritance and Derivation, Access Control in Polymorphic Inheritance; Construction and Destruction in Inheritance; Multi-Inheritance; Basic Concepts of Virtual Inheritance; Use of Polymorphism (Polymorphic Establishment Condition, Use Scenario); Distinguish Member Functions Rewriting and redefinition of the virtual function table pointer, step-by-step initialization; virtual function; pure virtual function; use of abstract classes; virtual destructor and pure virtual destructor
7) Design pattern principles for abstract programming and design patterns; commonly used design patterns
8) Basic syntax of function templates, class templates, function templates; calling rules of function templates and function overloads; compilation process of templates by compilers; concept and basic syntax of class templates; class templates in inheritance; ordinary friends in class templates Processing of function and friend function templates
9) Exception, I / O stream C ++ type conversion; C ++ standard exception library; exception throwing and catching; C ++ standard I / O stream (cin, cout); C ++ file I / O class usage
10) Principles of STLSTL containers and iterators; serial containers vector, string, deque; stack containers stack, queue; doubly linked list container list; associative container set, multiset; pair pair; associative container map, multimap; STL algorithm Detailed
C ++ core programming to create a
complete video of your core programming skills : http://yun.itheima.com/course/427.html?zzpyk
supporting materials: https://pan.baidu.com/s/1F_tvZX3h6MrlCl3U6RUJtA password: cka8
C ++ STL Advanced Tutorial | In-
depth publication of complete video: http://yun.itheima.com/course/434.html?zzpyk
Supporting materials: https://pan.baidu.com/s/1sli_-2F9IENir1ZeLjXRMQ Password: cj6j
The fourth stage-desktop application development
1. Learning objectives:
1) Have basic skills and common skills for common QT interface development;
2) Have basic skills and common skills for common MFC interface development;
2. Knowledge points:
1) The basic concepts of Qt commonly used controls Qt; Qt application framework; the application of Qt signals and slots; Qt window system; the use of common dialogs; Qt interface design; Qt event processing
2) Qt drawing and file operation QPainter drawing; update function; drawing equipment (QPixmap, QBitmap, QImage, QPicture); file operation
3) Basic concepts of MFC dialog box and common space Windows programming; Windows programming model; MFC application framework; creating MFC application; the role of MFC function Ex suffix and Afx prefix; creating dialog-based MFC application; Boxes and non-modal dialogs; commonly used controls
QT
complete video from entry to actual combat full version : http://yun.itheima.com/course/539.html?zzpyk
supporting materials: https://pan.baidu.com/s/196eBhivKbjDfZgZEDZ5SAQ extraction code: ammj
Step by step to create a
complete video of the -frameQT custom interface : http://yun.itheima.com/course/433.html?zzpyk
supporting materials: https://pan.baidu.com/s/1QpFmOEV6QgfJoMd3KsD0Pg extraction code: y4a8
The advanced MFC tutorial publishes a
complete video: http://yun.itheima.com/course/431.html?zzpyk
supporting materials: https://pan.baidu.com/s/1HgL5A033X-ZcA9zetr1cHA password: y0hj
The fifth stage-Linux system programming
1. Learning objectives:
1) Familiar with Linux development environment
2) Proficient in using Linux system interface
3) Master interprocess communication
2. Knowledge points:
1) Linux command directory structure under Linux; work schedule application command; software installation and uninstallation under Ubuntu;
2) Linux development and debugging tools operate in vim command mode; operate in vim last-line mode; vim configuration; gcc workflow and master common parameters; production and use of static libraries and shared libraries (windows dynamic libraries) under Linux ; Makefile; gdb debugging; pcb and file descriptors, virtual address space;
3) System I / O operation Linux system IO functions; blocking and non-blocking concepts; stat / lstat functions; file attribute related functions; link related concepts and functions; directory operation related concepts and functions; dup, dup2 functions; fcntl functions
4) Concepts related to processes and IPC communication processes; process operation related functions; orphan processes; zombie processes; process recycling; interprocess communication
5) Thread and concurrent synchronization mutex; deadlock and solution; read-write lock; condition variable; condition variable to achieve production consumer model; semaphore to achieve production consumer model; thread synchronization to solve the philosopher dining problem;
6) Basic concepts in signal signals; use signal-related functions; signal core implementation principles; signal capture functions signal, sigaction; use signals to complete the recovery of subprocesses; how to pass parameters when sending signals;
Learn linux?
Complete video from zero-based system programming : http://yun.itheima.com/course/430.html?zzpyk
Supporting materials: https://pan.baidu.com/s/17E_5UIK_naKCbSIy7IHVfg Password: 3l77
The sixth stage-Linux network programming
1. Learning objectives:
1) Familiar with the basic knowledge of network
2) TCP / IP protocol stack 3) Highly concurrent server development
2. Knowledge points:
1) Network protocol and network programming OSI seven-layer model structure; TCP / IP 4-layer model structure; comparison of advantages and disadvantages of B / S and C / S; common network protocol formats; sockets; network byte order; IP address conversion function ; Writing TCP C / S network program; UDP communication mechanism and model; local socket; three-way handshake connection process; four-way handshake disconnection process; sliding window concept; error handling function encapsulation; TCP state transition; 2MSL concept ; Port multiplexing method; half-closed;
2) High concurrent server development (poll, select and epoll) multi-channel IO transfer model; select function; fd_set related operation function; select multi-channel IO transfer model poll operation function; epoll multi-channel IO model; design of thread pool model Idea; multi-process concurrent server; multi-thread concurrent server; libevent library; epoll reactor model; use BufferEvent, evBuffer; multi-thread concurrent server;
The
complete video of network programming of linux collection series : http://yun.itheima.com/course/429.html?zzpyk
supporting materials: https://pan.baidu.com/s/1pNonADaGLktICkpeqTUCCQ password: yfyy
Phase 7-Project actual combat
1. Learning objectives:
1) Master the operation of commonly used databases in the project;
2) Master shell script programming;
3) Master the commonly used frameworks in the project;
4) Master the tool chain commonly used in the project;
2. Knowledge points:
1) Simple query of Oracle database programming; common functions of Oracle; multi-table query; set operation; DDL operation management table; DML management data; other database objects; Solve the Top-N problem;
2) Constraints of MySQL tables in MySQL database programming; Chinese garbled problems in MySQL; MySQL function library to connect to the database; MySQL API to access the database; use the basic API to implement the MySQL client tool; preprocessing API to access the MySQL database; use api to modify MySQL transaction characteristics;
3) MongoDB database programming MongoDB installation; related concepts of MongoDB; basic operation instructions of MongoDB; data operation and indexing operation of MongoDB; replica set of MongoDB; use of MongoDB C ++ API; general process of demand analysis; realization principle of demand case And design process; case program framework construction and deployment;
4) Redis cache database programming
5) Shell script programming
6) git-code version control tool
7) Construction and use of Nginx (web framework)
8) Configuration and use of fastDFS (distributed file system)
9) Continuous update. . . . . .
C ++ Relational Database Programming | 4 days from entry to mastering
full video: http://yun.itheima.com/course/435.html?zzpyk
Supporting information: https://pan.baidu.com/s/1O3UARlzP6yz0wNZK2WIO2g extraction code: sfw2
Complete video of MongoDB from configuration to programming
: http://yun.itheima.com/course/432.html?zzpyk
Supporting information: https://pan.baidu.com/s/13rHVy53uCNZuAumik2ojrQ Password: 8d5k
Technical dry goods-Linux Shell mastery
complete video: http://yun.itheima.com/course/448.html?2004zzpqq
Supporting information: https://pan.baidu.com/s/1Ss0JXNkjT6WuPw5rzc-KGQ extraction code: ziha