Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet
Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
|
 |
Foundations of Python Network Programming (Foundations) |
List Price: $44.99
Your Price: $29.69 |
 |
|
|
Product Info |
Reviews |
<< 1 >>
Rating:  Summary: Great book, highly recommended Review: 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.
Rating:  Summary: Superb Review: 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.
Rating:  Summary: This is an Essential Python Book Review: 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.
Rating:  Summary: easy network programming Review: 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...
Rating:  Summary: Book fills in an a gap Review: 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.
Rating:  Summary: Solid thorough and useful. Review: 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.
Rating:  Summary: Client and server on a range of protocols Review: 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.
Rating:  Summary: Excellent! Review: 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.
Rating:  Summary: A review by an accidental reader - the lucky one :-) Review: 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!
<< 1 >>
|
|
|
|