<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1323244328961851862</id><updated>2011-12-30T07:30:12.016-08:00</updated><title type='text'>新阿波羅棋廳</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-8066075861180377151</id><published>2011-06-10T11:01:00.000-07:00</published><updated>2011-06-10T11:01:08.428-07:00</updated><title type='text'>棋廳改版</title><content type='html'>由於工作和棋廳總是分開，以至於根本無法將多餘的心力放在棋廳上&lt;br /&gt;所以我已經決定把棋廳和工作整併在一起&lt;br /&gt;這樣才有辨法既工作，又可以維護棋廳&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-8066075861180377151?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/8066075861180377151/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2011/06/blog-post.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/8066075861180377151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/8066075861180377151'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2011/06/blog-post.html' title='棋廳改版'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-99539938276640856</id><published>2011-01-23T08:51:00.000-08:00</published><updated>2011-01-23T08:51:07.091-08:00</updated><title type='text'>梁文道</title><content type='html'>&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;最近因為工作的需求需要進行視頻的製作，所以開始觀察各類高手的談吐，&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;也因而認識到一號人物 梁文道&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;從他的談吐、內容就可以知道自己究竟有多麼渺小&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;並不是對著攝影機多加練習，就可以使自己更加有內涵&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;內涵的展現恰好與你讀書的量成正比。&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;從錄像中的自己，就可以看出自己多沒涵養，我們也&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;只能不斷的練習和讀書，每天養成讀書的習慣，才是真正充實自己，這才是變改自己的最根本方法&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;梁文道提到自己信佛，這更加深了我對他的仰慕&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;只不過人類是無法完美的，從他的談吐可以發現，他隱含在內心的傲氣，並不是短時間內可以磨掉的，雖然他已經很盡力在外表上表現的更加謙虛，但這樣的行為卻恰好跟他的持才自傲所散發出來的氣息形成強烈的對比，這似乎有點欲蓋彌彰的味道。&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, sans-serif; font-size: 13px; line-height: 19px;"&gt;但無論如何，他仍然是一代宗師，強烈的個人風格產生的魅力使得他成為目前當代媒體人群中無可取代的地位。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-99539938276640856?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/99539938276640856/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2011/01/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/99539938276640856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/99539938276640856'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2011/01/blog-post.html' title='梁文道'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-200280452685760392</id><published>2010-04-05T07:21:00.000-07:00</published><updated>2010-04-05T07:25:06.096-07:00</updated><title type='text'>棋廳進度停止</title><content type='html'>最近棋廳已經穩定，暫時因工作關係要停止發展一陣子&lt;div&gt;預計7月重新開工&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7月工作目標&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;1.管理端需要看到IP以及玩家所在的國家&lt;/div&gt;&lt;div&gt;2.管理端需要有目前被禁棋、禁言名單。可以隨時修改禁言禁棋的時間，也可以取消禁棋禁言&lt;/div&gt;&lt;div&gt;3.公會(公會戰)&lt;/div&gt;&lt;div&gt;4.開私有局(邀請好友)&lt;/div&gt;&lt;div&gt;5.邀請好友觀局&lt;/div&gt;&lt;div&gt;6.新增一個觀棋討論的頻道1.公頻 2.觀棋頻&lt;/div&gt;&lt;div&gt;7.誨棋&lt;/div&gt;&lt;div&gt;8.讓子&lt;/div&gt;&lt;div&gt;9.覆盤討論&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;10.斷線續盤--已完成&lt;/span&gt;&lt;/div&gt;&lt;div&gt;11.禁止觀棋局&lt;/div&gt;&lt;div&gt;12.和局請求限制次數(依開局者自訂)&lt;/div&gt;&lt;div&gt;13.棋訊(由棋友自行提供棋訊，管理員審核通過，則公開)&lt;/div&gt;&lt;div&gt;14.新增「波幣」功能&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-200280452685760392?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/200280452685760392/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/04/blog-post.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/200280452685760392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/200280452685760392'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/04/blog-post.html' title='棋廳進度停止'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-2538508112438552318</id><published>2010-03-05T08:11:00.000-08:00</published><updated>2010-03-05T08:18:15.098-08:00</updated><title type='text'>麻將</title><content type='html'>我想動作快的棋友，應該都會重新下載安裝程式，如果有這麼做的的人，應該都可以看到棋廳上多了一個「麻將廳」。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;滿多棋友會打麻將，段數也很高，有時下棋下累了，可能就換到別的地方去打打麻將，有些棋友甚至不知道有網路麻將可以打，所以近期打算在棋廳加做麻將，讓下棋下累的棋友，可以休閒一下。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;麻將其實不太容易寫，一開始要寫時覺的應該挺簡單的~~&lt;/div&gt;&lt;div&gt;開始做之後才發現有一些困難度。&lt;/div&gt;&lt;div&gt;最不好處理的地方，其實就是胡牌和台數的判斷，不過最終還是解決了&lt;/div&gt;&lt;div&gt;持續努力....&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-2538508112438552318?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/2538508112438552318/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/03/blog-post.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/2538508112438552318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/2538508112438552318'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/03/blog-post.html' title='麻將'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-630265933010258951</id><published>2010-02-04T21:15:00.001-08:00</published><updated>2010-02-04T21:17:19.944-08:00</updated><title type='text'>進度報告</title><content type='html'>&lt;div&gt;最近完成工作項目&lt;/div&gt;1.新增「加秒計時器」&lt;div&gt;2.增加「勝率顯示」&lt;/div&gt;&lt;div&gt;3.喜好設定 棋盤按鈕是否顯示、素色設定&lt;/div&gt;&lt;div&gt;4.開局設定直接移至開盤時最下方有一個核選方塊「是否儲存本次設定」&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-630265933010258951?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/630265933010258951/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/02/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/630265933010258951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/630265933010258951'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/02/blog-post.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-4391247580849789417</id><published>2010-01-28T09:17:00.001-08:00</published><updated>2010-01-28T09:21:35.221-08:00</updated><title type='text'>任務完成</title><content type='html'>呼~~ 全部的BUG幾乎都修完了，剩下的部份就是網頁更新。&lt;div&gt;明天再花一些時間將網頁改版，改版完成，第一階段也就告一個段落了。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;第二階段是壓力測式的部份，就只能先喊暫停。&lt;/div&gt;&lt;div&gt;因為要模擬數千人同時在線上下棋，這個部份比較沒那麼容易處理。&lt;/div&gt;&lt;div&gt;主機可能也吃不住這樣的負載，待下次把主機改成Linux時，再來進行第二階段的壓力測式。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-4391247580849789417?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/4391247580849789417/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_28.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/4391247580849789417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/4391247580849789417'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_28.html' title='任務完成'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-4933129408877716099</id><published>2010-01-26T22:19:00.000-08:00</published><updated>2010-01-28T04:31:41.314-08:00</updated><title type='text'>進度報告</title><content type='html'>待完成項目&lt;br /&gt;&lt;ol&gt;&lt;li&gt;查詢棋友位置&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;....已完成&lt;/span&gt;&lt;/li&gt;&lt;li&gt;舊版戰績轉入新版&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;....已完成&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-4933129408877716099?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/4933129408877716099/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_2944.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/4933129408877716099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/4933129408877716099'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_2944.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-4667307176512570201</id><published>2010-01-26T10:00:00.000-08:00</published><updated>2010-01-26T10:05:30.021-08:00</updated><title type='text'>進度報告</title><content type='html'>最近忙到沒時間寫進度報告，棋廳上架之初，BUG多到跟山一樣高，有回報的也好，沒回報的也好，都要花很長的時間去處理。&lt;div&gt;已經解決的BUG不計其數，我也沒特別去記下來，只是狂改~"~&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今天加了一個比較重大的功能，就是「棋局收藏」，之前只是隨便做一下，就趕上架了，今天花了一整個晚上，終於完工了，好累~"~。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;也多加了輸出*.txt的檔案格式，並解決一些觀棋當機.....一大堆BUG，太多了。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;新增加的項目還有錯誤自動回報機制，會把錯誤的訊息，丟回伺服器。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-4667307176512570201?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/4667307176512570201/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_26.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/4667307176512570201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/4667307176512570201'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_26.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-3840236474270220959</id><published>2010-01-12T08:09:00.000-08:00</published><updated>2010-01-12T08:10:26.505-08:00</updated><title type='text'>進度報告</title><content type='html'>其實很多功能都已經實作完成，目前都是在除錯。或是檢查是否有少做的功能。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-3840236474270220959?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/3840236474270220959/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_12.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/3840236474270220959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/3840236474270220959'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_12.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-1164022226825661459</id><published>2010-01-10T01:37:00.000-08:00</published><updated>2010-01-10T10:57:04.743-08:00</updated><title type='text'>進度報告</title><content type='html'>&lt;div&gt;棋廳最大的問題在於管理面&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;棋品太差：很多棋友喜歡亂罵髒話或侮辱他人，又或人身攻擊，解決這個問題的方式，就是將棋友加入黑名單。沒錯，黑名單的功能已經完成了，一但加入黑名單，就不會接到莫明其妙的訊息。&lt;/li&gt;&lt;li&gt;棋規問題： 以往舊棋廳最常遇見的，就是不守棋規的棋友，管理員又不可能24小時守在線上，唯一下方式就是交由系統自動判定，目前已經支援的棋規，有「長將」、「自動判和」，日後再依棋友的建議予以新增。&lt;/li&gt;&lt;li&gt;戰績、計時器錯誤：之所以開發新版，並不是為了增加很特別的新功能，就功能面而言，舊棋廳的功能已經十分足夠了，新版是為了解決舊版無法解決的問題。有許多棋友回報戰績計算有誤，計時器有問題，那確實是棋廳本身的問題。但其實為了這些原因就開發新版，實在是毫無必要性，主要原因還是我個人想把Swing改成SWT，畢竟舊的棋廳，是採用即興的方式去開發而成，程式碼難免較為醜陋，所以才會想做新版的。&lt;/li&gt;&lt;li&gt;洗版：現在我刻意限制可輸入字元的長度，之前有人刻意洗版，一次貼滿滿的字元，導致系統吃下太多訊息而當掉。&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;在新版上，以上的問題並不立刻解決掉，要等到發現問題時再進行修正。&lt;/div&gt;&lt;div&gt;在開發舊版棋廳時，因為當時線上人數較少，要更新都可以很隨便的重開主機，但現在隨著棋友越來越多，要重開主機，都要有所考量，否則每個下棋下到一半的棋友，都被斷線打斷，難免會心情不爽。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;新棋廳，花了不少時間在美工上面。&lt;/div&gt;&lt;div&gt;會花在美工是有原因的，因為新棋廳新氣象，如果不把外表變一下，大家會認為沒什麼改變，所以在迫不得己的情況下，只好花時間去改美工。&lt;/div&gt;&lt;div&gt;美工的部份，全部都沒列在工作清單內，因為美工很難用文字去描述我到底做了什麼，所以甘脆不寫了。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-1164022226825661459?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/1164022226825661459/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_10.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/1164022226825661459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/1164022226825661459'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_10.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-5293596655816931705</id><published>2010-01-08T22:48:00.000-08:00</published><updated>2010-01-09T03:24:25.574-08:00</updated><title type='text'>Facebook</title><content type='html'>最近，開始想把棋廳整進Facebook。&lt;br /&gt;找個時間來研究Facebook的API&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;現在剩餘的每個功能，都是很簡單的功能&lt;/div&gt;&lt;div&gt;但某些部份是要花很多時間去弄&lt;/div&gt;&lt;div&gt;例如，自動棋局程式，要把所有開局的局譜全部輸入，想到整個就懶掉了&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-5293596655816931705?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/5293596655816931705/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/facebook.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/5293596655816931705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/5293596655816931705'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/facebook.html' title='Facebook'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-6909594885290895996</id><published>2010-01-08T05:33:00.001-08:00</published><updated>2010-01-08T05:35:19.754-08:00</updated><title type='text'>放假</title><content type='html'>終於放假了，感動到流眼淚，終於有點時間可以寫棋廳了&lt;div&gt;今天的目標是&lt;b&gt;自動更新程式&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;這次不採用以前那種方式了，直接自動從網站上下載更新檔案就好了&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-6909594885290895996?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/6909594885290895996/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_08.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/6909594885290895996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/6909594885290895996'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_08.html' title='放假'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-869084528684869328</id><published>2010-01-06T08:19:00.000-08:00</published><updated>2010-01-06T08:22:46.595-08:00</updated><title type='text'>發現</title><content type='html'>呼~~ 最近都在搞棋廳的新式討論版&lt;div&gt;花超多時間的，主要花的時候在Rabbit3，畢竟剛出爐，Bug還不少，又修又寫的，邊測式邊寫&lt;/div&gt;&lt;div&gt;也因此發現之前架構的Bug。&lt;/div&gt;&lt;div&gt;今天終於也把Web討論版做完了，好累~~&lt;/div&gt;&lt;div&gt;不過，心情愉快，理論上應該不會再當掉了，希望快點配合新版網頁上架，然後把舊版的拿掉。&lt;/div&gt;&lt;div&gt;不過棋廳還有不少內容要修，還好有寫進度網站，把想到的都記下來，下次要改就不會忘掉。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-869084528684869328?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/869084528684869328/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_06.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/869084528684869328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/869084528684869328'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post_06.html' title='發現'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-5112101841050254680</id><published>2010-01-03T06:14:00.000-08:00</published><updated>2010-01-10T01:29:44.810-08:00</updated><title type='text'>進度報告</title><content type='html'>棋廳的大方向已經完成，接下來要開始雕以前沒注意的小細節&lt;div&gt;1.允/不允許觀棋討論&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;完成2010/01/04&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;2.音效&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/09&lt;/span&gt;&lt;/div&gt;&lt;div&gt;3.將軍音效提示&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/09&lt;/span&gt;&lt;/div&gt;&lt;div&gt;4.收藏分類&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/08&lt;/span&gt;&lt;/div&gt;&lt;div&gt;5.飛鴿傳書&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;....完成2010/01/04&lt;/span&gt;&lt;/div&gt;&lt;div&gt;6.喜好設定&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/10&lt;/span&gt;&lt;/div&gt;&lt;div&gt;7.個人資料設定&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/09&lt;/span&gt;&lt;/div&gt;&lt;div&gt;8.版規說明&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/09&lt;/span&gt;&lt;/div&gt;&lt;div&gt;9.自動更新程式&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/08&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;10.會員註冊系統&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/09&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;信件通知&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成&lt;/span&gt;&lt;/li&gt;&lt;li&gt;網站帳號開通&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/09&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;11.栽判系統&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/10&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;棋規測式-長將&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/10&lt;/span&gt;&lt;/li&gt;&lt;li&gt;棋規測式-和棋&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/10&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;12.掉鐘自動判負&lt;/div&gt;&lt;div&gt;13.大廳棋局部份操作細化&lt;/div&gt;&lt;/div&gt;&lt;div&gt;管理端&lt;/div&gt;&lt;div&gt;1.禁棋功能&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;成2010/01/04&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;2.禁言功能&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/04&lt;/span&gt;&lt;/div&gt;&lt;div&gt;3.觀棋討論禁言&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/04&lt;/span&gt;&lt;/div&gt;&lt;div&gt;網頁&lt;/div&gt;&lt;div&gt;1.討論區&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;....完成2010/01/07&lt;/span&gt;&lt;/div&gt;&lt;div&gt;我還是捨棄正常的討論區型式好了，畢竟流量沒那麼大，還是採用最小流量式的討論版&lt;/div&gt;&lt;div&gt;這次最花時間的是Rabbit3的改版，花了很長的時間，新阿波羅打算採用Rabbit3，以往的方式，網站三步五時就當掉，改Rabbit3後，應該就能徹底解決網頁當機的問題&lt;/div&gt;&lt;div&gt;2.網頁&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;其它尚末想到的，之後再補上&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2010/01/04&lt;/b&gt;&lt;/div&gt;&lt;div&gt;音效有點想加一些娛樂性的語音&lt;/div&gt;&lt;div&gt;例如：「啊你是不會快一點喔(台語)」....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;不過下棋中一直聽到這種音效，不知會不會想扁人&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-5112101841050254680?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/5112101841050254680/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/5112101841050254680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/5112101841050254680'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2010/01/blog-post.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-4033807690363095873</id><published>2009-12-29T04:47:00.000-08:00</published><updated>2010-01-03T06:14:39.753-08:00</updated><title type='text'>棋規</title><content type='html'>&lt;span class="Apple-style-span"   style="  line-height: 24px; font-family:新細明體;font-size:medium;"&gt;&lt;b&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" font-weight: normal; font-style: italic; font-family:arial;"&gt;2009/12/29&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;符合自然限著之回合規定，即在連續50回合 (雙方共走100著)，雙方均未有吃過一個棋子，即判為和局(&lt;span class="Apple-style-span"  style=" ;font-size:medium;"&gt;將軍」最多只計十著，超過則為無效步&lt;/span&gt;)&lt;/li&gt;&lt;/ol&gt;&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 24px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;i&gt;今天在改棋盤~ 真是不太好搞，最後在GUI棋盤內直接New一個MemoryChessboard，然後自動同步。感覺似乎不是很優的方法，但考慮各種方式，似乎沒有更好的做法。本來是要搞棋規的，改到後面，連棋盤也動到，真的挺累人的。&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;i&gt;不過第一條棋規總算完成。&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;i&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style=" font-style: normal; font-family:新細明體;"&gt;&lt;b&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-weight: normal; font-style: italic; font-family:arial;"&gt;2009/12/30&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;長將超過3個循環，判負&lt;/li&gt;&lt;/ol&gt;&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-4033807690363095873?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/4033807690363095873/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_29.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/4033807690363095873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/4033807690363095873'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_29.html' title='棋規'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-5838624132057692245</id><published>2009-12-28T08:06:00.000-08:00</published><updated>2009-12-28T08:09:54.284-08:00</updated><title type='text'>進度報告</title><content type='html'>Java寫的程式，要發佈成安裝程式，所以這次先找了一個免費的Open Source，可以自動把Jar轉成Exe，然後再用NSIS製作成安裝程式。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-5838624132057692245?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/5838624132057692245/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_28.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/5838624132057692245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/5838624132057692245'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_28.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-2856593643653672389</id><published>2009-12-25T09:35:00.001-08:00</published><updated>2009-12-25T09:36:25.689-08:00</updated><title type='text'>工作進度</title><content type='html'>棋局自動命名已經完成，但由於棋局的種類太多，以至於沒辨法立即把資料全部匯入資料庫，所以只好有空再慢慢把資料匯入&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-2856593643653672389?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/2856593643653672389/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_1677.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/2856593643653672389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/2856593643653672389'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_1677.html' title='工作進度'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-7143309250606111595</id><published>2009-12-25T03:18:00.000-08:00</published><updated>2009-12-25T04:10:10.086-08:00</updated><title type='text'>棋規</title><content type='html'>之前在做棋規時，一直有一些安全問題。&lt;div&gt;如果在Client實作棋規，很容易被偽造假封包。&lt;/div&gt;&lt;div&gt;基於這個理由，這次棋規要在Server上實作。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;新版的棋廳，實作了一個叫MemoryChessboard的類別&lt;/div&gt;&lt;div&gt;class MemoryChessboard implements IChessboard;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;就是用來驗證一些棋步是否合法，檢查是否有跳步等的假動作&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;無論是棋步描述的產生，或是棋步驗證、局名產生、棋規，都是要用記憶體棋盤來實現。&lt;/div&gt;&lt;div&gt;反正線上人數也不多，多吃一些效能也沒什麼差異性。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-7143309250606111595?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/7143309250606111595/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_25.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/7143309250606111595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/7143309250606111595'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_25.html' title='棋規'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-7152052567880181982</id><published>2009-12-23T05:39:00.000-08:00</published><updated>2009-12-23T05:40:57.362-08:00</updated><title type='text'>進度報告</title><content type='html'>等級制度完成&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; color: rgb(51, 51, 51); line-height: 19px; "&gt;待完成項目&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; color: rgb(51, 51, 51); line-height: 19px; "&gt;自動局名&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: 13px; color: rgb(51, 51, 51); line-height: 19px; "&gt;棋規&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-7152052567880181982?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/7152052567880181982/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_23.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/7152052567880181982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/7152052567880181982'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_23.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-8070281655470730776</id><published>2009-12-21T07:09:00.000-08:00</published><updated>2009-12-23T05:04:50.966-08:00</updated><title type='text'>新的等級制度規劃</title><content type='html'>棋力分為二類&lt;div&gt;&lt;ol&gt;&lt;li&gt;9級~1級&lt;/li&gt;&lt;li&gt;初段~九段&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;升級制採舊式的衛冕分的方式，但計分方式有些變動&lt;/div&gt;&lt;div&gt;衛冕分達5分者升級，如果-5分，則降級&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;同棋力對戰，輸則扣1分，贏則加1分&lt;/div&gt;&lt;div&gt;異棋力對戰：&lt;/div&gt;&lt;div&gt;對手棋力=O&lt;/div&gt;&lt;div&gt;自己棋力=S&lt;/div&gt;&lt;div&gt;棋力差異=D=|O-S|&lt;/div&gt;&lt;div&gt;----------------------等級比對手高時----------------------&lt;/div&gt;&lt;div&gt;贏的分數=1/D;&lt;/div&gt;&lt;div&gt;輸的分數=1&lt;/div&gt;&lt;div&gt;----------------------等級比對手低時----------------------&lt;/div&gt;&lt;div&gt;&lt;div&gt;贏的分數=1+[D*0.25];&lt;/div&gt;&lt;div&gt;輸的分數=1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;----------------------段位組與級位組對戰時----------------------&lt;/div&gt;&lt;div&gt;段位贏級位：無分&lt;/div&gt;&lt;div&gt;段位輸級位：無分&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;級位贏段位：無分&lt;/div&gt;&lt;div&gt;級位輸段位：無分&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;呼~~ 明天就把他實作出來&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-8070281655470730776?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/8070281655470730776/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_3076.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/8070281655470730776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/8070281655470730776'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_3076.html' title='新的等級制度規劃'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-9047391825145347505</id><published>2009-12-21T01:37:00.000-08:00</published><updated>2009-12-21T06:35:30.323-08:00</updated><title type='text'>進度報告</title><content type='html'>&lt;div&gt;&lt;br /&gt;已完成項目&lt;br /&gt;&lt;ul&gt;&lt;li&gt;棋局收藏&lt;/li&gt;&lt;li&gt;建議/錯誤回報&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;待完成項目&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;自動局名&lt;/li&gt;&lt;li&gt;等級制度&lt;/li&gt;&lt;li&gt;棋規&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-9047391825145347505?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/9047391825145347505/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_21.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/9047391825145347505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/9047391825145347505'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_21.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-3069562564684662872</id><published>2009-12-20T18:42:00.000-08:00</published><updated>2009-12-20T18:43:47.656-08:00</updated><title type='text'>進度報告</title><content type='html'>觀棋已經完成&lt;br /&gt;&lt;br /&gt;剩餘項目&lt;br /&gt;&lt;ol&gt;&lt;li&gt;棋局收藏&lt;/li&gt;&lt;li&gt;自動局名&lt;/li&gt;&lt;li&gt;建議/錯誤回報&lt;/li&gt;&lt;li&gt;等級制度&lt;/li&gt;&lt;li&gt;棋規&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-3069562564684662872?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/3069562564684662872/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_20.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/3069562564684662872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/3069562564684662872'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_20.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-1563482365707391134</id><published>2009-12-19T11:49:00.000-08:00</published><updated>2009-12-20T04:41:40.221-08:00</updated><title type='text'>進度報告</title><content type='html'>黑名單&lt;div&gt;查詢棋手資訊&lt;/div&gt;&lt;div&gt;禁言&lt;/div&gt;&lt;div&gt;禁棋&lt;/div&gt;&lt;div&gt;以上三項已經完成&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;剩餘項目&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;棋局收藏&lt;/div&gt;&lt;div&gt;觀棋&lt;/div&gt;&lt;div&gt;自動局名&lt;/div&gt;&lt;div&gt;建議/錯誤回報&lt;/div&gt;&lt;div&gt;等級制度&lt;/div&gt;&lt;div&gt;棋規&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-1563482365707391134?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/1563482365707391134/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_3361.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/1563482365707391134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/1563482365707391134'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_3361.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-6733710345020731425</id><published>2009-12-19T03:07:00.001-08:00</published><updated>2009-12-19T07:13:20.822-08:00</updated><title type='text'>工作進度</title><content type='html'>&lt;div&gt;&lt;b&gt;*大廳聊天室&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;*棋局列表&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;*棋局記錄&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;棋局收藏&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;*對戰&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;觀棋&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;*棋局-聊天室&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;*棋局-棋譜&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;黑名單&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;禁言&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;禁棋&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;自動局名&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;建議/錯誤回報&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;等級制度&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;棋規&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-6733710345020731425?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/6733710345020731425/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_19.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/6733710345020731425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/6733710345020731425'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_19.html' title='工作進度'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-6843775830445107129</id><published>2009-12-17T10:15:00.000-08:00</published><updated>2009-12-17T10:29:14.623-08:00</updated><title type='text'>DAO實作完成</title><content type='html'>呼~~ 終於實作完成了&lt;div&gt;一個簡單的DAO模型&lt;/div&gt;&lt;div&gt;1.IDaoManager&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public IDaoTransaction beginTransaction() throws SQLException;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public Object getDaoObject(Class interfaces, Class daoClass) throws SQLException;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;2.IDaoTransaction&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public void commit() throws SQLException;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public void rollback() throws SQLException;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public void close() throws SQLException;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;public IDaoObject getDaoObject(Class&lt;? extends IDaoObject&gt; daoClass) throws SQLException;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;如果呼叫daoManager.getDaoObject，那麼系統將會實現自動交易&lt;/div&gt;&lt;div&gt;內部利用java.lang.reflection.Proxy實現自動交易，當Method被呼叫時，則自動取得Connection&lt;/div&gt;&lt;div&gt;Method呼叫完畢，Connection則自動關閉。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;可以在DaoManagerImpl內實作Connection pool，也可以交給Open source來做。&lt;/div&gt;&lt;div&gt;我的做法是在DaoManagerImpl使用DBCP來實作ConnectionPool的機制，這樣省事多了。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;如果開發人員是呼叫&lt;/div&gt;&lt;div&gt;daoManager.beginTransaction();&lt;/div&gt;&lt;div&gt;那麼回傳的IDaoTransaction將會實現手動交物&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;IDaoTransaction daoTrans = null;&lt;/div&gt;&lt;div&gt;try {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;daoTrans = daoManager.beginTransaction();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;IPreferenceDao preferenceDao = (IPreferenceDao)daoTrans .getDaoObject(IPreferenceDao.class, PreferenceDaoImpl.class);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;IUserDao userDao = (IUserDao)daoTrans .getDaoObject(IUserDao.class, UserDaoImpl.class);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;userDao.update(user);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;preferenceDao .update(preference);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;daoTrans.commit();&lt;/div&gt;&lt;div&gt;} catch(SQLException e) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;daoTrans.rollback();&lt;/div&gt;&lt;div&gt;} finally {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if(daoTrans != null) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;daoTrans.close();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-6843775830445107129?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/6843775830445107129/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/dao.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/6843775830445107129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/6843775830445107129'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/dao.html' title='DAO實作完成'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-3830149262297326792</id><published>2009-12-17T06:47:00.000-08:00</published><updated>2009-12-17T06:55:09.019-08:00</updated><title type='text'>資料庫</title><content type='html'>最近狂加班，~~ 進度有點落後，不過還是勉強的把棋局記錄的資料表給處理完畢&lt;div&gt;現在主要是舊的DAO不能用了，可能自己要寫一個DAOTransaction去處理交易問題&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;資料庫的新增會隨著關聯式有所變動，我們常會有一個需求，當你A資料表新增資料時，B資料表也必須同步新增。也就是說，當A資料表新增完畢，B資料表在新增時發生例外的錯誤，那A資料表就必須Rollback回來。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;目前棋局記錄的畫面已經完成，資料表也完成，只要把交易問題處理掉，就可以完成棋局記錄&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;再來努力拼~~&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-3830149262297326792?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/3830149262297326792/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_17.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/3830149262297326792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/3830149262297326792'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_17.html' title='資料庫'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-5206203771452758052</id><published>2009-12-14T07:49:00.000-08:00</published><updated>2009-12-14T10:24:26.570-08:00</updated><title type='text'>棋盤</title><content type='html'>今天加班加到九點~~~ 累死我了，不過還是把棋盤翻新一下&lt;div&gt;本來今天的進度應該是把棋局記錄做完的~~ 可惜時間不夠，只好留到明天再努力&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;棋局記錄：&lt;/div&gt;&lt;div&gt;以往棋局記錄在查詢時，都是直接把查詢到的資料直接全部回傳至Client。&lt;/div&gt;&lt;div&gt;這會吃掉不少頻寬和Loading，所以最好的方式還是採用分頁制，一次回傳20筆就可以了，再做翻頁的動作，否則光載入棋局資料就夠多了。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;黑名單：&lt;/div&gt;&lt;div&gt;黑名單實作的方式有2種，&lt;/div&gt;&lt;div&gt;1.訊息照傳，在Client時再擋掉，這招可以省下不少效能，因為不用每筆訊息都進行黑名單驗證&lt;/div&gt;&lt;div&gt;2.直接在Server端就擋掉，但我們必須判段該User是否能接受訊息，如果每次都去db撈出來檢查，那必然很吃效能，如果想加速，就必須把每一位User的黑名單全部撈出來放在記憶體，雖然可以加速，但相對就吃記憶體&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;我後還是決定在Client擋掉就好了，因為沒有安全性的問題，所以這層就交由Client完成就行了。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;棋規：&lt;/div&gt;&lt;div&gt;最難做的東西，因為驗證棋規，必須要檢查的資料很多，有點吃效能。但又不得不在Server端做，因為Client的棋規驗證很可能被駭客造假，所以這沒得選擇。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;自動局名：&lt;/div&gt;&lt;div&gt;利用Tree的結構儲存棋步結點，再自動吐出對應名稱，並不太難做，效能上也沒問題，沒什麼好考慮的。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;目前以這4項大重點的方向開發，其餘功能則之後再考慮&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;主要的架構已經切成Domain model了，所以就算後面再加功能也不會有架構亂掉的問題，之後的擴充性好不好，就依賴在目前的架構上了(一定沒問題)。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-5206203771452758052?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/5206203771452758052/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_14.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/5206203771452758052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/5206203771452758052'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_14.html' title='棋盤'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-2655690598731743988</id><published>2009-12-13T09:03:00.000-08:00</published><updated>2009-12-13T09:04:47.488-08:00</updated><title type='text'>新版網頁</title><content type='html'>新版網頁已經設計完成~~ 等後新版棋廳完成一起上架&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-2655690598731743988?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/2655690598731743988/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_6780.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/2655690598731743988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/2655690598731743988'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_6780.html' title='新版網頁'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-8023205948539063944</id><published>2009-12-13T08:27:00.001-08:00</published><updated>2009-12-13T21:14:44.809-08:00</updated><title type='text'>棋廳框架</title><content type='html'>由於棋廳預想的範圍很大&lt;div&gt;所以必須要設計Domain model&lt;/div&gt;&lt;div&gt;粗略設計幾個重要的Domain model&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;ITableLobby&lt;/li&gt;&lt;li&gt;ITable&lt;/li&gt;&lt;li&gt;IMessager&lt;/li&gt;&lt;li&gt;IPlayerManager&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;比較不好寫的部份，仍然是對戰的部份&lt;/div&gt;&lt;div&gt;因為內容多，以前的功能重寫一遍，也相當累人&lt;/div&gt;&lt;div&gt;主要有：計時器、聊天、棋譜表、對戰四個主功能，次功能就是輸出XQStudio和文字檔的格式。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;其中對戰的部份也切成幾個小功能：和棋、認輸、輸贏判定、棋步限制&lt;/div&gt;&lt;div&gt;目前這幾項功能均已經完成&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;下一個目標就是棋局記錄&lt;/div&gt;&lt;div&gt;棋局記錄主要的部份還是資料庫&lt;/div&gt;&lt;div&gt;所以會再切一層DAO出來，由於都是即時的系統，所以會用Jakarta的DBCP做為Connection pool的主要套件。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;之前的做法是每下一步棋，就立即儲存在資料庫，所以常會有不完整的棋局，所以這次打算把棋局記錄先儲存記憶體，等到棋局結束，再一次送到DB。&lt;/div&gt;&lt;div&gt;前一版是用Hibernate，但新版的部份，我想把Hibernate拿掉，主要是他太吃記憶體了，某些Cache的部份，還是交給自己做效能會比較好。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;剩下的主功能：&lt;/div&gt;&lt;div&gt;棋規、自動局名、棋局記錄、黑名單&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-8023205948539063944?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/8023205948539063944/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_13.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/8023205948539063944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/8023205948539063944'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post_13.html' title='棋廳框架'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1323244328961851862.post-7257124942239444071</id><published>2009-12-13T08:20:00.000-08:00</published><updated>2009-12-13T08:42:58.810-08:00</updated><title type='text'>進度報告</title><content type='html'>新阿波羅棋廳2.0開工&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;所有的工作項目&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;大廳聊天室&lt;/li&gt;&lt;li&gt;棋局列表&lt;/li&gt;&lt;li&gt;棋局記錄&lt;/li&gt;&lt;li&gt;棋局收藏&lt;/li&gt;&lt;li&gt;對戰&lt;/li&gt;&lt;li&gt;觀棋&lt;/li&gt;&lt;li&gt;棋局-聊天室&lt;/li&gt;&lt;li&gt;棋局-棋譜&lt;/li&gt;&lt;li&gt;黑名單&lt;/li&gt;&lt;li&gt;禁言&lt;/li&gt;&lt;li&gt;禁棋&lt;/li&gt;&lt;li&gt;自動局名&lt;/li&gt;&lt;li&gt;建議/錯誤回報&lt;/li&gt;&lt;li&gt;等級制度&lt;/li&gt;&lt;li&gt;棋規&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1323244328961851862-7257124942239444071?l=apollo-chess.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://apollo-chess.blogspot.com/feeds/7257124942239444071/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/7257124942239444071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1323244328961851862/posts/default/7257124942239444071'/><link rel='alternate' type='text/html' href='http://apollo-chess.blogspot.com/2009/12/blog-post.html' title='進度報告'/><author><name>蝌蚪</name><uri>http://www.blogger.com/profile/08432595541716944030</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
