UNIX environment advanced programming UNIX Network Programming 12 which of the three books should I read first? Network Programming and web programming, pythontornado source code learning
Source: Internet
Author: User
I have been engaged in pythonWeb development for a year. Now I am confused. I mainly work on curd, that is, how to , and then present it to the front-end page. The framework uses django, optimization means adding memecache. Pay attention to this when querying the database. Currently, there are a lot of tangled issues: 1: the programming of process threads, how to use it in practice 2: network programming problems, the design and implementation of high-performance servers, I can't understand tornado's server code. 3: UNIX environment advanced programming U has been engaged in python Web development for a year. Now it is quite confused. It mainly involves curd, that is, how to retrieve data, and then shows it to the front-end page, the framework uses django to optimize memecache. Pay attention to this when querying the database.
There are many tangled points:
1: How to Use the programming of process threads in practice?
2: network programming problems, high-performance server design and implementation problems, look at tornado server code can not understand ah, I can imagine I am very good.
3: UNIX environment advanced programming UNIX Network Programming volume 1 2 which of the three books is better? Or should I read this book? I personally think that UNIX network programming can see the server design in the Directory and the thread process problems. Should I read this first?
In fact, I mainly want to understand torando's server design. There are many I/O, synchronous, asynchronous, and server designs. I don't want to only use web curd, otherwise it would be too uncompetitive (I don't know if web programming and network programming are a concept, but I don't think it is a concept .)
I don't know what I said above, because I am self-taught. Please advise me what's wrong.
Finally, I also read the simplest server code that comes with python. I can understand it. Basically, it is socket, and then it complies with WSGI specifications, but it certainly does not have any performance, reply: My suggestions are as follows:
1. first look at the diagram of TCP/IP capture key points. Understand connection-oriented, connectionless, tcp sticky, and udp bounded
2. Read the socket chapter of the linux/unix System Programming Manual, and call it a good book that surpasses apue. These chapters cover socket, select, poll, and epoll. Understanding the principles of select and poll, the advantages of epoll for high concurrency, the horizontal triggering and edge triggering of epoll
Difference, how to solve the problem of edge triggering starvation and so on.
3. Check tornado source code. It looks easier at this time. For example, in tornado, pipe is used as a waker, which is explained in the previous book.
4. Read valid TCP/IP...
5. Read tcp/ip details. Volume 1 and unix network programming.
The most typical book is the final recommendation, mainly to prevent you from getting too detailed at the beginning. unp is too thick and will scare you to death. When the capabilities are enough, we can only resonate with each other and gain a lot of benefits. For the basic network model, see unix Network Programming 1, which contains the echo server program multi-process version, multi-thread version, I/O reuse select and pool. Non-blocking web client programs and multi-threaded web client programs. I remember so much about it. I have read about 70%, but I haven't read some chapters, such as sctp chapters and database chapters.
Then let's take a look at Chen Shuo's multi-threaded Server programming. I am not familiar with c ++. Let's take a look at some chapters.
Thread, I read a posix multi-thread programming book after reading unix network programming. Many basic concepts, such as conditional variables, locks, and competing states
I think we should look at the source code to learn about high-performance servers. I am now reading lighttped, Which is IO multiplexing. You can also ask too much about it. The process threads are worth learning from the operating system.
I am also a beginner and a student. I feel that network programming is very difficult. I hope you can give me more advice.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.