According to your description of the file path ,we decide to use a property in configuration files to define the file path instead of save in database. So ,the "PC file path" and the "NK file path" will be defined in configuration file and you can define the file path by yourself. Otherwise, about the limited character of the input field in page.In the specification of mod.org v2,there are tow types limit,the one is limitless ,for example the summary of a module,the other is only contain english character ,number or identifier,but we don't know a detailed account, which type of identifier can be used and which can't.Right now,thera is a way to do this,we can use the rule of the winodws that used to manage file name(file name can't contain \ / : * ? " < > |). If this's ok ,we do this .If this's no enough,can you give me a doc for this?
Better use: According to your description of the file path ,we decide to use a property in configuration files to define the file path instead of saving in database. So ,the "PC file path" and the "NK file path" will be defined in configuration file and you can define the file path by yourself. Otherwise, about the limited character of the input field in page.In the specification of mod.org v2,there are tow types (limit),the one is limitless ,for example the summary of a module,the other is only contain alphabets, digits or symbol,but we don't know which type of symbol can be used and which can't.Right now,thera is a solution that we can use the rule of the winodws that used to manage file name(file name can't contain \ / : * ? " < > |). Waht's your idea about it? If you have any question please feel free to let me know.
function SearchHighlight(mytag) { if (!document.createElement) { return; } var q ="{{$q}}";//要高亮顯示的關鍵字 var l = document.getElementsByTagName(mytag); if(""== q) return; words = unescape(q.replace(/+/g,'')).split(/s+/); for (w=0;w<words.length;w++) { for(i=0;i<l.length;i++) { var pa =new RegExp("("+words[w]+")","ig"); if(l.parentNode.parentNode.parentNode.id !="header")//標題中的內容不替換 l.innerHTML = l.innerHTML.replace(pa,"<span class="searchword">$1</span>"); } } }
Last Smile: 我們喜歡這首歌的原因在於,這首歌同時具有重覆性的機械律動,以及鄉村民謠的風格;而這兩者之間的獨特對比則產生了一種傷感的氛圍。 這種音樂類型的概念源自於 Neil Young 和 Beck 的粗獷樂風, 同時具有自然和隨興的感覺。 由於受到 Eagles 和 TLC 的感動,我們想將這首歌的重點放在人聲和律動感的結合上。
Wasting: 由於受到 John Lennon 的『Workingclass Hero』一曲感動,我們在錄製這張單曲專輯時創作了這首歌。 60 年代時,原聲吉他是一種能令人感動的樂器,而我們想要證明這點在今天是否仍然為真。
專輯曲目:
01. Last Smile 02. Moonly(single edit) 03. Wasting
專輯名稱:Free World 發行時間:2001-5-23 專輯備注:第4張單曲
專輯簡介:
Love PSYCHEDELICO 的第四張 Maxi-Single 『Free World』。 這張新的單曲專輯以令人印象深刻的吉他樂句、英日文混用的歌詞、以及 Kumi 無章法可循的唱腔,令音樂界為之撼動。 正如同它的標題一樣,這些歌是在大家全然不受任何束縛的情況下創作出來的,而我們打算藉由這些歌來邀請并帶領您進入一個嶄新的 DELICO 世界。
專輯曲目:
01. Free World 02. amp' box 03. "0"
專輯名稱:I will be with you 發行時間:2001-11-07 專輯備注:第5張單曲
專輯簡介:
LOVE PSYCHEDELICO 的第五張單曲專輯『I will be with you』是他們的顛峰之作。 這首歌曲充滿了動人的歌詞和旋律。 LOVE PSYCHEDELICO 在這首單曲中將融合日文歌詞和西式旋律的能力發揮得淋漓盡致,而這首單曲也是最能代表 LOVE PSYCHEDELICO 特有中板樂風的一首曲子。
This is a love song: 這首歌的目的是要回應 Neil&Iraiza 第二張專輯『NEW SCHOOL』中的『This is not a love song』一曲。 LOVE PSYCHEDELICO 的備援鍵盤/吉他手堀江博久 (Hirohisa Horie) 在本曲中擔任了鋼琴演奏的工作。 主唱的音調在高低之間來回擺蕩,而巧妙融入的背景和聲則產生了一種流行、舒服的音響效果。
GRAPEFRUITS: 吉他樂句保持在中板速度,而 Kumi 則是一再吶喊著同一句歌詞。 這首歌聽來雖然像是一首典型的搖滾歌曲,但它簡單的結構卻令它成為一首流行歌曲。這首歌的味道十分獨特,因而成為 DELICO 最迷人的曲目之一。
在發行第二張專輯『LOVE PSYCHEDELICO ORCHESTRA』之后,LOVE PSYCHEDELICO 在展開全國巡迴演出期間,創造了一個只屬於他們自己的音樂世界。 如同「一段旅程的結束,將是另一段旅程的起點」這句俗諺所說的一般,隨著『Hadaka No Osama』這張單曲專輯的發行,LOVE PSYCHEDELICO 也即將步入一個嶄新的世界。
不過,當有人發現這首歌是在他們的第一支單曲之前創作的,而且已經在他們歷來的演唱會中表演過許多次時,總令人不免質疑這首歌何以能被稱為「嶄新的世界」。 然而,值得一提的是,在 LOVE PSYCHEDELICO 成為搖滾巨星之前,他們就在這首歌中對搖滾樂的世界表達了嚮往和譏諷之情。如此看來,他們似乎早在自己有機會能夠親身經歷之前,就已經預言了自己日后即將面臨的情況。 換句話說,我相信『Hadaka No Osama』能以單曲專輯的形式發行,的確是帶著一些宿命的味道。 歌詞的定義雖然不甚明確,但這首歌一開始的原聲吉他和打擊樂,令人不免想起 60 年代的民歌和 Beat Culture (一種青少年文化,以 Jack Kerouac 的小說《On the Road》為代表)。 我們可以在這首歌中體會到 DELICO 的精神,以及存在於他們世界中的同時性 (Synchronicity)。
2002 年,他們將目光放在未來。 這首歌的打擊樂部份聽來簡單,實際上卻是迭軌 5 次的成果,足以印證他們在當代的杰出天賦,雖然這點常被評定為「高度技術性」。 其餘的 2 首歌是在 [circle of mind] 巡迴演唱會結束之后寫成的,在創作的手法上相當令人耳目一新。 其中一首『This is a love song』的靈感源自於 Neil&Iraiza 的『This is not a love song』,并努力試圖掌握英式流行歌的趨勢。 與 Yoko Ono 其中一本著作同名的『Grapefruits』則具有令人印象深刻的歌詞,以及主唱既非吶喊、亦非饒舌的有趣唱腔。 由這首歌的充分原創性看來,LOVE PSYCHEDELICO 似乎已為自己的音樂闢出一條蹊徑。 另外值得一提的是,LOVE PSYHCEDELICO 創造了一個名為「Rosalita」的角色,而這個角色則協助他們開創了一個嶄新的歌詞世界。 我相信這樣的轉變將會對他們日后的作品造成重大影響;其影響之深遠,就算說「LOVE PSYCHEDELICO 就等同於 GRAPEFRUITS」也不為過。 也就是說,他們的某些特質,與 Yoko Ono 的《Grapefruits》一書所象徵的世界是相通的。 由此看來,我相信這三首歌具有非凡的意義。 他們的首張單曲專輯『LADY MADONNA/Yuutsu Naru Spider』所採用的封面圖案是一顆蘋果,而「蘋果」正是 The Beatles 自創唱片廠牌的名稱。 因此,從蘋果換成葡萄柚之后,我們或許可以這么說:他們為這個世界帶來了全新的音樂魔力果實。
專輯曲目:
01. Hadaka No Osama 02. This is a love song 03. GRAPEFRUITS
專輯名稱:I am waiting for you 發行時間:2003-01-22 專輯備注:第7張單曲
專輯簡介:
撰文:巿川哲史 (Tetsushi Ichikawa)
初次聆聽 LOVE PSYCHEDELICO 的第七張單曲專輯時,我以為自己聽到的音樂十分耳熟。 這些歌一聽就知道是 LOVE PSYCHEDELICO 的新歌。 在每首新歌中都找得到令人無比熟悉的 DELICO 式歌詞及特質;與初次聆聽他們的音樂相較,這樣的熟悉感令我們得以產生更多感受。 我們并未感受到任何震懾或驚訝,而只是在這樣的熟悉感中找到了無比的慰藉。
LOVE PSYCHEDELICO 在每首歌中投注了如此多的心力,以致於他們似乎已將自己全然掏空。 商業宣傳活動從來不在他們考慮的范圍之內,而這樣的態度讓他們得以創作出能夠代表他們自己的作品。 他們再次向世人示范了何謂美好的音樂,并透過『THE GREATEST HITS』這張精選輯表達了他們對音樂的崇高敬意 - 因為音樂是他們存活的惟一憑藉。 在『LOVE PSYCHEDELIC ORCHESTRA』中,他們大膽質疑自己是否并非活在最理想的世代。 這兩張專輯的樂風迥然不同,而在發行這兩張專輯之后 (這時 Naoki Sato 重新返團,而 Kumi 則已在喜馬拉雅山區完成充電),他們再次開始詠唱藍調,專注地邁向他們對未來的期望。
整張單曲專輯為一種不加修飾的民謠曲風所主導,但『I am waiting for you』一曲仍具有 LOVE PSYCHEDELICO 慣有的一切音樂元素,再加上該曲精巧的歌詞,令我彷彿看到一名女子的圖像,并希望自己能為該名女子所拯救。 其他曲目的即興樂風相當令人耳目一新,特別是帶有藍調氣息的『another night』一曲。 此外,Kumi 在『Happiness』一曲中不按牌理出牌的唱腔則揭示了人們對於快樂的永恒渴求。
然而,經過一再反覆的試誤過程,Kumi 和 Naoki 終於在『My last fight』一曲中找到了「LOVE PSYCHEDELICO 究竟是什么」這個問題的答案。 他們成功地讓自己原本的虛擬影像更加真實,并為自己的音樂注入了更多的深度、色彩以及獨特的樂句組合。 他們的音樂足以和畢卡索或 Jackson Pollock 的繪畫相提并論。 強調旋律的樂曲輕柔地搖晃著聆聽者的感受,而不斷重覆的舞曲節奏則刺激著聆聽者的感官和精神。 這首歌已儼然成為 LOVE PSYCHEDELICO 的全新身份表徵。 據我所知,這張單曲專輯的製作過程為他們帶來了無比的樂趣,而這首歌則是在相當放鬆、毫無壓力的情況下製作完成的。 最重要的是,這三首歌將在您的心中縈繞不已,并讓您得以窺見 LOVE PSYCHEDELICO 的靈魂深處。
專輯曲目:
01. My last fight 02. fleeing star 03. Dreamer
專輯名稱:fantastic world 發行時間:2004-12-08 專輯備注:第9張單曲
專輯簡介:
撰文:小野田雄 (Yu Onoda)
這張單曲專輯的發行時間距離 LOVE PSYCHEDELICO 發行第二張專輯『LOVE PSYCHEDELIC ORCHESTRA』已有兩年又兩個月之久。 這時他們重新返回原點,并終於推出第三張專輯『LOVE PSYCHEDELICO III』。 我們在 2004 年年初訪問 Kumi 和 Naoki 時,他們顯得十分積極且充滿能量,因此我當時就有預感,他們將在 2004 年有一番特別的作為。
他們在 2 月份參與了 [Zoku Naniwa Sullivan Show] 的演出,并於 7 月份與新成立的伴奏樂團參加了在橫濱和大阪舉辦的 [Rock Odyssey] 演出。新成立的伴奏樂團成員包括來自 DR. STRANGE LOVE 的 Susumu Osada 和 Takamune Negishi、來自 CORNELIUS 的鼓手 Yuko Araki,以及鍵盤手崛江博久。 同時,他們也在和另一個伴奏樂團 (與來自 GREAT 3 的高桑圭/白根賢一、來自 SKETCH SHOW 的權藤知彥、以及鍵盤手崛江博久共同組成) 為即將於 10 月份展開的巡迴演出進行綵排。 雖然他們如此積極,新專輯和單曲的錄製情況卻不盡如人意。 他們一心想要創作出一種只屬於自己的音樂,卻從未訂下發行日期,因為他們想要在一個能讓他們能對成品感到完全滿意的環境中進行錄製工作。 因此,在沒有預訂發行日期的情況下,新單曲的發行也就顯得遙遙無期 - 一切全取決於錄音室內的錄製情況。 然而,他們終究還是完成了這首創作,這也是為什么現在我們手中可以握有這張最新單曲專輯 - 『fantastic world』。 他們大約花了 1 個月的時間寫出主打歌,并趁著演出和綵排的空檔完成錄製工作。 他們似乎是在極為放鬆的情況下完成了這首歌的錄製工作,并將他們對音樂的熱情化為現實。 我相信他們是在嘗試結合第二張專輯中的「訊息」以及第三張專輯中富有創意的流行樂句,以找出一種能夠傳達「愛」的方式。 苦澀的真實感以及如夢似幻的甜美感受共存於這首單曲中,傳達出一種更寬廣的人類大愛;而『romance』一曲則較偏重個人的愛情。 將這兩種元素巧妙地結合在一起,并完成這兩首歌的創作,對他們而言是一大挑戰 - 雖然這是他們第一次在如此緊湊的時程下完成的作品。 主打歌具有 LOVE PSYCHEDELICO 慣有的細膩和華麗感。 開頭的吉他樂句停止之后,Kumi 的歌聲便和原聲吉他一同響起。 他們的音樂所喚起的情感帶有豐富的色彩和溫度變化。 另一首曲式簡單的歌則是在描述一段悲傷的愛情故事。 每個人對每首歌的印象或有不同,以上只是我個人的觀點。 這是 LOVE PSYCHEDELICO 一張和諧、平衡的作品。我不確定哥倫布是否真的說過「地球是圓的」這句話,但這張單曲專輯倒真的是圓的,而它那一再循環的流行樂風確實能夠放諸四海皆準。
專輯曲目:
01. fantastic world 02. romance
專輯名稱:Right now 發行時間:2005-06-16 專輯備注:第10張單曲
專輯簡介:
Text by Koh Imazu
“Right now!”, is what it means. I guess I heard they said `It’s the time to express love more openly and straightforward` when the last single “fantastic world” was released. Thinking of that phrase, I started to listen to the sound of their new single. Here comes sequence of synthesizer, then sound of drum machine and synthe- bass. It was REALLY techno. Am I listening to a right CD? When I just started to wonder, I heard Kumi’s voice. Naoki’s guitar sound is along with the repeated part, and yes, I finally realized this is the DELICO world. Well, whatta’ hell!
The song got back to synthe-world. And I calmed down and could start seeing lots sides of this song. For instance, it’s about the beat. You could say you’d be surprised on the play, but it’s a quite groove if you’d lay down on it. And it coincides with Kumi’s vocal well. Like “LADY MADONNA/Yuutsunaru Spider” and “Your Song”, they have a few songs that begin with synthe-drums, and it seems their skills cultivated on these songs are surfaced. Just like “Right now!” It could be a club music with the quality but they haven’t lost their original style and its groove. From the fact, you could describe them as the best mixer for DELICO is themselves.
And of course the lyrics. The part “What is `right now`?” is the key, and these phrases “Don't hide your way” and “running to the another world” are repeated. They also tell us that there is an another world inside of us putting the words “right now” everywhere. Don't hide your way and running to the another world, right now, this single begins with the song has also “Brown-eyed Joe”, a cool band sound music, and raps up with their gospel song “Everyone, everyone” which is also included in the album “Early Times”
From “Right now” to “Everyone, everyone”. This is calling. They are showing us their another world creating it with their new sound making style, then stimulate the listeners. There are their persuasions from the other dimension, not some empty messages, and you could feel the strength and growth of DELICO now.
專輯曲目:
01. Right now 02. Brown-eyed Joe 03. Everyone, everyone
專輯名稱:Aha !(All We Want) 發行時間:2006-06-28 專輯備注:第11張單曲
專輯簡介:
撰文:饅頭
英倫風格的搖滾團體Love Psychedelico(愛的魔幻)全新單曲出爐。相隔近一年的三首英文單曲都是非常棒的作品,『FOMA P902iS』的廣告歌曲Aha ! (All We Want) 非常的cool!~吉他配合女主音慵懶的聲音,好像Folk Hit。
01. LADY MADONNA/Yuutsu Naru Spider 02. Your Song 03. Last Smile(加長混音版) 04. I mean love me 05. Moonly 06. Are you still dreaming ever-Free? 07. I miss you 08. Nostalgic' 69 09. These days 10. LOW(ver.1.1) 11. A DAY FOR YOU
這是一個十分簡單、卻難以回答的問題。 然而,或許您可以在 LOVE PSYCHEDELICO 專輯中窺見一些答案。 搖滾、藍調、鄉村、電子、原音、數位、類比... 音樂的表現方式雖然令人目不瑕給, 其根基卻是不變的。 音樂似乎具有自己獨特的真理,而我們似乎可以透過這樣的真理窺見人類的本質。 這張專輯是 LOVE PSYCHEDELICO 向世人發出的第一道訊息,并為 21 世紀的音樂掀開了嶄新的一頁 - 不受任何時間、世代和性別的限制。
專輯曲目:
01. Standing Bird 02. Free World 03. unchained 04. green 05. dry town 06. I will be with you 07. days of days over you 08. You ate it 09. waltz 10. life goes on 11. "0" 12. California
專輯名稱:Love Psychedelico III 發行時間:2004-02-25 專輯備注:第3張專輯
專輯簡介:
撰文:長澤智典 (Tomonori Nagasawa)
對 LOVE PSYCHEDELICO 而言,在他們的首支單曲『LADY MADONNA/Yuutsu Na Spider』一炮而紅之后,他們就像是搭上了一班高速列車一樣。只是,他們完全不知道這班列車會在哪些站停靠,甚至不知道終點站為何。 在推出第二張專輯『LOVE PSYCHEDELICO ORCHESTRA』之后,LOVE PSYCHEDELICO 總算可以透過這班列車的窗戶向外望去,并窺見窗外不斷飛逝的風景。 自從推出第一張專輯『THE GREATEST HITS』之后,他們在接下來的 2 年之內繼續累積想像力和生命體驗,并全數注入下一張專輯中,為這場迷人的旅程再添一筆驚嘆號。
LOVE PSYCHEDELICO 在 2 月 25 日推出他們的第三張專輯『LOVE PSYCHEDELICO III』,從此徹底掙脫了原本束縛他們的重重鎖鏈。 在推出上一張專輯之后的 2 年又 2 個月期間,他們和主流音樂劃清界線,全力投入現場演出,并發行了三張單曲專輯:『Hadaka no Osama』、『I am waiting for you』和『My last fight』。 在這場全新的旅程中,已決定和商業主流音樂徹底決裂的 LOVE PSYCHEDELICO 需要一些時間舖設新的軌道,以創作出徹底擺脫偽搖滾氣息的歌曲,并進入一個全然幻想的世界。
在這張新專輯中,每首曲目的音響效果都相當簡單,但在旋律、演唱和表現手法方面則已臻於專業水準。 此外,這張專輯的曲風變化多端;每首曲子都像是一條潺潺流動的小溪,最后共同匯聚成一條寬廣而澎湃的大河。 在受到他們如此迷人的音樂感動之后,我由衷希望這條大河能將我帶往一個嶄新的 LOVE PSYCHEDELICO 世界。
專輯曲目:
01. Everybody needs somebody 02. Mind across the universe 03. My last fight 04. all over love 05. Happiness 06. I am waiting for you 07. fleeing star 08. Hadaka no Osama 09. Silver dust lane 10. Hello 11. Neverland 12. III 13. GRAPEFRUITS
01. Your Song 02. Free World 03. Everybody needs somebody 04. fantastic world 05. LADY MADONNA~Yuutsu Naru Spider~ 06. "O" 07. Life goes on 08. My last fight 09. Standing bird 10. Silver dust lane 11. Last Smile 12. Green 13. neverland 14.A DAY FOR YOU 15.Everyone, everyone 16.Rosy
2005年5月27日,Love Psychedelico在日本的武道館舉行了演唱會「IN CONCERT AT BUDOKAN」?!禠IVE PSYCHEDELICO》CD便精選了LOVE PSYCHEDELICO于演唱會中,充滿節奏感和動感的13首歌曲,讓你再一次重溫當晚的精彩演出。
專輯曲目:
01. Mind across the universe 02. Everybody needs somebody 03. Free World 04. Last Smile 05. Wasting 06. life goes on 07. These days 08. My last fight 09. Your Song 10. “O” 11. neverland 12. LADY MADONNA~憂鬱なるスパイダー~ 13. A DAY FOR YOU
DVD
專輯名稱:IN CONCERT AT BUDOKAN 發行時間:2005-12-07 專輯備注:第1張tour
專輯曲目:
01. Opening 02. Everybody needs somebody 03. Free World 04. Wasting 05. Standing Bird 06. Last Smile 07. Your Song 08. neverland 09. Mind across the universe 10. fleeing star 11. LADY MADONNA~憂鬱なるスパイダー~ 12. fantastic world 13. Everyone, everyone ● Equipment ● Dressing room
Some beauty memory -- this song take me to long long ago -- Yesterday Once More
歌手:Carpenter
When I was young I'd listen to the radio Waiting for my favorite songs When they played I'd sing along, It make me smile.
Those were such happy times and not so long ago How I wondered where they'd gone. But they're back again just like a long lost friend All the songs I love so well. Every shalala every wo'wo still shines.
Every shing-a-ling-a-ling that they're starting to sing so fine
When they get to the part where he's breaking her heart It can really make me cry just like before. It's yesterday once more. (Shoobie do lang lang) Looking bak on how it was in years gone by And the good times that had makes today seem rather sad, So much has changed.
It was songs of love that I would sing to them And I'd memorise each word. Those old melodies still sound so good to me As they melt the years away Every shalala every wo'wo still shines
Every shing-a-ling-a-ling that they're startingTo sing so fine All my best memorise come back clearly to me Some can even make me cry just like before. It's yesterday once more. (Shoobie do lang lang) Every shalala every wo'wo still shines. Every shing-a-ling-a-ling that they're starting to sing so fine Every shalala every wo'wo still shines. Every shing-a-ling-a-ling that they're starting to sing so fine
珍藏艾爾頓•約翰音樂旅程中每個重要時刻的代表作,【世紀琴人-生日精選】收錄了18首排行名曲,“Your Song”、“Candle In The Wind” 、 “Sorry Seems To Be The Hardest Word”等5首名曲及2004-2006年間于拉斯韋加斯著名的「Caesar's Palace」所舉行的「The Red Piano演唱會」中演唱“Bennie And The Jets”、“Rocket Man”等5首歌曲
今天對照著《Agile Web Development with Rails》,在cmd中輸入入:...\depot> mysql depot_development <db/create.sql,提示錯誤:ERROR: 1045 <28000>: Access denied for user 'ODBC'@'localhost'[/email] <using password: NO>.
解決方法一:運行MySQL Server Instance Configuration Wizard,在“Please set the security options”一步,勾上“Create An Anonymous Account”
解決方法二:在命令行中,運行:...\depot> mysql -u <輸入用戶名,例如root> -p depot_development <db/create.sql,這時會提示你輸入密碼,輸入即可。其中選項-p表示要求輸入密碼。
本文發表于程序員雜志2006年第5期 “ 敏捷軟件開發宣言:我們正在通過親身實踐和幫助其他人實踐,揭示更好的軟件開發方法,通過這項工作,我們認為: 人和交流勝過過程和工具 可工作的軟件勝過面面俱到的文檔 客戶協作勝過合同談判 響應變化勝過遵循計劃 雖然右項也有價值,但是我們認為左項更重要。 ” —— Kent Beck , Mike Beedle , Arie van Bennekum , Alistair Cockburn , Ward Cunningham , Martin Fowler , James Grenning , Jim Highsmith , Andrew Hunt , Ron Jeffries , Jon Kern , Brian Marick , Robert C. Martin , Steve Mellor , Ken Schwaber , Jeff Sutherland , Dave Thomas ? 敏捷軟件開發這個詞在 2006 年的中國軟件界聽起來仍然顯得有些陌生。自 2001 年敏捷聯盟被發起以來,敏捷方法的實踐經驗和理論研究都在不斷的更新。而我國的大多數程序員還是只能在書本上讀到敏捷的好處,很難在項目中進行實踐。這其中的原因,主要是缺乏擁有實際敏捷項目經驗的人來帶領實施敏捷。雖然敏捷開發是種實踐行為,很難從書本上直接學習,不過多數程序員了解敏捷,卻都是先從書本開始的。無論結果怎樣,從認識到實踐的過程是免不了的。 ? 敏捷軟件開發之方法論篇 大家都知道敏捷軟件開發方法包括了多種方法論,主要有: SCRUM , Crystal, 特征驅動軟件開發( FDD ),自適應軟件開發( ASD ),以及最著名的極限編程 (XP) 。這些方法論分別在不同的著作上專門論述過: SCRUM :《 Agile Software Development with Scrum 》 by Ken Schwaber, Mike Beedle ,《 Agile Project Management With Scrum 》 by Ken Schwaber FDD: 《 Java Modeling in Color with UML 》 by Peter Coad, 《 A Practical Guide to Feature-Driven Development 》 ( 特征驅動開發 ) by Stephen R Palmer, John M. Felsing, Crystal: 《 Crystal Clear 》 by Alistair Cockburn ASD: 《 Adaptive Software Development 》(自適應軟件開發) by James A. Highsmith ? 其中尤以 XP 系列的書籍居多。人民郵電出版社的一系列極限編程系列叢書,在國內引進較早。在還沒有統一敏捷詞匯的情況下,引發了一批敏捷先鋒人士的熱情,是我國程序員的敏捷啟蒙教材。這些書包括《 Extreme Programming Explained 》(解析極限編程),《 Extreme Programming Examined 》(極限編程研究),《 Extreme Programming Installed 》 ( 極限編程實施 ) ,《 Extreme Programming Explored 》(探索極限編程),《 Extreme Programming Applied 》(應用極限編程)《 Extreme Programming in Practice 》(極限編程實踐),《 Planning Extreme Programming 》(規劃極限編程)等,這些書有的是作者的 XP 實踐論文,有些是對 XP 項目的介紹,其中,值得推薦的是下面兩部著作。 ? 《 Extreme Programming Explained: Embrace Change 》 by Kent Beck 第一版中譯版:《解析極限編程:擁抱變化》, 唐東銘, 人民郵電出版社 第二版中譯版: 雷劍文,電子工業出版社 作為 XP 的開山之作,目前已經出版了第二版。在第一版中, Kent Beck 對 XP 作了詳細的描述。從當前軟件開發的現狀和問題談起,從需求的變化到如何擁抱變化,給出了 XP 的四項價值觀和十二項實踐。對于想了解敏捷的來龍去脈的人,此書屬于必讀之類。在第二版, Kent 根據幾年來的實踐,為 XP 增加了一項價值觀:尊重,并增加了原則的概念,同時增加和刪改了一些實踐。 該書第一版是程序員的宣言,這和 Kent 的背景很有關系。隨后 XP 經歷了五六年的發展和實踐, Kent 自己也逐漸意識到,這樣的觀點太狹隘了。因此就有了第二版,與其說這是技術書籍,到更像是純粹意義的軟工書籍。期間也可以看出 XP 的體系更加完備。這其中尤為突出的是把人放到了更為重要的地位。 ? 《 Extreme Programming in Practice 》 by James Newkirk, Robert C. Martin 中譯版:《極限編程實踐》, 王鈞, 人民郵電出版社 讀過了一些列的 XP 書籍,程序員們都會覺得 XP 非常好,但到底如何才能開始實施 XP 呢?還不是太清楚。本系列中的這本書用一個完整的小項目作例子,從頭到尾教給人如何敏捷開發,是一本不可多得的實踐教材。如果想直接實施 XP 開發,這本書可以給你很大啟示。 ? ? 敏捷軟件開發之實踐篇 一、極限編程最佳實踐 由于極限編程是如此的流行,多數敏捷團隊都會或多或少的借鑒一些 XP 中的敏捷實踐,而 XP 的每一個敏捷實踐也確實值得大書特書,而其中最著名的是測試驅動開發和重構實踐: ? 《 Test-Driven Development 》 by Kent Beck 中譯版:《測試驅動開發》, 崔凱,中國電力出版社 測試驅動開發是 Kent Beck 另一部力作。 “Clean Code That Works” 是敏捷開發的目標之一,那么如何達到這個目標? TDD 給出了一種方式。測試實質上是需求。由需求產生出的代碼肯定是能夠工作的功能代碼,而要實現 Class 本身的可測試性,就不得不寫出高度解耦合的 Clean 的代碼。本書從一個 Money 的例子入手,從最初的一點需求開始,逐步增加需求,完成整個貨幣系統的代碼。后面又給出了 Unit Test 中的一些最佳實踐和模式供參考。 然而,本書的教導意義比其實踐意義更突出。作為一本 TDD 的教程或入門教材,這本書無疑是最佳的,其中提出的一些最佳實踐更是值得經常閱讀來溫習。本書面向的是單元測試,而實際開發中面對的數據庫測試, Web 測試等問題并不屬于單元測試的范疇。因此讀者并不能從中直接進入到實戰。 另一本同名書《 Test Driven Development: A Practical Guide 》由 Davis Astels 撰寫,他將該書看作是 Kent 著作的補充,重點闡述利用 TDD 開發所必要的技術和工具上,因此對實際開發更具實用性。 ? 《 Refactoring: Improving the Design of Existing Code 》 by Martin Fowler 中譯版:《重構:改善既有代碼的設計》,侯捷,熊節,中國電力出版社 重構這本書的意義在于,他提供了一種讓你寫出更加優美代碼的能力。在測試的保證下,重構能夠發揮強大的威力。敏捷團隊中,不斷的重構出簡單且高效的代碼才能夠保持擁抱不斷變化的需求。后來的一本書《 Refactoring to Patterns 》(從重構到模式) by Joshua Kerievsky ,更是將重構的威力發揮到極限。 重構曾被稱為軟件開發圖書的雙璧,另一本書是《 Design Patterns 》 ( 設計模式 ) by GoF 。當然,對現在的軟件開發這二者已經不是最重要的。 Thought Works 的首席科學家 Martin Fowler 總結了朋友們的各種實踐心得,寫出了這本書。從幾年后的目光來看,這本書中的多數實踐都被各種 IDE 做到了操作菜單中。雖然 IDE 提供了大量重構功能,但僅靠 IDE 是無法寫出簡潔美妙代碼的,多數的敏捷團隊重構工作做得還是不夠。 ? 另外有一本專門介紹結對編程的書,《 Pair Programming Illuminated 》(結對編程技術) by by Laurie Williams and Robert Kessler ,指出了為什么要結對?并從各種不同水平不同性格的程序員結對情況來討論該實踐的優劣。對此有興趣的程序員不妨一讀。 ? 二、敏捷軟件開發實踐 自從 2001 年敏捷聯盟成立以來,單獨推廣極限編程的書變少了,而統一口徑推廣敏捷的書變得越來越多。兩本同名的敏捷軟件開發都是不可多得的好書, ? 《 Agile Software Development : Principles, Patterns, and Practices 》 by Robert C. Martin 中譯版:《敏捷軟件開發:原則,模式與實踐》,鄧輝, 清華大學出版社 被業內人士稱為 Uncle Bob 的 Robert C Martin 在沉寂幾年后寫出了這部書。該書可以算是從軟件開發角度對敏捷方法闡述的最詳細和全面的一本。之前的敏捷書籍多是關注于過程改進,而對如何從技術角度實施講的比較少。本書一開始先介紹了敏捷聯盟和敏捷開發過程。之后詳細論述了面向對象設計的原則,這些原則是本書的精華之一。后面通過幾個項目介紹了如何將設計模式應用于項目中。 Uncle Bob 不愧是實踐的大師,寫出來的書也是擁有很強的實踐意義。在敏捷團隊的辦公桌上,應當常備此書,一來可作為參考查詢,二來可以作為新成員的必讀書目。 ? 《 Agile Software Development 》 by Alistair Cockburn 中譯版:《敏捷軟件開發》,俞涓,人民郵電出版社 這本書更加適合管理者來閱讀。 Alistair 從項目人數和交流難易程度,將敏捷的各種方法劃分了其適用范圍。人數多的或分布式項目就需要靠其他手段來加強交流,人數少的就可以靠 pair programming 等進行面對面的交流。交流和反饋是敏捷的核心。同時 Alistair 也介紹了一下他提出的 Crystal 方法族。 ? 三 . 敏捷項目管理和敏捷需求分析 在推廣敏捷一段時間后,敏捷社群也意識到,多數書籍更像是面向開發人員,過于技術化,難以吸引項目經理或主管。因此,一批面向管理者視角的書也開始浮出水面,這些書包括: 《 Agile and Iterative Development 》(敏捷迭代開發) by Craig Larman 《 Lean Software Development 》( 敏捷 軟件開發工具 — 精益開發方法 ) by Mary Poppendieck 《 Agile Software Development Ecosystems 》(敏捷軟件開發生態系統) by Jim Highsmith 書中從各種角度比較和分析各種敏捷方法的優劣,異同,起源,適用范圍等。這些書對于一個項目主管決策使用何種過程來在自己的團隊中實踐敏捷有很好的參考作用。 ? 近兩年,人們開始逐漸意識到敏捷開發的側重點不僅僅是開發過程和開發實踐,還包括對需求和項目管理等其他相關方面的實踐。一些相關的書籍也悄然出現在人們的視野: 《 Agile Project Management 》(敏捷項目管理) by Jim Highsmith 《 User Stories Applied 》 by Mike Cohn 《 Agile Estimating and Planning 》 by Mike Cohn 《 Agile Requirements & User Stories 》 by Louis Molnar 這些書不同于以往強調新方法,新過程的書目。敏捷項目管理類的書主要介紹如何管理敏捷團隊,如何計劃要開發的需求,如何為客戶提供最大的價值。介紹敏捷需求分析的書主要幫助商務分析師或項目經理挖掘和分析用戶需求,寫出用戶故事,評估和計劃用戶故事等。人們已經意識到,各種方法論的實質是相同的,都是提供商業價值,減少浪費,增加交流,快速反饋。因此不需要著重于區分是使用了那種方法。對項目經理來說,不同的項目或團隊應當采用適應其特殊情況的方法,而這些方法的基本原則是相同的。 ? 四 . 敏捷軟件開發新方向 對架構師或程序員來說,近年來的技術進展,也使得敏捷開發有了新的研究方向: 《 Agile Web Development with Rails 》 by Dave Thomas, David Hansson, Leon Breedt, and Mike Clark 該書是獲得 2006JOLT 獎的書,講得是采用 Ruby on Rails 這個 Web 開發工具新貴來快速開發 Web 項目,從而達到快速反饋擁抱變化的目的。 《 Refactoring Databases 》 by Scott W Ambler 此書是 Scott 的新作,延續和繼承了《 Agile Modeling 》(敏捷建模)和《 Agile Database Techniques 》(敏捷數據)的思想。在敏捷開發過程中,作為持久化最常見技術的數據庫如果不能夠敏捷,怎么能夠適應一次次迭代和一次次發布的修改呢?書中介紹了如何進行數據庫演化,如何保證升級后數據庫數據的正確性,以及最佳實踐。