I have been wondering in what direction I should go. I have found myself lacking a lot since I read the framework of the great gods. Instead of learning what you don't know, you should start learning in a organized manner.
- Linux Command Line Environment
Common Linux Command usage, software installation, and VIM usage. The epel source is installed in a specific Linux version. You can use SSH to configure the public key and private key and remotely log on to the Linux host through SSH. For example, in windows, Putty is used to remotely log on to a Linux host. mtputty is a multi-label putty. puttygen is used to generate a public key and a private key, and pageant is used to add a private key proxy.
Learn to use SVN/git in Linux.
Familiar with C/C ++, GCC, G ++, GDB, cmake, clang, clang ++, etc.
Learn Python programming specifications and understand Python-related modules, such as ipython, Django, twisted, yaml, JSON, pymongo, markdown, pylint, tornado, xlrd, and xlwt, use Pip to install the python toolkit.
In game development, Lua uses a lot and learns the interaction between Lua and C ++.
- MongoDB Database
- MySQL database
- Network Programming
Understand the concepts of synchronous, asynchronous, blocking, and non-blocking.
Five I/O models in Linux:
1) block I/O (blocking I/O)
2) non-blocking I/O (nonblocking I/O)
3) I/O multiplexing (select, poll, epoll) (I/O multiplexing)
4) signal-driven I/O (signal driven I/O (sigio ))
5) asynchronous I/O (the POSIX aio_functions ))
The first four are synchronous, and the last one is asynchronous Io.
Understand c10k issues, learn libevent library usage, and epoll usage.
Game server path