What Is Software Design?

程式設計不是 “building software”,而是 “designing software”。

2014年10月11日 星期六

試玩React facebook 開發的js library !!!

http://facebook.github.io/react/docs/getting-started.html 是一套facebook所創造的 JS library 想要解決的問題! solve one problem: building large applications with data that changes over time. To do this, React uses two main ideas. Hello React 範例!! ps:在<script type="text/jsx">的程式碼內第一行要/** @jsx React.DOM */ 才不會錯誤!! <!DOCTYPE html><html>  <head>  <title>Hello React</title>    <script src="react.js"></script>    <script src="JSXTransformer.js"></script>  </head> ...

2014年10月7日 星期二

Sublime Text 3 Compare Tool

http://www.sublimerge.com/ 安裝說明 Install the Package Control (if you haven't already) Open Command Palette ([ctrl]+[shift]+[p] on Windows and Linux, [cmd]+[shift]+[p] on Mac) Choose Package Control: Install Package Search for Sublimerge Pro and hit [Enter] 使用方式  1.[ctrl]+[shift]+[p] 2.Compare to vie...

2014年9月18日 星期四

Regular Expression 與 C# Regex 教學

a|b*指示{ε, a, b, bb, bbb, ...}。 (a|b)*指示由包括空串、任意數目個a或b字元組成的所有字串的集合。 ab*(c|ε)指示開始於一個a接著零或多個b和最終可選的一個c的字串的集合。 編號字元描述 1\將下一個字元標記為一個特殊字元、或一個原義字元、或一個向後參照、或一個八進制轉義符。例如,「n」匹配字元「n」。「\n」匹配一個換行符。序列「\\」匹配「\」而「\(」則匹配「(」。 2^匹配輸入字串的開始位置。如果設定了RegExp物件的Multiline屬性,^也匹配「\n」或「\r」之後的位置。 3$匹配輸入字串的結束位置。如果設定了RegExp物件的Multiline屬性,$也匹配「\n」或「\r」之前的位置。 4*匹配前面的子運算式零次或多次。例如:Gooo*gle 能匹配 Google、Goooooogle。* 等於 {0,}。 5+匹配前面的子運算式一次或多次。例如:Gooo+gle 能匹配 Gooogle、Goooooogle,但不能匹配 Google。+ 等於 {1,} 6?匹配前面的子運算式零次或一次。例如:Gooo?gle 只能匹配 Gooogle 和 Google。? 等於 {0,1} 7{n}n是一個非負整數。匹配確定的n次。例如:o{3}...

2014年3月12日 星期三

asp mvc api 利用ELMAH 第三方原件 架設error log 追蹤套件

step1. 安裝elmah 套件網址如下 https://code.google.com/p/elmah/ step2.ASP.NET 專案中選擇安裝 ELMAH on XML Log 這個 NuGet 套件 http://www.nuget.org/packages/elmah.xml PM> Install-Package elmah.xml step3.預設會將所有收集到的錯誤儲存成 XML 格式並置於專案的 ~\App_Data\Elmah.Errors 目錄下。 打開web.config 找到 <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/Elmah.Errors" /> 註解掉 step4. 將以下這段 <!--<modules>       <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />      ...

2014年2月26日 星期三

利用sublimall來管理您的 sublime text Packages 版本

step1. 先到sublimall來申請帳號密碼 http://sublimall.org/ step2. 安裝 Sublime Text 3 主程式 主控台視窗,或直接按下 Ctrl + ` 組合鍵 view => show console  請注意:這段安裝程式碼,僅適用於 Sublime Text 3 版本! import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace('...

2014年2月6日 星期四

asp.net api mvc4 資料庫 更新 更新.edmx 與 model

step1.尋找已經加入的Model1.edmx的檔案,開啟檔案,找到要更新的table按下右鍵,點選"從資料庫更新模型"進入更新精靈 step2. 更新好後 會發現 .tt檔中的 model沒有跟著更新,請點選.tt檔按右鍵 "執行自動工具"...

2014年2月4日 星期二

ASP .NET C# MVC4 寫 Api 自定api說明文件 利用HelpPage套件

STEP1. ASP.NET Web API 的相關路由設定  App_Start\WebApiConfig.cs 檔案 讓我們的 ASP.NET Web API 永遠只回應 JSON 格式 setp2.替 ASP.NET Web API 的 API 控制器加上註解 我們先為 API 控制器加上 XML 註解,直接在類別上方輸入三條斜線 ( /// ) 就會自動產生 XML 註解範本 setp3.產生專案的 XML 文件檔案 修改方案總管中的「專案屬性」 切換到「建置」頁籤,再勾選「XML 文件檔案」 預設的 XML 文件檔案會儲存在 bin\ 目錄下,請把內容改成 App_Data\XmlDocument.XML 這個路徑與檔名,之後才能讓 ASP.NET Web API 的說明頁面讀取到這個檔案。 最後執行 建置專案 (...

ios AFNetworking 將token包入 header中 比較安全

setp1. 在api溝通中可以將資料放置 header or body  透過ssl -(void)modifyWater:(WaterSync*)water uuid:(NSString*)uuid completionHandler:(void (^)(NSDictionary *retDic, NSDictionary *errorDic))handler{     NSString *path = [NSString stringWithFormat:@"v2/Drinkings"];     NSDictionary *dic = @{@"uuid": water.uuid, @"cc":water.amount, @"drinked_at":water.time, @"auth_token":[[PassionBeanAccount sharedAccount] authToken]};          [self setDefaultHeader:@"auth_token" value:[[PassionBeanAccount sharedAccount]...

2014年1月23日 星期四

利用Foundation來設計適應的web app ui 版型

本文介紹的是位於美國加州Campbell,一家名叫"Zurb"的設計公司所製作的Foundation框架。Pixar(皮克斯動畫公司)和National Geographic(國家地理頻道)都有採用此框架製作網頁。 從Foundation專案的Features(特色介紹頁),可得知Foundation的三大特色是Grid(格線系統)、Rapid Prototyping(快速原型開發)和Mobility(支援行動裝置)。 HTML Page Markup <!DOCTYPE html> <!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]--> <html class="no-js" lang="en" > <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,...