What Is Software Design?

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

Is Design Dead?

軟體系統的設計是演進來的,不能一步到位,而是要藉由憑繁與使用者互動得到的回饋來修改系統設計。

Programming is Gardening, not Engineering

與其把程式設計比喻成蓋房子,實際上更像是園藝。

Orthogonality and the DRY Principle

所有程式設計活動其實都是維護,因為絕大部分的時間都在改code,寫一點改一點。即使是新專案,也很快需要回頭作修改。

2014年1月23日 星期四

利用 Responsive web design 自動適應所有版型 利用Bootsrap


step1. 先到官方網站去下載Bootstrap
http://getbootstrap.com/

step2.進入網站後 點選 左邊的Download 將套件下載回來!!!


step3.完畢解壓縮,分別會看到css、fonts、js的資料夾

step4.接著到jQuery官網中,下載jqury並放到js的資料夾中。



Bootstrap(RWD)應用:

接著在官網中,可找到以下的表格,此表格相當的重要,主要是在說明,該套件中的螢幕尺寸的那些,分別有四個尺寸,且代稱分別為lg、md、sm、xs....等。 

而Bootstrap是將版面欄位,等分等12塊,因此在設計RWD的版面需用百分比的方式來作設計。 


step5.這樣都懂了吧!!!來自己手做一個網頁試試嚕!!!




範例code

<!DOCTYPE html>
<html>
<head>
<title>test101</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">

<style type="text/css">

#header{height: 100px; background: :#1ab2f1;}
#header .container, #footer .container{border:solid 1px #fff;}
#content-body, #sidebar{border: solid 1px #333;}

html,
body{
height: 100%;
}

#wrap{
min-height: 100%;
height: auto;;
margin: 0 auto -60px;
padding: 0 0 60px;
}

#footer{height: 60px; background: #1ab2f1;}

</style>

</head>

<body>
<div id="wrap">
<div id="header">
<div class="container" style="border:solid 1px #fff;">
check
</div>
</div>


<div class="container"> 
<div class="row">

<div class="col-lg-9" id="content-body">內容</div>
<div class="col-lg-3" id="sidebar">側邊攔</div>
</div>
</div>
</div>

<div id="footer">
<div class="container"> 
版尾
</div>
</div>

<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
</body>


</html>

結果



2014年1月17日 星期五

判別 NSNumber 正確寫法

step1. 錯誤的寫法
NSNumber *value = [data objectForKey:@"samount"];
 if (value == 0)
     {
          NSLog(@" OK :) ");
     }
     else 
     {
          NSLog(@"  Bad :( ");
     }
step2.正確的用法
if ([value isEqual:@(0)])

2014年1月15日 星期三

ios UIImage URL 要讀取網路圖片

code範例:
NSURL *imageURL = [NSURL URLWithString:@"http://example.com/demo.jpg"];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];

2014年1月10日 星期五

Core Data 將設計出來的資料庫轉成 .h 與 .m

step1.
點擊 .xcdatamodel檔案 => add Entity => 新增你的Attributes


step2.點擊 Editor => Create NSManagedObject Subclass....





2014年1月9日 星期四

Core Data 新增版本

step1.新增一個model文件(xcdatamodel)


確認命名版本 建議在後面加上你的版本數字 以後好維護



右邊在選擇你現在需要的版本



2013年12月19日 星期四

Bower 管理網站套件 使用Polymer

bower 是 Twitter 團隊開發的一套網頁工具,用來管理或安裝 Web 開發所需要的 Package,像是 CSS 和 JavaScript,也可以依據套件的相依性來安裝,簡單來說,開發者不用再去煩惱套件相依性問題,以及時間久了想更新最新版本,還要到各 Package 網站來下載,這些步驟都省了,一個指令就可以全部做完上述的步驟。

透過 
Node.js 的 npm 工具來安裝

指令npm install bower -g

需要等上一段時間


查詢已經安裝的套件:

$ bower list


假設要安裝 jQuery 套件,請執行底下指令

$ bower install bootstrap spine jquery


執行上述指令,會列出專案安裝的套件名稱及版號
/home/www
├── backbone-amd#0.9.9
├── handlebars#1.0.0-rc.1
├── jquery#1.8.3
├── requirejs#2.1.2
└── underscore-amd#1.4.3
移除已安裝的套件:
$ bower uninstall jquery
升級已安裝套件:
$ bower update jquery
搜尋套件:

$ bower search jquery



Bower 套件相依性

在專案目錄底下新增 component.json bower.json 檔案,裡面寫入 (或者可透過 bower init 來初始化專案)
{
    "name": "xxxxx",
    "version": "1.0.0",
    "dependencies": {
        "jquery": "1.8.3",
        "backbone-amd": null,
        "underscore-amd": null,
        "requirejs": null
    }
}

完成存檔後,請在專案目錄底下執行 bower install,會發現所有套件都會被安裝到assets/javascript/vendor 目錄,版號的定義請按照 semver 標準。



參考文獻:http://blog.wu-boy.com/2013/01/bower-is-a-package-manager-for-the-web/


使用 bower 安裝 Polymer 0.1.1 

  1. Get the  polyfill libraries:
     bower install --save Polymer/platform
  2. Get the  core sugaring:
     bower install --save Polymer/polymer
  3. Get the  elements:
     bower install --save Polymer/polymer-elements
     bower install --save Polymer/polymer-ui-elements

你下完上面的指令後,該資料夾下會多出這個資料夾 bower_components/ 


在資料夾創造  index.html 的檔案  內容如下:

<!DOCTYPE html>
<html>
  <head>
    <script src="bower_components/platform/platform.js"></script>
    <link rel="import"
          href="bower_components/polymer-ui-tabs/polymer-ui-tabs.html">
  </head>
  <body>
    <polymer-ui-tabs selected="0">
      <span>One</span><span>Two</span><span>Three</span><span>Four</span><span>Five</span>
    </polymer-ui-tabs>
  </body>
</html>
Test your environment


不能直接開啟檔案 你的chrome 會檔
你必須要把他掛載到 iis 之類的


結果如下:




2013年11月7日 星期四

git - 在 master 上面加上新 tag

git - 在 master 上面加上新 tag

git tag -a (v1.3branch) -m "Release v1.3 Tag"



====================================

git tag v2.4.0  <===給tag

git push --tags <==tag push 上git