Foundations of Python Network Programming (Foundations)
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Foundations of Python Network Programming (Foundations) | |||||||||||||||||||||||||||||
|
Foundations of Python Network Programming leads readers through every aspect of client and server programming with Python. Python is a new and innovative scripting language. It is set to replace Perl as the programming language of choice for scripters and for serious application developers wanting a feature rich yet simple language to deploy their products in. This book features extensive examples that not only demonstrate important concepts and practices, but also provide a cadre of fully-functional stand-alone programs. Readers can use the examples as the basis and building blocks for their own software. |
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 18 of 18 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 05-23-08 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I have no background with Python and limited understanding of networking. So my comments are from a rookie. So here they are:
1) Readable: technical enough but gets right to implementable examples. You can jump around in the book and find what you need with out having to read the whole thing. 2) Applicable: I used examples from the book to gain an understanding of my Linux system and my home network. 3) Python is free so use it. That is all. (Review Data Last Updated: 2008-10-07 06:42:41 EST)
|
|||||||||||||||||||||||||||||
| 12-19-07 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I'm giving this book 5 stars because I found it more useful than many books. There are some flaws, but overall I am happy that I own this book.
This book uses a teach by example technique as discussed in other chapters. It is oriented towards application developers that find themselves in need of python networking rather than networking people that need python. The book is overall clearly written and the examples are generally interesting. The author shows an advanced understanding of most of the subject matter. Chapter strength is fairly variant. On the other hand, it's pretty likely that you do not have knowledge of all the topics in this book and will learn something interesting by reading it. Cons: The chapter on HTML tag matching felt really weak. They tried to treat HTML as a regular language by using state machines to match it, when it's clearly context-free, then he started to add a stack but he had already lost my interest as the examples got fairly unwieldy. (Review Data Last Updated: 2008-05-23 05:31:10 EST)
|
|||||||||||||||||||||||||||||
| 04-11-07 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is a well presented, well paced introduction to network programming in Python. He presents programs both as interactive sessions (follow along in the comfort of home) and as scripts (programs) available to download from his web site at Apress.
It serves as a good, general purpose, introduction to network programming as wall as a Python-specific network programming tutorial. I do, however, have some complaints. Although the author attempts to present information in a platform-neutral manner, it is obvious that he is much more familiar with *nixes than with Windows. There are several minor factual errors in the Windows information he presents. [I have submitted these as error reports on the Apress web site.] Fortunately none of these disrupt the actual presentation. Experienced Windows programmers will be able to correct the mistakes on-the fly. As a minor example, Windows programmers know they can type "script.py" to run a python program even though Windows doesn't honor the #! line at the beginning of the script. My other complaint has to do with the use of PyDNS to discuss DNS issues. As far as I can tell PyDNS is dead, or at least it is dying. dnspython would have been a much better choice. However given that the book is three years old, I can't really fault the author for picking the wrong package -- it's happened to all of us at some point in our careers. And a truly minor quibble: he starts with an example of downloading a file using the gopher protocol. Do you have any idea how hard it is to find a gopher server now days (Review Data Last Updated: 2007-09-07 23:19:21 EST)
|
|||||||||||||||||||||||||||||
| 04-11-07 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is a well presented, well paced introduction to network programming in Python. He presents programs both as interactive sessions (follow along in the comfort of home) and as scripts (programs) available to download from his web site at Apress.
It serves as a good, general purpose, introduction to network programming as wall as a Python-specific network programming tutorial. I do, however, have some complaints. Although the author attempts to present information in a platform-neutral manner, it is obvious that he is much more familiar with *nixes than with Windows. There are several minor factual errors in the Windows information he presents. [I have submitted these as error reports on the Apress web site.] Fortunately none of these disrupt the actual presentation. Experienced Windows programmers will be able to correct the mistakes on-the fly. As a minor example, Windows programmers know they can type "script.py" to run a python program even though Windows doesn't honor the #! line at the beginning of the script. My other complaint has to do with the use of PyDNS to discuss DNS issues. As far as I can tell PyDNS is dead, or at least it is dying. dnspython would have been a much better choice. However given that the book is three years old, I can't really fault the author for picking the wrong package -- it's happened to all of us at some point in our careers. And a truly minor quibble: he starts with an example of downloading a file using the gopher protocol. Do you have any idea how hard it is to find a gopher server now days (Review Data Last Updated: 2007-04-12 19:34:18 EST)
|
|||||||||||||||||||||||||||||
| 04-11-07 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
It has everything you need to know about Networking Programming in Python. Easy to understand also. It can be made more detail and more advance for profesional use.
(Review Data Last Updated: 2007-12-19 22:56:27 EST)
|
|||||||||||||||||||||||||||||
| 04-10-07 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is a well presented, well paced introduction to network programming in Python. He presents programs both as interactive sessions (follow along in the comfort of home) and as scripts (programs) available to download from his web site at Apress.
It serves as a good, general purpose, introduction to network programming as wall as a Python-specific network programming tutorial. I do, however, have some complaints. Although the author attempts to present information in a platform-neutral manner, it is obvious that he is much more familiar with *nixes than with Windows. There are several minor factual errors in the Windows information he presents. [I have submitted these as error reports on the Apress web site.] Fortunately none of these disrupt the actual presentation. Experienced Windows programmers will be able to correct the mistakes on-the fly. As a minor example, Windows programmers know they can type "script.py" to run a python program even though Windows doesn't honor the #! line at the beginning of the script. My other complaint has to do with the use of PyDNS to discuss DNS issues. As far as I can tell PyDNS is dead, or at least it is dying. dnspython would have been a much better choice. However given that the book is three years old, I can't really fault the author for picking the wrong package -- it's happened to all of us at some point in our careers. And a truly minor quibble: he starts with an example of downloading a file using the gopher protocol. Do you have any idea how hard it is to find a gopher server now days (Review Data Last Updated: 2007-04-11 11:53:11 EST)
|
|||||||||||||||||||||||||||||
| 01-31-07 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Apress has two books on Python that I really like. This one and "Dive Into Python". The thing I like about this book is it delves into some deep concepts, like client/server code, but does so in such a way that even people new to Python should have no problem understanding it.
I have been a programmer for about 15 years, and made heavy use of Python for the last 5 or 6 years. My brother is new to programming. Both of us found this book to be very useful and easy to understand. I recommend it to programmers of all levels. (Review Data Last Updated: 2007-06-24 15:26:48 EST)
|
|||||||||||||||||||||||||||||
| 09-07-05 | 4 | 2\2 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book is offers very broad and detailed information about python's network features. It is very good written with many source examples. The only thing with this book (like many other python books) is, that this book was published early 2003. So things lik "SOAP" or "Twisted" are only scratched. This book really shows the fundamental features of python networking.
(Review Data Last Updated: 2007-06-24 15:26:48 EST)
|
|||||||||||||||||||||||||||||
| 12-29-04 | 5 | 9\9 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Clearly written with tons of practical examples. Mr. Goerzen has a very deep understanding of internet protocols, network programming, and the Python libraries. If you are ever going to use Python to send or receive emails, write web servers, or anything else you can think of that has to do with internet, you should not hesitate to buy this book, far and away the best Python network/internet book on the market.
(Review Data Last Updated: 2007-06-24 15:26:48 EST)
|
|||||||||||||||||||||||||||||
| 12-28-04 | 5 | 7\7 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Clearly written with tons of practical examples. Mr. Goerzen has a very deep understanding of internet protocols, network programming, and the Python libraries. If you are ever going to use Python to send or receive emails, write web servers, or anything else you can think of that has to do with internet, you should not hesitate to buy this book, far and away the best Python network/internet book on the market.
(Review Data Last Updated: 2006-07-07 12:41:53 EST)
|
|||||||||||||||||||||||||||||
| 11-05-04 | 5 | 5\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The author fills an important gap in writing this book. There are a lot of books about the programming language Python - good books and not so good books. These books surely are scratching the topic of network programming. But if you want to develop certain client-server applications in Python these books do not really help very much.
"Python Network Programming" explains this topic in detail starting with quite basic things up to special applications. A certain number of examples completes this well written book. (Review Data Last Updated: 2007-06-24 15:26:48 EST)
|
|||||||||||||||||||||||||||||
| 10-26-04 | 5 | 3\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
this book is awesome.
If you use Python, you will learn tons more. Even if you think you know a lot of Python, this book has a lot of great information. (Review Data Last Updated: 2006-07-07 12:41:53 EST)
|
|||||||||||||||||||||||||||||
| 10-20-04 | 5 | 15\15 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
For the time-crunched, in-need-of-a-quick-fix reader: This is an excellent, much-needed book. If you want to do network programming with Python or, for that matter, any scripting language (as many of the concepts here are basic, essential, and adaptable) buy this book and be happy. With clear code examples, concise text, and insightful attention to the needs of the target audience -- practical programmers in need of a quick intro -- John Goerzen dispenses with the dross and gives the reader a head-first survey of network programming.
The book's title hits the target audience but doesn't, however, precisely characterize the thrust of the text. "Foundations" implies a broad structure on which to build and this book certainly addresses network programming in a broad sweep. Yet the book had a feel more accurately described as "learning by example" than a "foundations" approach might traditionally imply. Basic concepts are given a cursory overview, but if you wish to get to the nitty gritty details of sockets, protocols or network services then look for that sort of foundation elsewhere. Here you will, instead, get a few terms covered in just a few pages and then you're presented with working examples of Python code. By no means should this be construed as an overall weakness. This observation is only made in order to clarify Foundation's approach: quick and cut-to-the-chase. Chapters are short, averaging a little over 19 pages, and the overall feel is that of a "cookbook" with an emphasis on gentle explanation. If what you want is to get up and running, leaving small details for later if necessary, then you've come to the right place. But perhaps "Python Network Programming by Example", or "The Joy of Python Network Programming", would be more fitting. The author, who has been a member of the Debian GNU/Linux development team since 1996 (the Unix/Linux bias shows slightly here, with some space devoted to to inetd and forking), does the learn-by-doing reader a great favor by providing copious working examples of readily grasped code which cover straightforward solutions to typical problems or situations with an emphasis -- a very nice emphasis -- on error-checking and recovery from the various hiccups of network programming. Nothing teaches like good code with astute attention paid to explaining key concepts and usual corner cases, and this is the case here. The writing style is a little dry. That said, the prose is both clear and concise and does a good job of speedily presenting new, potentially tricky concepts, another notable strength. Chapters five, "Advanced Network Operations", and seven, "XML and XML-RPC", are both good examples. The first five chapters, which form the first section, "Low-Level Networking", get the reader started with sockets, servers, and DNS. These are probably the only essential chapters of the book, especially if the reader is new to these topics, in that they reveal Python's general approach to networking within the standard library. After that the reader would do well to, more or less, hop around among the remaining chapters as needed. Part Two covers Web services, with some nice coverage of XHTML and XML parsing. Part Three addresses E-mail services: MIME, SMTP, POP, and IMAP. Part Four takes a general shot at FTP, database clients, and (a very brief) chapter on SSL. Part Five is on server-side frameworks, covering a three items, SocketServer, SimpleXMLRPCServer, and CGI, all which come as standard modules, along with an introduction to mod_python, which does not. Part Six is on multitasking, lending an overview of threading and forking, and asynchronous communication. That's a lot. Some subjects, like SSL and async, can't be covered in a great deal of detail given the space provided, and if this is your first exposure to these topics, you'll be left wanting. But you will be effectively introduced. The Twisted Framework (http://www.twistedmatrix.com) is discussed in Chapter 12, IMAP, which is nice, and is touched on again in the final chapter on async. It would have been nicer to see some more Twisted coverage, since Twisted is one of the most elegant and distinctly Pythonic approaches to networking, but there's material available on the Web and, again, this gets you pointed in the right direction. The only final criticism that might be leveled about the book is that, at times, some of the approaches don't seem particularly "Pythonic". The database client chapter, for example, doesn't cover the common Python approach of operater overloading, such as overloading __getitem__ in order to wrap a SQL SELECT statement. In this and certain other parts of the book, if you are not new to some only moderately advanced concepts in Python, then the reader will be able to see where certain choices were made between the notions of "Foundations" (and how foundational to be) and "Python" (and just how pythonic to get). Criticisms aside, this is a fine book, and a fine complement to Apress's rather excellent "Diving Into Python" by Mark Pilgrim. "Foundations" fills a fundamental need for this information to be aggregated into a cohesive resource, and the book's no-nonsense, effective approach should win over both new Python converts looking to implement their first network client or Web site, or experienced Pythonistas who desire quick information at their fingertips. I thoroughly enjoyed this book and I heartily recommend it. (Review Data Last Updated: 2006-07-07 12:41:53 EST)
|
|||||||||||||||||||||||||||||
| 10-20-04 | 5 | 11\11 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This title accidentally popped up while I was searching for some book covering web programming in Python; bookmarked the link and went on with my quest. Later on, I found what I was looking for (Python Web programming by New Riders) and decided to go back and glimpsed over the table of contents of the book that I'm reviewing now, "Foundations of Python Network Programming". Wow, what a surprise, I was really impressed by the wide coverage on network programming done by the author (even had some doubts at the beginning that this can't be done in a book with less than five hundred pages). Nevertheless, ordered the book and now I'm half way through it (the other book mentioned will have to wait :-). I can hardly think of a major topic about network programming, that is not covered in it, at least in some amount. Considering, otherwise vast area and complexity of network programming, this certainly is a great achievement by the author and a true testimonial on efficiency of Python language.
Author has chosen a tutorial approach; quick introduction, example, commentary of the code, some more examples and comments, conclusion. No fluff and bluff. On top of that technical reviewer has done a superb job, so far I didn't find any typos or non working code samples. Rare for a technical book nowadays but great for a change. I'm more or less python newbie with little or no background on programming with TCP/IP socket interface, so the first few chapters that are dealing with client/server sockets are more or less new to me (at least I know where to look up first if the need to program on this level arise), chapters covering programming different net clients are more familiar to me, and of the most interest, since this kind of stuff is more likely to cross my path. I think that intermediate level pythonists with some background on network programming and good skills to search the web for more in depth articles/documentation will benefit reading this book the most. Not to say that your Python library should be without this title if you're newbie like me, on contrary, you'll be glad to have this kind of a book at hand when you'll need it - and believe me you'll, sooner or later - just don't expect from a single source of information to become instant network hacker. Highly recommended! (Review Data Last Updated: 2006-07-07 12:41:53 EST)
|
|||||||||||||||||||||||||||||
| 10-19-04 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The Foundations of Python Network Programming by John Goerzen covers the material it sets out to tackle very well. If you are in its target audience, that is, someone who already has python programming knowledge and wishes a good introduction to network programming the python way, then this book is ideal.
Goerzen's style is no-nonsense and information packed. Starting from the lowest level of operating directly on network ports and progressing gradually through to the available high level frameworks and libraries (both those within python's standard library and widely used third party solutions like the twisted.net libraries), the book progresses through a combination of thorough and straightforward explanations, important hints and useful task based examples. This book's focus is completely on giving you the practical information and techniques you will need for implementing your own networked applications. Since reading this book I've already quickly implemented a small client-server application, and have begun work on a more complex networked application, and the information presented here has helped me do it the right way from the start, without wasting time making the many simple mistakes possible for the uninitiated or inexperienced in this area of programming. If you can program in python and are looking to hit the ground running on any kind of network programming project I highly recommend this book. (Review Data Last Updated: 2006-07-07 12:41:53 EST)
|
|||||||||||||||||||||||||||||
| 10-15-04 | 5 | 5\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
As a networking consultant I have a good deal of experience with networking programs and protocols. I have also programmed in Python to meet some basic needs for processing web site input. If you want to move several steps beyond basic Python programming into the realm of network programming you will find this book one of the best resources available today. The coverage of networking with Python is very thorough and includes TCP/IP and UDP protocols, sockets, server connections, DNS queries, broadcast data, Ipv6, web client access, parsing, working with xml, email, MIME, SMTP, SSL, POP, IMAP, FTP, SQL databases, SocketServer, SimpleXMLRPCServer, CGI, mod_python, multitasking, and asynchronous communication. As is typical of Apress books, there is a lot of specific code examples to help the reader see exactly how it should be done.
Foundations of Python Networking Programming is highly recommended if you already have a familiarity with networking concepts and basic Python programming. This is a second level book that should be used to extend your knowledge and programming skills after first learning the basics of Python with something like Diving Into Python. (Review Data Last Updated: 2006-07-07 12:41:53 EST)
|
|||||||||||||||||||||||||||||
| 10-12-04 | 5 | 12\13 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The great thing about this book is that it shows both the client and server, in a high-level language (Python), of a variety of different protocols. In this way you learn about the architecture of the protocols, as well as how to use Python to implement them. The book covers XML-RPC, IMAP, HTTP, FTP, among others. It also includes information on high performance web server python through mod_python.
The book is very focused on the code. There are no illustrations. And the text is mainly just a binder to walk you around through the code. This book makes an excellent addition to your Python bookshelf. Additionally you may want to have a look at this book if you are interested in the protocols even if the implementation isn't in Python, since Python is very clear and easily translatable into other languages. (Review Data Last Updated: 2006-07-07 12:41:53 EST)
|
|||||||||||||||||||||||||||||
| 09-19-04 | 4 | 5\12 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
In any computer language, network programming can be a miserable task. Witness the classic BSD and System V sockets and their usages under unix of the 1980s. Very powerful, yes. But equivalent to writing in assembly. Which brings us to one of the major attractions of a recent language like Python.
If you learn best by example, then Goerzen may have done you a big favour. In some 175 example programs, he shows many ways to reach out across a network with Python. The book is not heavy on any abstruse theory or model. No talk of patterns or refactoring. But in fact, you can choose to regard some of the programs as equivalent to patterns of network usage under the language. Each chapter gives nontrivial code. You can see how Python comes with many routines that subsume grotty low level network details. Reduces the level of complexity that you have to deal with, and so improves your productivity with Python. The book's blurb says Python is replacing Perl. Really? That should be taken with several grains of salt. I'll leave it to other reviewers to take up this point. The only problem I have is with one aspect of Python. Not the author's fault, of course. But statements do not have to be terminated with a semicolon?! Crikey. C, C++, Pascal, Java and C# all enforce a semicolon. Not doing so takes us back to Fortran. Yeah, I know, once you get into coding Python, you get used to this. Purely a stylistic gripe. But still... (Review Data Last Updated: 2006-07-07 12:41:53 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 18 of 18 | |||||||||||||||||||||||||||||
| All Books | Arts | Biography | Click Here For An A-Z Index Of All 213 Best-Seller Subjects | Business | Children's | Comics | ||||||
| Computers | Cooking | Engineering | Entertainment | Health | History | Home | Horror | Humor | Law | Fiction | Medicine | Mystery |
| Nonfiction | Outdoors | Parenting | Professional | Reference | Religion | Romance | Science | Sci-Fi | Sports | Teens | Travel | |