<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10chinesetwfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[LittleLin's Scrapbook]]></title>
  
  <link href="http://LittleLin.github.com/" />
  <updated>2011-10-16T11:34:49+08:00</updated>
  <id>http://LittleLin.github.com/</id>
  <author>
    <name><![CDATA[LittleLin]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/xingulin" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="xingulin" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fxingulin" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/xingulin" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fxingulin" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fxingulin" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><entry>
    <title type="html"><![CDATA[Play Framework 心得筆記(1)]]></title>
    <link href="http://LittleLin.github.com/blog/2011/10/15/play-framework-tutorial-1/" />
    <updated>2011-10-15T19:22:00+08:00</updated>
    <id>http://LittleLin.github.com/blog/2011/10/15/play-framework-tutorial-1</id>
    <content type="html"><![CDATA[<p>整理我自己在使用 Play Framework 的一些相關心得，本篇主要是在整理環境設定上的一些操作步驟。</p>

<!--more-->


<h3>一、安裝 Play Framework</h3>

<h4>1. 到<a href="http://www.playframework.org/">官網</a>下載 Play Framework 的安裝檔，檔名會像是 <strong>play-1.2.3.zip</strong> 這樣的格式。</h4>

<h4>2. 將 Play Framework 相關檔案，放置到安裝目錄下</h4>

<p>我習慣在 C:\ 下，新增一個 Play 目錄，將不同版本的 Play Framework，解壓縮在其中。在 Windows 下，目錄結構看起來會像這樣︰</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>C:\Play\
</span><span class='line'>    play-1.1\
</span><span class='line'>    play-1.1.1\
</span><span class='line'>    play-1.2.2\
</span><span class='line'>    play-1.2.3\</span></code></pre></td></tr></table></div></figure>


<p>而在 Linux / Mac OS X 下，我會在 $HOME 目錄下，新增一個 Play 目錄，將不同版本的 Play Framework，解壓縮在其中。目錄結構看起來會像這樣︰</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>$HOME/
</span><span class='line'>    Play/
</span><span class='line'>      play-1.1/
</span><span class='line'>      play-1.1.1/
</span><span class='line'>      play-1.2.2/
</span><span class='line'>      play-1.2.3/</span></code></pre></td></tr></table></div></figure>


<h4>3. 設定環境變數</h4>

<p>3.1 新增 PLAY_HOME 環境變數，指向 Play Framework 解壓縮下的目錄 (ex: C:\Play]play-1.2.3 or $HOME/Play/play-1.2.3)</p>

<p>3.2 在 PATH 環境變數下，在加入 PLAY_HOME 環境變數。</p>

<p>3.3 以 Mac OS X 為例，我們可以編輯 $HOME/.bashrc 或 $HOME/.bash_profile 設定檔，加入以下設定︰　</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nb">export </span><span class="nv">PLAY_HOME</span><span class="o">=</span><span class="s2">&quot;$HOME/Play/play-1.2&quot;</span>
</span><span class='line'><span class="nb">export </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$PLAY_HOME</span>:<span class="nv">$PATH</span>
</span></code></pre></td></tr></table></div></figure>


<h4>　４. 確認 Play Framework 是否已安裝完成</h4>

<p>確認方式也很簡單，在 Windows 下我們打開命令提示字元，Linux 下則是開啓新的 Terminal，執行 <strong>Play</strong> 指令即可。順利的話，我們會看到以下的畫面︰</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>$ play
</span><span class='line'>~        _            _ 
</span><span class='line'>~  _ __ | | __ _ _  _| |
</span><span class='line'>~ | '_ \| |/ _' | || |_|
</span><span class='line'>~ |  __/|_|\____|\__ (_)
</span><span class='line'>~ |_|            |__/   
</span><span class='line'>~
</span><span class='line'>~ play! 1.2, http://www.playframework.org
</span><span class='line'>~
</span><span class='line'>~ Usage: play cmd [app_path] [--options]
</span><span class='line'>~ 
</span><span class='line'>~ with,  new      Create a new application
</span><span class='line'>~        run      Run the application in the current shell
</span><span class='line'>~        help     Show play help
</span><span class='line'>~</span></code></pre></td></tr></table></div></figure>


<p>恭喜，安裝已經完成。</p>

<h3>二、新增專案</h3>

<p>假設今天我們想建立的專案名稱，名稱為 PlayAppDemo，在 Windows 下，我們只需要打開命令提示字元，(Linux/Mac OS X 則是在 Terminal 下)，在我們想要放置專案的目錄下，執行 <strong>play new [專案名稱]</strong> 指令，就可以完成新增專案的動作。如下︰</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
<span class='line-number'>14</span>
<span class='line-number'>15</span>
<span class='line-number'>16</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>play new PlayAppDem
</span><span class='line'>~        _            _
</span><span class='line'>~  _ __ | | __ _ _  _| |
</span><span class='line'>~ | <span class="s1">&#39;_ \| |/ _&#39;</span> | <span class="o">||</span> |_|
</span><span class='line'>~ |  __/|_|<span class="se">\_</span>___|<span class="se">\_</span>_ <span class="o">(</span>_<span class="o">)</span>
</span><span class='line'>~ |_|            |__/
</span><span class='line'>~
</span><span class='line'>~ play! 1.2, http://www.playframework.org
</span><span class='line'>~
</span><span class='line'>~ The new application will be created in /Users/littlelin/tmp/PlayAppDemo
</span><span class='line'>~ What is the application name? <span class="o">[</span>PlayAppDemo<span class="o">]</span>
</span><span class='line'>~
</span><span class='line'>~ OK, the application is created.
</span><span class='line'>~ Start it with : play run PlayAppDemo
</span><span class='line'>~ Have fun!
</span><span class='line'>~
</span></code></pre></td></tr></table></div></figure>


<h3>三、設定 Log 記錄方式</h3>

<p>可以參考我之前寫的<a href="http://littlelin.github.com/blog/2011/10/09/play-framework-logging/">Play Framework Log 相關設定</a>一文。</p>

<p>(待續&#8230;)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[目前我自己的資訊整理方式省思]]></title>
    <link href="http://LittleLin.github.com/blog/2011/10/09/information-organization/" />
    <updated>2011-10-09T01:54:00+08:00</updated>
    <id>http://LittleLin.github.com/blog/2011/10/09/information-organization</id>
    <content type="html"><![CDATA[<p>目前我都是使用 Evernote 搭配 XMind 來做一些學習筆記的整理和一些想法的記錄。</p>

<!--more-->


<p>XMind 在幫我歸納一堆雜亂的資訊時很好用，很多時候因為資訊太雜，或是有時候時間有點斷斷續續，所以我通常的做法就是想到什麼就亂打什麼，等全部打完再來歸納重點。</p>

<p>透過 XMind 心智圖的形式，其實項目的階層非常容易整理，而且也很容易做。後來我也拿它做為我去開會記錄時的工具，發現比起純寫筆記，回來整理會議記錄時，使用這樣形式記錄下來的重點，更容易讓我回想當時討論的重點跟一些細節。</p>

<p>最近甚至在某些場合，也試著拿 XMind 做為向客戶溝通想法的工具，在某些情境下，覺得甚至比簡報檔還更容易讓客戶理解。因為透過心智圖的形式，整件事情的邏輯，會比一頁頁簡報檔更容易呈現出來讓讀者知道。當然這也有可能是我簡報檔寫太差的原因就是了 XD</p>

<p>XMind 同時有 Windows 和 Mac 版，我都是透過 Dropbox 做為兩個平台上筆記同步的機制。有時候外出帶 MacBook Pro 出去和客戶開會，使用 XMind 做的會議記錄檔，就直接放在 Dropbox 上。回到公司打開公司電腦就可以接著再繼續編輯或瀏覽，很方便。</p>

<p>Evernote 則是在記錄學習筆記和專案文件內容上，我覺得很好用。我目前在學習上，常常是利用 Evernote 將一些網頁資訊先亂貼進去，再使用 XMind 將這些雜亂的資訊，做進一步的整理，理清一下脈絡。等到覺得似乎夠清楚了，再試著將整理完的資訊，以比較有條理的敘述方式，寫進去 Evernote 中。等到覺得又更完整了，再騰到公司內部的 wiki 上。</p>

<p>在撰寫專案的一些文件時，最近也想試行看看，可不可以採用這樣的做法。因為我常常覺得，直接和 Word 直球對決，往往會寫不出東西來。Word 格式化的東西太多太雜，反而會是阻礙思考的雜訊。不如就真的把它拿來當「文書處理軟體」，等「文書」內容都透過 Evernote 等方式大概都準備好了，再專心用 Word 來「處理」它的排版就好 XD`</p>

<p>Evernote 在 Windows、Mac、Android 下都有對應的平台軟體，因為它本來就號稱是雲端記事本，所以在同步上就更加簡單，不需要透過 Dropbox。而且因為有手機版，其實也很方便出門在外可以瀏覽 (寫就算了，太累了)。</p>

<p>小小做個記錄和省思，以後可以回來再看看。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Play Framework Log 相關設定]]></title>
    <link href="http://LittleLin.github.com/blog/2011/10/09/play-framework-logging/" />
    <updated>2011-10-09T00:44:00+08:00</updated>
    <id>http://LittleLin.github.com/blog/2011/10/09/play-framework-logging</id>
    <content type="html"><![CDATA[<p>因為太常忘記了，所以記錄下來以備忘。</p>

<p>Play Framework 有自己的 Log API，背後整合的 library 為 <a href="http://logging.apache.org/log4j/">log4j</a> library。</p>

<p>預設當我們想調整自己的 log 設定時，只需要在 Play Framework 專案的 conf 子目錄下，新增 log4j.properties 檔案即可。以下是我常用的設定檔內容︰</p>

<figure class='code'><figcaption><span>conf/log4j.properties  </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
<span class='line-number'>12</span>
<span class='line-number'>13</span>
</pre></td><td class='code'><pre><code class='ini'><span class='line'><span class="na">log4j.rootLogger</span><span class="o">=</span><span class="s">INFO, Rolling, Console</span>
</span><span class='line'><span class="na">log4j.logger.play</span><span class="o">=</span><span class="s">DEBUG</span>
</span><span class='line'>
</span><span class='line'><span class="c"># Console</span>
</span><span class='line'><span class="na">log4j.appender.Console</span><span class="o">=</span><span class="s">org.apache.log4j.ConsoleAppender</span>
</span><span class='line'><span class="na">log4j.appender.Console.layout</span><span class="o">=</span><span class="s">org.apache.log4j.PatternLayout</span>
</span><span class='line'><span class="na">log4j.appender.Console.layout.ConversionPattern</span><span class="o">=</span><span class="s">%d{ABSOLUTE} %-5p ~ %m%n</span>
</span><span class='line'>
</span><span class='line'><span class="c"># Rolling files</span>
</span><span class='line'><span class="na">log4j.appender.Rolling</span><span class="o">=</span><span class="s">org.apache.log4j.RollingFileAppender</span>
</span><span class='line'><span class="na">log4j.appender.Rolling.File</span><span class="o">=</span><span class="s">logs/application.log</span>
</span><span class='line'><span class="na">log4j.appender.Rolling.layout</span><span class="o">=</span><span class="s">org.apache.log4j.PatternLayout</span>
</span><span class='line'><span class="na">log4j.appender.Rolling.layout.ConversionPattern</span><span class="o">=</span><span class="s">%d{ABSOLUTE} %-5p ~ %m%n</span>
</span></code></pre></td></tr></table></div></figure>


<p>主要是開發時，專案相關程式的部份使用 DEBUG log level，其他 library 為了不要出現過多訊息，則設定為 INFO log level。</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Hello World!]]></title>
    <link href="http://LittleLin.github.com/blog/2011/10/08/hello-world/" />
    <updated>2011-10-08T20:29:00+08:00</updated>
    <id>http://LittleLin.github.com/blog/2011/10/08/hello-world</id>
    <content type="html"><![CDATA[<p>受到 <a href="http://blog.xdite.net/">XDite</a> 大神的<a href="http://blog.xdite.net/posts/2011/10/07/what-is-octopress/">感召</a>，也架了一個新的 Blog 來試看看，希望新家新希望，這次可以認真的來 blogging XD</p>
]]></content>
  </entry>
  
</feed>

