星期三, 3月 11, 2015

Github Pages~

這幾天研究了一下 Github 的 Github Pages 功能,並且找了 Hexo 這套產生器
之後應該會把網誌逐漸搬到 https://metavige.github.io

雖然這邊已經很久沒更新了,不過之後盡量應該留下一些東西感覺會比較好
最近記憶力好像愈來愈不好了~

星期五, 8月 15, 2014

ZeroMQ


官方網站
這是在官方網站上面 Solve a Problem 的一句話
Most of us, when we start using ØMQ, come with mental models of how things “should” work, which are often wrong. If you come looking for specific solutions, you may be disappointed.
簡單的來說,如果你想要這個 framework 來解決你專案或產品有可能會發生的問題,你可能會失望,因為這個 framework 並不是用來提供 Solution 的,這個 framework 只是用來提供一個可能性
你可以利用這個 framework 來做到一些基礎的架構,然後你可以自己組合,用來做到你想做的事情~
我想我還蠻喜歡這件事情的~ 不過當然,你必須要花比較多的時間去了解並熟悉,所以你必須要有一定的程式開發功力會比較好 不然你可能會很累~~~我想
不過我還是做個記錄,或許以後真的有機會會用到

相關文章連結 -
ZeroMQ at Github
[架構] ZeroMQ 深度探索(一)
新世紀通訊函式庫– ZeroMQ | 程式設計遇上小提琴
TCP Socket 的替代方案 - ZeroMQ

星期四, 3月 21, 2013

git-tf: Access denied connecting to TFS server

今天使用 Git-Tfs 發生鬼打牆事件~一直無法 Checkin
特此記錄

git-tf: Access denied connecting to TFS server

1. 檢查環境變數
     不可以使用 HTTP_PROXY or HTTPS_PROXY
2. 檢查帳號密碼
     可以使用以下方式設定帳號密碼,這樣可以不用一直輸入
     git config git-tf.server.username xxxx
     git config git-tf.server.password xxxx
3. 其他~
     可能是 TFS Server 的問題,或者帳號密碼真的打錯~

星期三, 2月 20, 2013

Backbone Study

在學習 Backbone 的時候,針對 Backbone 比較重要的一些事件、方法與屬性作個記錄

 

Backbone Study

http://backbonejs.org/

事件
  • on/bind 設定事件
  • off/unbind 移除事件
  • trigger 觸發事件
  • once 設定一個只執行一次的事件
  • listenTo 監聽其他物件的事件
  • stopListening 移除監聽其他物件的事件

1. 先設定 Model 
     這邊主要要設定的是資料結構,就是 Model 裡面有哪些屬性可以使用

     var Model = Backbone.Model.extend({
          // 屬性~~~或其他的方法
     });

     這邊回傳的會是一個 Function Object 是可以被 new 的~

     set(attributes, [options]) 
          會觸發 change 事件。
          change 事件可以指定特定的 attribute,如 change:name 事件,表示 name attribute 變更會觸發
          但是一定是要用 set 方法才可以~
          如果有設定 validate 方法,就會驗證過才存入資料,驗證失敗不會觸發事件。可在 options 傳遞 error callback

     unset(attribute, [options]) - 移除屬性,也會觸發 change 事件,除非 options 傳遞 { silent: true }
     clear 清除所有屬性

     changed 屬性 - 物件是否有變更~?

     fetch( options ) - 與 store 同步,會用 Backbone.sync 中的 read 
          HTTP GET - 
          options - 成功或失敗的 callback, 或其他 Ajax 參數
          如果 server 端資料與本地不同,觸發 change 事件
     save 存檔,會作 sync
          如果 isNew - HTTP POST, or HTTP PUT
          
     destroy - HTTP DELETE
          { wait: true } - 這樣會讓這個方法等到執行完畢有回應才結束

     url() - 預設是 collection.url/id,也可以是 urlRoot/id
     urlRoot - 自行設定 url


2. 接下來設定 Collections
     Collections 本身最常用到的應該只是 fetch,如果要讀取 server 端資料
     不會有更新的動作,每個更新的動作都是透過 Model 的 sync 方式~
     所以應該著重在事件觸發的點,以及 fetch 方法

     url - sync url

     fetch - sync read
          可以傳遞其他參數給後端 ex: { data : { page : 5 } }
  
3. View
     
     展現畫面,重要的是 render 方法,用來展現畫面用~
     
     initialize 方法
          初始化,應該會拿來作 view 的事件指定~

     render 方法
          修改 el 物件內容,達到畫面變更~
          這個方法最好回傳 this
          
     el 物件 : DOM 
          可以在 View 初始化的時候,用 tagName, className, id 或其他參數來指定
          預設為 div 空白的~
     
     $el - cached jQuery(Zepto) 物件
          就是 View 這個物件本身在畫面上對應的 jQuery 物件
          透過這個屬性可以用 jQuery 的方法來操作 DOM Object

     $( ) 方法,delegate $, query object inside View

      


星期日, 2月 17, 2013

Yeoman.io - Modern Web Apps Tools



 Yeoman

今天在找資料的時候,發現這個工具
網路上也有影片在介紹,不過是英文就是~

 

因為結合了 Nodejs + NPM,所以可以方便的做到 Package Manager
 Javascript 已經可以很方便的做到整個製作流程的管理了

之後再來試用看看

星期六, 2月 16, 2013

ECMAScript 5 compatibility table

http://kangax.github.com/es5-compat-table/

大概自從最早開始做的那個 COMUS 產品到現在,沒有真的好好的去研究過 ECMAScript 了。
Web 的世界變得很多,以前土法煉鋼的方式,到現在一堆 Framework

現在還有一些以前我們沒想過的,現在因為開發大型的專案,所以很多的作法也出現了

https://speakerdeck.com/addyosmani/scaling-your-javascript-applications

這幾天在研究這個 Scaling Javascript 的玩意,發現 Web 的世界越來越好玩了
以前大概動輒幾千行的程式,大概現在也不會這樣了
(我真的看過兩萬行的 js,以前的專案是很恐怖的~~~)

不過瀏覽器真的是 Web 開發者的痛,尤其 User 根本有些搞不懂差別
有些甚至還在用 IE6 那種連微軟都不想支援的東西
但是,開發者有時候還是得支援這種老舊的瀏覽器,不然『長官』們會說你的系統有問題

現在也要慢慢的回頭了解一下目前的規格了
所以作個記錄,連 Windows 8 的應用程式都支援 Javascript+HTML5,Gnome 也可以用 javascript 來寫 Ap,Nodejs 最近更是紅的不得了。

改天真的可以用 javascript 吃遍前後端,我想~~~
還好我 1998 年就開始用 Javascript ,現在看程式碼還不會很吃力
慶幸~

星期五, 7月 06, 2012

CuriseControl.Net 初步安裝

CuriseControl.Net 環境準備

安裝

檔案下載

安裝

參考 安裝文件

ccnet.config 設定

檔案在安裝目錄下的 server 目錄
<project name="CCNetTest" queue="TestQueue" queuePriority="1">
    <workingDirectory>C:\projects\CCNetTest</workingDirectory>
    <artifactDirectory>c:\projects\CCNetTest_Logs</artifactDirectory>

    <!-- Source Control -->
    <sourcecontrol type="vsts" autoGetSource="true" force="true">
        <server>***</server>
        <project>***</project>
        <workspace>***</workspace>
        <domain>***</domain>
        <username>*****</username>
        <password>*****</password>
        <timeout>60000</timeout>
    </sourcecontrol>

    <!-- Trigger -->
    <triggers>
        …     
    </triggers>

    <tasks>
        …     
    </tasks>
</project>

Source Control

<sourcecontrol type="vsts" autoGetSource="true" force="true">
    <server>*****</server>
    <project>*****</project>
    <workspace>*****</workspace>
    <domain>*****</domain>
    <username>*****</username>
    <password>*****</password>
    <timeout>60000</timeout>
    <codepage>950</codepage>
</sourcecontrol>
注意事項:
  • workspace 請事先利用工具建立
  • 如果需要每次下載都是乾淨的,加入設定 <cleanCopy>true</cleanCopy>
  • 如果是中文環境,要加入 codepage,避免下載更新檔案發生日期格式錯誤的問題

Trigger

設定觸發的時間與條件
<intervalTrigger name="Download Sources" seconds="60" buildCondition="IfModificationExists" />
名稱可自行定義。 目前 bulidCondition 有三種,用來觸發 Build Task。
  • NoBuild - 不做 Build
  • IfModificationExists - 當程式碼有變更的時候,會觸發條件,下載程式並重新 Build
  • ForceBuild - 強制每次都做 Build
Powered By Blogger