﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:book="http://www.netyi.net"><channel><title>其它语言_程序设计与WEB开发_计算机类_最新资料_得益网</title><link>http://www.netyi.net/Category/294</link><description>其它语言_程序设计与WEB开发_计算机类_最新资料_得益网</description><copyright /><generator>得益网</generator>
<item><title>css商业网站布局之道 第一章</title><link>http://www.netyi.net/training/5db9d1b0-5f8f-4e67-a7ed-d35d45c864e2</link><description>css商业网站布局之道 </description><pubDate>2008-09-03 15:31:39</pubDate></item>
<item><title>OReilly.Learning.Perl.5th.Edition.Jul</title><link>http://www.netyi.net/training/49f825df-89a3-4cc6-b98f-9adcf7a75f88</link><description>Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi&lt;br/&gt;1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1&lt;br/&gt;Questions and Answers 1&lt;br/&gt;What Does “Perl” Stand For? 4&lt;br/&gt;How Can I Get Perl? 8&lt;br/&gt;How Do I Make a Perl Program? 12&lt;br/&gt;A Whirlwind Tour of Perl 16&lt;br/&gt;Exercises 17&lt;br/&gt;2. Scalar Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19&lt;br/&gt;Numbers 19&lt;br/&gt;Strings 22&lt;br/&gt;Perl’s Built-in Warnings 26&lt;br/&gt;Scalar Variables 27&lt;br/&gt;Output with print 29&lt;br/&gt;The if Control Structure 33&lt;br/&gt;Getting User Input 34&lt;br/&gt;The chomp Operator 35&lt;br/&gt;The while Control Structure 36&lt;br/&gt;The undef Value 36&lt;br/&gt;The defined Function 37&lt;br/&gt;Exercises 38&lt;br/&gt;3. Lists and Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39&lt;br/&gt;Accessing Elements of an Array 40&lt;br/&gt;Special Array Indices 41&lt;br/&gt;List Literals 41&lt;br/&gt;List Assignment 43&lt;br/&gt;Interpolating Arrays into Strings 46&lt;br/&gt;The foreach Control Structure 47&lt;br/&gt;Scalar and List Context 49&lt;br/&gt;v&lt;br/&gt;&amp;amp;lt;STDIN&amp;amp;gt; in List Context 52&lt;br/&gt;Exercises 54&lt;br/&gt;4. Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55&lt;br/&gt;Defining a Subroutine 55&lt;br/&gt;Invoking a Subroutine 56&lt;br/&gt;Return Values 56&lt;br/&gt;Arguments 58&lt;br/&gt;Private Variables in Subroutines 60&lt;br/&gt;Variable-Length Parameter Lists 60&lt;br/&gt;Notes on Lexical (my) Variables 63&lt;br/&gt;The use strict Pragma 64&lt;br/&gt;The return Operator 65&lt;br/&gt;Nonscalar Return Values 67&lt;br/&gt;Persistent, Private Variables 68&lt;br/&gt;Exercises 69&lt;br/&gt;5. Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71&lt;br/&gt;Input from Standard Input 71&lt;br/&gt;Input from the Diamond Operator 73&lt;br/&gt;The Invocation Arguments 75&lt;br/&gt;Output to Standard Output 76&lt;br/&gt;Formatted Output with printf 79&lt;br/&gt;Filehandles 81&lt;br/&gt;Opening a Filehandle 83&lt;br/&gt;Fatal Errors with die 86&lt;br/&gt;Using Filehandles 88&lt;br/&gt;Reopening a Standard Filehandle 90&lt;br/&gt;Output with say 90&lt;br/&gt;Exercises 91&lt;br/&gt;6. Hashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93&lt;br/&gt;What Is a Hash? 93&lt;br/&gt;Hash Element Access 96&lt;br/&gt;Hash Functions 100&lt;br/&gt;Typical Use of a Hash 103&lt;br/&gt;The %ENV hash 104&lt;br/&gt;Exercises 105&lt;br/&gt;7. In the World of Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107&lt;br/&gt;What Are Regular Expressions? 107&lt;br/&gt;Using Simple Patterns 108&lt;br/&gt;Character Classes 113&lt;br/&gt;vi | Table of Contents&lt;br/&gt;Exercises 115&lt;br/&gt;8. Matching with Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117&lt;br/&gt;Matches with m// 117&lt;br/&gt;Option Modifiers 118&lt;br/&gt;Anchors 120&lt;br/&gt;The Binding Operator, =~ 121&lt;br/&gt;Interpolating into Patterns 122&lt;br/&gt;The Match Variables 123&lt;br/&gt;General Quantifiers 129&lt;br/&gt;Precedence 130&lt;br/&gt;A Pattern Test Program 132&lt;br/&gt;Exercises 132&lt;br/&gt;9. Processing Text with Regular Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135&lt;br/&gt;Substitutions with s/// 135&lt;br/&gt;The split Operator 138&lt;br/&gt;The join Function 139&lt;br/&gt;m// in List Context 140&lt;br/&gt;More Powerful Regular Expressions 140&lt;br/&gt;Exercises 147&lt;br/&gt;10. More Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149&lt;br/&gt;The unless Control Structure 149&lt;br/&gt;The until Control Structure 150&lt;br/&gt;Expression Modifiers 151&lt;br/&gt;The Naked Block Control Structure 152&lt;br/&gt;The elsif Clause 153&lt;br/&gt;Autoincrement and Autodecrement 154&lt;br/&gt;The for Control Structure 155&lt;br/&gt;Loop Controls 158&lt;br/&gt;The Ternary Operator, ?: 162&lt;br/&gt;Logical Operators 164&lt;br/&gt;Exercises 168&lt;br/&gt;11. Perl Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169&lt;br/&gt;Finding Modules 169&lt;br/&gt;Installing Modules 170&lt;br/&gt;Using Simple Modules 171&lt;br/&gt;Exercise 177&lt;br/&gt;12. File Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179&lt;br/&gt;File Test Operators 179&lt;br/&gt;Table of Contents | vii&lt;br/&gt;The stat and lstat Functions 186&lt;br/&gt;The localtime Function 187&lt;br/&gt;Bitwise Operators 188&lt;br/&gt;Exercises 189&lt;br/&gt;13. Directory Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191&lt;br/&gt;Moving Around the Directory Tree 191&lt;br/&gt;Globbing 192&lt;br/&gt;An Alternate Syntax for Globbing 193&lt;br/&gt;Directory Handles 194&lt;br/&gt;Recursive Directory Listing 195&lt;br/&gt;Manipulating Files and Directories 195&lt;br/&gt;Removing Files 196&lt;br/&gt;Renaming Files 197&lt;br/&gt;Links and Files 198&lt;br/&gt;Making and Removing Directories 203&lt;br/&gt;Modifying Permissions 205&lt;br/&gt;Changing Ownership 205&lt;br/&gt;Changing Timestamps 206&lt;br/&gt;Exercises 206&lt;br/&gt;14. Strings and Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209&lt;br/&gt;Finding a Substring with index 209&lt;br/&gt;Manipulating a Substring with substr 210&lt;br/&gt;Formatting Data with sprintf 212&lt;br/&gt;Advanced Sorting 214&lt;br/&gt;Exercises 219&lt;br/&gt;15. Smart Matching and given-when . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221&lt;br/&gt;The Smart Match Operator 221&lt;br/&gt;Smart Match Precedence 224&lt;br/&gt;The given Statement 225&lt;br/&gt;when with Many Items 229&lt;br/&gt;Exercises 230&lt;br/&gt;16. Process Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233&lt;br/&gt;The system Function 233&lt;br/&gt;The exec Function 236&lt;br/&gt;The Environment Variables 237&lt;br/&gt;Using Backquotes to Capture Output 238&lt;br/&gt;Processes as Filehandles 241&lt;br/&gt;Getting Down and Dirty with Fork 243&lt;br/&gt;Sending and Receiving Signals 244&lt;br/&gt;viii | Table of Contents&lt;br/&gt;Exercises 246&lt;br/&gt;17. Some Advanced Perl Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249&lt;br/&gt;Trapping Errors with eval 249&lt;br/&gt;Picking Items from a List with grep 252&lt;br/&gt;Transforming Items from a List with map 253&lt;br/&gt;Unquoted Hash Keys 254&lt;br/&gt;Slices 254&lt;br/&gt;Exercise 259&lt;br/&gt;A. Exercise Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261&lt;br/&gt;B. Beyond the Llama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295&lt;br/&gt;Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315</description><pubDate>2008-08-29 22:41:55</pubDate></item>
<item><title>WAP网站实例解析</title><link>http://www.netyi.net/training/18c76c01-4181-4a7f-a071-4ad5041ff22b</link><description>第一章会员登录网页&lt;br/&gt;1-1WAP网站一定要有个人化&lt;br/&gt;1-2如何建立WAP入口网站的个人化设置&lt;br/&gt;第二章生活宅急便&lt;br/&gt;2-1网络花店&lt;br/&gt;2-2旅馆订房&lt;br/&gt;2-3在线租车&lt;br/&gt;2-4餐厅订位&lt;br/&gt;2-5在线租片&lt;br/&gt;第三章任我行交通网&lt;br/&gt;3-1即时路况查询&lt;br/&gt;3-2公交车路线查询&lt;br/&gt;3-3火车时刻表查询及订票&lt;br/&gt;3-4航班查询及订位&lt;br/&gt;3-5捷运票价查询&lt;br/&gt;第四章生活博士&lt;br/&gt;4-1随身食谱&lt;br/&gt;4-2购物指南&lt;br/&gt;第五章滚钱专家&lt;br/&gt;5-l股市查询&lt;br/&gt;5-2期货查询&lt;br/&gt;5-3投资指南&lt;br/&gt;第六章小蜗牛的家&lt;br/&gt;6-1租屋查询&lt;br/&gt;第七章WAPMail&lt;br/&gt;7-1电子邮件收发&lt;br/&gt;第二篇WAP执行环境建置&lt;br/&gt;第八章WAP网站架设&lt;br/&gt;8-1WindowsNT＆IIS的WAP网站架设&lt;br/&gt;8-2Linux＆Apache的WAP网站架设&lt;br/&gt;第九章摸拟器安装及使用&lt;br/&gt;9-1EricssonWapIDE&lt;br/&gt;9-2NokiaWapToolkit&lt;br/&gt;9-3其他模拟器安装及使用&lt;br/&gt;第十章开发工具建置&lt;br/&gt;10-1ASP环境建置&lt;br/&gt;10-2PHP环境建置&lt;br/&gt;10-3JDK环境建置&lt;br/&gt;10-4JSP及Servlet环境建置&lt;br/&gt;第十一章网络花店（JSP+SQLServer）&lt;br/&gt;11-1信息源建置——SQLServer7.0数据库建置&lt;br/&gt;11-2程序编写&lt;br/&gt;第十二章旅馆订房（JSP+SQLServer）&lt;br/&gt;12-1信息源建置&lt;br/&gt;12-2程序编写&lt;br/&gt;第十三章即时路况查询（JSP+textfile）&lt;br/&gt;13-1信息源建置及网页规划&lt;br/&gt;13-2程序编写&lt;br/&gt;第十四章火车时刻表查询及订票（ASP+SQLServer）&lt;br/&gt;14-1信息源建置&lt;br/&gt;14-2程序编写&lt;br/&gt;第十五章捷运票价查询（JavaServlet+textfile）&lt;br/&gt;15-1信息源规划&lt;br/&gt;15-2程序编写&lt;br/&gt;第十六章随身食谱（JSP+SQLServer）&lt;br/&gt;16-1信息源建置&lt;br/&gt;16-2程序编写&lt;br/&gt;第十七章股市查询（ASP+VisualBasic）&lt;br/&gt;17-1信息源建置&lt;br/&gt;17-2程序编写&lt;br/&gt;第十八章投资指南（PHP语言）（PHP+Textfile）&lt;br/&gt;18-1情息源建置&lt;br/&gt;18-2程序编写&lt;br/&gt;第十九章租屋查询（ASP+SQLServer）&lt;br/&gt;19-1信息源建置&lt;br/&gt;19-2程序编写&lt;br/&gt;第二十章电子邮件收发（PHP+Mailserver）&lt;br/&gt;20-1发信程序编写&lt;br/&gt;20-2收信程序编写</description><pubDate>2008-08-26 10:47:48</pubDate></item>
<item><title>Prentice.Hall.A.Practical.Guide.To.Linux.Commands.Editors.And.Shell.Programming.2005</title><link>http://www.netyi.net/training/f3ba277e-343a-4755-b002-897a22770cb7</link><description> Copyright &lt;br/&gt;     Praise for Mark Sobell's Books &lt;br/&gt;     Preface &lt;br/&gt;        Command line interface (CLI) &lt;br/&gt;        Linux distributions &lt;br/&gt;        Overlap &lt;br/&gt;        Audience &lt;br/&gt;        Benefits &lt;br/&gt;        Features Of This Book &lt;br/&gt;        Contents &lt;br/&gt;        Supplements &lt;br/&gt;        Thanks &lt;br/&gt;       Chapter 1.  Welcome to Linux &lt;br/&gt;        Free beer &lt;br/&gt;        The Gnu–Linux Connection &lt;br/&gt;        The Heritage of Linux: Unix &lt;br/&gt;        What is so good about linux? &lt;br/&gt;        Overview of Linux &lt;br/&gt;        Additional Features of Linux &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;     Part I.  The Linux Operating System &lt;br/&gt;          Chapter 2.  Getting Started &lt;br/&gt;        Conventions Used in This Book &lt;br/&gt;        Logging In &lt;br/&gt;        Working with the Shell &lt;br/&gt;        Curbing Your Power: Superuser Access &lt;br/&gt;        Getting the Facts: Where to Find Documentation &lt;br/&gt;        More About Logging In &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;          Chapter 3.  Command Line Utilities &lt;br/&gt;        Special Characters &lt;br/&gt;        Basic Utilities &lt;br/&gt;        Working with Files &lt;br/&gt;        | (Pipe): Communicates Between Processes &lt;br/&gt;        Four More Utilities &lt;br/&gt;        Compressing and Archiving Files &lt;br/&gt;        Locating Commands &lt;br/&gt;        Obtaining User and System Information &lt;br/&gt;        Communicating with Other Users &lt;br/&gt;        Email &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;          Chapter 4.  The Linux Filesystem &lt;br/&gt;        The Hierarchical Filesystem &lt;br/&gt;        Directory and Ordinary Files &lt;br/&gt;        Working with Directories &lt;br/&gt;        touch &lt;br/&gt;        Access peremissions &lt;br/&gt;        Links &lt;br/&gt;        Chapter summary &lt;br/&gt;        Exercises &lt;br/&gt;        ADVANCED EXERCISES &lt;br/&gt;          Chapter 5.  The Shell &lt;br/&gt;        The Command Line &lt;br/&gt;        Standard Input and Standard Output &lt;br/&gt;        Running a Program in the Background &lt;br/&gt;        Filename Generation/Pathname Expansion &lt;br/&gt;        Builtins &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;     Part II.  The Editors &lt;br/&gt;          Chapter 6.  The vim Editor &lt;br/&gt;        History &lt;br/&gt;        Tutorial: Creating and Editing a File with vim &lt;br/&gt;        The compatible Parameter &lt;br/&gt;        Introduction to vim Features &lt;br/&gt;        Command Mode: Moving the Cursor &lt;br/&gt;        Input Mode &lt;br/&gt;        Command Mode: Deleting and Changing Text &lt;br/&gt;        Searching and Substituting &lt;br/&gt;        Miscellaneous Commands &lt;br/&gt;        Yank, Put, and Delete Commands &lt;br/&gt;        Reading and Writing Files &lt;br/&gt;        Setting Parameters &lt;br/&gt;        Advanced Editing Techniques &lt;br/&gt;        Units of Measure &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;          Chapter 7.  The emacs Editor &lt;br/&gt;        History &lt;br/&gt;        Tutorial: Getting Started with emacs &lt;br/&gt;        Basic Editing Commands &lt;br/&gt;        Online Help &lt;br/&gt;        Advanced Editing &lt;br/&gt;        Language-Sensitive Editing &lt;br/&gt;        More Information &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;     Part III.  THE SHELLS &lt;br/&gt;          Chapter 8.  The Bourne Again Shell &lt;br/&gt;        Background &lt;br/&gt;        Shell Basics &lt;br/&gt;        Parameters and Variables &lt;br/&gt;        Processes &lt;br/&gt;        History &lt;br/&gt;        Aliases &lt;br/&gt;        Functions &lt;br/&gt;        Controlling bash Features and Options &lt;br/&gt;        Processing The Command Line &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;          Chapter 9.  The Tc Shell &lt;br/&gt;        Assignment statement &lt;br/&gt;     Part IV.  Programming Tools &lt;br/&gt;          Chapter 10.  Programming Tools &lt;br/&gt;        Programming In C &lt;br/&gt;        Using Shared Libraries &lt;br/&gt;        make: Keeps a Set of Programs Current &lt;br/&gt;        Debugging C Programs &lt;br/&gt;        Threads &lt;br/&gt;        System Calls &lt;br/&gt;        Source Code Management &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;          Chapter 11.  Programming The Bourne Again Shell &lt;br/&gt;        Control Structures &lt;br/&gt;        file Descriptors &lt;br/&gt;        Parameters And Variables &lt;br/&gt;        Builtin Commands &lt;br/&gt;        Expressions &lt;br/&gt;        Shell Programs &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;          Chapter 12.  The gawk Pattern Processing Language &lt;br/&gt;        Syntax &lt;br/&gt;        Arguments &lt;br/&gt;        Options &lt;br/&gt;        Notes &lt;br/&gt;        Language Basics &lt;br/&gt;        Examples &lt;br/&gt;        Error Messages &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;        Advanced Exercises &lt;br/&gt;          Chapter 13.  The sed Editor &lt;br/&gt;        Syntax &lt;br/&gt;        Arguments &lt;br/&gt;        Options &lt;br/&gt;        Editor Basics &lt;br/&gt;        Examples &lt;br/&gt;        Chapter Summary &lt;br/&gt;        Exercises &lt;br/&gt;     Part V.  Command Reference &lt;br/&gt;          Command Reference &lt;br/&gt;        Utilities That Display and Manipulate Files &lt;br/&gt;        Network Utilities &lt;br/&gt;        Utilities That Display and Alter Status &lt;br/&gt;        Utilities That Are Programming Tools &lt;br/&gt;        Miscellaneous Utilities &lt;br/&gt;        Standard Multiplicative Suffixes &lt;br/&gt;        Common Options &lt;br/&gt;        The sample Utility &lt;br/&gt;     Part VI.  Appendixes &lt;br/&gt;          Appendix A.  Regular Expressions &lt;br/&gt;        Characters &lt;br/&gt;        Delimiters &lt;br/&gt;        Simple Strings &lt;br/&gt;        Special Characters &lt;br/&gt;        Rules &lt;br/&gt;        Bracketing Expressions &lt;br/&gt;        The Replacement String &lt;br/&gt;        Extended Regular Expressions &lt;br/&gt;        Appendix Summary &lt;br/&gt;          Appendix B.  Help &lt;br/&gt;        Solving A Problem &lt;br/&gt;        Finding Linux-Related Information &lt;br/&gt;        Specifying a Terminal &lt;br/&gt;          Appendix C.  Keeping The System Up-To-Date &lt;br/&gt;        yum: Updates And Installs Packages &lt;br/&gt;        APT: An Alternative To yum &lt;br/&gt;        BitTorrent &lt;br/&gt;     Glossary &lt;br/&gt;</description><pubDate>2008-08-24 16:50:31</pubDate></item>
<item><title>战胜Javascript必做练习50题</title><link>http://www.netyi.net/training/1720776a-4ece-43d6-8645-abe208e89132</link><description>【内容简介】&lt;br/&gt;　　本书以50个精选的Javascript程序实例作为练习，每个例子均有详细的操作步骤，并附有针对性很强的思考题，有助于读者快速巩固和提高自己的Javascript编程水平。&lt;br/&gt;　　在内容编排上，本书将50个练习按照浏览器相关、页面特效、时间日期、图形图像Cookie，菜单特效、鼠标特效、综合技巧和游戏编程分类，同时又兼顾了从易到难、由浅入深的一般学习顺序。&lt;br/&gt;　　本书主要面向具有一定Javascript和HTML语言基础，能够读懂简单的Javascript脚本程序，希望进一步提高Javascript编程水平的初、中级读者。同时，本书的50个练习中，也不乏功能强大，设计精妙的程序实例，对高水平的读者亦有参考价值。希望各个层次的读者都能在本书中有所收获。&lt;br/&gt;　　本书含1张教学光盘。&lt;br/&gt;【下载说明】&lt;br/&gt;　　Javascript在交互式网页设计中历来占有举足轻重的地位。近年来，随着Ajax技术的兴起，作为其核心技术之一的Javascript更是在Web开发中备受推崇，甚至在最近火爆的网页游戏开发中也大展拳脚，因此学好Javascript对于Web设计人员是极其重要的。《战胜Javascript必做练习50题》是针对Javascript这一门实践性极强技术的优秀教材，本资料为该书PDF格式的清晰电子版，可用Adobe Reader 7.0或兼容阅读工具打开，强烈推荐Web设计人员下载！&lt;br/&gt;【图书目录】&lt;br/&gt;练习1 Title栏特效&lt;br/&gt;练习2 模拟街霸&lt;br/&gt;练习3 检测浏览器信息并跳转到相应页面&lt;br/&gt;练习4 表单检验&lt;br/&gt;练习5 页面的百叶窗打开效果&lt;br/&gt;练习6 页面放射性收缩打开&lt;br/&gt;练习7 页面的马赛克打开特效&lt;br/&gt;练习8 COOL电子表&lt;br/&gt;练习9 机械手表(一) &lt;br/&gt;练习10 节日提示&lt;br/&gt;练习11 袖珍日历&lt;br/&gt;练习12 鼠标经过时变换图像&lt;br/&gt;练习13 漂浮的图像&lt;br/&gt;练习14 雪花飞舞&lt;br/&gt;练习15 落叶飘飘&lt;br/&gt;练习16 多媒体播放&lt;br/&gt;练习17 以任意格式打开新窗口&lt;br/&gt;练习18 科学计算器&lt;br/&gt;练习19 滤镜效果&lt;br/&gt;练习20 状态栏特效(一) &lt;br/&gt;练习21  状态栏特效(二)  &lt;br/&gt;练习22  记录用户访问次数 &lt;br/&gt;练习23  记录上次访问时间 &lt;br/&gt;练习24  系统详细信息检测 &lt;br/&gt;练习25  配图游戏 &lt;br/&gt;练习26  走迷宫(一)  &lt;br/&gt;练习27  走迷宫(二)  &lt;br/&gt;练习28  测试鼠标点击速度 &lt;br/&gt;练习29  测试打字速度 &lt;br/&gt;练习30  折叠式菜单 &lt;br/&gt;练习31  下拉式菜单 &lt;br/&gt;练习32  隐藏菜单 &lt;br/&gt;练习33  淡入淡出菜单 &lt;br/&gt;练习34  仿OICQ菜单 &lt;br/&gt;练习35  在线考试(一)  &lt;br/&gt;练习36  在线考试(二)  &lt;br/&gt;练习37  图像跟随鼠标 &lt;br/&gt;练习38  图像围绕鼠标旋转 &lt;br/&gt;练习39  跟随鼠标的字符 &lt;br/&gt;练习40  跟随鼠标的流星雨 &lt;br/&gt;练习41  鼠标礼花 &lt;br/&gt;练习42  探照灯效果 &lt;br/&gt;练习43  搜索引擎接口 &lt;br/&gt;练习44  危险程序 &lt;br/&gt;练习45  猜数字 &lt;br/&gt;练习46  汉诺塔问题 &lt;br/&gt;练习47  给源代码加密 &lt;br/&gt;练习48  俄罗斯方块(一)  &lt;br/&gt;练习49  俄罗斯方块(二)  &lt;br/&gt;练习50  俄罗斯方块(三)  &lt;br/&gt;</description><pubDate>2008-08-21 22:15:45</pubDate></item>
<item><title>Beginning Game Development with Python and Pygame</title><link>http://www.netyi.net/training/f9036693-be8c-4236-9251-35309e1d66af</link><description> Product Description&lt;br/&gt;&lt;br/&gt;Like music and movies, video games are rapidly becoming an integral part of our lives. Over the years, you’ve yearned for every new gaming console, mastered each blockbuster within weeks after its release, and have even won a local gaming competition or two. But lately you’ve been spending a lot of time thinking about a game idea of your own, or are exploring the possibility of making a career of this vibrant and growing industry. But where should you begin?&lt;br/&gt;&lt;br/&gt;Beginning Game Development with Python and Pygame is written with the budding game developer in mind, introducing games development through the Python programming language and the popular Pygame games development library. Authored by industry veteran and Python expert Will McGugan, who most recently worked on the MotorStorm game for Play Station 3, you’ll be privy to insights that will not only help you to exploit PyGame to its maximum potential, but also make you a more creative and knowledgeable games developer all round.&lt;br/&gt;&lt;br/&gt;    * Learn how to create advanced games by taking advantage of the popular open source Python programming language and Pygame games development library.&lt;br/&gt;    * Learn about coding gaming preferences, sound, visual effects, and joystick/keyboard interaction.&lt;br/&gt;    * Discover the concepts that are crucial to success in todays gaming industry, such as support for multiple platforms, and granting users the ability to extend and customize your games.&lt;br/&gt;&lt;br/&gt;What you’ll learn&lt;br/&gt;&lt;br/&gt;    * Take advantage of Python and the Pygame library to build compelling cross-platform games.&lt;br/&gt;    * Learn to best use these technologies to turn your dream game into reality.&lt;br/&gt;    * Create professional games by accounting for sound, special effects, and user interaction through the joystick and keyboard.&lt;br/&gt;    * Build both two- and three-dimensional games, and learn more about the factors that contribute to choosing one approach over the other.&lt;br/&gt;    * Provide users with the means for extending your games through level creation and custom modifications as a means to build a vibrant community around your product.&lt;br/&gt;    * Package your games in a manner that allows even novice computer users to install, use, and update your games with ease.&lt;br/&gt;&lt;br/&gt;Who is this book for?&lt;br/&gt;&lt;br/&gt;This book has been written for any budding games developer. While knowledge of the Python language helps, it isn’t required. To help new programmers along, two early chapters are devoted to an overview of Python.&lt;br/&gt;About the Apress Beginning Series&lt;br/&gt;&lt;br/&gt;The Beginning series from Apress is the right choice to get the information you need to land that crucial entry-level job. These books will teach you a standard and important technology from the ground up because they are explicitly designed to take you from “novice to professional.” You’ll start your journey by seeing what you need to know, but without needless theory and filler. You’ll build your skill set by learning how to put together real-world projects step by step. So whether your goal is your next career challenge or a new learning opportunity, the Beginning series from Apress will take you there. It is your trusted guide through unfamiliar territory!&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;About the Author&lt;br/&gt;&lt;br/&gt;Will McGugan is a software developer currently living and working in North West England. He has worked in video games and computer graphics since the early days of 3D and has created several shareware games in his spare time. Currently Will works for Evolution Studios, one of the world’s leading games development studios. He also has extensive experience in application development, having worked in the field of user interface creation and video conferencing. His current interests include application and web development in Python. Outside of work Will enjoys juggling and cycling, although not at the same time. For more information on Will’s current work and various musings, visit his blog at www.willmcgugan.com.&lt;br/&gt;</description><pubDate>2008-08-21 20:49:11</pubDate></item>
<item><title>边用边学JavaScript</title><link>http://www.netyi.net/training/5d0eec35-1ab7-4240-a65f-3a16a38cacd7</link><description>    JavaScript是实现网页动态性、交互性的脚本语言，本书通俗易懂，按照循序渐进的方法详细介绍了JavaScript的基本概念、HTML基本知识、JavaScript的基本语法及其内置对象和浏览器对象，书中对于每个知识点都配备了相应的实例，帮助读者加深理解。&lt;br/&gt;    本书适合作为JavaScript初学者的培训教材，也可以作为中、高级网页编程人员的参考书。</description><pubDate>2008-08-19 10:21:24</pubDate></item>
<item><title>JavaScript实例应用</title><link>http://www.netyi.net/training/e82c3ad1-25f0-42c4-8184-7de441aa1e39</link><description>    本书主要以实力为主，全书共分4章，第1章主要介绍了JavaScript脚本语言的主要特征和基本功能，并通过一些实例来帮助读者加深理解；第2章主要介绍了编写JavaScript脚本的规则以及如何在HTML文档中嵌入JavaScript脚本语言；第3章主要介绍了JavaScript系统中预先定义的对象，相比用户自定义的对象而言，预定义对象的利用率更高；第4章给出了大量的精彩实例范例，除了可供练习之用以外，读者还可以在实际应用中稍加修改，即可运用到自己的网页中。&lt;br/&gt;    本书特别适用于初、中级网页编程人员，但对高级网页编程人员也是不可缺少的参考手册。</description><pubDate>2008-08-19 10:15:12</pubDate></item>
<item><title>JavaScript实例教程</title><link>http://www.netyi.net/training/093705d7-820e-404e-bc60-8196c67302c2</link><description>    本书通过大量的实例介绍了JavaScript的基础知识和实际应用，使读者可以按部就班的系统掌握JavaScript客户端编程技术。全书共分为9章，分别介绍了JavaScript语言基础、JavaScript对象、JavaScript事件处理、文档对象、窗口与浏览器、表单对象、链接与图像、DHTML基础以及DHTML应用。</description><pubDate>2008-08-19 09:57:52</pubDate></item>
<item><title>JavaScript从入门到精通</title><link>http://www.netyi.net/training/f6945cac-044e-42dd-adae-1e1c4b7bde18</link><description>    本书介绍了JavaScript的基础知识，例如语句、操作符函数、时间和对象等；较少了各种可用的编程工具，如窗口、帧、字段、Cookies、链接、图标；同时介绍了许多Web的新技术，如饰件、样式单、插入件、接口技术等等。本书内容全面（涵盖了JavaScript1.1、1.2），介绍由浅入深，加之强大的后续支持（有关程序及后续更新内容可直接从Web上下载）。因而完全称得上是“从入门到精通”。通过本书的介绍，加之大量的程序实例，相信它会帮助读者在Web上大显身手。</description><pubDate>2008-08-19 09:52:09</pubDate></item>
<item><title>JavaScript程序设计基础教程</title><link>http://www.netyi.net/training/3825c512-47de-475f-8c83-dac30714f30b</link><description>    本书是学习JavaScript程序设计的基础教材，共分10章，主要内容包括：HTML制作、JavaScript编程基础、流程控制、函数、对象编程、文档对象模型与事件驱动、使用浏览器对象、级联样式表（CSS）技术和JavaScript网页特效等。为便于教学，每张均附有练习题。&lt;br/&gt;    本书内容丰富，讲解循序渐进、深入浅出、简明易懂、本书为高等院校本、专科各专业JavaScript程序设计、动态网页制作、计算机应用基础（编程入门部分）等课程的教材，也可作为电子商务、电子政务的辅助培训教材。</description><pubDate>2008-08-19 09:40:28</pubDate></item>
<item><title>(面向方面编程的可靠应用程序开发)Using Aspect Oriented Programming for Trustworthy Software Developme</title><link>http://www.netyi.net/training/e4ea31fb-d2b7-4419-b3ca-3781723846f2</link><description> Preface &lt;br/&gt; This book is devoted to the basic concepts and generic relationships of two &lt;br/&gt;new software engineering and computer science areas: trustworthy computing &lt;br/&gt;(TWC) and aspect - oriented programming (AOP). &lt;br/&gt; These two disciplines are now so popular, even  “ fashionable, ”  that many &lt;br/&gt;software students and experts are looking for more information about them. &lt;br/&gt;Both TWC and AOP and, in particular, their relationship, have not yet been &lt;br/&gt;described suf? ciently in the scienti?  c literature up to now, and this gap needs &lt;br/&gt;to be ? lled. The reason for the current status lies in the fact that both AOP &lt;br/&gt;and TWC are still quite novel even though their foundations were laid long &lt;br/&gt;ago, and the worldwide software engineering community has not yet acquired &lt;br/&gt;enough experience in these areas. The book should be very helpful in this &lt;br/&gt;regard. &lt;br/&gt; The main principle behind the book is that AOP, used properly, can be &lt;br/&gt;bene?  cial in trustworthy software development, due to the fact that the two &lt;br/&gt;are related generically. To analyze, demonstrate, and teach using AOP for &lt;br/&gt;TWC, I take typical TWC tasks, such as security checks, in and out conditions, &lt;br/&gt;and multithreaded safety and show how they can be implemented using AOP, &lt;br/&gt;since I believe that in terms of AOP, most TWC tasks are   cross - cutting  concerns&lt;br/&gt;and, consequently, can and should be implemented as   aspects . In the text I &lt;br/&gt;describe my team ’ s latest results, analyzing my 30 years ’  experience in research, &lt;br/&gt;development, and university teaching in the areas of software engineering and &lt;br/&gt;computer science, and my 15 years ’  experience collaborating with leading &lt;br/&gt;global software companies: Microsoft Research, Sun Microsystems, and &lt;br/&gt;others. &lt;br/&gt; In particular, I describe the results of two research and educational projects &lt;br/&gt;supported by Microsoft Research: &lt;br/&gt;   ?   Aspect.NET   [1 – 6] : an AOP framework for the Microsoft.NET platform &lt;br/&gt;based on Microsoft Phoenix  [7]  and Microsoft Visual Studio.NET 2005. &lt;br/&gt;Aspect.NET is based on our approach to AOP as well as our AOP frame-&lt;br/&gt;work. Aspect.NET already has a number of users in 16 countries, includ-&lt;br/&gt;ing the United States, Canada, and other countries in the Americas, &lt;br/&gt;Europe, Asia, and the C.I.S. We hope the book will contribute to extend-&lt;br/&gt;ing the Aspect.NET user community. &lt;br/&gt;   ?   TrustSPBU.NET   [8] : a set of educational materials on advanced secure &lt;br/&gt;software engineering and trustworthy computing, Microsoft.NET and C#, &lt;br/&gt;compilers, software engineering and compiler development, and my &lt;br/&gt;related project, SPBU.NET  [9] , used as the foundation for TrustSPBU.&lt;br/&gt;NET. The curriculum materials of these two projects, available on Micro-&lt;br/&gt;soft Developer ’ s Network Academic Alliance Curriculum Repository &lt;br/&gt;Web site, have already attracted the attention of both students and soft-&lt;br/&gt;ware  experts. &lt;br/&gt; For all examples of trustworthy software design and code included in the &lt;br/&gt;book, I use our Aspect.NET framework. I consider the basics of Aspect.NET &lt;br/&gt;architecture, its advantages compared to other AOP tools, its functionality, and &lt;br/&gt;examples of trustworthy application development using Aspect.NET. The &lt;br/&gt;book is not limited to Microsoft technologies, although we do appreciate using &lt;br/&gt;such advanced toolkits as Visual Studio.NET and Phoenix. We consider general &lt;br/&gt;principles and other software technologies and tools applicable to using AOP &lt;br/&gt;for trustworthy software development, such as Java and AspectJ  [10] , based &lt;br/&gt;on Java, currently the most widely used AOP instrument. &lt;br/&gt; Chapter  5  is devoted to teaching, but actually, the style used to present all &lt;br/&gt;the material in the book is based on the ERATO teaching paradigm  [9] , on &lt;br/&gt;which I have based my university teaching for many years. ERATO is an &lt;br/&gt;acronym for experience, retrospective, analysis, theory, oncoming perspectives.&lt;br/&gt;Erato is the name of the muse of romantic poetry in ancient Greek mythology. &lt;br/&gt;The ERATO teaching paradigm can be summarized as follows: &lt;br/&gt;   ?   Experience:     describing my long - term commercial and research software &lt;br/&gt;project experience in my courses. In particular, in 1992 – 2002 I led St. &lt;br/&gt;Petersburg Sun projects in the compiler development and Java technol-&lt;br/&gt;ogy areas. In 2002 I started working with Microsoft Research on the &lt;br/&gt;Aspect.NET project, in 2003 on the Phoenix compiler development &lt;br/&gt;tool, in 2004 on SPBU.NET, and in 2006 on TrustSPBU.NET educational &lt;br/&gt;projects. Such types of things are of deep interest to students since they &lt;br/&gt;can judge how closely coupled academic learning and teaching activity &lt;br/&gt;can be to advanced research and tools and working with leading compa-&lt;br/&gt;nies, so it helps to better illustrate concepts and principles to be taught. &lt;br/&gt;They can participate personally in our projects to get their own &lt;br/&gt;experience. &lt;br/&gt;   ?   Retrospective:     considering the historical background of each topic being &lt;br/&gt;taught since its early origin, for deeper understanding of fundamental &lt;br/&gt;concepts by the students. For example, I consider the concepts of   concur-&lt;br/&gt;rency  and   multithreading  since Dijkstra ’ s 1960s pioneering work on sema-&lt;br/&gt;phores;   generics  since Liskov ’ s CLU language   parametrized types   in  early &lt;br/&gt;1970s (rather than since 2004 – 2005, when generics were implemented in &lt;br/&gt;Java 1.5 and C# 2.0). &lt;br/&gt;   ?   Analysis:     making critical and comparative analysis of the most important &lt;br/&gt;related and mutually in? uenced concepts and technologies when teaching &lt;br/&gt;them. For example, I analyze the Microsoft.NET platform, compared to &lt;br/&gt;the competitive Java platform, and explain the fundamental reasons why &lt;br/&gt;.NET is more general and open - style. On the other hand, I show to stu-&lt;br/&gt;dents that .NET technologies have a backward in? uence on Java. I believe &lt;br/&gt;that in this way students can better understand the dialectic nature of &lt;br/&gt;software engineering. &lt;br/&gt;   ?   Theory:     formulating and explaining the essence of theoretical de?  nitions, &lt;br/&gt;justi?  cations, known theorems, and issues relevant to the topic being &lt;br/&gt;taught. In particular, when teaching the concept of data type, I make a &lt;br/&gt;review of the techniques of formal speci? cations of abstract data types: &lt;br/&gt;Hoare ’ s theoretical papers on data types published in the 1960s and &lt;br/&gt;1970s; papers by Scott on type theory; and pioneering papers on initial &lt;br/&gt;and ? nal algebra semantics of abstract data types by the ADJ group &lt;br/&gt;(1970s), resulting in algebraic data type speci?  cation languages OBJ and &lt;br/&gt;SDL. &lt;br/&gt;   ?  Oncoming perspectives:     explaining the vision of future progress in the &lt;br/&gt;topic being taught by a variety of software experts. &lt;br/&gt; The book is targeted primarily at undergraduate and graduate students who &lt;br/&gt;would like to study TWC and AOP, but it will also be useful for software &lt;br/&gt;managers, computer scientists, software engineers, and university teachers in &lt;br/&gt;the area, especially those working with and teaching Microsoft.NET. For &lt;br/&gt;readers who want to learn the basics of trustworthy computing and its applica-&lt;br/&gt;tion to modern software development platforms such as .NET and Java, &lt;br/&gt;Chapter  2  will be appropriate. Chapter  3  focuses on readers interested primar-&lt;br/&gt;ily in aspect - oriented programming and Aspect.NET. Those speci?  cally inter-&lt;br/&gt;ested in applying AOP to develop trustworthy software are directed to Chapter &lt;br/&gt; 4 . Chapter  5  will be of most interest to those who wish to teach TWC and AOP &lt;br/&gt;and related areas of software engineering. &lt;br/&gt; For more information, the reader is directed to the book and to the Aspect.&lt;br/&gt;NET Web site:  www.aspectdotnet.org . The site contains all the examples used &lt;br/&gt;in the book, other material selected from the book, the Aspect.NET framework &lt;br/&gt;with documentation, and data on other publications related to Aspect.NET. &lt;br/&gt; Please send your questions, remarks, suggestions, and proposals regarding &lt;br/&gt;Aspect.NET or my book directly to my e - mail address:   v_o_safonov@mail.ru  .  &lt;br/&gt;ACKNOWLEDGMENTS&lt;br/&gt; First, I would like to thank my colleagues from Microsoft: Igor Agamirzian, &lt;br/&gt;Marco Combetto, Peter Drayton, Van Eden, Kang Su Gatlin, Alexander Gavr-&lt;br/&gt;ilov, Alexander Gil (who was my doctoral student), John Larcheveque, John &lt;br/&gt;Lefor, Mark Lewin, Vassily Lutsarev, Shahrokh Mortazavi, John Spencer, &lt;br/&gt;Andrey Terekhov, Damien Watkins, Yan Xu, Romualds Zdebskis, and many &lt;br/&gt;others. They have provided a lot of support to me and my team. &lt;br/&gt; Thanks also to my teachers from a variety of universities and companies &lt;br/&gt;whose ideas, papers, education, and attention have had a great in?  uence on &lt;br/&gt;my work, results, professional views, and interests: Professors Alfred Aho &lt;br/&gt;(Columbia University), Igor Bratchikov, Boris Martynenko and Joseph &lt;br/&gt;Romanovsky (St. Petersburg University), Gregory Tseytin (St. Petersburg &lt;br/&gt;University, now with IBM), and Niklaus Wirth (ETH Z &amp;#252; rich). &lt;br/&gt; Special thanks to Professor Gregor Kiczales, the inventor of AOP, for fruit-&lt;br/&gt;ful e - mail discussions that helped me to understand the essence of his approach &lt;br/&gt;more deeply. &lt;br/&gt; I would like to memorialize two people whose papers inspired my profes-&lt;br/&gt;sional work: corresponding member of the Russian Academy of Sciences &lt;br/&gt;Professor Svyatoslav Lavrov, my scienti? c advisor, the developer of the ?  rst &lt;br/&gt;ALGOL compiler in the Soviet Union in the early 1960s, and the author of &lt;br/&gt;many books and projects well known in our country; and Professor Adolph &lt;br/&gt;Fouxman of Rostov University, the author of the vertical cut technology &lt;br/&gt;(1979), predecessor of aspect - oriented programming, and initiator of pioneer-&lt;br/&gt;ing projects on automated program synthesis, whose software engineering &lt;br/&gt;papers of 1970s look quite contemporary. &lt;br/&gt; Finally, I would like to thank deeply my Aspect.NET implementation team: &lt;br/&gt;my doctoral students Dmitry Grigoryev, the developer of the Aspect.NET &lt;br/&gt;weaver using Microsoft Phoenix  [7] ; Mikhail Gratchev, the developer of the &lt;br/&gt;Aspect.NET framework and its integration in Visual Studio.NET 2005 and &lt;br/&gt;Aspect.NET installer; and Alexander Maslennikov, the developer of the &lt;br/&gt;Aspect.NET.ML metalanguage converter to C#. They have not only developed &lt;br/&gt;several releases of Aspect.NET but have also proposed and implemented a &lt;br/&gt;lot of their own bright ideas to improve and enhance Aspect.NET architecture &lt;br/&gt;and functionality. The results of their work should be considered an inherent &lt;br/&gt;part of my book. Also, thanks to my graduate students Oleg Romashin and &lt;br/&gt;Ruslan Mukhanov, who helped me to develop AspectRotor, a version of &lt;br/&gt;Aspect.NET for SSCLI (Rotor), and to Anna Kogay, who developed a number &lt;br/&gt;of useful aspect examples of using Aspect.NET for the design - by - contract &lt;br/&gt;technology used in the book. &lt;br/&gt; Last but not least, my thanks to all Aspect.NET users and supporters. </description><pubDate>2008-08-16 14:13:13</pubDate></item>
<item><title>Object-Oriented JavaScript(Javascript面向对象)</title><link>http://www.netyi.net/training/d8ca24e5-e0cb-44f5-92be-9553a8411fb8</link><description>Preface&lt;br/&gt;This book explores JavaScript for what it is: a highly expressive and lexible &lt;br/&gt;prototype-based object-oriented programming language. Once dismissed as a toy for &lt;br/&gt;designers to make things such as rollover buttons, today this interesting and unique &lt;br/&gt;language is back, stronger than ever. Today's Web 2.0 world of AJAX,  &lt;br/&gt;fat-client programming, desktop-like rich Internet applications, drag-and-drop maps &lt;br/&gt;and webmail clients, rely heavily on JavaScript to provide a highly interactive user &lt;br/&gt;experience. And if we never had the chance to properly explore JavaScript before, &lt;br/&gt;now is the time to sit down and (re-)learn it.&lt;br/&gt;This book doesn't assume any prior knowledge of JavaScript and works from the &lt;br/&gt;ground up to give you a thorough understanding of the language.&lt;br/&gt;What This Book Covers&lt;br/&gt;Chapter 1 talks briely about the history, present, and future of JavaScript, and then &lt;br/&gt;moves on to explore the basics of object-oriented programming (OOP) in general. &lt;br/&gt;You then learn how to set up your training environment (Firebug) in order to dive &lt;br/&gt;into the language on your own, using the book examples as a base.&lt;br/&gt;Chapter 2 discuses the language basics: variables, data types, arrays, loops,  &lt;br/&gt;and conditionals.&lt;br/&gt;Chapter 3 covers functions. JavaScript has many uses for functions and here  &lt;br/&gt;you learn to master them all. You also learn about the scope of variables and &lt;br/&gt;JavaScript's built-in functions. An interesting, but often misunderstood feature of  &lt;br/&gt;the language—closures—is demystiied at the end of the chapter.&lt;br/&gt;Chapter 4 introduces objects: how to work with properties and methods, and the &lt;br/&gt;various ways to create your objects. There's also an overview of the built-in objects in &lt;br/&gt;JavaScript, such as Math and Date (just an overview, Appendix C has all the details).&lt;br/&gt;Chapter 5 is dedicated to the all-important concept of prototypes in JavaScript.&lt;br/&gt;Chapter 6 expands your &amp;quot;thinking in JavaScript&amp;quot; horizon, discussing a dozen ways to &lt;br/&gt;implement inheritance in JavaScript.&lt;br/&gt;Chapter 7 is the browser chapter. In this chapter, you learn about BOM (Browser &lt;br/&gt;Object Model), DOM (W3C's Document Object Model), browser events, and AJAX.&lt;br/&gt;Chapter 8 dives into various unique JavaScript coding patterns, as well as several &lt;br/&gt;language-independent design patterns, translated to JavaScript from the Book of &lt;br/&gt;Four, the most inluential work of software design patterns.&lt;br/&gt;Appendix A lists the reserved words in JavaScript.&lt;br/&gt;Appendix B is a reference to the built-in JavaScript functions, together with  &lt;br/&gt;sample uses.&lt;br/&gt;Appendix C is a reference that provides detail and provides examples of the use of &lt;br/&gt;every method and property of every built-in object in JavaScript.&lt;br/&gt;Appendix D is a regular expressions pattern reference.</description><pubDate>2008-08-16 13:42:39</pubDate></item>
<item><title>突破JavaScript编程实例五十讲</title><link>http://www.netyi.net/training/48232ff8-df84-4243-9a33-1cef913bc1ab</link><description>第一篇  时间日期篇&lt;br/&gt;第—讲  指定位置的时钟显示—…………………………………2&lt;br/&gt;第二讲  表针式时钟——————————————————5&lt;br/&gt;第三讲  带按钮开头的Form时钟………………………………11&lt;br/&gt;第四讲  年龄提示器………………………………………15&lt;br/&gt;第五讲  得到本文件的最后修改时间………………………………22&lt;br/&gt;    第二篇文本特效篇&lt;br/&gt;第六讲  文字的跑马灯效果……………………………………………………26&lt;br/&gt;第七讲 有提示的链接………………………………………………………．．34&lt;br/&gt;第八讲  火焰文字————————————38&lt;br/&gt;第九讲  彩色文字的顺序闪烁效果…………—…………41&lt;br/&gt;第十讲  文字从背景中飞出…………………………………45&lt;br/&gt;第十一讲  光晕效果的文字……………………………………………50&lt;br/&gt;    第三篇  昆标特效篇&lt;br/&gt;第十二讲  跟随鼠标移动的彩色星星………………………56&lt;br/&gt;第十三讲 水中鼠标特效------61&lt;br/&gt;第1四讲 飞船攻击鼠标效果------66&lt;br/&gt;第十五讲  与鼠标联动的动画时钟-----78&lt;br/&gt;第十六讲 鼠标星云------87&lt;br/&gt;第十七讲 鼠标火焰-----93&lt;br/&gt;第十八讲 Windows模拟鼠标轨迹 ------100&lt;br/&gt;第四篇	图片特效篇&lt;br/&gt;第十九讲 图片的谈入淡出幻灯效果--------106&lt;br/&gt;第二十讲 图片64右晃动---------------------110&lt;br/&gt;第二十一讲 图片的爆破效果------------115&lt;br/&gt;第二十二讲 不断扭曲的图片-------------122&lt;br/&gt;第五篇	页面特效篇&lt;br/&gt;第二十三讲 星光闪烁的背景------------126&lt;br/&gt;第二十四讲 下雨效果-------------130&lt;br/&gt;&lt;br/&gt;第六篇	页面技巧篇&lt;br/&gt;第二十五讲 禁止鼠标右键和键盘的Menu键---------136&lt;br/&gt;第二十六讲 页面文件的编码和译码----------------------139&lt;br/&gt;第二十七讲 站内搜索引擎-------------------145&lt;br/&gt;第二十八讲 调用共他搜索引擎------------------155&lt;br/&gt;第七篇	页面游戏篇&lt;br/&gt;第二十九讲  跳舞小游戏--------------163&lt;br/&gt;第三十讲  测试点击边皮---------------169&lt;br/&gt;第三十一  涂格子---------------------174&lt;br/&gt;第三十二讲  数字拼图游戏------------181&lt;br/&gt;第八篇	导航菜单篇&lt;br/&gt;第三十三讲  自动滚屏菜单--------------------190&lt;br/&gt;第三十四讲 卷帘菜啄的实现---------------------197&lt;br/&gt;第三十五讲 淡入淡出菜单--------------------------206&lt;br/&gt;第三十六讲 树壮菜单--------------------------214&lt;br/&gt;第三十七讲  动态弹出式卷轴菜单----------------219&lt;br/&gt;第九篇	cookie篇&lt;br/&gt;第三十八讲  用coohe实现日历-----------------226&lt;br/&gt;第三十九讲  统计网友来访次数----------------235&lt;br/&gt;第四十讲  页向更新跟踪器……．----------------239&lt;br/&gt;第四十—讲  自动将访问者的信息Email至信箱-----------242&lt;br/&gt;  第十篇 综合篇&lt;br/&gt;第四十二讲  设为主页和加入收藏夹……247&lt;br/&gt;第四十三讲  歌曲播放器…………………251&lt;br/&gt;第四十四讲  自定义IE浏览器中的右键菜单--257&lt;br/&gt;第四十五讲  自定义热键………………………．263&lt;br/&gt;第四十六讲  动态音乐按钮的实现……………270&lt;br/&gt;第四十七讲  创建一个科学计算器……………273&lt;br/&gt;第四十八讲  仿OICQ导航菜单的实现………289&lt;br/&gt;第四十九讲  俄罗斯方块游戏………………310&lt;br/&gt;第五十讲  在线测试系统………………331&lt;br/&gt;</description><pubDate>2008-08-13 16:21:32</pubDate></item>
<item><title>Python核心编程(中文 第二版)</title><link>http://www.netyi.net/training/7df1f98c-f57b-4289-9e0f-c784e9648424</link><description>第1部分　Python核心&lt;br/&gt;　第1章　欢迎来到Python世界　&lt;br/&gt;　　1.1　什么是Python　&lt;br/&gt;　　1.2　起源　&lt;br/&gt;　　1.3　特点　&lt;br/&gt;　　　1.3.1　高级　&lt;br/&gt;　　　1.3.2　面向对象　&lt;br/&gt;　　　1.3.3　可升级　&lt;br/&gt;　　　1.3.4　可扩展　&lt;br/&gt;　　　1.3.5　可移植性　&lt;br/&gt;　　　1.3.6　易学　&lt;br/&gt;　　　1.3.7　易读　&lt;br/&gt;　　　1.3.8　易维护　&lt;br/&gt;　　　1.3.9　健壮性　&lt;br/&gt;　　　1.3.10　高效的快速原型开发工具　&lt;br/&gt;　　　1.3.11　内存管理器　&lt;br/&gt;　　　1.3.12　解释性和（字节）编译性　&lt;br/&gt;　　1.4　下载和安装Python　&lt;br/&gt;　　1.5　运行Python　&lt;br/&gt;　　　1.5.1　命令行上的交互式解释器　&lt;br/&gt;　　　1.5.2　从命令行启动脚本　&lt;br/&gt;　　　1.5.3　集成开发环境　&lt;br/&gt;　　　1.5.4　其他的集成开发环境和执行环境　&lt;br/&gt;　　1.6　Python文档　&lt;br/&gt;　　1.7　比较Python（Python与其他语言的比较）　&lt;br/&gt;　　1.8　其他实现　&lt;br/&gt;　　1.9　练习　&lt;br/&gt;　第2章　快速入门　&lt;br/&gt;　　2.1　程序输出，print语句及“Hello World!”　&lt;br/&gt;　　2.2　程序输入和raw_input（）内建函数　&lt;br/&gt;　　2.3　注释　&lt;br/&gt;　　2.4　操作符　&lt;br/&gt;　　2.5　变量和赋值　&lt;br/&gt;　　2.6　数字　&lt;br/&gt;　　2.7　字符串　&lt;br/&gt;　　2.8　列表和元组　&lt;br/&gt;　　2.9　字典　&lt;br/&gt;　　2.10　代码块及缩进对齐　&lt;br/&gt;　　2.11　if语句　&lt;br/&gt;　　2.12　while循环　&lt;br/&gt;　　2.13　for循环和range（）内建函数　&lt;br/&gt;　　2.14　列表解析　&lt;br/&gt;　　2.15　文件和内建函数open（）、file（）　&lt;br/&gt;　　2.16　错误和异常　&lt;br/&gt;　　2.17　函数　&lt;br/&gt;　　　2.17.1　如何定义函数　&lt;br/&gt;　　　2.17.2　如何调用函数　&lt;br/&gt;　　　2.17.3　默认参数　&lt;br/&gt;　　2.18　类　&lt;br/&gt;　　2.19　模块　&lt;br/&gt;　　　2.19.1　如何导入模块　&lt;br/&gt;　　　2.19.2　如何访问一个模块函数或访问一个模块变量　&lt;br/&gt;　　2.20　实用的函数　&lt;br/&gt;　　2.21　练习　&lt;br/&gt;　第3章　Python基础　&lt;br/&gt;　　3.1　语句和语法　&lt;br/&gt;　　　3.1.1　注释（#）　&lt;br/&gt;　　　3.1.2　继续（\）　&lt;br/&gt;　　　3.1.3　多个语句构成代码组（:）　&lt;br/&gt;　　　3.1.4　代码组由不同的缩进分隔　&lt;br/&gt;　　　3.1.5　同一行书写多个语句（;）　&lt;br/&gt;　　　3.1.6　模块　&lt;br/&gt;　　3.2　变量赋值　&lt;br/&gt;　　　3.2.1　赋值操作符　&lt;br/&gt;　　　3.2.2　增量赋值　&lt;br/&gt;　　　3.2.3　多重赋值　&lt;br/&gt;　　　3.2.4　“多元”赋值　&lt;br/&gt;　　3.3　标识符　&lt;br/&gt;　　　3.3.1　合法的Python标识符　&lt;br/&gt;　　　3.3.2　关键字　&lt;br/&gt;　　　3.3.3　内建　&lt;br/&gt;　　　3.3.4　专用下划线标识符　&lt;br/&gt;　　3.4　基本风格指南　&lt;br/&gt;　　　3.4.1　模块结构和布局　&lt;br/&gt;　　　3.4.2　在主程序中书写测试代码　&lt;br/&gt;　　3.5　内存管理　&lt;br/&gt;　　　3.5.1　变量定义　&lt;br/&gt;　　　3.5.2　动态类型　&lt;br/&gt;　　　3.5.3　内存分配　&lt;br/&gt;　　　3.5.4　引用计数　&lt;br/&gt;　　　3.5.5　垃圾收集　&lt;br/&gt;　　3.6　第一个Python程序　&lt;br/&gt;　　3.7　相关模块和开发工具　&lt;br/&gt;　　3.8　练习　&lt;br/&gt;　第4章　Python对象　&lt;br/&gt;　　4.1　Python 对象　&lt;br/&gt;　　4.2　标准类型　&lt;br/&gt;　　4.3　其他内建类型　&lt;br/&gt;　　　4.3.1　类型对象和type类型对象　&lt;br/&gt;　　　4.3.2　None--Python的Null对象　&lt;br/&gt;　　4.4　内部类型　&lt;br/&gt;　　　4.4.1　代码对象　&lt;br/&gt;　　　4.4.2　帧对象　&lt;br/&gt;　　　4.4.3　跟踪记录对象　&lt;br/&gt;　　　4.4.4　切片对象　&lt;br/&gt;　　　4.4.5　省略对象　&lt;br/&gt;　　　4.4.6　XRange 对象　&lt;br/&gt;　　4.5　标准类型操作符　&lt;br/&gt;　　　4.5.1　对象值的比较　&lt;br/&gt;　　　4.5.2　对象身份比较　&lt;br/&gt;　　　4.5.3　布尔类型　&lt;br/&gt;　　4.6　标准类型内建函数　&lt;br/&gt;　　　4.6.1　type（）　&lt;br/&gt;　　　4.6.2　cmp（）　&lt;br/&gt;　　　4.6.3　str（）和repr（）（及``操作符）　&lt;br/&gt;　　　4.6.4　type（）和isinstance（）　&lt;br/&gt;　　　4.6.5　Python类型操作符和内建函数总结　&lt;br/&gt;　　4.7　类型工厂函数　&lt;br/&gt;　　4.8　标准类型的分类　&lt;br/&gt;　　　4.8.1　存储模型　&lt;br/&gt;　　　4.8.2　更新模型　&lt;br/&gt;　　　4.8.3　访问模型　&lt;br/&gt;　　4.9　不支持的类型　&lt;br/&gt;　　4.10　练习　&lt;br/&gt;　第5章　数字　&lt;br/&gt;　　5.1　数字简介　&lt;br/&gt;　　　5.1.1　如何创建数值对象并用其赋值（数字对象）　&lt;br/&gt;　　　5.1.2　如何更新数字对象　&lt;br/&gt;　　　5.1.3　如何删除数字对象　&lt;br/&gt;　　5.2　整型　&lt;br/&gt;　　　5.2.1　布尔型　&lt;br/&gt;　　　5.2.2　标准整型　&lt;br/&gt;　　　5.2.3　长整型　&lt;br/&gt;　　　5.2.4　整型和长整型的统一　&lt;br/&gt;　　5.3　双精度浮点型　&lt;br/&gt;　　5.4　复数　&lt;br/&gt;　　5.5　操作符　&lt;br/&gt;　　　5.5.1　混合模式操作符　&lt;br/&gt;　　　5.5.2　标准类型操作符　&lt;br/&gt;　　　5.5.3　算术操作符　&lt;br/&gt;　　　5.5.4　*位操作符（只适用于整型）　&lt;br/&gt;　　5.6　内建函数与工厂函数　&lt;br/&gt;　　　5.6.1　标准类型函数　&lt;br/&gt;　　　5.6.2　数字类型函数　&lt;br/&gt;　　　5.6.3　仅用于整型的函数　&lt;br/&gt;　　5.7　其他数字类型　&lt;br/&gt;　　　5.7.1　布尔“数”　&lt;br/&gt;　　　5.7.2　十进制浮点型　&lt;br/&gt;　　5.8　相关模块　&lt;br/&gt;　　5.9　练习　&lt;br/&gt;　第6章　序列：字符串、列表和元组　&lt;br/&gt;　　6.1　序列　&lt;br/&gt;　　　6.1.1　标准类型操作符　&lt;br/&gt;　　　6.1.2　序列类型操作符　&lt;br/&gt;　　　6.1.3　内建函数（BIF）　&lt;br/&gt;　　6.2　字符串　&lt;br/&gt;　　6.3　字符串和操作符　&lt;br/&gt;　　　6.3.1　标准类型操作符　&lt;br/&gt;　　　6.3.2　序列操作符切片（[]和[:]）　&lt;br/&gt;　　6.4　只适用于字符串的操作符　&lt;br/&gt;　　　6.4.1　格式化操作符（％）　&lt;br/&gt;　　　6.4.2　字符串模板: 更简单的替代品　&lt;br/&gt;　　　6.4.3　原始字符串操作符（r/R）　&lt;br/&gt;　　　6.4.4　Unicode字符串操作符（u/U）　&lt;br/&gt;　　6.5　内建函数　&lt;br/&gt;　　　6.5.1　标准类型函数　&lt;br/&gt;　　　6.5.2　序列类型函数　&lt;br/&gt;　　　6.5.3　字符串类型函数　&lt;br/&gt;　　6.6　字符串内建函数　&lt;br/&gt;　　　6.7　字符串的独特特性　&lt;br/&gt;　　　6.7.1　特殊字符串和控制字符　&lt;br/&gt;　　　6.7.2　三引号　&lt;br/&gt;　　　6.7.3　字符串不变性　&lt;br/&gt;　　6.8　Unicode　&lt;br/&gt;　　　6.8.1　术语　&lt;br/&gt;　　　6.8.2　什么是Unicode　&lt;br/&gt;　　　6.8.3　怎样使用Unicode　&lt;br/&gt;　　　6.8.4　Codec是什么　&lt;br/&gt;　　　6.8.5　编码解码　&lt;br/&gt;　　　6.8.6　把Unicode应用到实际应用中　&lt;br/&gt;　　　6.8.7　从现实中得来的教训　&lt;br/&gt;　　　6.8.8　Python的Unicode支持　&lt;br/&gt;　　6.9　相关模块　&lt;br/&gt;　　6.10　字符串关键点总结&lt;br/&gt;　　6.11　列表　&lt;br/&gt;　　6.12　操作符　&lt;br/&gt;　　　6.12.1　标准类型操作符　&lt;br/&gt;　　　6.12.2　序列类型操作符　&lt;br/&gt;　　　6.12.3　列表类型操作符和列表解析　&lt;br/&gt;　　6.13　内建函数　&lt;br/&gt;　　　6.13.1　标准类型函数　&lt;br/&gt;　　　6.13.2　序列类型函数　&lt;br/&gt;　　　6.13.3　列表类型内建函数　&lt;br/&gt;　　6.14　列表类型的内建函数　&lt;br/&gt;　　6.15　列表的特殊特性　&lt;br/&gt;　　6.16　元组　&lt;br/&gt;　　6.17　元组操作符和内建函数　&lt;br/&gt;　　　6.17.1　标准类型操作符、序列类型操作符和内建函数　&lt;br/&gt;　　　6.17.2　元组类型操作符和内建函数、内建方法　&lt;br/&gt;　　6.18　元组的特殊特性　&lt;br/&gt;　　　6.18.1　不可变性给元组带来了什么影响　&lt;br/&gt;　　　6.18.2　元组也不是那么“不可变”　&lt;br/&gt;　　　6.18.3　默认集合类型　&lt;br/&gt;　　　6.18.4　单元素元组　&lt;br/&gt;　　　6.18.5　字典的关键字　&lt;br/&gt;　　6.19　相关模块　&lt;br/&gt;　　6.20　*拷贝Python对象、浅拷贝和深拷贝　&lt;br/&gt;　　6.21　序列类型小结　&lt;br/&gt;　　6.22　练习　&lt;br/&gt;　第7章　映像和集合类型　&lt;br/&gt;　　7.1　映射类型：字典　&lt;br/&gt;　　　7.1.1　如何创建字典和给字典赋值　&lt;br/&gt;　　　7.1.2　如何访问字典中的值　&lt;br/&gt;　　　7.1.3　如何更新字典　&lt;br/&gt;　　　7.1.4　如何删除字典元素和字典　&lt;br/&gt;　　7.2　映射类型操作符　&lt;br/&gt;　　　7.2.1　标准类型操作符　&lt;br/&gt;　　　7.2.2　映射类型操作符　&lt;br/&gt;　　7.3　映射类型的内建函数和工厂函数　&lt;br/&gt;　　　7.3.1　标准类型函数[type（）、str（）和cmp（）]　&lt;br/&gt;　　　7.3.2　映射类型相关的函数　&lt;br/&gt;　　7.4　映射类型内建方法　&lt;br/&gt;　　7.5　字典的键　&lt;br/&gt;　　　7.5.1　不允许一个键对应多个值　&lt;br/&gt;　　　7.5.2　键必须是可哈希的　&lt;br/&gt;　　7.6　集合类型　&lt;br/&gt;　　　7.6.1　如何创建集合类型和给集合赋值　&lt;br/&gt;　　　7.6.2　如何访问集合中的值　&lt;br/&gt;　　　7.6.3　如何更新集合　&lt;br/&gt;　　　7.6.4　如何删除集合中的成员和集合　&lt;br/&gt;　　7.7　集合类型操作符　&lt;br/&gt;　　　7.7.1　标准类型操作符（所有的集合类型）　&lt;br/&gt;　　　7.7.2　集合类型操作符（所有的集合类型）　&lt;br/&gt;　　　7.7.3　集合类型操作符（仅适用于可变集合）　&lt;br/&gt;　　7.8　内建函数　&lt;br/&gt;　　　7.8.1　标准类型函数　&lt;br/&gt;　　　7.8.2　集合类型工厂函数　&lt;br/&gt;　　7.9　集合类型内建方法　&lt;br/&gt;　　　7.9.1　方法（所有的集合方法）　&lt;br/&gt;　　　7.9.2　方法（仅适用于可变集合）　&lt;br/&gt;　　　7.9.3　操作符和内建方法比较　&lt;br/&gt;　　7.10　集合类型总结表　&lt;br/&gt;　　7.11　相关模块　&lt;br/&gt;　　7.12　练习　&lt;br/&gt;　第8章　条件和循环　&lt;br/&gt;　　8.1　if语句　&lt;br/&gt;　　　8.1.1　多重条件表达式　&lt;br/&gt;　　　8.1.2　单一语句的代码块　&lt;br/&gt;　　8.2　else语句　&lt;br/&gt;　　8.3　elif（即else-if）语句　&lt;br/&gt;　　8.4　条件表达式（即“三元操作符”）　&lt;br/&gt;　　8.5　while语句　&lt;br/&gt;　　　8.5.1　一般语法　&lt;br/&gt;　　　8.5.2　计数循环　&lt;br/&gt;　　　8.5.3　无限循环　&lt;br/&gt;　　8.6　for语句　&lt;br/&gt;　　　8.6.1　一般语法　&lt;br/&gt;　　　8.6.2　用于序列类型　&lt;br/&gt;　　　8.6.3　用于迭代器类型　&lt;br/&gt;　　　8.6.4　range（）内建函数　&lt;br/&gt;　　　8.6.5　xrange（） 内建函数　&lt;br/&gt;　　　8.6.6　与序列相关的内建函数　&lt;br/&gt;　　8.7　break语句　&lt;br/&gt;　　8.8　continue语句　&lt;br/&gt;　　8.9　pass语句　&lt;br/&gt;　　8.10　再谈else语句　&lt;br/&gt;　　8.11　迭代器和iter（）函数　&lt;br/&gt;　　　8.11.1　什么是迭代器　&lt;br/&gt;　　　8.11.2　为什么要迭代器　&lt;br/&gt;　　　8.11.3　如何迭代　&lt;br/&gt;　　　8.11.4　使用迭代器　&lt;br/&gt;　　　8.11.5　可变对象和迭代器　&lt;br/&gt;　　　8.11.6　如何创建迭代器　&lt;br/&gt;　　8.12　列表解析　&lt;br/&gt;　　8.13　生成器表达式　&lt;br/&gt;　　8.14　相关模块　&lt;br/&gt;　　8.15　练习　&lt;br/&gt;　第9章　文件和输入输出　&lt;br/&gt;　　9.1　文件对象　&lt;br/&gt;　　9.2　文件内建函数（open（）和file（））　&lt;br/&gt;　　　9.2.1　工厂函数file（）　&lt;br/&gt;　　　9.2.2　通用换行符支持（UNS）　&lt;br/&gt;　　9.3　文件内建方法　&lt;br/&gt;　　　9.3.1　输入　&lt;br/&gt;　　　9.3.2　输出　&lt;br/&gt;　　　9.3.3　文件内移动　&lt;br/&gt;　　　9.3.4　文件迭代　&lt;br/&gt;　　　9.3.5　其他　&lt;br/&gt;　　　9.3.6　文件方法杂项　&lt;br/&gt;　　9.4　文件内建属性　&lt;br/&gt;　　9.5　标准文件　&lt;br/&gt;　　9.6　命令行参数　&lt;br/&gt;　　9.7　文件系统　&lt;br/&gt;　　9.8　文件执行　&lt;br/&gt;　　9.9　永久存储模块　&lt;br/&gt;　　　9.9.1　pickle和marshal模块　&lt;br/&gt;　　　9.9.2　DBM风格的模块　&lt;br/&gt;　　　9.9.3　shelve模块　&lt;br/&gt;　　9.10　相关模块　&lt;br/&gt;　　9.11　练习　&lt;br/&gt;　第10章　错误和异常　&lt;br/&gt;　　10.1　什么是异常　&lt;br/&gt;　　　10.1.1　错误　&lt;br/&gt;　　　10.1.2　异常　&lt;br/&gt;　　10.2　Python 中的异常　&lt;br/&gt;　　10.3　检测和处理异常　&lt;br/&gt;　　　10.3.1　try-except语句　&lt;br/&gt;　　　10.3.2　包装内建函数　&lt;br/&gt;　　　10.3.3　带有多个except的try语句　&lt;br/&gt;　　　10.3.4　处理多个异常的except语句　&lt;br/&gt;　　　10.3.5　捕获所有异常　&lt;br/&gt;　　　10.3.6　“异常参数”　&lt;br/&gt;　　　10.3.7　在应用使用我们封装的函数　&lt;br/&gt;　　　10.3.8　else子句　&lt;br/&gt;　　　10.3.9　finally子句　&lt;br/&gt;　　　10.3.10　try-finally语句　&lt;br/&gt;　　　10.3.11　try-except-else-finally：厨房一锅端　&lt;br/&gt;10.4　上下文管理　&lt;br/&gt;　　　10.4.1　with语句　&lt;br/&gt;　　　10.4.2　*上下文管理协议　&lt;br/&gt;　　10.5　*字符串作为异常　&lt;br/&gt;　　10.6　触发异常　&lt;br/&gt;　　10.7　断言　&lt;br/&gt;　　10.8　标准异常　&lt;br/&gt;　　10.9　*创建异常　&lt;br/&gt;　　10.10　（现在）为什么用异常　&lt;br/&gt;　　10.11　到底为什么要异常　&lt;br/&gt;　　10.12　异常和sys模块　&lt;br/&gt;　　10.13　相关模块　&lt;br/&gt;　　10.14　练习　&lt;br/&gt;　第11章　函数和函数式编程　&lt;br/&gt;　　11.1　什么是函数？　&lt;br/&gt;　　　11.1.1　函数vs过程　&lt;br/&gt;　　　11.1.2　返回值与函数类型　&lt;br/&gt;　　11.2　调用函数　&lt;br/&gt;　　　11.2.1　函数操作符　&lt;br/&gt;　　　11.2.2　关键字参数&lt;br/&gt;　　　11.2.3　默认参数　&lt;br/&gt;　　　11.2.4　参数组　&lt;br/&gt;　　11.3　创建函数　&lt;br/&gt;　　　11.3.1　def语句　&lt;br/&gt;　　　11.3.2　声明与定义比较　&lt;br/&gt;　　　11.3.3　前向引用　&lt;br/&gt;　　　11.3.4　函数属性　&lt;br/&gt;　　　11.3.5　内部/内嵌函数　&lt;br/&gt;　　　11.3.6　*函数（与方法）装饰器　&lt;br/&gt;　　11.4　传递函数　&lt;br/&gt;　　11.5　Formal Arguments　&lt;br/&gt;　　　11.5.1　位置参数　&lt;br/&gt;　　　11.5.2　默认参数　&lt;br/&gt;　　11.6　可变长度的参数　&lt;br/&gt;　　　11.6.1　非关键字可变长参数（元组）　&lt;br/&gt;　　　11.6.2　关键字变量参数（字典）　&lt;br/&gt;　　　11.6.3　调用带有可变长参数对象函数　&lt;br/&gt;　　11.7　函数式编程　&lt;br/&gt;　　　11.7.1　匿名函数与lambda　&lt;br/&gt;　　　11.7.2　内建函数apply（）、filter（）、map（）、reduce（）　&lt;br/&gt;　　　11.7.3　偏函数应用　&lt;br/&gt;　　11.8　变量作用域　&lt;br/&gt;　　　11.8.1　全局变量与局部变量　&lt;br/&gt;　　　11.8.2　globa语句　&lt;br/&gt;　　　11.8.3　作用域的数字　&lt;br/&gt;　　　11.8.4　闭包　&lt;br/&gt;　　　11.8.5　作用域和lambda　&lt;br/&gt;　　　11.8.6　变量作用域和名称空间　&lt;br/&gt;　　11.9　*递归　&lt;br/&gt;　　　11.10　生成器　&lt;br/&gt;　　　11.10.1　简单的生成器特性　　　　&lt;br/&gt;　　　11.10.2　加强的生成器特性　&lt;br/&gt;　　11.11　练习　&lt;br/&gt;　第12章　模块　&lt;br/&gt;　　12.1　什么是模块　&lt;br/&gt;　　12.2　模块和文件　&lt;br/&gt;　　　12.2.1　模块名称空间　&lt;br/&gt;　　　12.2.2　搜索路径和路径搜索　&lt;br/&gt;　　12.3　名称空间　&lt;br/&gt;　　　12.3.1　名称空间与变量作用域比较　&lt;br/&gt;　　　12.3.2　名称查找、确定作用域、覆盖　&lt;br/&gt;　　　12.3.3　无限制的名称空间　&lt;br/&gt;　　12.4　导入模块　&lt;br/&gt;　　　12.4.1　import语句　&lt;br/&gt;　　　12.4.2　from-import语句　&lt;br/&gt;　　　12.4.3　多行导入　&lt;br/&gt;　　　12.4.4　扩展的import语句（as）　&lt;br/&gt;　　12.5　模块导入的特性　&lt;br/&gt;　　　12.5.1　载入时执行模块　&lt;br/&gt;　　　12.5.2　导入（import）和加载（load）　&lt;br/&gt;　　　12.5.3　导入到当前名称空间的名称　&lt;br/&gt;　　　12.5.4　被导入到导入者作用域的名字　&lt;br/&gt;　　　12.5.5　关于__future__　&lt;br/&gt;　　　12.5.6　警告框架　&lt;br/&gt;　　　12.5.7　从ZIP文件中导入模块　&lt;br/&gt;　　　12.5.8　“新的”导入钩子　&lt;br/&gt;　　12.6　模块内建函数　&lt;br/&gt;　　　12.6.1　__import__（）　&lt;br/&gt;　　　12.6.2　globals（）和locals（）　　　　&lt;br/&gt;　　　12.6.3　reload（）　&lt;br/&gt;　　12.7　包　&lt;br/&gt;　　　12.7.1　目录结构　&lt;br/&gt;　　　12.7.2　使用from-import导入包　&lt;br/&gt;　　12.8　模块的其他特性　&lt;br/&gt;　　　12.8.1　自动载入的模块　&lt;br/&gt;　　　12.8.2　阻止属性导入　&lt;br/&gt;　　　12.8.3　不区分大小的导入　&lt;br/&gt;　　　12.8.4　源代码编码　&lt;br/&gt;　　　12.8.5　导入循环　&lt;br/&gt;　　　12.8.6　模块执行　&lt;br/&gt;　　12.9　相关模块　&lt;br/&gt;　　12.10　练习　&lt;br/&gt;　第13章　面向对象编程　&lt;br/&gt;　　13.1　引言　&lt;br/&gt;　　13.2　面向对象编程　&lt;br/&gt;　　　13.2.1　面向对象设计与面向对象编程的关系　&lt;br/&gt;　　　13.2.2　现实中的问题　&lt;br/&gt;　　　13.2.3　*常用术语　&lt;br/&gt;　　13.3　类　&lt;br/&gt;　　　13.3.1　创建类　&lt;br/&gt;　　　13.3.2　声明与定义　&lt;br/&gt;　　13.4　类属性　&lt;br/&gt;　　　13.4.1　类的数据属性　&lt;br/&gt;　　　13.4.2　Methods　&lt;br/&gt;　　　13.4.3　决定类的属性　&lt;br/&gt;　　　13.4.4　特殊的类属性　&lt;br/&gt;　　13.5　实例　&lt;br/&gt;　　　13.5.1　初始化：通过调用类对象来创建实例　&lt;br/&gt;　　　13.5.2　__init__（）“构造器”方法　&lt;br/&gt;　　　13.5.3　__new__（）“构造器”方法　&lt;br/&gt;　　　13.5.4　__del__（）“解构器”方法　&lt;br/&gt;　　13.6　实例属性　&lt;br/&gt;　　　13.6.1　“实例化”实例属性（或创建一个更好的构造器）　&lt;br/&gt;　　　13.6.2　查看实例属性　&lt;br/&gt;　　　13.6.3　特殊的实例属性　&lt;br/&gt;　　　13.6.4　建类型属性　&lt;br/&gt;　　　13.6.5　实例属性vs类属性　&lt;br/&gt;　　13.7　绑定和方法调用　&lt;br/&gt;　　　13.7.1　调用绑定方法　&lt;br/&gt;　　　13.7.2　调用非绑定方法　&lt;br/&gt;　　13.8　静态方法和类方法　&lt;br/&gt;　　　13.8.1　staticmethod（）和classmethod（）内建函数　&lt;br/&gt;　　　13.8.2　使用函数修饰符　&lt;br/&gt;　　13.9　组合　&lt;br/&gt;　　13.10　子类和派生　&lt;br/&gt;　　13.11　继承　&lt;br/&gt;　　　13.11.1　__bases__类属性　&lt;br/&gt;　　　13.11.2　通过继承覆盖方法　&lt;br/&gt;　　　13.11.3　从标准类型派生　&lt;br/&gt;　　　13.11.4　多重继承　&lt;br/&gt;　　13.12　类、实例和其他对象的内建函数　&lt;br/&gt;　　　13.12.1　issubclass（）　&lt;br/&gt;　　　13.12.2　isinstance（）　&lt;br/&gt;　　　13.12.3　hasattr（）、getattr（）、setattr（）、delattr（）　&lt;br/&gt;　　　13.12.4　dir（）　&lt;br/&gt;　　　13.12.5　super（）　&lt;br/&gt;　　　13.12.6　vars（）　&lt;br/&gt;　　13.13　用特殊方法定制类　&lt;br/&gt;　　　13.13.1　简单定制（RoundFloat2）　&lt;br/&gt;　　　13.13.2　数值定制（Time60）　&lt;br/&gt;　　　13.13.3　迭代器（RandSeq和AnyIter）　&lt;br/&gt;　　　13.13.4　*多类型定制（NumStr）　&lt;br/&gt;　　13.14　私有化　&lt;br/&gt;　　13.15　*授权　&lt;br/&gt;　　　13.15.1　包装　&lt;br/&gt;　　　13.15.2　实现授权　&lt;br/&gt;　　13.16　新式类的高级特性（Python 2.2+）　&lt;br/&gt;　　　13.16.1　新式类的通用特性　&lt;br/&gt;　　　13.16.2　__slots__类属性　&lt;br/&gt;　　　13.16.3　__getattribute__（）特殊方法　&lt;br/&gt;　　　13.16.4　描述符　&lt;br/&gt;　　　13.16.5　元类和__metaclass__　&lt;br/&gt;　　13.17　相关模块和文档　&lt;br/&gt;　　13.18　练习　&lt;br/&gt;　第14章　执行环境　&lt;br/&gt;　　14.1　可调用对象　&lt;br/&gt;　　　14.1.1　函数　&lt;br/&gt;　　　14.1.2　方法　&lt;br/&gt;　　　14.1.3　类　&lt;br/&gt;　　　14.1.4　类的实例　&lt;br/&gt;　　14.2　代码对象　&lt;br/&gt;　　14.3　可执行的对象声明和内建函数　&lt;br/&gt;　　　14.3.1　callable（）　&lt;br/&gt;　　　14.3.2　compile（）　&lt;br/&gt;　　　14.3.3　eval（）　&lt;br/&gt;　　　14.3.4　exec　&lt;br/&gt;　　　14.3.5　input（）　&lt;br/&gt;　　　14.3.6　使用Python在运行时生成和执行Python代码　&lt;br/&gt;　　14.4　执行其他（Python）程序　&lt;br/&gt;　　　14.4.1　导入　&lt;br/&gt;　　　14.4.2　execfile（）　&lt;br/&gt;　　　14.4.3　将模块作为脚本执行　&lt;br/&gt;　　14.5　执行其他（非Python）程序　&lt;br/&gt;　　　14.5.1　os.system（）　&lt;br/&gt;　　　14.5.2　os.popen（）　&lt;br/&gt;　　　14.5.3　os.fork（）、os.exec*（）、os.wait*（）　&lt;br/&gt;　　　14.5.4　os.spawn*（）　&lt;br/&gt;　　　14.5.5　subprocess 模块　&lt;br/&gt;　　　14.5.6　相关函数　&lt;br/&gt;　　14.6　受限执行　&lt;br/&gt;　　14.7　结束执行　&lt;br/&gt;　　　14.7.1　sys.exit（） and SystemExit　&lt;br/&gt;　　　14.7.2　sys.exitfunc（）　&lt;br/&gt;　　　14.7.3　os._exit（） 函数　&lt;br/&gt;　　　14.7.4　os.kill（） Function　&lt;br/&gt;　　14.8　各种操作系统接口　&lt;br/&gt;　　14.9　相关模块　&lt;br/&gt;　　14.10　练习　&lt;br/&gt;第2部分　高级主题&lt;br/&gt;　第15章　正则表达式　&lt;br/&gt;　　15.1　引言/动机　&lt;br/&gt;　　15.2　正则表达式使用的特殊符号和字符　&lt;br/&gt;　　　15.2.1　用管道符号（|）匹配多个正则表达式模式　&lt;br/&gt;　　　15.2.2　匹配任意一个单个的字符（.）　&lt;br/&gt;　　　15.2.3　从字符串的开头或结尾或单词边界开始匹配（^/$ /\b /\B ）　&lt;br/&gt;　　　15.2.4　创建字符类（[]）　&lt;br/&gt;　　　15.2.5　指定范围（-）和否定（^）　&lt;br/&gt;　　　15.2.6　使用闭包操作符（*，+，?，{}）实现多次出现/重复匹配　&lt;br/&gt;　　　15.2.7　特殊字符表示、字符集　&lt;br/&gt;　　　15.2.8　用圆括号（（））组建组　&lt;br/&gt;　　15.3　正则表达式和Python语言　&lt;br/&gt;　　　15.3.1　re模块：核心函数和方法　&lt;br/&gt;　　　15.3.2　使用compile（）编译正则表达式　&lt;br/&gt;　　　15.3.3　匹配对象和group（）、groups（）方法&lt;br/&gt;　　　15.3.4　用match（）匹配字符串　&lt;br/&gt;　　　15.3.5　search（）在一个字符串中查找一个模式（搜索与匹配的比较）　&lt;br/&gt;　　　15.3.6　匹配多个字符串（|）　&lt;br/&gt;　　　15.3.7　匹配任意单个字符（.）　&lt;br/&gt;　　　15.3.8　创建字符集合（[]）　&lt;br/&gt;　　　15.3.9　重复、特殊字符和子组　&lt;br/&gt;　　　15.3.10　从字符串的开头或结尾匹配及在单词边界上的匹配　&lt;br/&gt;　　　15.3.11　用findall（）找到每个出现的匹配部分　&lt;br/&gt;　　　15.3.12　用sub（）（和subn（））进行搜索和替换　&lt;br/&gt;　　　15.3.13　用split（）分割（分隔模式）　&lt;br/&gt;　　15.4　正则表达式示例　&lt;br/&gt;　　　15.4.1　匹配一个字符串　&lt;br/&gt;　　　15.4.2　搜索与匹配的比较，“贪婪”匹配　&lt;br/&gt;　　15.5　练习　&lt;br/&gt;　第16章　网络编程　&lt;br/&gt;　　16.1　引言　&lt;br/&gt;　　　16.1.1　什么是客户端/服务器架构　&lt;br/&gt;　　　16.1.2　客户端/服务器网络编程　&lt;br/&gt;　　16.2　套接字：通信端点　&lt;br/&gt;　　　16.2.1　什么是套接字　&lt;br/&gt;　　　16.2.2　套接字地址：主机与端口　&lt;br/&gt;　　　16.2.3　面向连接与无连接　&lt;br/&gt;　　16.3　Python中的网络编程　&lt;br/&gt;　　　16.3.1　socket（）模块函数　&lt;br/&gt;　　　16.3.2　套接字对象（内建）方法　&lt;br/&gt;　　　16.3.3　创建一个TCP服务器　&lt;br/&gt;　　　16.3.4　创建TCP客户端　&lt;br/&gt;　　　16.3.5　运行我们的客户端与TCP服务器　&lt;br/&gt;　　　16.3.6　创建一个UDP服务器　&lt;br/&gt;　　　16.3.7　创建一个UDP客户端　&lt;br/&gt;　　　16.3.8　执行UDP服务器和客户端　&lt;br/&gt;　　　16.3.9　Socket模块属性　&lt;br/&gt;　　16.4　*SocketServer模块　&lt;br/&gt;　　　16.4.1　创建一个SocketServerTCP服务器　&lt;br/&gt;　　　16.4.2　创建SocketServerTCP客户端　&lt;br/&gt;　　　16.4.3　执行TCP服务器和客户端　&lt;br/&gt;　　16.5　Twisted框架介绍　&lt;br/&gt;　　　16.5.1　创建一个Twisted Reactor TCP服务器　&lt;br/&gt;　　　16.5.2　创建一个Twisted Reactor TCP客户端　&lt;br/&gt;　　　16.5.3　执行TCP服务器和客户端　&lt;br/&gt;　　16.6　相关模块　&lt;br/&gt;　　16.7　练习　&lt;br/&gt;　第17章　网络客户端编程　&lt;br/&gt;　　17.1　什么是因特网客户端　&lt;br/&gt;　　17.2　文件传输　&lt;br/&gt;　　　17.2.1　文件传输网际协议　&lt;br/&gt;　　　17.2.2　文件传输协议（FTP）　&lt;br/&gt;　　　17.2.3　Python和FTP　&lt;br/&gt;　　　17.2.4　ftplib.FTP类方法　&lt;br/&gt;　　　17.2.5　交互式FTP示例　&lt;br/&gt;　　　17.2.6　客户端FTP程序举例　&lt;br/&gt;　　　17.2.7　FTP的其他方面　&lt;br/&gt;　　17.3　网络新闻　&lt;br/&gt;　　　17.3.1　Usenet与新闻组　&lt;br/&gt;　　　17.3.2　网络新闻传输协议（NNTP）　&lt;br/&gt;　　　17.3.3　Python和NNTP　&lt;br/&gt;　　　17.3.4　nntplib.NNTP类方法　&lt;br/&gt;　　　17.3.5　交互式NNTP举例　&lt;br/&gt;　　　17.3.6　客户端程序NNTP举例　&lt;br/&gt;　　　17.3.7　NNTP的其他方面　&lt;br/&gt;　　17.4　电子邮件　&lt;br/&gt;　　　17.4.1　电子邮件系统组件和协议　&lt;br/&gt;　　　17.4.2　发送电子邮件　&lt;br/&gt;　　　17.4.3　Python和SMTP　&lt;br/&gt;　　　17.4.4　smtplib.SMTP类方法　&lt;br/&gt;　　　17.4.5　交互式SMTP示例　&lt;br/&gt;　　　17.4.6　SMTP的其他方面　&lt;br/&gt;　　　17.4.7　接收电子邮件　&lt;br/&gt;　　　17.4.8　POP和IMAP　&lt;br/&gt;　　　17.4.9　Python和POP3　&lt;br/&gt;　　　17.4.10　交互式POP3举例　&lt;br/&gt;　　　17.4.11　poplib.POP3类方法　&lt;br/&gt;　　　17.4.12　客户端程序SMTP和POP3举例　&lt;br/&gt;　　17.5　相关模块　&lt;br/&gt;　　　17.5.1　电子邮件　&lt;br/&gt;　　　17.5.2　其他网络协议　&lt;br/&gt;　　17.6　练习　&lt;br/&gt;　第18章　多线程编程　&lt;br/&gt;　　18.1　引言/动机　&lt;br/&gt;　　18.2　线程和进程　&lt;br/&gt;　　　18.2.1　什么是进程　&lt;br/&gt;　　　18.2.2　什么是线程　&lt;br/&gt;　　18.3　Python、线程和全局解释器锁　&lt;br/&gt;　　　18.3.1　全局解释器锁（GIL）　&lt;br/&gt;　　　18.3.2　退出线程　&lt;br/&gt;　　　18.3.3　在Python中使用线程　&lt;br/&gt;　　　18.3.4　没有线程支持的情况　&lt;br/&gt;　　　18.3.5　Python的threading模块　&lt;br/&gt;　　18.4　thread模块　&lt;br/&gt;　　18.5　threading模块　&lt;br/&gt;　　　18.5.1　Thread类　&lt;br/&gt;　　　18.5.2　斐波那契、阶乘和累加和　&lt;br/&gt;　　　18.5.3　threading模块中的其他函数　　　　&lt;br/&gt;　　　18.5.4　生产者-消费者问题和Queue模块　&lt;br/&gt;　　18.6　相关模块　&lt;br/&gt;　　18.7　练习　&lt;br/&gt;　第19章　图形用户界面编程　&lt;br/&gt;　　19.1　简介　&lt;br/&gt;　　　19.1.1　什么是Tcl、Tk和Tkinter　&lt;br/&gt;　　　19.1.2　安装和使用Tkinter　533&lt;br/&gt;　　　19.1.3　客户端/服务器架构　534&lt;br/&gt;　　19.2　Tkinter与Python编程　534&lt;br/&gt;　　　19.2.1　Tkinter模块：把Tk引入你的程序　&lt;br/&gt;　　　19.2.2　GUI程序开发简介　&lt;br/&gt;　　　19.2.3　顶层窗口：Tkinter.Tk（）　&lt;br/&gt;　　　19.2.4　Tk组件　&lt;br/&gt;　　19.3　Tkinter举例　&lt;br/&gt;　　　19.3.1　标签组件　&lt;br/&gt;　　　19.3.2　按钮组件　&lt;br/&gt;　　　19.3.3　标签和按钮组件　&lt;br/&gt;　　　19.3.4　标签、按钮和进度条组件　&lt;br/&gt;　　　19.3.5　偏函数应用举例　&lt;br/&gt;　　　19.3.6　中级Tkinter范例　&lt;br/&gt;　　19.4　其他GUI简介　&lt;br/&gt;　　　19.4.1　Tk Interface eXtensions （Tix）　&lt;br/&gt;　　　19.4.2　Python MegaWidgets （PMW）　&lt;br/&gt;　　　19.4.3　wxWidgets和wxPython　&lt;br/&gt;　　　19.4.4　GTK+和PyGTK　&lt;br/&gt;　　19.5　相关模块和其他GUI　&lt;br/&gt;　　19.6　练习　&lt;br/&gt;　第20章　Web编程　&lt;br/&gt;　　20.1　介绍　&lt;br/&gt;　　　20.1.1　Web应用：客户端/服务器计算　&lt;br/&gt;　　　20.1.2　因特网　&lt;br/&gt;　　20.2　使用Python进行Web应用：创建一个简单的Web客户端　&lt;br/&gt;　　　20.2.1　统一资源定位符　&lt;br/&gt;　　　20.2.2　urlparse模块　&lt;br/&gt;　　　20.2.3　urllib模块　&lt;br/&gt;　　　20.2.4　urllib2模块　&lt;br/&gt;　　20.3　高级Web客户端　&lt;br/&gt;　　20.4　CGI：帮助Web服务器处理客户端数据　&lt;br/&gt;　　　20.4.1　CGI介绍　&lt;br/&gt;　　　20.4.2　CGI应用程序　&lt;br/&gt;　　　20.4.3　cgi模块　&lt;br/&gt;20.5　建立CGI应用程序　&lt;br/&gt;　　　20.5.1　建立Web服务器　&lt;br/&gt;　　　20.5.2　建立表单页　&lt;br/&gt;　　　20.5.3　生成结果页　&lt;br/&gt;　　　20.5.4　生成表单和结果页面　&lt;br/&gt;　　　20.5.5　全面交互的Web站点　&lt;br/&gt;20.6　在CGI中使用Unicode编码　&lt;br/&gt;　　20.7　高级CGI　&lt;br/&gt;　　　20.7.1　Mulitipart表单提交和文件的上传　&lt;br/&gt;　　　20.7.2　多值字段　&lt;br/&gt;　　　20.7.3　cookie　&lt;br/&gt;　　　20.7.4　使用高级CGI　&lt;br/&gt;　　20.8　Web（HTTP）服务器　&lt;br/&gt;　　20.9　相关模块　&lt;br/&gt;　　20.10　练习　&lt;br/&gt;　第21章　数据库编程　&lt;br/&gt;　　21.1　介绍　&lt;br/&gt;　　　21.1.1　持久存储　&lt;br/&gt;　　　21.1.2　基本的数据库操作和SQL语言　&lt;br/&gt;　　　21.1.3　数据库和Python　&lt;br/&gt;　　21.2　Python数据库应用程序程序员接口（DB-API）　&lt;br/&gt;　　　21.2.1　模块属性　&lt;br/&gt;　　　21.2.2　连接对象　&lt;br/&gt;　　　21.2.3　游标对象　&lt;br/&gt;　　　21.2.4　类型对象和构造器　&lt;br/&gt;　　　21.2.5　关系数据库　&lt;br/&gt;　　　21.2.6　数据库和Python：接口程序　&lt;br/&gt;　　　21.2.7　使用数据库接口程序举例　&lt;br/&gt;　　21.3　对象-关系管理器（ORM）　&lt;br/&gt;　　　21.3.1　考虑对象，而不是SQL　&lt;br/&gt;　　　21.3.2　Python和ORM　&lt;br/&gt;　　　21.3.3　雇员数据库举例　&lt;br/&gt;　　　21.3.4　总结　&lt;br/&gt;　　21.4　相关模块　&lt;br/&gt;　　21.5　练习　&lt;br/&gt;　第22章　扩展Python　623&lt;br/&gt;　　22.1　引言/动机　&lt;br/&gt;　　　22.1.1　什么是扩展　&lt;br/&gt;　　　22.1.2　为什么要扩展Python　&lt;br/&gt;　　22.2　创建Python扩展　&lt;br/&gt;　　　22.2.1　创建您的应用程序代码　&lt;br/&gt;　　　22.2.2　用样板来包装你的代码　&lt;br/&gt;　　　22.2.3　编译　&lt;br/&gt;　　　22.2.4　导入和测试　&lt;br/&gt;　　　22.2.5　引用计数　&lt;br/&gt;　　　22.2.6　线程和全局解释器锁（GIL）　&lt;br/&gt;22.3　相关话题　&lt;br/&gt;　　22.4　练习&lt;br/&gt;　第23章　其他话题　&lt;br/&gt;　　23.1　Web服务　&lt;br/&gt;　　23.2　用Win32的COM来操作微软Office　&lt;br/&gt;　　　23.2.1　客户端COM编程　&lt;br/&gt;　　　23.2.2 微软Excel　&lt;br/&gt;　　　23.2.3　微软Word　第1部分　Python核心&lt;br/&gt;　　　23.2.4　微软PowerPoint　&lt;br/&gt;　　　23.2.5　微软Outlook　&lt;br/&gt;　　　23.2.6　中等规模的例子　&lt;br/&gt;23.3　用Jython写Python和Java的程序　&lt;br/&gt;　　　23.3.1　什么是Jython　&lt;br/&gt;　　　23.3.2　Swing GUI开发（Java或者Python!）　&lt;br/&gt;　　23.4　练习　&lt;br/&gt;　　　23.2.4　微软PowerPoint　&lt;br/&gt;　　　23.2.5　微软Outlook　&lt;br/&gt;　　　23.2.6　中等规模的例子　&lt;br/&gt;　　23.3　用Jython写Python和Java的程序　&lt;br/&gt;　　　23.3.1　什么是Jython　&lt;br/&gt;　　　23.3.2　Swing GUI开发（Java或者Python!）　&lt;br/&gt;　　23.4　练习</description><pubDate>2008-08-10 21:26:38</pubDate></item>
<item><title>Practical Programming in Tcl and Tk, Fourth Edition</title><link>http://www.netyi.net/training/35a000f2-7825-4517-9e48-8d847fce5765</link><description>我碰到一个qq群，这个群众的人说tcl工具非常好，机会什么东西都可以做，是高级语言，它的特点是所有的操作都是针对字符串，他是脚本语言。现在有很多这样的软件，我所熟悉的有ns2 一个网络仿真方面的工具，shell也算一个，非常不错。&lt;br/&gt;我也来贴一个！下面是目录  &lt;br/&gt;&lt;br/&gt;1. Tcl Fundamentals&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.1 The &amp;quot;Hello, World!&amp;quot; example&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.2 Tcl variables&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.3 Command substitution&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.4 Simple arithmetic&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.5 Nested commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.6 Built-in math functions&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.7 Grouping expressions with braces&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.8 Quoting special characters with backslash&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.9 Continuing long lines with backslashes&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.10 Grouping with double quotes vs. braces&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.11 Embedded command and variable substitution&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.12 Defining a procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.13 A while loop to compute factorial&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.14 A recursive definition of factorial&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.15 Using set to return a variable value&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.16 Embedded variable references&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.17 Using info to determine if a variable exists&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;1.18 Controlling precision with tcl_precision&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;2. Getting Started&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;2.1 A standalone Tcl script on UNIX&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;2.2 A standalone Tk script on UNIX&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;2.3 Using /bin/sh to run a Tcl script&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;2.4 The EchoArgs script&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3. The Guestbook CGI Application&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.1 A simple CGI script&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.2 Output of Example 3-1&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.3 The guestbook.cgi script, version 1&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.4 The Cgi_Header procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.5 The guestbook.cgi script, version 2&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.6 Initial output of guestbook.cgi with no data&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.7 Output of guestbook.cgi with guestbook data&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.8 The newguest.html form&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.9 The newguest.cgi script&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;3.10 The newguest.cgi script with error handling&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;4. String Processing in Tcl&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;4.1 Comparing strings with string compare&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;4.2 Comparing strings with string equal&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;4.3 Comparing strings with eq&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;4.4 Mapping Microsoft World special characters to ASCII&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5. Tcl Lists&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.1 Constructing a list with the list command&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.2 Using lappend to add elements to a list&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.3 Using lset to set an element of a list&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.4 Using concat to splice lists together&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.5 Double quotes compared to the concat and list commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.6 Modifying lists with lreplace&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.7 Deleting a list element by value&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.8 Sorting a list using a comparison function&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.9 Use split to turn input data into Tcl lists&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;5.10 Implementing join in Tcl&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6. Control Structure Commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.1 A conditional if then else command&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.2 Chained conditional with elseif&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.3 Using switch for an exact match&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.4 Using switch with substitutions in the patterns&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.5 A switch with &amp;quot;fall through&amp;quot; cases&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.6 Comments in switch commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.7 A while loop to read standard input&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.8 Looping with foreach&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.9 Parsing command-line arguments&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.10 Using list with foreach&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.11 Multiple loop variables with foreach&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.12 Multiple value lists with foreach&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.13 A for loop&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.14 A standard catch phrase&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.15 A longer catch phrase&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.16 There are several possible return values from catch&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.17 Raising an error&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.18 Preserving errorInfo when calling error&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;6.19 Raising an error with return&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;7. Procedures and Scope&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;7.1 Default parameter values&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;7.2 Variable number of arguments&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;7.3 Variable scope and Tcl procedures&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;7.4 A random number generator&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;7.5 Print variable by name&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;7.6 Improved incr procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8. Tcl Arrays&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.1 Using arrays&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.2 Referencing an array indirectly&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.3 Referencing an array indirectly using upvar&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.4 ArrayInvert inverts an array&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.5 Using arrays for records, version 1&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.6 Using arrays for records, version 2&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.7 Using arrays for records, version 3&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.8 Using a list to implement a stack&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.9 Using an array to implement a stack&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.10 A list of arrays&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.11 A list of arrays&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;8.12 A simple in-memory database&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9. Working with Files and Programs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.1 Using exec on a process pipeline&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.2 Comparing file modify times&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.3 Determining whether pathnames reference the same file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.4 Opening a file for writing&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.5 A more careful use of open&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.6 Opening a process pipeline&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.7 Prompting for input&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.8 A read loop using gets&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.9 A read loop using read and split&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.10 Copy a file and translate to native format&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.11 Finding a file by name&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;9.12 Printing environment variable values&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;10. Quoting Issues and Eval&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;10.1 Using list to construct commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;10.2 Generating procedures dynamically with a template&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;10.3 Using eval with $args&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;10.4 lassign: list assignment with foreach&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;10.5 The File_Process procedure iterates over lines in a file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11. Regular Expressions&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.1 Expanded regular expressions allow comments&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.2 Using regular expressions to parse a string&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.3 A pattern to match URLs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.4 An advanced regular expression to match URLs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.5 The Url_Decode procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.6 The Cgi_List and Cgi_Query procedures&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.7 Cgi_Parse and Cgi_Value store query data in the cgi array&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.8 Html_DecodeEntity&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;11.9 Html_Parse&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;12. Script Libraries and Packages&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;12.1 Maintaining a tclIndex file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;12.2 Loading a tclIndex file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13. Reflection and Debugging&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.1 Calculating clicks per second&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.2 Printing a procedure definition&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.3 Mapping form data onto procedure arguments&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.4 Finding built-in commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.5 Getting a trace of the Tcl call stack&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.6 A procedure to read and evaluate commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.7 Using info script to find related files&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.8 Tracing variables&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.9 Creating array elements with array traces&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.10 Interactive history usage&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.11 Implementing special history syntax&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.12 A Debug procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;13.13 Time Stamps in log records&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;14. Namespaces&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;14.1 Random number generator using namespaces&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;14.2 Random number generator using qualified names&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;14.3 Nested namespaces&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;14.4 The code procedure to wrap callbacks&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;14.5 Listing commands defined by a namespace&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;15. Internationalization&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;15.1 MIME character sets and file encodings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;15.2 Using scripts in nonstandard encodings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;15.3 Three sample message catalog files&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;15.4 Using msgcat::mcunknown to share message catalogs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;16. Event-Driven Programming&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;16.1 A read event file handler&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;16.2 Using vwait to activate the event loop&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;16.3 A read event file handler for a nonblocking channel&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17. Socket Programming&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.1 Opening a client socket with a timeout&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.2 Opening a server socket&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.3 The echo service&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.4 A client of the echo service&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.5 Opening a connection to an HTTP server&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.6 Opening a connection through a HTTP proxy&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.7 Http_Head validates a URL&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.8 Using Http_Head&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.9 Http_Get fetches the contents of a URL&amp;quot; endterm=&amp;quot;ch17list09.title&amp;quot;/&amp;amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.10 HttpGetText reads text URLs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.11 HttpCopyDone is used with fcopy&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.12 Downloading files with http::geturl&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;17.13 Basic Authentication using http::geturl&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18. TclHttpd Web Server&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.1 The hello.tcl file implements /hello/world&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.2 A simple URL domain&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.3 Application Direct URLs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.4 Alternate types for Application Direct URLs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.5 A sample document type handler&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.6 A one-level site structure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.7 A two-level site structure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.8 A HTML + Tcl template file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.9 SitePage template procedure, version 1&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.10 SiteMenu and SiteFooter template procedures&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.11 The SiteLink procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.12 Mail form results with /mail/forminfo&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.13 Mail message sent by /mail/forminfo&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.14 Processing mail sent by /mail/forminfo&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.15 Processing mail sent by /mail/forminfo, Safe-Tcl version&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.16 A self-checking form procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.17 A page with a self-checking form&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.18 Generating a table with html::foreach&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;18.19 The /debug/source Application Direct URL implementation&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19. Multiple Interpreters and Safe-Tcl&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.1 Creating and deleting an interpreter&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.2 Creating a hierarchy of interpreters&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.3 A command alias for exit&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.4 Querying aliases&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.5 Dumping aliases as Tcl commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.6 Substitutions and hidden commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.7 Opening a file for an unsafe interpreter&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.8 The Safesock security policy&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.9 The Tempfile security policy&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.10 Restricted puts using hidden commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;19.11 A safe after command&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;20. Safe-Tk and the Browser Plugin&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;20.1 Using EMBED to insert a Tclet&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21. Multi-Threaded Tcl Scripts&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.1 Creating a separate thread to perform a lengthy operation&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.2 Initializing a thread before entering its event loop&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.3 Creating several threads in an application&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.4 Using joinable threads to detect thread termination&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.5 Examples of synchronous message sending&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.6 Using a return variable with synchronous message sending&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.7 Executing commands after thread::wait returns&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.8 Creating a custom thread error handler&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.9 A basic implementation of a logging thread&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.10 Deferring socket transfer until after the connection callback&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.11 Working around Tcl's socket transfer bug&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.12 A multi-threaded echo server&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.13 Using a mutex to protect a shared resource&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.14 Standard condition variable use for a signalling thread&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;21.15 Standard condition variable use for a waiting thread&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22. Tclkit and Starkits&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.1 Accessing a Zip file through a VFS&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.2 The output of sdx lsk hello.kit&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.3 The main program of a Starkit&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.4 The pkgIndex.tcl in a Starkit&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.5 A Starkit that examines its Virtual File System&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.6 Creating a simple Starkit&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.7 The contents of the tclhttpd.vfs directory, version 1&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.8 The main program for the TclHttpd Starkit, version 1&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.9 Contents of the tclhttpd.vfs directory, version 2&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.10 The main program for the TclHttpd Starkit, version 2&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.11 The Standard Tcl Library Starkit main.tcl file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.12 The main program for TclHttpd Starkit, version 3&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.13 Examining the views in a Metakit database&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.14 Examining data in a Metakit view&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.15 Selecting data with mk::select&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.16 Creating a new view&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.17 Adding data to a view&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;22.18 Storing data in a Starkit&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;23. Tk Fundamentals&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;23.1 &amp;quot;Hello, World!&amp;quot; Tk program&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;23.2 Looking at all widget attributes&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;24. Tk by Example&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;24.1 Logging the output of a program run with exec&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;24.2 A platform-specific cancel event&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;24.3 A browser for the code examples in the book&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;24.4 A Tcl shell in a text widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;24.5 Macintosh look and feel&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;24.6 Windows look and feel&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;24.7 UNIX look and feel&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25. The Pack Geometry Manager&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.1 Two frames packed inside the main frame&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.2 Turning off geometry propagation&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.3 A horizontal stack inside a vertical stack&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.4 Even more nesting of horizontal and vertical stacks&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.5 Mixing bottom and right packing sides&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.6 Filling the display into extra packing space&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.7 Using horizontal fill in a menu bar&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.8 The effects of internal padding (-ipady)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.9 Button padding vs. packer padding&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.10 The look of a default button&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.11 Resizing without the expand option&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.12 Resizing with expand turned on&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.13 More than one expanding widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.14 Setup for anchor experiments&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.15 The effects of noncenter anchors&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.16 Animating the packing anchors&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.17 Controlling the packing order&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;25.18 Packing into other relatives&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26. The Grid Geometry Manager&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.1 A basic grid&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.2 A grid with sticky settings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.3 A grid with row and column specifications&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.4 A grid with external padding&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.5 A grid with internal padding&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.6 All combinations of -sticky settings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.7 Explicit row and column span&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.8 Grid syntax row and column span&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.9 Row padding compared to cell padding&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.10 Gridding a text widget and scrollbar&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;26.11 Uniform column width&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;27. The Place Geometry Manager&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;27.1 Centering a window with place&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;27.2 Covering a window with place&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;27.3 Combining relative and absolute sizes&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;27.4 Positioning a window above a sibling with place&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;27.5 Pane_Create sets up vertical or horizontal panes&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;27.6 PaneDrag adjusts the percentage&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;27.7 PaneGeometry updates the layout&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;28. The Panedwindow Widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;28.1 A panedwindow with complex managed widgets&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;29. Binding Commands to Events&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;29.1 Bindings on different binding tags&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;29.2 Output from the UNIX xmodmap program&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;29.3 Emacs-like binding convention for Meta and Escape&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;29.4 Virtual events for cut, copy, and paste&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30. Buttons and Menus&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.1 A troublesome button command&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.2 Fixing the troublesome situation&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.3 A button associated with a Tcl procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.4 Radiobuttons and checkbuttons&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.5 A command on a radiobutton or checkbutton&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.6 A menu sampler&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.7 A menu bar in Tk 8.0&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.8 Using the &amp;amp;lt;&amp;amp;lt;MenuSelect&amp;amp;gt;&amp;amp;gt; virtual event&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.9 A simple menu by name package&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.10 Using the Tk 8.0 menu bar facility&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.11 MenuGet maps from name to menu&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.12 Adding menu entries&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.13 A wrapper for cascade entries&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.14 Using the menu by name package&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;30.15 Keeping the accelerator display up to date&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31. The Resource Database&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31.1 Reading an option database file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31.2 A file containing resource specifications&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31.3 Using resources to specify user-defined buttons&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31.4 Resource_ButtonFrame defines buttons based on resources&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31.5 Using Resource_ButtonFrame&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31.6 Specifying menu entries via resources&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31.7 Defining menus from resource specifications&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;31.8 Resource_GetFamily merges user and application resources&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32. Simple Tk Widgets&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32.1 Labelframe example&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32.2 Using the labelAnchor option to position a labelframe's anchor&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32.3 Associating an existing label widget with a labelframe&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32.4 Macintosh window styles&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32.5 A label that displays different strings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32.6 The message widget formats long lines of text&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32.7 Controlling the text layout in a message widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;32.8 A scale widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;33. Scrollbars&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;33.1 A text widget and two scrollbars&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;33.2 Scroll_Set manages optional scrollbars&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;33.3 Listbox with optional scrollbars&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;34. The Entry and Spinbox Widgets&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;34.1 Associating entry widgets with variables and commands&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;34.2 Restricting entry text to integer values&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;34.3 Reestablishing validation using an idle task&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;34.4 A simple spinbox with calculated values&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;34.5 Formatting numeric values in a spinbox&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;34.6 Enumerating spinbox values and wrapping&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;34.7 Using the spinbox readonly state&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;35. The Listbox Widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;35.1 Using -listvariable to link a listbox and variable&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;35.2 Choosing items from a listbox&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;35.3 Using the &amp;amp;lt;&amp;amp;lt;ListboxSelect&amp;amp;gt;&amp;amp;gt; virtual event&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36. The Text Widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36.1 Tag configurations for basic character styles&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36.2 Line spacing and justification in the text widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36.3 An active text button&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36.4 Delayed creation of embedded widgets&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36.5 Using embedded images for a bulleted list&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36.6 Finding the current range of a text tag&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36.7 Dumping the text widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;36.8 Dumping the text widget with a command callback&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37. The Canvas Widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.1 A large scrolling canvas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.2 The canvas &amp;quot;Hello, World!&amp;quot; example&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.3 A min max scale canvas example&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.4 Moving the markers for the min max scale&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.5 Canvas arc items&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.6 Canvas bitmap items&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.7 Canvas image items&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.8 A canvas stroke drawing example&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.9 Canvas oval items&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.10 Canvas polygon items&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.11 Dragging out a box&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.12 Simple edit bindings for canvas text items&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.13 Using a canvas to scroll a set of widgets&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;37.14 Generating Postscript from a canvas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;38. Selections and the Clipboard&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;38.1 Paste the PRIMARY or CLIPBOARD selection&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;38.2 Separate paste actions&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;38.3 Bindings for canvas selection&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;38.4 Selecting objects&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;38.5 A canvas selection handler&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;38.6 The copy and cut operations&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;38.7 Pasting onto the canvas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;39. Focus, Grabs, and Dialogs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;39.1 Procedures to help build dialogs&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;39.2 A simple dialog&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;39.3 A feedback procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;40. Tk Widget Attributes&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;40.1 Equal-sized labels&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;40.2 3D relief sampler&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;40.3 Padding provided by labels and buttons&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;40.4 Anchoring text in a label or button&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;40.5 Borders and padding&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;41. Color, Images, and Cursors&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;41.1 Resources for reverse video&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;41.2 Computing a darker color&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;41.3 Specifying an image for a widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;41.4 Specifying a bitmap for a widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;41.5 The built-in bitmaps&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;41.6 The Tk cursors&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;42. Fonts and Text Attributes&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;42.1 The FontWidget procedure handles missing fonts&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;42.2 Font metrics&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;42.3 A gridded, resizable listbox&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;42.4 Font selection dialog&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;43. Send&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;43.1 The sender application&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;43.2 Hooking the browser to an eval server&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;43.3 Making the shell into an eval server&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;43.4 Remote eval using sockets&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;43.5 Reading commands from a socket&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;43.6 The client side of remote evaluation&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;44. Window Managers and Window Information&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;44.1 Gridded geometry for a canvas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;44.2 Telling other applications what your name is&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45. Managing User Preferences&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.1 Preferences initialization&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.2 Adding preference items&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.3 Setting preference variables&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.4 Using the preferences package&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.5 A user interface to the preference items&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.6 Interface objects for different preference types&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.7 Displaying the help text for an item&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.8 Saving preferences settings to a file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.9 Read settings from the preferences file&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;45.10 Tracing a Tcl variable in a preference item&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;46. A User Interface to Bindings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;46.1 A user interface to widget bindings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;46.2 Bind_Display presents the bindings for a widget or class&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;46.3 Related listboxes are configured to select items together&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;46.4 Controlling a pair of listboxes with one scrollbar&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;46.5 Drag-scrolling a pair of listboxes together&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;46.6 An interface to define bindings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;46.7 Defining and saving bindings&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47. C Programming and Tcl&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.1 The initialization procedure for a loadable package&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.2 The RandomCmd C command procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.3 The RandomObjCmd C command procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.4 The Tcl_Obj structure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.5 The Plus1ObjCmd procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.6 The Blob and BlobState data structures&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.7 The Blob_Init and BlobCleanup procedures&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.8 The BlobCmd command procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.9 BlobCreate and BlobDelete&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.10 The BlobNames procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.11 \The BlobN and BlobData procedures&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.12 The BlobCommand and BlobPoke procedures&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.13 A canonical Tcl main program and Tcl_AppInit&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.14 A canonical Tk main program and Tk_AppInit&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;47.15 Calling C command procedure directly with Tcl_Invoke&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;48. Compiling Tcl and Extensions&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Writing a Tk Widget in C&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.1 The Clock_Init procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.2 The Clock widget data structure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.3 The ClockCmd command procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.4 The ClockObjCmd command procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.5 The ClockInstanceCmd command procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.6 The ClockInstanceObjCmd command procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.7 ClockConfigure allocates resources for the widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.8 ClockObjConfigure allocates resources for the widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.9 The Tk_ConfigSpec typedef&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.10 Configuration specs for the clock widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.11 The Tk_OptionSpec typedef&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.12 The Tk_OptionSpec structure for the clock widget&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.13 ComputeGeometry computes the widget's size&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.14 The ClockDisplay procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.15 The ClockEventProc handles window events&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.16 The ClockDestroy cleanup procedure&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;49.17 The ClockObjDelete command&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;</description><pubDate>2008-08-05 16:01:11</pubDate></item>
<item><title>Flash网站建设技术精粹</title><link>http://www.netyi.net/training/81fb8eb0-b6d0-423e-a76f-570eb5c78100</link><description>第1章　Flash网站的发展　&lt;br/&gt;　1.1　Flash的发展简史　&lt;br/&gt;　1.2　HTML页面与Flash 　&lt;br/&gt;　1.3　Flash网站的未来 　&lt;br/&gt;第2章　Flash网站规划　&lt;br/&gt;　2.1　Flash网站的结构规划　&lt;br/&gt;　　2.1.1　Flash网站的结构　&lt;br/&gt;　　2.1.2　Flash的层次结构　&lt;br/&gt;　2.2　Flash网站的设计规划　&lt;br/&gt;　2.3　Flash网站的内容规划　&lt;br/&gt;　　2.3.1　内容规划形式　&lt;br/&gt;　　2.3.2　内容规划过程　&lt;br/&gt;　2.4　Flash网站规划完成后的实施　&lt;br/&gt;第3章　Flash网站常用ActionScript　&lt;br/&gt;　3.1　常用ActionScript　&lt;br/&gt;　　3.1.1　getBytesLoaded（）和getBytesTotal（）　&lt;br/&gt;　　3.1.2　getURL（）　&lt;br/&gt;　　3.1.3　LoadMovie（）和unLoadMovie（）　&lt;br/&gt;　　3.1.4　attachMovie和removeMovieClip　&lt;br/&gt;　　3.1.5　路径　&lt;br/&gt;　　3.1.6　Array数组　&lt;br/&gt;　3.2　Flash中的循环　&lt;br/&gt;　　3.2.1　帧循环　&lt;br/&gt;　　3.2.2　for循环　&lt;br/&gt;　　3.2.3　OnEnterFrame循环　&lt;br/&gt;　　3.2.4　SetInterval循环　&lt;br/&gt;　3.3　缓动的应用　&lt;br/&gt;　　3.3.1　静态缓动　&lt;br/&gt;　　3.3.2　自定义缓动　&lt;br/&gt;　　3.3.3　动态缓动　&lt;br/&gt;　　3.3.4　使用外部类设置缓动（tween类和easing类）　&lt;br/&gt;　　3.3.5　可扩展的缓动函数　&lt;br/&gt;　　3.3.6　onMotionFinished　&lt;br/&gt;第4章　Flash与JavaScript的结合应用　&lt;br/&gt;　4.1　使用JavaScript弹出居中窗体　&lt;br/&gt;　　4.1.1　静态链接弹出居中窗体　&lt;br/&gt;　　4.1.2　在Flash中弹出居中窗体　&lt;br/&gt;　　4.1.3　重复利用JavaScript函数——JS文件　&lt;br/&gt;　4.2　全屏技术的应用　&lt;br/&gt;　　4.2.1　JavaScript全屏浏览器窗口　&lt;br/&gt;　　4.2.2　Flash全屏　&lt;br/&gt;　案例实作　&lt;br/&gt;第5章　在Flash中创建有效的预载　&lt;br/&gt;　5.1　Preloader的基本类型　&lt;br/&gt;　5.2　简单的预载结束Preloader 　&lt;br/&gt;　　5.2.1　进度指示预载　&lt;br/&gt;　　5.2.2　复杂预载　&lt;br/&gt;　5.3　载入外部内容预载　&lt;br/&gt;　5.4　预载过程中的切换 　&lt;br/&gt;　案例实作　&lt;br/&gt;第6章　XML在Flash中的应用　&lt;br/&gt;　6.1　XML基础　&lt;br/&gt;　　6.1.1　XML基本结构　&lt;br/&gt;　　6.1.2　元素和节点　&lt;br/&gt;　　6.1.3　文本节点　&lt;br/&gt;　　6.1.4　属性　&lt;br/&gt;　　6.1.5　CDATA　&lt;br/&gt;　　6.1.6　附加内容　&lt;br/&gt;　6.2　XML与Flash相关联　&lt;br/&gt;　　6.2.1　XML与值对　&lt;br/&gt;　　6.2.2　载入XML至Flash　&lt;br/&gt;　　6.2.3　预载XML文档　&lt;br/&gt;　　6.2.4　White Space空格　&lt;br/&gt;　6.3　理解XML对象的应用　&lt;br/&gt;　　6.3.1　Parsing解析XML　&lt;br/&gt;　　6.3.2　载入文本　&lt;br/&gt;　　6.3.3　信息内容展示　&lt;br/&gt;　　6.3.4　XML作品展示　&lt;br/&gt;　　6.3.5　嵌套循环　&lt;br/&gt;　案例实作1　XML新闻列表　&lt;br/&gt;　案例实作2　XML作品案例　&lt;br/&gt;第7章　网站导航　&lt;br/&gt;　7.1　简单的网站导航　&lt;br/&gt;　7.2　标准按钮与MovieClip按钮事件类型　&lt;br/&gt;　　7.2.1　按钮的事件类型　&lt;br/&gt;　　7.2.2　标准按钮事件　&lt;br/&gt;　　7.2.3　MovieClip按钮事件　&lt;br/&gt;　7.3　ActionScript导航　&lt;br/&gt;　　7.3.1　ActionScript导航　&lt;br/&gt;　　7.3.2　ActionScript图形导航　&lt;br/&gt;　7.4　XML导航　&lt;br/&gt;　案例实作　导航　&lt;br/&gt;第8章　处理Flash的外部内容　&lt;br/&gt;　8.1　加载外部文本文件　&lt;br/&gt;　　8.1.1　LoadVars方法　&lt;br/&gt;　　8.1.2　预载外部文本文件　&lt;br/&gt;　8.2　格式化外部文本内容　&lt;br/&gt;　　8.2.1　TextFormat（）方法　&lt;br/&gt;　　8.2.2　格式化外部载入文本　&lt;br/&gt;　　8.2.3　用HTML标签格式化外部文本　&lt;br/&gt;　　8.2.4　载入外部HTML文本　&lt;br/&gt;　8.3　层叠样式表的应用　&lt;br/&gt;　　8.3.1　TextField.StyleSheet用法　&lt;br/&gt;　　8.3.2　将CSS层叠样式表应用于外部文本　&lt;br/&gt;　　8.3.3　在XML中应用样式表　&lt;br/&gt;　　8.3.4　使用XML中的CDATA格式化　&lt;br/&gt;　8.4　嵌入字体　&lt;br/&gt;　8.5　自定义滚动条　&lt;br/&gt;　　8.5.1　文本滚动　&lt;br/&gt;　　8.5.2　超级滚动公式自定义滚动条　&lt;br/&gt;　　8.5.3　为自定义滚动条加入缓动　&lt;br/&gt;　案例实作　载入外部文本及自定义滚动条　&lt;br/&gt;第9章　声音在网站中的应用　&lt;br/&gt;　9.1　导入声音　&lt;br/&gt;　　9.1.1　将声音导入到舞台　&lt;br/&gt;　　9.1.2　将声音导入到库　&lt;br/&gt;　9.2　将声音加入到影片中　&lt;br/&gt;　　9.2.1　从库中加入声音到影片　&lt;br/&gt;　　9.2.2　从外部库中加入声音到影片　&lt;br/&gt;　9.3　为按钮加入声音　&lt;br/&gt;　9.4　使声音与影片同步　&lt;br/&gt;　9.5　ActionScript Sound　&lt;br/&gt;　　9.5.1　Sound Object　&lt;br/&gt;　　9.5.2　加载声音　&lt;br/&gt;　　9.5.3　声音的循环　&lt;br/&gt;　　9.5.4　声音开关　&lt;br/&gt;　　9.5.5　控制音量及左右声道　&lt;br/&gt;　9.6　发布包含声音的文档　&lt;br/&gt;　案例实作　加入声音开关　&lt;br/&gt;第10章　视频在网站中的应用　&lt;br/&gt;　10.1　Flash支持的视频格式 　&lt;br/&gt;