??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲日本久久久午夜精品,久久精品国产亚洲av日韩,亚洲成人高清在线观看http://www.tkk7.com/nobody_am/zh-cnSat, 10 May 2025 10:38:25 GMTSat, 10 May 2025 10:38:25 GMT60国外E序员推荐的免费~程书籍资源http://www.tkk7.com/nobody_am/archive/2011/11/07/363071.htmlMingIsMeMingIsMeMon, 07 Nov 2011 10:36:00 GMThttp://www.tkk7.com/nobody_am/archive/2011/11/07/363071.html

  StackOverflow 上有位网友(xenoterracideQ提问:

  我正试着搜集整理一个可在网上免贚wȝ计算机编E书c列表。这些书可以是某U特定编E语aQ也可以计算机方面通用书籍。网上有哪些免费可用的书c呢Q?/p>

  下面是一些网友在回复中的推荐资源Q其中有视频、大学课E、编E语a教程|站Q由伯乐在线整理~译?/p>

 

  一、George Stocker 提供了一大串Q分cd下:

 

  Meta-Lists

  How to Design Programs: An Introduction to Computing and Programming

  25 Free Computer Science Ebooks

  Free Tech Books

  MindView Inc

  Wikibooks: Programming

  Cheat Sheets (Free)

  CodePlex List of Free E-Books

  Book Training – On Video!

  Sofware Program Managers Network – Free EBooks

  EBook Share @ linbai.info

  FreeBooksClub.Net

  Theassayer.org

  O’Reilly’s Open Books Project

  TechBooksForFree.com

  Galileo Computing (徯)

  Microsoft Press: Free E-Books

  Graphics Programming 囑Ş~程

  GPU Gems

  GPU Gems 2ch 8,14,18,29,30 as pdf

  GPU Gems 3

  Graphics Programming Black Book

  ShaderX series

  DirectX manual (draft)

  Learning Modern 3D Graphics Programming (draft)

  Language Agnostic

  Object-Oriented Reengineering Patterns

  Foundations of Programming

  Computer Musings (由唐U_d·克努斯授?

  The Cathedral and the Bazaar

  Patterns and Practices: Application Architecture Guide 2.0

  Security Engineering

  Digital Signal Processing For Engineers and Scientists

  Getting Real

  Structure and Interpretation of Computer Programs

  Domain Driven Design Quickly

  OO Design

  Best Kept Secrets of Peer Code Review

  NASA Software Measurement Handbook

  NASA Manager Handbook for Software Development (PDF)

  Introduction to Functional Programming (l典评)

  How to Design Programs

  Guide to the Software Engineering Body of Knowledge

  Online Course Materials

  Algorithms (draft)

  Data Structures and Algorithms

  Essential Skills for Agile Development

  Programming Languages: Application and Interpretation

  Learn to Program

  Patterns of Software: Tales from the Software Community (PDF)

  How to write Unmaintainable Code

  The Art of Unix Programming ?a rel="nofollow" target="_blank">UNIX ~程艺术?/p>

  The Definitive Guide to Building Code Quality

  How to Think Like a Computer Scientist

  Planning Algorithms

  Mathematical Logic – an Introduction (PDF)

  An Introduction to the Theory of Computation

  Developers Developers Developers Developers

  Linkers and loaders

  Let’s Build a Compiler

  Producing Open Source Software

  How to Write Parallel Programs

  Don’t Just Roll the Dice

  97 Things Every Programmer Should KnowQ这本书有中文版?a rel="nofollow" target="_blank">E序员应该知道的97件事》)

  How Computers Work

  Introduction to Information Retrieval

  Is Parallel Programming Hard, And, If So, What Can You Do About It?

  Matters Computational

  Type Theory and Functional Programming

  Getting started with Open source development (PDF)

  Database Fundamentals (PDF)

  Clever Algorithms

  Summary of the GoF Design Patterns

  Flow based Programming

  Algorithms and Data-Structures (PDF)

  Compiler Construction (PDF)

  Project Oberon (PDF)

  The Little Book of Semaphores

  Essential Skills for Agile Development

  I Am a Bug

  Mining of Massive Datasets

  Data-Intensive Text Processing with MapReduce (PDF)

  Understanding IP Addressing: Everything you ever wanted to know (PDF)

  Operating Systems and Middleware (PDF and LaTeX)

  ASP.NET MVC

  NerdDinner Walkthrough

  Assembly Language 汇编语言

  ProgrammingGroundUp (PDF)

  Paul Carter’s Tutorial on x86 Assembly

  Software optimization resources by Agner Fog

  Bash

  Advanced Bash-Scripting Guide

  Lhunath’s Bash Guide

  C / C++

  The new C standard – an annotated reference

  Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt

  The C book

  Thinking in C++Q?Second Edition Q?a rel="nofollow" target="_blank">C++~程思想》)

  C++ Annotations

  Software optimization resources by Agner Fog

  Introduction to Design Patterns in C++ with Qt 4 (PDF)

  Object Oriented Programming in C (PDF)

  Beej’s Guide to Network Programming

  Learn C the hard way

  Also see: The Definitive C++ Book Guide and List

  C#

  请参见下?.NET 斚w?/p>

  Clojure

  Clojure Programming

  ColdFusion

  CFML In 100 Minutes

  DB2

  Getting started with IBM Data Studio for DB2 (PDF)

  Getting started with IBM DB2 development (PDF)

  Getting started with DB2 Express-C (PDF)

  Delphi / Pascal

  Essential Pascal Version 1 and 2

  The Tomes of Delphi

  Django

  Djangobook.com

  Erlang

  Learn You Some Erlang For Great Good

  Flex

  Getting started with Adobe Flex (PDF)

  F#

  The F# Survival Guide

  F Sharp Programming in Wikibooks

  Forth

  Starting Forth

  Thinking Forth

  Git

  Pro Git

  The Git Community Book

  Git From The Bottom Up (PDF)

  Grails

  Getting Start with Grails

  Haskell

  Learn You a Haskell

  Real World Haskell

  HTML / CSS

  Dive Into HTML5

  HTML Dog Tutorials

  Java

  Sun’s Java Tutorials

  Thinking in Java Q?a rel="nofollow" target="_blank">Java ~程思想》)

  How to Think Like a Computer Scientist

  Java Thin-Client Programming

  OSGi in Practice (PDF)

  Java 6 Tutorial (PDF)

  JavaScript

  Eloquent JavaScript

  Crockford’s JavaScript

  jQuery Fundamentals (starts with JavaScript basics)

  Mozilla Developer Network’s JavaScript Guide

  Essential Javascript & jQuery Design Patterns for Beginners

  Latex

  The Not So Short Introduction to LATEX (perfect for beginners 特别适合初学?

  Linux

  Advanced Linux Programming

  Lisp

  A Gentle Introduction to Symbolic Computation (PDF)

  Practical Common Lisp

  On Lisp

  ANSI Common Lisp

  Common Lisp the Language, 2nd Edition

  Successful Lisp

  Let Over Lambda – 50 Years of Lisp

  Natural Language Processing in Lisp

  Lua

  Programming In Lua (for v5 but still largely relevant)

  Lua Programming Gems Q不完全免费Q但有很多免费的章节及代码)

  Maven

  Better Builds with Maven

  Maven by Example

  Maven: The Complete Reference

  Repository Management with Nexus

  Developing with Eclipse and Maven

  Mercurial

  Mercurial: The Definitive Guide

  HGInit – Mercurial Tutorial by Joel Spolsky

  Nemerle

  See .NET below

  .NET (C# / VB / Nemerle / Visual Studio)

  C# School (covers C# 1.0 and 2.0)

  Visual Studio Tips and Tricks (VS 2003-2005 only)

  Entity Framework

  Charles Petzold’s .NET Book 0

  Threading in C#

  C# Yellow Book (intro to programming)

  C# Programming – Wikibook

  C# Essentials

  Data Structures and Algorithms with Object-Oriented Design Patterns in C#

  Illustrated C# 2008 (.zip, dead link)

  O’Reilly’s C# Pocket Reference Manual (dead link)

  Nemerle

  NoSQL

  CouchDB: The Definitive Guide

  The Little MongoDB Book

  Oberon

  Programming in Oberon (PDF)

  Objective-C

  The Objective-C Programming Language

  OCaml

  Unix System Programming in OCaml

  Introduction to OCaml (PDF)

  Oracle Server

  Oracle’s Guides and Manuals

  Oracle PL/SQL

  PL/SQL Language Reference

  PL/SQL Packages and Types Reference

  Steven Feuerstein’s PL/SQL Obsession – Videos and Presentations

  Parrot / Perl 6

  Using Perl 6 (work in progress)

  Perl

  Higher-Order Perl

  Perl The Hard Way

  Extreme Perl

  Perl Free Online EBooks (meta-list)

  The Mason Book

  Practical mod_perl

  Beginning Perl

  Embedding Perl in HTML with Mason

  Perl & LWP

  Perl for the Web

  Web Client Programming with Perl

  Modern Perl 5

  PHP

  Practical PHP Programming (wiki containing O’Reilly’s PHP In a Nutshell)

  Zend Framework: Survive the Deep End

  PowerShell

  Mastering PowerShell

  Prolog

  Building Expert Systems in Prolog

  Adventure in Prolog

  Prolog Programming A First Course

  Logic, Programming and Prolog (2ed)

  Introduction to Prolog for Mathematicians

  Learn Prolog Now!

  Natural Language Processing in Prolog

  Natural Language Processing Techniques in Prolog

  Prolog techniques

  Applications of Prolog

  Simply logical

  PostgreSQL

  Practical PostgreSQL

  Python

  Dive Into Python

  Dive Into Python 3

  Byte of Python

  Building Skills in Python Version 2.5

  Python Free Online Ebooks (meta-list)

  Python Bibliotheca

  Think Python (PDF)

  Data Structures and Algorithms in Python

  How to Think Like a Computer Scientist: Learning with Python

  Python for Fun

  Invent Your Own Computer Games With Python

  Learn Python The Hard Way

  Thinking in Python

  The Django Book

  Snake Wrangling For Kids

  Natural Language Processing with Python

  R

  The R Manuals

  The R Language

  R by example

  Computational Statistics, Jeremy Penzer

  Ruby

  Programming Ruby

  Why’s (Poignant) Guide to Ruby (mirror)

  Mr. Neighborly’s Humble Little Ruby Book

  Ruby Best Practices

  MacRuby: The Definitive Guide

  Learn Ruby the hard way

  Ruby on Rails

  Ruby on Rails Tutorial: Learn Rails By Example

  Scala

  Programming in Scala, First Edition

  A Scala Tutorial for Java programmers (PDF)

  Scala By Example (PDF)

  Programming Scala

  Xtrace (Github)

  List (Github)

  Pro Scala: Monadic Design Patterns for the Web

  Exploring Lift (published earlier as “The Definitive Guide to Lift”Q?PDF)

  Scheme

  The Scheme Programming Language (Edition 4)

  Smalltalk

  Free Online Smalltalk Books (meta-list)

  Squeak By Example (Smalltalk IDE)

  Subversion

  Subversion Version Control (PDF)

  Version Control with Subversion

  SQL (implementation agnostic)

  Developing Time-Oriented Database Applications in SQL

  Use The IndexQ?Luke! (a guide to SQL database performance for developers)

  Teradata

  Teradata Books

  Vim

  A Byte of Vim

  Vim Recipes

  交互式教E网站:http://t.cn/aep0mV

  很全?Vim 速查卡:http://t.cn/aBPFPk

  Websphere

  Getting started with WebSphere (PDF)

 

  二?TG 推荐了麻省理工学院的一门课E?/strong>

 

  ?a rel="nofollow" target="_blank">Structure and Interpretation of computer programs / 计算机程序员l构和解?/a>》,q门评视频地址是:http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

 

  三?Gatekiller 推荐的资源如下:

 

  How to Design Programs

  Graphics Programing Black Book

  Real World Haskell

  Let Over Lambda

  Starting Forth

  List of Free Online Python Books

  List of Free Online Perl Books

  Squeak by Example

  C# Essentials

  List of Free Online Smalltalk Books

  Successful Lisp

  Introduction to Functional Programming

 

  四、ani625推荐了一?Linux 相关书籍

 

  The Art of Unix Programming

  Advanced Linux Programming by CodeSourcery LLC

  Java Application Development on Linux by Carl Albing and Michael Schwarz (PDF)

  Advanced Linux Programming

  Secure Programming for Linux and Unix

  The Linux Development Platform

  Secure Programming for Linux and Unix HOWTO

  C++ GUI Programming With Qt 3

  Linux Kernel Module Programming Guide by Ori Pomerantz

  KDE 2.0 Development

  GTK+/Gnome Application Development

  GNU Autoconf, Automake and Libtool

  The Linux Kernel Module Programming Guide

  PHP Essentials

  JavaScript Essentials

  Visual Basic Essentials

 

  上面q?个推荐,是得数最高的?位。下面这些得数不太高的Q从中挑选了一些?/strong>

  The Django Book, GNU Free Document License

  Mercurial (Hg) book by Bryan O’Sullivan. QMercurial 是一个分布式版本控制软gQ?/p>

  37 Signals’ 公司?“Getting Real” 也提供免费在UK诅R?/p>

  ?a rel="nofollow" target="_blank">Clever Algorithms: Nature-Inspired Programming Recipes 》描qC人工领域中的 45 个算法。所以这些算法的描述都连贯ƈ完整Q确保广大受众可以理解?q本书也有免费的 PDF 版,也可?a rel="nofollow" target="_blank">在线免费阅读?/p>

  ȝ理工学院关于计算机科学的开源课E:http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm

  《Practical Common LispQ?a rel="nofollow" target="_blank">实用 Common Lisp ~程Q》Sergio Acosta 强烈推荐的,特别适合?Lisp 感兴的初学者,虽然q本书的U质版ƈ不免费,但作?Peter Seibel 允许免费在线阅读?/p>

MingIsMe 2011-11-07 18:36 发表评论
]]>
23?NET开源项?/title><link>http://www.tkk7.com/nobody_am/archive/2009/07/06/285623.html</link><dc:creator>MingIsMe</dc:creator><author>MingIsMe</author><pubDate>Mon, 06 Jul 2009 00:46:00 GMT</pubDate><guid>http://www.tkk7.com/nobody_am/archive/2009/07/06/285623.html</guid><description><![CDATA[<p>Eric Nelson是微软技术的传道者,也是<a id="md-0" title="MSDN UK Flash">MSDN UK Flash</a>的技术编辑,他编写了一个列表,列出23个UK开发h员推荐的<a id="peq3" title=".NET开源项?>.NET开源项?/a>。微软的一些开源项目如ASP.NET MVC、DLR、IronRuby、IronPython、MEF{则未列入其中?/p> <p>Eric试只包含一个测试框架和一个mock框架Q即使有很多其它的项目同样入围。他列出了以下项目:</p> <blockquote> <ol> <li><a >[TEST] xUnit.net </a>- 用于TDD的最好的试框架之一?/li> <li><a >[TEST] RhinoMocks mocking framework</a> - 通过创徏mock使测试更单?/li> <li><a >[TEST] White for automation of Windows applications</a> - 用代码驱动WindowsE序来测试?/li> <li><a >[TEST] Gallio Automation Platform</a> - 可以q行很多试框架Q如MSTest、xUnit、NUnit以及MbUnit?/li> <li><a >[DATA] Fluent NHibernate</a> - Fluent NHibernate让你可以用C#代码来设|映关pR?/li> <li><a >[OOP] StructureMap Dependency Injection/Inversion of Control </a>- 解耦类和依赖?/li> <li><a >[OOP] Managed Extensibility Framework</a> - 从静态编译程序{换到动态语aE序</li> <li><a >[APPFX] s#arp architecture for web applications</a> - 用ASP.NET MVC和NHibernate快速开发web应用E序?/li> <li><a >[APPFX] OpenRasta REST based framework for building web applications</a> - 让你的程序拥有一个REST API接口?/li> <li><a >[APPFX] CSLA.NET Application Framework</a> - .NET开发综合框?/li> <li><a >[APPFX] Spring.NET Application Framework</a> - Web开发综合框?/li> <li><a >[RUNTIME] Mono enables .NET on Linux and Mac</a> - 在Linux、BSD和OS X上?NET.</li> <li><a >[UTIL] Sandcastle Help File Builder</a> - 创徏MSDN样式的文档?/li> <li><a >[HELPER] EasyHook for Windows API Hooking</a> - 用托代码扩展非托管代码?/li> <li><a >[HELPER] Json.NET for working with JSON formatted data</a> - 用一条语句序列化.NET对象?/li> <li><a >[HELPER] Excel Data Reader for Excel 97 to 2007</a> - Excel文gd到Dataset?/li> <li><a >[HELPER] #SNMP Library</a> - 对SNMP的包装?/li> <li><a >[HELPER] DotNetZip Library</a> - ZIP库和CZ?/li> <li><a >[HELPER] Visio Automation Library</a> - 用C#、VB和其它语a驱动Viso</li> <li><a >[HELPER] PHPExcel is not just about Excel!</a> - dExecel 2007、PDF、HTML{文的PHPc?/li> <li><a >[HELPER] Argotic Syndication Framework for RSS, Atom, OPML and more</a> - d聚合内容的库</li> <li><a >[HELPER] NLog logging library</a> -让你的程序易于调?</li> <li><a >A great directory of C# Open Source software</a> - 一个非常好的库、框架和工具列表</li> </ol> </blockquote> <p>q有一?a id="ohk:" title="提交的项?>提交的项?/a>没有q入列表Q?/p> <ul> <li><a target="_blank" >Castle</a></li> <li><a target="_blank" >MvcContrib</a></li> <li><a target="_blank" >Subversion</a></li> <li><a target="_blank" >Nant</a></li> <li><a target="_blank" >log4net</a></li> <li><a target="_blank" >Lucene</a></li> <li><a target="_blank" >CruiseControl</a></li> <li><a target="_blank" >MEF</a></li> <li><a target="_blank" >Paint.NET</a></li> </ul> <p>一些?a target="_blank" >MS-PL</a>许可证的微Y目:</p> <ul> <li><a target="_blank" >ASP.NET MVC Open Source</a></li> <li><a >.NET Dynamic Language Runtime</a> (DLR)</li> <li><a >IronRuby</a></li> <li><a >IronPython</a></li> <li><a >Silverlight Toolkit</a></li> <li><a >Ajax Control Toolkit</a></li> <li><a >Managed Extensibility Framework</a> (MEF)</li> </ul> <p>MS-PL是OSI认可的许可证QGNU也认可它为免费Y件许可证Q它允许M人查看源代码、修Ҏ代码q发布修改后的源代码。而且此许可证q不? 制代码只能运行在Windows上,q样可以将代码UL到其它操作系l,例如MonoQLinux上的.NETQ和MonolightQLinux上的 SilverlightQ。MonoDevelop有一?a id="lth3" title="插g">插g</a>Q可以用来在Linux和Mac OS X上开发ASP.NET MVCE序?/p> <img src ="http://www.tkk7.com/nobody_am/aggbug/285623.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/nobody_am/" target="_blank">MingIsMe</a> 2009-07-06 08:46 <a href="http://www.tkk7.com/nobody_am/archive/2009/07/06/285623.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>240多个jQuery插ghttp://www.tkk7.com/nobody_am/archive/2009/07/02/285046.htmlMingIsMeMingIsMeWed, 01 Jul 2009 16:45:00 GMThttp://www.tkk7.com/nobody_am/archive/2009/07/02/285046.html强烈推荐Q?40多个jQuery插g【备用ing?

概述

jQuery 是 prototype 之后又一个优U?Javascript 框架。其宗旨是—写更少的代?做更多的事情。它是轻量?js ?压羃后只?1k) Q这是其它的 js 库所不及 的,它兼?CSS3Q还兼容各种览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+Q?jQuery 是一个快速的Q简z的 javaScript 库,使用戯更方便地处理 HTML documents、events、实现动L果,q且方便Cؓ|站提供 AJAX 交互?jQuery q有一个比较大的优势是Q它的文说明很全,而且各种应用也说得很详细Q同时还有许多成熟的插g可供选择?jQuery 能够使用L html 保持代码和 html 内容分离Q也是_不用再在 html 里面插入一堆js来调用命令了Q只需定义 id 卛_。今天在Kollermedia.at上发C一JQuery插g列表?a target="_blank" >文章Q特推荐如下?/p>

文g上传(File upload)

Ajax File Upload.
jQUploader.
Multiple File Upload plugin
jQuery File Style.
Styling an input type file.
Progress Bar Plugin.

表单验证(Form Validation)

jQuery Validation.
Auto Help.
Simple jQuery form validation.
jQuery XAV - form validations.
jQuery AlphaNumeric.
Masked Input.
TypeWatch Plugin.
Text limiter for form fields.
Ajax Username Check with jQuery.

表单Q选取?Form - Select Box stuff)

jQuery Combobox.
jQuery controlled dependent (or Cascadign) Select List.
Multiple Selects.
Select box manipulation.
Select Combo Plugin.
jQuery - LinkedSelect
Auto-populate multiple select boxes.
Choose Plugin (Select Replacement).

表单基本、输入框、选择框等(Form Basics, Input Fields, Checkboxes etc.)

jQuery Form Plugin.
jQuery-Form.
jLook Nice Forms.
jNice.
Ping Plugin.
Toggle Form Text.
ToggleVal.
jQuery Field Plugin.
jQuery Form’n Field plugin.
jQuery Checkbox manipulation.
jTagging.
jQuery labelcheck.
Overlabel.
3 state radio buttons.
ShiftCheckbox jQuery Plugin.
Watermark Input.
jQuery Checkbox (checkboxes with imags).
jQuery SpinButton Control.
jQuery Ajax Form Builder.
jQuery Focus Fields.
jQuery Time Entry.

旉、日期和颜色选取(Time, Date and Color Picker)

jQuery UI Datepicker.
jQuery date picker plugin.
jQuery Time Picker.
Time Picker.
ClickPick.
TimePicker.
Farbtastic jQuery Color Picker Plugin.
Color Picker by intelliance.fr.

投票插g(Rating Plugins)

jQuery Star Rating Plugin.
jQuery Star Rater.
Content rater with asp.net, ajax and jQuery.
Half-Star Rating Plugin.

搜烦插g(Search Plugins)

jQuery Suggest.
jQuery Autocomplete.
jQuery Autocomplete Mod.
jQuery Autocomplete by AjaxDaddy.
jQuery Autocomplete Plugin with HTML formatting.
jQuery Autocompleter.
AutoCompleter (Tutorial with PHP&MySQL).
quick Search jQuery Plugin.

~辑?Inline Edit & Editors)

jTagEditor.
WYMeditor.
jQuery jFrame.
Jeditable - edit in place plugin for jQuery.
jQuery editable.
jQuery Disable Text Select Plugin.
Edit in Place with Ajax using jQuery.
jQuery Plugin - Another In-Place Editor.
TableEditor.
tEditable - in place table editing for jQuery.

多媒体、视频、Flash{?Audio, Video, Flash, SVG, etc)

jMedia - accessible multi-media embedding.
JBEdit - Ajax online Video Editor.
jQuery MP3 Plugin.
jQuery Media Plugin.
jQuery Flash Plugin.
Embed QuickTime.
SVG Integration.

囄(Photos/Images/Galleries)

ThickBox.
jQuery lightBox plugin.
jQuery Image Strip.
jQuery slideViewer.
jQuery jqGalScroll 2.0.
jQuery - jqGalViewII.
jQuery - jqGalViewIII.
jQuery Photo Slider.
jQuery Thumbs - easily create thumbnails.
jQuery jQIR Image Replacement.
jCarousel Lite.
jQPanView.
jCarousel.
Interface Imagebox.
Image Gallery using jQuery, Interface & Reflactions.
simple jQuery Gallery.
jQuery Gallery Module.
EO Gallery.
jQuery ScrollShow.
jQuery Cycle Plugin.
jQuery Flickr.
jQuery Lazy Load Images Plugin.
Zoomi - Zoomable Thumbnails.
jQuery Crop - crop any image on the fly.
Image Reflection.

Google地图QGoogle MapQ?/font>

jQuery Plugin googlemaps.
jMaps jQuery Maps Framework.
jQmaps.
jQuery & Google Maps.
jQuery Maps Interface forr Google and Yahoo maps.
jQuery J Maps - by Tane Piper.

游戏(Games)

Tetris with jQuery.
jQuery Chess.
Mad Libs Word Game.
jQuery Puzzle.
jQuery Solar System (not a game but awesome jQuery Stuff).

表格{?Tables, Grids etc.)

UI/Tablesorter.
jQuery ingrid.
jQuery Grid Plugin.
Table Filter - awesome!.
TableEditor.
jQuery Tree Tables.
Expandable “Detail” Table Rows.
Sortable Table ColdFusion Costum Tag with jQuery UI.
jQuery Bubble.
TableSorter.
Scrollable HTML Table.
jQuery column Manager Plugin.
jQuery tableHover Plugin.
jQuery columnHover Plugin.
jQuery Grid.
TableSorter plugin for jQuery.
tEditable - in place table editing for jQuery.
jQuery charToTable Plugin.
jQuery Grid Column Sizing.
jQuery Grid Row Sizing.

l计?Charts, Presentation etc.)

jQuery Wizard Plugin .
jQuery Chart Plugin.
Bar Chart.

Ҏ、圆角、背?Border, Corners, Background)

jQuery Corner.
jQuery Curvy Corner.
Nifty jQuery Corner.
Transparent Corners.
jQuery Corner Gallery.
Gradient Plugin.

文字和超链接(Text and Links)

jQuery Spoiler plugin.
Text Highlighting.
Disable Text Select Plugin.
jQuery Newsticker.
Auto line-height Plugin.
Textgrad - a text gradient plugin.
LinkLook - a link thumbnail preview.
pager jQuery Plugin.
shortKeys jQuery Plugin.
jQuery Biggerlink.
jQuery Ajax Link Checker.

鼠标提示QTooltipsQ?/font>

jQuery Plugin - Tooltip.
jTip - The jQuery Tool Tip.
clueTip.
BetterTip.
Flash Tooltips using jQuery.
ToolTip.

菜单和导?Menus, Navigations)

jQuery Tabs Plugin - awesome! . [demo nested tabs.]
another jQuery nested Tab Set example (based on jQuery Tabs Plugin).
jQuery idTabs.
jdMenu - Hierarchical Menu Plugin for jQuery.
jQuery SuckerFish Style.
jQuery Plugin Treeview.
treeView Basic.
FastFind Menu.
Sliding Menu.
Lava Lamp jQuery Menu.
jQuery iconDock.
jVariations Control Panel.
ContextMenu plugin.
clickMenu.
CSS Dock Menu.
jQuery Pop-up Menu Tutorial.
Sliding Menu.

http://stilbuero.de/jquery/tabs_3/

qȝ、翻转等(Accordions, Slide and Toggle stuff)

jQuery Plugin Accordion.
jQuery Accordion Plugin Horizontal Way.
haccordion - a simple horizontal accordion plugin for jQuery.
Horizontal Accordion by portalzine.de.
HoverAccordion.
Accordion Example from fmarcia.info.
jQuery Accordion Example.
jQuery Demo - Expandable Sidebar Menu.
Sliding Panels for jQuery.
jQuery ToggleElements.
Coda Slider.
jCarousel.
Accesible News Slider Plugin.
Showing and Hiding code Examples.
jQuery Easing Plugin.
jQuery Portlets.
AutoScroll.
Innerfade.

拖放插g(Drag and Drop)

UI/Draggables.
EasyDrag jQuery Plugin.
jQuery Portlets.
jqDnR - drag, drop resize.
Drag Demos.

XML XSL JSON Feeds

XSLT Plugin.
jQuery Ajax call and result XML parsing.
xmlObjectifier - Converts XML DOM to JSON.
jQuery XSL Transform.
jQuery Taconite - multiple Dom updates.
RSS/ATOM Feed Parser Plugin.
jQuery Google Feed Plugin.

览?Browserstuff)

Wresize - IE Resize event Fix Plugin.
jQuery ifixpng.
jQuery pngFix.
Link Scrubber - removes the dotted line onfocus from links.
jQuery Perciformes - the entire suckerfish familly under one roof.
Background Iframe.
QinIE - for proper display of Q tags in IE.
jQuery Accessibility Plugin.
jQuery MouseWheel Plugin.

对话框、确认窗?Alert, Prompt, Confirm Windows)

jQuery Impromptu.
jQuery Confirm Plugin.
jqModal.
SimpleModal.

CSS

jQuery Style Switcher.
JSS - Javascript StyleSheets.
jQuery Rule - creation/manipulation of CSS Rules.
jPrintArea.

DOM、AJAX和其它JQuery插gQDOM, Ajax and other jQuery pluginsQ?/font>

FlyDOM.
jQuery Dimenion Plugin.
jQuery Loggin.
Metadata - extract metadata from classes, attributes, elements.
Super-tiny Client-Side Include Javascript jQuery Plugin.
Undo Made Easy with Ajax.
JHeartbeat - periodically poll the server.
Lazy Load Plugin.
Live Query.
jQuery Timers.
jQuery Share it - display social bookmarking icons.
jQuery serverCookieJar.
jQuery autoSave.
jQuery Puffer.
jQuery iFrame Plugin.
Cookie Plugin for jQuery.
jQuery Spy - awesome plugin.
Effect Delay Trick.
jQuick - a quick tag creator for jQuery.
Metaobjects
.
elementReady.



MingIsMe 2009-07-02 00:45 发表评论
]]>
DotNet Open Source Listhttp://www.tkk7.com/nobody_am/archive/2009/04/14/265565.htmlMingIsMeMingIsMeTue, 14 Apr 2009 09:14:00 GMThttp://www.tkk7.com/nobody_am/archive/2009/04/14/265565.htmle-Commerce / Online Shopping Carts
  1. Dash Commerce - http://dashcommerce.org
  2. Dot Shopping Cart - http://www.dotshoppingcart.com/
  3. VevoCart - http://www.vevocart.com/
  4. e-Shop ASP.NET - http://fkn1337.com/e-shop-aspnet-mysql-script/
  5. PressTopia Shop - http://presstopia.com/dnn/Default.aspx?tabid=236
  6. nopCommerce - http://nopcommerce.codeplex.com
  7. MVC eCommerce Starter Kit - http://mvcecommercekit.codeplex.com 

Content Management Systems

  1. Umbraco - http://umbraco.org
  2. DotNetNuke - http://www.dotnetnuke.com
  3. Sense/Net CMS - http://sensenet.codeplex.com
  4. Novella - http://novella.codeplex.com
  5. N2 CMS - http://n2.codeplex.com
  6. MojoPortal - http://mojoportal.codeplex.com/
  7. The Beer House - http://www.codeplex.com/Wiki/View.aspx?ProjectName=TheBeerHouse
  8. My Web Pages Starter Kit - http://www.codeplex.com/MyWebPagesStarterKit/ 
  9. Basic CMS - http://www.basic-cms.com
  10. JMD CMS - http://www.codeplex.com/JMDCMS/
  11. Nickel & Dime CMS - http://ndcms-net.sourceforge.net/
  12. Nolior EZNews - http://sourceforge.net/projects/nolioreznews/
  13. Hydrogen CMS - http://hydrogencms.codeplex.com

Blogs / Blogging

  1. Blog Engine .NET - http://www.dotnetblogengine.net
  2. BlogSVC (MVC) - http://www.codeplex.com/blogsvc
  3. Oxite (MVC) - http://oxite.codeplex.com
  4. DasBlog - http://www.dasblog.info
  5. Sub Text - http://www.subtextproject.com
  6. PressTopia - http://presstopia.com/dnn/Default.aspx?tabid=160 

Link Directories

  1. (ASPLD) ASP.NET 3.5 Link Directory - http://www.n3o.co.uk/software/aspld.aspx
  2. XD Link Directory - http://www.ex-designz.net/softwaredetail.asp?fid=835
  3. ASP.NET 2.0 Link Directory - http://www.davemackey.net/Applications/LinkDirectory/tabid/88/Default.aspx

Customer Relationship Management (CRM)

  1. Splendid CRM - http://www.splendidcrm.com

Wiki's

  1. FlexWiki - http://www.flexwiki.com
  2. ScrewTurn Wiki - http://www.screwturn.eu/Default.aspx?Page=Wiki&AspxAutoDetectCookieSupport=1 

Instant Message Apps

  1. IM.NET - http://www.dotnetim.com

Forum / Portals / Networks

  1. Kigg (Digg like application) - http://www.codeplex.com/Kigg
  2. Club Starter Kit - http://www.codeplex.com/ClubStarterKit/
  3. Drop Things (Web 2.0 Portal) - http://www.dropthings.com
  4. Yet Another Forum - http://www.yetanotherforum.net
  5. DMG Forum - http://www.dmgforums.com/

Recruitment / Job Systems

  1. Job Site Starter Kit - http://www.binaryintellect.net/articles/a203c824-aec1-41b7-b3ec-49a15d5c9ebb.aspx
  2. Stock / Inventory Tracker - http://itracker.df-software.com/download.aspx

Web / E Mail

  1. DotNet Open Mail - http://dotnetopenmail.sourceforge.net/
  2. qqMail - http://www.umailcampaign.com/mailcom.aspx
  3. Sharp Web Mail - http://anmar.eu.org/projects/sharpwebmail/
  4. Web News Letter - http://www.codeplex.com/newsletter 

Image & Video Galleries

  1. Media Library Starter Kit - http://www.asp.net/downloads/starter-kits/media-library/
  2. ASP.NET Foto Gallery - http://www.pentabyte.de/software/WebControls/
  3. gPhotoNet - http://www.thezeal.com/software/index.php?gPhotoNet

Classifieds

  1. Classifieds Starter Kit - http://msdn.microsoft.com/en-us/cc533489.aspx
  2. Dating .NET - http://www20.brinkster.com/joemay7/

Misc

  1. ASP.NET Small Business Web Site Starter Kit - http://msdn.microsoft.com/en-us/cc533514.aspx
  2. ASP.NET Personal Web Site Starter Kit - http://msdn.microsoft.com/en-us/cc533486.aspx
  3. Time Tracking Website - http://msdn.microsoft.com/en-us/cc533488.aspx
  4. DinnerNow (Food Ordering System) - http://www.dinnernow.net
  5. Bug Tracker .NET - http://ifdefined.com/bugtrackernet.html

If you would like your application added to this list please just post a link below and I'll add it



MingIsMe 2009-04-14 17:14 发表评论
]]>
五十多种|页设计工具大集?http://www.tkk7.com/nobody_am/archive/2008/06/08/206613.htmlMingIsMeMingIsMeSat, 07 Jun 2008 17:59:00 GMThttp://www.tkk7.com/nobody_am/archive/2008/06/08/206613.html

现在Z|络的各U工P像是寒武纪的生物大爆发一hC出来Q多得简直让人有点目不暇接,记都Cq来。对于网设计者们也不例外Q现在的许多工具能让一个菜鸟也变成设计师(不知道是好还是不好)Q对于那些老鸟们,也有一堆工具供他们使用。我们这里就攉了五十多U这L工具和资源,你可以在回复里把你知道的也加q来?

 
初学者资源区
    sitekreator

SiteKreator - 你可以瞬间设计、徏立ƈ开通一个具有完全品牌的个h或商用网站?/p>

Leafletter - 让你建立一?#8220;网?#8221;Q然后你可以把它发布在Q何地方(SNS|站、博客或者其它网站都行)?/p>

SynthaSite - 一个基于浏览器的徏站工P使你能和你的朋友和同事一起协作来做事情。也提供许多widget、模板和其他供你使用的组件?/p>

Weebly - 借助它,你可以在一个拖攄界面里,建立一个拥有完全品牌的|站Q而且你还可以随时更改你的设计?br />
FolioNow - 一个能让徏站变得既省钱又省力的Z|页的工兗?/div>

Zinadoo
- 建立和分享手机网站的工具.

mobispirit - 一个在U创建手机程序的q_.

siteMighty - 一个基于网l的建站q_Q几分钟可以徏立一个联盟网?

CreataPlace - 不需要编E就可以建立一个展C网站,很便?

weebox - 拥有拖放界面的全Flash|站建站工具.

freewebs - 一个便L建站工具Q有数百个模板和可以自定义的widgets.

Built Smarter - 拥有C清的模板Q根据你愿意付的q多少Q提供内建的模块和自定义选项.

sampa - 免费建站服务Q在面上方有一个广告条.

Wufoo - 支持CSS和XHTML的表格工?

formspring - 另一个表格工兗它可以把表格的提交表单通过RSS或者一个汇总表呈现l你Q免M你接收数以百计的邮g的麻?

高用户资源

    inserit

inserit - 无需写代码的CMS(Content Management System,内容理pȝ)Q让你自由地设计你的|站Qƈ随时d在线的内宏V你q可以在M地方都能理你的|站 (Linux环境或者Windows环境均可).

BrowserShots - 用不同的览器来试你的|站的工?

tweak - Tweak是一个CMS,它可以让你设计你自己的样式,q保持统一的风根{你也可以保存Q何类型的|页(HTML, PHP, ASP, JSP{等).

formatpixel - q个工具可以让你建立在线杂志、爱好者杂志或者类目,q把它们在你的网站上分n.

RoundedCornr - 生成圆角囑Ş的HTML/CSS代码和图片的工具.

囑Ş设计资源?/strong>

    colorschemer

ColorSchemer - 不管我设计什么东西,我M到这个网站的用色Ҏ展示那儿d扄?

COLOURlovers - q儿有v量的灉|十的色彩主题、用色方案和色彩势.

Color Mixers - Color MixersZ生成用色ҎQ它q有一个滚动条界面Q让你轻松调?

ColorBlender - 一Ƒօ费的在线调色板生成工P你只需要用取色器选一U颜Ԍ然后它就会自动ؓ你生成一个六色的调色?

Kuler - 一个可以做出兼容Adobe Creative Suitepd软g的用色方案的工具.

colr - 又一个用色方案生成器.

Color Tool 2.0.8 Alpha - 一个很L用色Ҏ生成器,你可以把它们存下来,|站q会提供链接.

Vecteezy - 从这里,你可以得C界顶极艺术家们的作品的矢量图?

BlogFlux Button Maker - 你不用知晓怎么用图形YӞ只要点几下,Button Makerp做出80×15?8×13两种规格的按?

Button Browser - 按钮展示和制作的|站.

Brilliant Button Maker - 又一个能做出80×15大小的按钮的工具.

Background Image Maker - 用这个工P你可以ؓ你的|站设计出斜Uѝ条UV点阉|渐变的背景图?

Brusheezy - q里可以下蝲到很LPhotoshopW刷.

Tartan Maker - 一个可以做Z自己的方格图案的方便的工P你可以把它用作背景或者其它用?

iconfinder - 一个图标搜索引?

Stripe Generator 2.0 - 一个ؓ你的|站制作条纹背景的工?

FamFamFam - Silk icons,攉?000U图标的|站。这儿你能找到文字图标、图形图标、XHTML/CSS按钮、硬盘图标?feed图标{等.

IconBuffet - 专业图标攉?

Web 2.0 Badges - Z的网站制作Web 2.0囄的工?

The Icon Factory - q里提供免费的图标,以及一个共享的图标制作软gIconBuilder.

Colr Pickr - 你选一U颜ԌColr Pickr会从Flickr上ؓ你找C要由q种颜色l成的照?

terra IMS mapicons Dynamic Generator - q个工具可以创徏一个用在Google地图或Yahoo地图上的PNG格式的图?

pic2color - q个工具可以把照片做成调色板Q还可以Z的图片重新着?

TypeTester - TypeTester可以让你把不同字体ƈ排放在一P以便你做选择.

其它资源?/strong>

    designsnack

DesignSnack - 一个网设计展C站Q浏览者可以给被展C的设计投票.

Web Creme - q里集合了许多富有灵气的|页设计.

CSS Collection - q里攉了一些用CSS做出来的站点也许你能从中扑ֈ灉|.

cssBeauty - 充满灉|的CSS|站攉站点.

ConceptShare - 在这儿,你可以和你的客户以及合作人分享你的作品,清晰的界面让客户们一目了?

A List Apart - q里有关心网l发展和|页设计的h必读的博客和在线杂志.

Web Design from Scratch - 量的设计资源站Q包括描q设计过E的文章、目标导向设计、网站结构和可用性等内容.

Css ForSale - 在这个网站里Q你可以购买到已l徏立好了的CSS站点Q或者就来这儿找点灵感吧.



MingIsMe 2008-06-08 01:59 发表评论
]]>
java.lang.OutOfMemoryError: PermGen space及其解决Ҏhttp://www.tkk7.com/nobody_am/archive/2008/06/04/205848.htmlMingIsMeMingIsMeWed, 04 Jun 2008 08:02:00 GMThttp://www.tkk7.com/nobody_am/archive/2008/06/04/205848.html

1?br />

PermGen space的全U是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决Ҏ也一定是加大内存。说说ؓ什么会内存益出Q这一部分用于存放Class和Meta的信?Class在被 Load的时候被攑օPermGen space区域Q它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对PermGen spaceq行清理Q所以如果你的APP会LOAD很多CLASS的话,很可能出现PermGen space错误。这U错误常见在web服务器对JSPq行pre compile的时候?/p> ҎҎQ?Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

2?/p>

在tomcat中redeploy时出现outofmemory的错?

可以有以下几个方面的原因:

Q?使用?font color="#800080">proxool,?span style="color: #000000">?font style="color: #000000" color="#800080">proxool内部包含了一个老版本的cglib.

2, log4j,最好不?只用common-logging

3, 老版本的cglib,快点更新到最新版?/span>

Q,更新到最新的hibernate3.2

3?br />
q里以tomcat环境ZQ其它WEB服务器如jboss,weblogic{是同一个道理?br /> 一、java.lang.OutOfMemoryError: PermGen space

PermGen space的全U是Permanent Generation space,是指内存的永久保存区?
q块内存主要是被JVM存放Class和Meta信息?Class在被Loader时就会被攑ֈPermGen space?
它和存放cd?Instance)的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对
PermGen spaceq行清理Q所以如果你的应用中有很多CLASS的话,很可能出现PermGen space错误,
q种错误常见在web服务器对JSPq行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大?br /> 过了jvm默认的大?4M)那么׃产生此错误信息了?br /> 解决ҎQ?手动讄MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.sh
?#8220;echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
Q将相同的第三方jar文gUȝ到tomcat/shared/lib目录下,q样可以辑ֈ减少jar 文重复占用内存的目的?/p>

二、java.lang.OutOfMemoryError: Java heap space
Heap size 讄
JVM堆的讄是指javaE序q行q程中JVM可以调配使用的内存空间的讄.JVM在启动的时候会自动讄Heap size的|
其初始空??Xms)是物理内存的1/64Q最大空?-Xmx)是物理内存的1/4。可以利用JVM提供?Xmn -Xms -Xmx{选项?br /> q行讄。Heap size 的大是Young Generation 和Tenured Generaion 之和?br /> 提示Q在JVM中如?8Q的旉是用于GC且可用的Heap size 不2Q的时候将抛出此异怿息?br /> 提示QHeap Size 最大不要超q可用物理内存的80Q,一般的要将-Xms?Xmx选项讄为相同,?Xmn?/4?Xmx倹{?
解决ҎQ手动设|Heap size
修改TOMCAT_HOME/bin/catalina.sh
?#8220;echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -Xms800m -Xmx800m   -XX:MaxNewSize=256m"

三、实例,以下l出1G内存环境下java jvm 的参数设|参考:

JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "


三、相兌?/p>

/show/3/7/20061112220131.htm

/show/3/7/20061112220054.htm

/show/3/7/20061112220201.htm

题外话:l常看到|友抱怨tomcat的性能不如...Q不E_{,其实ҎW者几q的l验Q从"互联星空“到现在的房门户|,我们
均用tomcat作ؓWEB服务器,每天讉K量百万多Qtomcat仍然q行良好。徏议大家有问题多从自己E序入手Q多看看java的DOC文
q详l了解JVM的知识。这样开发的E序才会健壮?br />


MingIsMe 2008-06-04 16:02 发表评论
]]>
Understanding PermGen errors (part3)http://www.tkk7.com/nobody_am/archive/2008/06/04/205845.htmlMingIsMeMingIsMeWed, 04 Jun 2008 07:59:00 GMThttp://www.tkk7.com/nobody_am/archive/2008/06/04/205845.htmlUnderstanding PermGen errors (part3)
The image verification code you entered is incorrect.

There are two command-line parameters that you must use to define the size of the permgen area: -XX:PermSize -XX:MaxPermSize. See the example bellow:

java -Xms64m -Xmx128m -XX:PermSize=64m -XX:MaxPermSize=256m MainClass

In this example, we are instructing the Java Virtual Machine to create an initial object heap size of 64 megabytes (-Xms) and maximum size of 128 megabytes (-Xmx). And we are defining a PermGen heap area of initially 64 megabytes (-XX:PermSize) and maximum size of 256 megabytes (-XX:MaxPermSize). Remember that the initial size of the heap area in this example, is the sum of the initial object heap area and the initial permgen heap area, that is, 64+64=128 megabytes. And the same for the maximum size of the heap area: 128+256=384 megabytes.

As a practical example, let's see how to increase permgen area size in Jboss. Locate the jboss.bat (in Windows) or jboss.conf (in Unix). Look for a linke containing a redefinition of the shell script variable JAVA_OPTS. You see bellow how the default configuration in Windows:

Uncomment thes line to set PermGen area size:

Now that we have learned how to monitor and fix permgen errors, I advice you not to blindly increase the permgen size everytime there is a permgen error. Monitor how the size of the permgen area is growing. The Permgen area shouldn't be constantly growing over a long period. The Java language features dynamic class loading, so classes will be loaded on demand and the permgen heap size will grow as well. But, if in the long term, your permgen area is still steadly growing, you are probably using some kind of bytecode generation framework which is misbehaving or you are using it incorrectly. Analyse that and rethink what you are doing.



MingIsMe 2008-06-04 15:59 发表评论
]]>
Understanding PermGen errors (part2)http://www.tkk7.com/nobody_am/archive/2008/06/04/205843.htmlMingIsMeMingIsMeWed, 04 Jun 2008 07:56:00 GMThttp://www.tkk7.com/nobody_am/archive/2008/06/04/205843.htmlUnderstanding PermGen errors (part2)
The image verification code you entered is incorrect.

Let's continue, where we stopped in my last post: How can I monitor the increase in PermGen area ?

For monitoring PermGen, we'll learn to use a very simple tool, which is part of Java 5, called JSTAT. For those who use Linux or any other Unix-like OS, jstat is very similar to the TOP tool. JSTAT will connect to some VM, local or remote, and monitor some critical resources. Let's see how it works. Just type JSTAT and you'll see its command-line options:

JPS (Java Process Status)

Let's understand the options. The 1st thing you need to know is the VMID (Virtual Machine ID). What is the VMID ? Right now, there are 2 Java applications running on my computer, each in its own virtual machine. Each virtual machine has its own VMID. To discover the VMID that the application you need to monitor is using, you'll have to learn another tool: JPS (Java Process Status). There is a very similar tool in the Unix world called PS. JPS will list all running VMs with their VMIDs. Just type JPS on the command-line and you'll see this:

Let's understand JPS's output. In its basic form, jps outputs the VMID and the simple name of the executable class that is running in the virtual machine. In this case, I can infer the application I want to monitor, Jboss, is the first one listed, not because I know that "Main" is the name executable class, but because I can exclude the 2nd line, which is obviously EasyEclipse and the 3rd line, which is JPS. JPS itself runs inside a virtual machine and therefore, is always reported by jps. If, by the simple name of main class you cannot discover the VMID of your application, I suggest you type "jps -l" which will show the complete name of the main class for each VM. In most cases, that will do.

Now that we know that the VMID of Jboss is 1136, let's use JSTAT to monitor Jboss usage of PermGen memory. To use JSTAT, you need specify a single parameter that will identify the class of monitors you want to use. In our case, we will use "-gcpermcapacity" which will show statistics of the sizes of the Permanent Generation.

The important metrics

There are 3 important numbers to monitor regarding permanent generation size: the maximum permanent size, the current permanent size, and the current permanent utilization. Now, look at jstat's ouput. The 1st column shows the minumum size for the permsize. That's a parameter you can set in the initialization of the virtual machine. The 2nd column shows the maximum size for permsize. This is also a paramter you can set in the initialization of the virtual machine. Now, compare the 2nd column to the 3rd column. The permanent size fluctuate between the minimum and the maximum number. Now, it's just the minimum number. But that doesn't mean it's all used. To know how much of the current permanent size is being used, we'll have to look at another number, the Permanent Capacity Utilization, which you can see using the "-gcutil" parameter. If [minimum] = [maximum] permanent size, then [current] = [maximum] = [minimum] permanent size. Therefore, this number will not be very useful. But, if [minimum] < [maximum], knowing if [current] is getting closer to [maximum] is of vital importance. If [current] is only a few megabytes bellow maximum, maybe this is the right time to change Jboss Installation, so that its virtual machine is initialized with a greater MAXIMUM permanent size.

Well, we'll learn how to do that in part3.



MingIsMe 2008-06-04 15:56 发表评论
]]>
Understanding PermGen errors (part1)http://www.tkk7.com/nobody_am/archive/2008/06/04/205841.htmlMingIsMeMingIsMeWed, 04 Jun 2008 07:55:00 GMThttp://www.tkk7.com/nobody_am/archive/2008/06/04/205841.htmlUnderstanding PermGen errors (part1)
The image verification code you entered is incorrect.

“java.lang.OutOfMemoryError: PermGen space ”: have you seen this error before ? If you have never seen it, you haven't probably been involved in creating large java server applications as of lately. Let's understand what this error means.

When you get OutOfMemoryError, it means that (so obvious) your application doesn't have enough memory to go on. But the rest of the message, “PermGen space” means that it's not the common object heap space that it's lacking, but only the memory space for the binary code of classes and methods is lacking.

Let's go deeper into this subject to understand properly what PermGen means. Well, PermGen is an acronym for “Permanent Generation”. The term Generation comes from the concept of “generational collection” and the term “generational collection” refers to an heuristic in the garbage collection mechanism that is used to intelligently identify only the most probable objects for garbage collection. There are 3 kinds of Generations in the VM memory: the young generation, the tenured generation and the permanent generation.

Let's go back to the original “Permanent Generation” term. As I said, it identifies a particular set of objects which are candidate for garbage collection and handled differently by the GC. These kind of objects which belong to the “Permanent Generation” are only the binary codes of all classes and methods. So, the binary code of classes and methods are not stored in the same memory area as the object instances. Now, I think you already understand what this error mean. “java.lang.OutOfMemoryError: PermGen space ” means that the virtual machine ran out of space for loading the binary code of classes and methods.

There are two steps ahead: knowing understanding why this error has happened to your application, learning to monitor the permanent generation size in order to prevent the occurrence of this error; and learning how to increase the permanent generation size.

Why has this error happened ?

The default size for permanent generatoin is 64M. But how come my not so large web application, which totals 2 megabytes of class code, could exceed this limit ? You're probably not counting it correctly. Your web application probably runs inside Jboss, Tomcat or another J2EE server. Add the size of Java SE libraries, the size of Jboss, the size of all libraries used by Jboss internally, the size of all libraries in the WEB-INF/lib directory of you WAR and you will get a large, large binary code area.

Aren't Java classes loaded on demand ? Yes, they are loaded on demand. So, you will probably have to factor that large number by 3 or 4. But there are other factors for the enlargement of the permanent generation area. If you web application has JSP pages, remember that every JSP page is converted into a servlet class file, before being executed. So, you should add that to the previous number. Also, maybe there are other web applications running under Jboss than you own. If you use Hibernate, for each persistent class that you create, Hibernate will dynamically create an enhanced class. If you use RMI or EJB, many kinds of proxy classes will be created and loaded in memory.

Now that you believe that the size of the binary code of classes and methods can exceed 64M, you have probably given up summing the sizes of all classes created and loaded by the VM, Jboss and you application. You'd better off monitoring the use of PermGen area than trying to calculate its size. That leads us to the next step: how can I monitor the increase in PermGen area.

How can I monitor the increase of PermGen area ?

(I'll finish this 2-part series on PermGen errors tomorrow)



MingIsMe 2008-06-04 15:55 发表评论
]]>
Tips for Productivity and Happiness at Work [mraible]http://www.tkk7.com/nobody_am/archive/2007/04/16/111052.htmlMingIsMeMingIsMeMon, 16 Apr 2007 11:12:00 GMThttp://www.tkk7.com/nobody_am/archive/2007/04/16/111052.html
Every so often, I get asked what my strategy is for "getting things done". This morning, I had a short session of mass productivity, and on my ride into work, got inspired to jot down a few tips productivity tips. Keep in mind that I grew up in the back woods of Montana with no electricity and I'm mostly Irish.

  • Write stuff down. The first and most important means to getting things done is to keep a todo list. I keep mine on Ta-da List and update it daily, if not hourly. My two most important lists are "When I have time" and "This Week". I regularly re-order "This Week" for the current day.
  • Quit reading e-mail and blogs. One of the ways I can tell I'm in uber-productive mode is my unread (or starred) mail piles up and I haven't read any blog posts (or blogged myself) in a couple days. I like GMail because I can easily star an e-mail after briefly skimming it. For some reason, flagging e-mail in Thunderbird or Mail.app doesn't work for me - I rarely go back and find those e-mails. With GMail, I'm always conscious I need to revisit starred messages.
  • Work on open source late at night, with a beer on your desk. While I do get the opportunity to work on open source at my day job, I still find that I'm most productive at night. Maybe this is because no one bugs me via e-mail or IM, or maybe it's just because the world is asleep. The strange thing is I often find myself motivated at 3 p.m. for my 11 p.m. workload. However, when I get to 11 p.m., I'm not motivated to work on anything. I've found that cracking open a beer at 11 when I start helps me focus and quit worrying about all the other computer-related tasks I need to do. Also, on beer #2 or 3, you'll start to forget what time it is and really start getting things done. NOTE: this isn't for rookies. If you're a lightweight and get hammered on two beers - just go to bed when you start coding with one eye shut. It helps to sleep in the next day after doing this. If you finish off a six-pack before going to bed, it's probably best not to check your code in - you're probably going to spend the next day fixing it anyway. Regardless, this is a great way to get started on a new feature because you're less concerned about the details and more concerned about the big picture. I've also found that "bug fixing juice" can be great for fixing bugs - it gives you a different perspective on the problem. I told you I was Irish didn't I? ;-)
  • Work disconnected. To further facilitate not checking e-mail or reading blogs, I've found that going to a coffee shop w/o connectivity is my most productive environment. They have liquid motivation in the form of coffee, and you can feed your brain with breakfast/lunch or some kind of snack. My most productive days are the ones where I show up at my local Einstein's (bagel shop) at 6 a.m., have two cups of coffee, and work with my headphones on. After the coffee and uber-productivity, I often have an awesome ride to work and barely notice the miles. NOTE: I've found that I'm more productive writing code late at night and authoring articles/books in the early morning.
  • Listen to music while you work. Some noise-cancelling headphones and your favorite music can do wonders for your productivity. Of course, earbuds work just as well - whatever makes the music sound good. Good music can really help you "get into the groove" of what you're working on, regardless of whether it's writing or coding.
  • Work long hours on Monday and Tuesday. This especially applies if you're a contractor. If you can only bill 40 hours per week, working 12-14 hours on Monday can get you an early-departure on Friday. Furthermore, by staying late early in the week, you'll get your productivity ball-rolling early. I've often heard the most productive work-day in a week is Wednesday.
  • Avoid meetings at all costs. Find a way to walk out of meetings that are unproductive, don't concern you, or spiral into two co-workers bitching at each other. While meetings in general are a waste of time, some are worse than others. Establish your policy of walking out early on and folks will respect you have stuff to do. Of course, if you aren't a noticeably productive individual, walking out of a meeting can be perceived as simply "not a team player", which isn't a good idea.
  • Sleep. While working late nights can be productive in the short term, doing it consecutively will burn you out quickly. Getting a good night's sleep can often lead to greater productivity because you're refreshed and ready to go.
  • Work on something you're passionate about. If you don't like what you're doing for a living, quit. Find a new job as soon as possible. It's not about the money, it's all about happiness. Of course, the best balance is both. It's unlikely you'll ever realize this until you have a job that sucks, but pays well.

To follow up on that last point, I think one of the most important catalysts for productivity is to be happy at your job. If you're not happy at work, it's unlikely you're going to be inspired to be a more efficient person. Furthermore, if you like what you do, it's not really "work" is it?

Here is some general advice I give to folks about jobs and careers. I realize that I'm biased here because I have a good job and I've been fairly successful in my career. However, I also grew up with virtually nothing, and learned all my computer skills on my own. Therefore, I believe that anyone can be successful (meaning: happy with that they do, and financially stable at the same time) if they put their mind to it.

  • If you're not happy at work, quit. I got into contracting early-on in my career (6 months out of college), so I got spoiled with good rates early on. It was also the late 90s, so you could easily switch jobs if you didn't like the one you were in. However, I've always had the policy that if you hate your job for more than 2 weeks, quit. It's just not worth it. Some people enjoy bitching about their jobs and complaining about their co-workers, so this doesn't apply to everyone. However, if you're truly miserable - quit. I've done this a couple times, and it's always led to better opportunities (even if I had to wait 3 months). Julie's done it once or twice and it's always worked out for the better. Once she even got a 20% raise by quitting her traveling-consultant gig with KPMG and going back to her old company, Qwest.
  • Always try to be a contractor before a full-time employee. This especially applies to younger folks who don't need the security of insurance for the family, stock plans, etc. Contractors typically make 50% more than full-time employees and tend to be excluded from company politics that might make the workplace difficult to deal with. While you won't get billable vacation time, you will get the freedom to take however much vacation you want - as long as you get your stuff done. The higher rates can generally make up for the unbillable time while on vacation. However, if you travel too much for fun (or conferences, etc.), it's likely your year-end salary will equal that of a full-time employee. If you make good money as a contractor, you'll also get the opportunity to start your own company (to save money on taxes). This can be a great learning experience. The biggest fear that folks have about "going independent" is they'll have a hard time finding their next gig. If you're productive and blog about what you're doing, this shouldn't be a problem. I haven't had an "interview" since 2002 and haven't updated my resume since then either. Networking at your local JUG and conferences is key.
  • Don't work at a company with a two-week vacation policy. I've never worked at a company with a two-week vacation policy, and I hope I never will. The two full-time gigs I've had in my career have had no vacation policy. This is usually only found in startups - but it generally amounts to "get your shit done, and you can take off all the time you want". My parents both work for the BLM (government agency) and they get 6 weeks off a year. Furthermore, they can earn "comp time" (more days off) by simply working overtime. If you have the ability to take time off whenever you want, it'll likely lead to you being more motivated to work long and hard - b/c you know when you finish that project, you're heading to Cancun for a week.
  • Don't travel if you have kids. If you're single, traveling for work is pretty cool. New places, new people to meet - and seeing the world can be very cool. If you have a spouse, it's likely your desire to travel will decrease, but it's still not that bad. If it helps your career, it's probably a good move. It also helps to save money since everything you do is generally expensible. When Julie and I first met, she traveled 100% and made $20K more per year b/c of it. When you have kids, everything changes and traveling sucks. You miss their first steps, and when they get to toddler-age, they'll want to go with you. Hearing your daughter say "Daddy, can I go with you?" can be heart wrenching when you're leaving on a Sunday afternoon to spend a week with people you've never met before.
  • Ask for more responsibility. If your job sucks, but the company is pretty cool - you may want to ask for a shift in responsibilities. I was once an HTML Developer at a .com. It sucked because we were constantly waiting on the Java Developers to fix bugs we found in their code. Finally, I got tired of waiting and asked my boss to show me how to fix the Java bugs. Granted, I wrote some pretty horrendous code at first, but my boss and co-workers helped a lot and w/in a year I was doing 80% of the Java Development.
  • Most things can be learned by reading. If you want to learn something new (for your current or next career), the best thing to do is read. The world's knowledge resides in books and you can learn a lot. Of course, the best way to retain that knowledge is by doing, but reading is a great first step.

Those are my tips, many of them off the top of my head. I may add more as time goes on - but hopefully this helps in the meantime. Please share yours if you have any.



MingIsMe 2007-04-16 19:12 发表评论
]]>
江南白衣的高效读书心?/title><link>http://www.tkk7.com/nobody_am/archive/2007/03/18/104568.html</link><dc:creator>MingIsMe</dc:creator><author>MingIsMe</author><pubDate>Sun, 18 Mar 2007 07:47:00 GMT</pubDate><guid>http://www.tkk7.com/nobody_am/archive/2007/03/18/104568.html</guid><description><![CDATA[高效M心得   刚好Head Firstpd开头都有一D|人如何读书的话,再加工整理如下:<br /><br /><b>1.量阅读中文?/b><br />  虽然有h英文很强Q有的翻译很差,但AnyWay 中文阅读与理解的旉Q略M快速定位的速度q是要快一些?br />  <br /><b>2.xҎ、ȝW记与交?/b><br />  虽然׃Q但发现最有效的读书方式还是不断的刉脂ҎQ读书时在重要的文字下划U,把自q心得写在|?br />  在明天复习一ơ批注,最好可以有I重新整理笔讎ͼ或者拿来与论?<br /><br /><b>3.大量思考或重复记忆</b><br />  看书最郁闷的事情就是看完之后脑袋空IZ。技术书q好点,虽然看的时候可能很辛苦Q但像学会了骑单RQ之后再骑的时候L会的Q而偏设计与管理的书,最Ҏ的事情就是看的时候很快,看完没什么留下到实践中?br />  所以,我们不能以看说的速度来看设计书,要寻找思考的ZQ思考是最好的记忆?br />  又或者,大量的重复记忆,重复多遍直到无意识的记忆?<br />  <br /><b>4.Z工学</b><br />  那些见缝插针的时间与地点不是看这个书单的好地斏V?br />  环境不要有电视,音乐{强输入源,而微风阳光鸟语等p入源则有助活跃大脑?br />  看书时大量的喝水?br />  如果发现自己的大脑已l疲累,已经在Q光掠qȝQ就要休息?br />  留给大脑消化的时_看完书不要接着看其他有隑ֺ的书或事情?img src ="http://www.tkk7.com/nobody_am/aggbug/104568.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/nobody_am/" target="_blank">MingIsMe</a> 2007-03-18 15:47 <a href="http://www.tkk7.com/nobody_am/archive/2007/03/18/104568.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>敏捷软g开发图书概?/title><link>http://www.tkk7.com/nobody_am/archive/2006/12/25/89815.html</link><dc:creator>MingIsMe</dc:creator><author>MingIsMe</author><pubDate>Mon, 25 Dec 2006 01:22:00 GMT</pubDate><guid>http://www.tkk7.com/nobody_am/archive/2006/12/25/89815.html</guid><description><![CDATA[ <p class="MsoNormal" style="TEXT-ALIGN: center" align="center"> <strong> <span lang="ZH-CN" style="FONT-SIZE: 22pt; FONT-FAMILY: 宋体" twffan="done">敏捷软g开发图书概?/span> </strong> <strong> <span style="FONT-SIZE: 22pt; FONT-FAMILY: Tahoma" twffan="done"> <?XML:NAMESPACE PREFIX = O /?> <o:p> </o:p> </span> </strong> </p> <div align="center" twffan="done"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">本文发表于程序员杂志2006q第5?/span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done"> </span> </div> <p class="MsoNormal"> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">?/span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">敏捷软g开发宣aQ我们正在通过亲n实践和帮助其他h实践Q揭C更好的软g开发方法,通过q项工作Q我们认为:</span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </em> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <strong> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">人和交流胜过q程和工?/span> </em> </strong> <strong> <em> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </em> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <strong> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">可工作的软g胜过面面俱到的文?/span> </em> </strong> <strong> <em> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </em> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <strong> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">客户协作胜过合同谈判</span> </em> </strong> <strong> <em> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </em> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <strong> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">响应变化胜过遵@计划</span> </em> </strong> <strong> <em> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </em> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">虽然右项也有价|但是我们认ؓ左项更重要?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">?o:p></o:p></span> </em> </p> <p class="MsoNormal" style="MARGIN-LEFT: 21pt; TEXT-INDENT: 21pt"> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">—?Kent Beck</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Mike Beedle</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Arie van Bennekum</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Alistair Cockburn</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Ward Cunningham</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Martin Fowler</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">James Grenning</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Jim Highsmith</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Andrew Hunt</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Ron Jeffries</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Jon Kern</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Brian Marick</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done"> Robert C. Martin</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Steve Mellor</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Ken Schwaber</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Jeff Sutherland</span> </em> <em> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </em> <em> <span style="FONT-FAMILY: Tahoma" twffan="done">Dave Thomas<o:p></o:p></span> </em> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">敏捷软g开发这个词?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">2006</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">q的中国软g界听h仍然昑־有些陌生。自</span> <span style="FONT-FAMILY: Tahoma" twffan="done">2001</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">q敏捯盟被发v以来Q敏h法的实践l验和理论研I在不断的更新。而我国的大多数程序员q是只能在书本上d敏捷的好处,很难在项目中q行实践。这其中的原因,主要是缺乏拥有实际敏捷项目经验的人来带领实施敏捷。虽然敏捷开发是U实践行为,很难从书本上直接学习Q不q多数程序员了解敏捷Q却都是先从书本开始的。无论结果怎样Q从认识到实늚q程是免不了的?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">敏捷软g开发之Ҏ论篇</span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">大家都知道敏捯Y件开发方法包括了多种Ҏ论,主要有:</span> <span style="FONT-FAMILY: Tahoma" twffan="done">SCRUM</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Crystal,</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">特征驱动软g开发(</span> <span style="FONT-FAMILY: Tahoma" twffan="done">FDD</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q,自适应软g开发(</span> <span style="FONT-FAMILY: Tahoma" twffan="done">ASD</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q,以及最著名的极限编E?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">(XP)</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">。这些方法论分别在不同的著作上专门论q过Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span style="FONT-FAMILY: Tahoma" twffan="done">SCRUM</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Software Development with Scrum</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span lang="ZH-CN" style="FONT-FAMILY: Tahoma" twffan="done"> </span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Ken Schwaber, Mike Beedle</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Project Management With Scrum</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Ken Schwaber<o:p></o:p></span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span style="FONT-FAMILY: Tahoma" twffan="done">FDD:</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Java Modeling in Color with UML</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Peter Coad, </span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">A Practical Guide to Feature-Driven Development</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">(</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">特征驱动开?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">) by Stephen R Palmer, John M. Felsing,<o:p></o:p></span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span style="FONT-FAMILY: Tahoma" twffan="done">Crystal: </span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Crystal Clear</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Alistair Cockburn<o:p></o:p></span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span style="FONT-FAMILY: Tahoma" twffan="done">ASD: </span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Adaptive Software Development</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(自适应软g开发)</span> <span style="FONT-FAMILY: Tahoma" twffan="done">by James A. Highsmith<o:p></o:p></span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">其中以</span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">pd的书c居多。h民邮电出版社的一pd极限~程pd丛书Q在国内引进较早。在q没有统一敏捷词汇的情况下Q引发了一Ҏ捷先锋h士的热情Q是我国E序员的敏捷启蒙教材。这些书包括?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Extreme Programming Explained</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(解析极限~程Q,?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Extreme Programming Examined</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(极限~程研究Q,?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Extreme Programming Installed</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">(</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">极限~程实施</span> <span style="FONT-FAMILY: Tahoma" twffan="done">)</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Extreme Programming Explored</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(探烦极限~程Q,?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Extreme Programming Applied</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(应用极限~程Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Extreme Programming in Practice</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(极限~程实践Q,?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Planning Extreme Programming</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(规划极限~程Q等Q这些书有的是作者的</span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">实践论文Q有些是?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">目的介l,其中Q值得推荐的是下面两部著作?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Extreme Programming Explained: Embrace Change</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">by Kent Beck<o:p></o:p></span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">W一版中译版Q《解析极限编E:拥抱变化》,</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">唐东铭,</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">人民邮电出版C?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">W二版中译版Q?/span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">雷剑文,电子工业出版C?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">作ؓ</span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的开׃作,目前已经出版了第二版。在W一版中Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Kent Beck</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">作了详细的描q。从当前软g开发的现状和问题谈P从需求的变化到如何拥抱变化,l出?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的四hD和十二项实践。对于想了解敏捷的来龙去脉的人,此书属于必读之类。在W二版,</span> <span style="FONT-FAMILY: Tahoma" twffan="done">Kent</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Ҏ几年来的实践Qؓ</span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">增加了一hDQ尊重,q增加了原则的概念,同时增加和删改了一些实c?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">该书W一版是E序员的宣言Q这?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Kent</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的背景很有关pR随?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">l历了五六年的发展和实践Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Kent</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">自己也逐渐意识刎ͼq样的观点太狭隘了。因此就有了W二版,与其说这是技术书c,到更像是Ua意义的Y工书c。期间也可以看出</span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的体pL加完备。这其中ؓH出的是把h攑ֈ了更为重要的C?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Extreme Programming in Practice</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">by James Newkirk, Robert C. Martin<o:p></o:p></span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">中译版:《极限编E实c,</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">王钧Q?/span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">人民邮电出版C?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">读过了一些列?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">书籍Q程序员们都会觉?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">非常好,但到底如何才能开始实?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">呢?q不是太清楚。本pd中的q本书用一个完整的项目作例子Q从头到教lh如何敏捷开发,是一本不可多得的实践教材。如果想直接实施</span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">开发,q本书可以给你很大启C?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">敏捷软g开发之实践?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">一、极限编E最佛_?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">׃极限~程是如此的行Q多数敏捷团队都会或多或的借鉴一?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">中的敏捷实践Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">XP</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的每一个敏捷实践也实值得大书特书Q而其中最著名的是试驱动开发和重构实践Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Test-Driven Development</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> by Kent Beck<o:p></o:p></span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">中译版:《测试驱动开发》,</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">崔凯Q中国电力出版社</span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">试驱动开发是</span> <span style="FONT-FAMILY: Tahoma" twffan="done">Kent Beck</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">另一部力作?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">“Clean Code That Works?/span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">是敏捷开发的目标之一Q那么如何达到这个目标?</span> <span style="FONT-FAMILY: Tahoma" twffan="done">TDD</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">l出了一U方式。测试实质上是需求。由需求生出的代码肯定是能够工作的功能代码,而要实现</span> <span style="FONT-FAMILY: Tahoma" twffan="done">Class</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">本n的可试性,׃得不写出高度解耦合?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Clean</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的代码。本书从一?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Money</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的例子入手,从最初的一炚w求开始,逐步增加需求,完成整个货币pȝ的代码。后面又l出?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Unit Test</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">中的一些最佛_践和模式供参考?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">然而,本书的教导意义比其实跉|义更H出。作Z?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">TDD</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的教E或入门教材Q这本书无疑是最佳的Q其中提出的一些最佛_跉|是值得l常阅读来温习。本书面向的是单元测试,而实际开发中面对的数据库试Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Web</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">试{问题ƈ不属于单元测试的范畴。因此读者ƈ不能从中直接q入到实战?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">另一本同名书?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Test Driven Development: A Practical Guide</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》由</span> <span style="FONT-FAMILY: Tahoma" twffan="done">Davis Astels</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">撰写Q他该书看作是</span> <span style="FONT-FAMILY: Tahoma" twffan="done">Kent</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">著作的补充,重点阐述利用</span> <span style="FONT-FAMILY: Tahoma" twffan="done">TDD</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">开发所必要的技术和工具上,因此对实际开发更具实用性?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Refactoring: </span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Improving the Design of Existing Code</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">by Martin Fowler<o:p></o:p></span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">中译版:《重构:改善既有代码的设计》,侯捷Q熊节,中国电力出版C?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">重构q本书的意义在于Q他提供了一U让你写出更加优代码的能力。在试的保证下Q重构能够发挥强大的威力。敏捷团队中Q不断的重构出简单且高效的代码才能够保持拥抱不断变化的需求。后来的一本书?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Refactoring to Patterns</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(从重构到模式Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Joshua Kerievsky</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q更是将重构的威力发挥到极限?/span> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">重构曾被UCؓ软g开发图书的双璧Q另一本书是?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Design Patterns</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">(</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">设计模式</span> <span style="FONT-FAMILY: Tahoma" twffan="done">) by GoF</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">。当Ӟ对现在的软g开发这二者已l不是最重要的?/span> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Thought</span> </strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Works</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的首席科学家</span> <span style="FONT-FAMILY: Tahoma" twffan="done">Martin Fowler</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">ȝ了朋友们的各U实践心得,写出了这本书。从几年后的目光来看Q这本书中的多数实践都被各种</span> <span style="FONT-FAMILY: Tahoma" twffan="done">IDE</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">做到了操作菜单中。虽?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">IDE</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">提供了大量重构功能,但仅?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">IDE</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">是无法写出简z美妙代码的Q多数的敏捷团队重构工作做得q是不够?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">另外有一本专门介l结对编E的书,?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Pair Programming Illuminated</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(l对~程技术)</span> <span style="FONT-FAMILY: Tahoma" twffan="done">by by Laurie Williams and Robert Kessler</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q指ZZ么要l对Qƈ从各U不同水q不同性格的程序员l对情况来讨实践的优劣。对此有兴趣的程序员不妨一诅R?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">二、敏捯Y件开发实?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">自从</span> <span style="FONT-FAMILY: Tahoma" twffan="done">2001</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">q敏捯盟成立以来,单独推广极限~程的书变少了,而统一口径推广敏捷的书变得来多。两本同名的敏捷软g开发都是不可多得的好书Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Software Development</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Principles, Patterns, and Practices</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">by Robert C. Martin<o:p></o:p></span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">中译版:《敏捯Y件开发:原则Q模式与实践》,邓辉Q?/span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">清华大学出版C?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">被业内h士称?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Uncle Bob</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Robert C Martin</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">在沉寂几q后写出了这部书。该书可以算是从软g开发角度对敏捷Ҏ阐述的最详细和全面的一本。之前的敏捷书籍多是x于过E改q,而对如何从技术角度实施讲的比较少。本书一开始先介绍了敏捯盟和敏捷开发过E。之后详l论qC面向对象设计的原则,q些原则是本书的_֍之一。后面通过几个目介绍了如何将设计模式应用于项目中?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span style="FONT-FAMILY: Tahoma" twffan="done">Uncle Bob</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">不愧是实늚大师Q写出来的书也是拥有很强的实跉|义。在敏捷团队的办公桌上,应当常备此书Q一来可作ؓ参考查询,二来可以作ؓ新成员的必读书目?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Software Development</span> </strong> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done">by Alistair Cockburn<o:p></o:p></span> </strong> </p> <p class="MsoNormal"> <strong> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">中译版:《敏捯Y件开发》,俞涓Qh民邮电出版社</span> </strong> <strong> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </strong> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">q本书更加适合理者来阅读?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Alistair</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">从项目h数和交流难易E度Q将敏捷的各U方法划分了光用范围。h数多的或分布式项目就需要靠其他手段来加Z,人数的可以靠</span> <span style="FONT-FAMILY: Tahoma" twffan="done">pair programming</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">{进行面寚w的交。交和反馈是敏L核心。同?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Alistair</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">也介l了一下他提出?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Crystal</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Ҏ族?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">.</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">敏捷目理和敏捷需求分?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">在推q敏捷一D|间后Q敏L也意识刎ͼ多数书籍更像是面向开发h员,q于技术化Q难以吸引项目经理或ȝ。因此,一扚w向管理者视角的书也开始Q出水面,q些书包括:</span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile and Iterative Development</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(敏捷q代开发)</span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Craig Larman<o:p></o:p></span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Lean Software Development</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(</span> <span id="j9999f9" class="13ptredcu" twffan="done"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">敏捷</span> </span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">软g开发工?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">?/span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">_开发方?/span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Mary Poppendieck<o:p></o:p></span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Software Development Ecosystems</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(敏捷软g开发生态系l)</span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Jim Highsmith<o:p></o:p></span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">书中从各U角度比较和分析各种敏捷Ҏ的优劣,异同Qv源,适用范围{。这些书对于一个项目主决{用何U过E来在自q团队中实跉|h很好的参考作用?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">q两q_Z开始逐渐意识到敏捷开发的侧重点不仅仅是开发过E和开发实践,q包括对需求和目理{其他相x面的实践。一些相关的书籍也悄然出现在Z的视野:</span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Project Management</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(敏捷目理Q?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Jim Highsmith<o:p></o:p></span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">User Stories Applied</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Mike Cohn<o:p></o:p></span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Estimating and Planning</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Mike Cohn<o:p></o:p></span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Requirements & User Stories</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> by Louis Molnar<o:p></o:p></span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">q些书不同于以往新方法,新过E的书目。敏捷项目管理类的书主要介绍如何理敏捷团队Q如何计划要开发的需求,如何为客h供最大的价倹{介l敏捷需求分析的书主要帮助商务分析师或项目经理挖掘和分析用户需求,写出用户故事Q评估和计划用户故事{。h们已l意识到Q各U方法论的实质是相同的,都是提供商业价|减少费Q增加交,快速反馈。因此不需要着重于区分是用了那种Ҏ。对目l理来说Q不同的目或团队应当采用适应其特D情늚ҎQ而这些方法的基本原则是相同的?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">.</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">敏捷软g开发新方向</span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">Ҏ构师或程序员来说Q近q来的技术进展,也得敏捷开发有了新的研I方向:</span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Web Development with Rails</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by</span> <span style="FONT-FAMILY: Tahoma" twffan="done"> </span> <span style="FONT-FAMILY: Tahoma" twffan="done">Dave Thomas, David Hansson, Leon Breedt, and Mike Clark<o:p></o:p></span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">该书是获?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">2006JOLT</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">奖的书,讲得是采?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Ruby on Rails</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">q个</span> <span style="FONT-FAMILY: Tahoma" twffan="done">Web</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">开发工h贉|快速开?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Web</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">目Q从而达到快速反馈拥抱变化的目的?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Refactoring Databases</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">by Scott W Ambler<o:p></o:p></span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">此书?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Scott</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">的新作,延箋和承了?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Modeling</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(敏捷建模Q和?/span> <span style="FONT-FAMILY: Tahoma" twffan="done">Agile Database Techniques</span> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">》(敏捷数据Q的思想。在敏捷开发过E中Q作为持久化最常见技术的数据库如果不能够敏捷Q怎么能够适应一ơ次q代和一ơ次发布的修改呢Q书中介l了如何q行数据库演化,如何保证升后数据库数据的正性,以及最佛_c?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal"> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> <span lang="ZH-CN" style="FONT-FAMILY: 宋体" twffan="done">我们可以看到Q随着敏捷Ҏ和市场的不断成熟Q敏L书籍也从理论性{向了实用和最佛_늱型。然而,不可否认的是Q一个团队的敏捷化很难仅靠阅M本来完成Q由成功实践q敏L开发者手把手的带领,才是最好的Ҏ?/span> <span style="FONT-FAMILY: Tahoma" twffan="done"> <o:p> </o:p> </span> </p> <img src ="http://www.tkk7.com/nobody_am/aggbug/89815.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/nobody_am/" target="_blank">MingIsMe</a> 2006-12-25 09:22 <a href="http://www.tkk7.com/nobody_am/archive/2006/12/25/89815.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://www4438xx2.com" target="_blank">ɫվ߹ۿ</a>| <a href="http://am33318.com" target="_blank">99ƵƵۿ</a>| <a href="http://wxbhnkyy39.com" target="_blank">һ</a>| <a href="http://0827fang.com" target="_blank">ĻƷһӦ</a>| <a href="http://zxzzzzx.com" target="_blank">þùƵ</a>| <a href="http://1314a.com" target="_blank">99ѹۿƵ</a>| <a href="http://yisousou.com" target="_blank">ѻɫƵ</a>| <a href="http://65123456.com" target="_blank">ؼavëƬѹۿ</a>| <a href="http://www-66409b.com" target="_blank">޴ɫAvר</a>| <a href="http://aaa99999.com" target="_blank">þþƷAVӰ</a>| <a href="http://qinglou31.com" target="_blank">Ʒۺߵһ </a>| <a href="http://milbolg.com" target="_blank">һëƬۿ</a>| <a href="http://www-456446.com" target="_blank">ձƵ</a>| <a href="http://wwwhaole10.com" target="_blank">߹ۿҹһ</a>| <a href="http://ettedia.com" target="_blank">www.޾Ʒ.com</a>| <a href="http://hivzx.com" target="_blank">ˬýôƵ</a>| <a href="http://xseporn.com" target="_blank">Ļѿ</a>| <a href="http://bjgelinhotel.com" target="_blank">պƵ</a>| <a href="http://lfpfjc.com" target="_blank">ԺȫƵƵ</a>| <a href="http://286513.com" target="_blank">ƵѲ</a>| <a href="http://55118885.com" target="_blank">ػaaëƬƵ</a>| <a href="http://8x8xbu.com" target="_blank">͵Ƶ߹ۿ99</a>| <a href="http://www48646.com" target="_blank">a뾫Ʒɫҹ</a>| <a href="http://bbav04.com" target="_blank">Avһ</a>| <a href="http://lawelites.com" target="_blank">һþ</a>| <a href="http://kkxzz.com" target="_blank">avƬһ</a>| <a href="http://3589006.com" target="_blank">޾Ʒֻ</a>| <a href="http://815389.com" target="_blank">޹˾Ʒһ</a>| <a href="http://ydysmedia.com" target="_blank">ձһ</a>| <a href="http://gdfcjzx.com" target="_blank">þAV</a>| <a href="http://77133144.com" target="_blank">պĻ</a>| <a href="http://ding001.com" target="_blank">ɫav</a>| <a href="http://hetaoqpj.com" target="_blank">޳AVۺ߹ۿ</a>| <a href="http://sdzntg.com" target="_blank">鶹ɫۺվ</a>| <a href="http://jiayila.com" target="_blank">ۺ</a>| <a href="http://zwdyw.com" target="_blank">Դ°߹ۿ</a>| <a href="http://yygcui.com" target="_blank">뾫</a>| <a href="http://800141.com" target="_blank">ѸһëƬ</a>| <a href="http://linanhotel.com" target="_blank">˸߹ۿƵ</a>| <a href="http://18jko.com" target="_blank">߹ۿ</a>| <a href="http://pecbj.com" target="_blank">˿Ƶ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>