01 三月 2010 @ 4:03 下午 
  • sudo apt-get install python-setuptools
  • sudo apt-get install python-mysqldb
  • sudo apt-get install python-django
  • 開新專案:django-admin startproject project
  • 啟動server:python manage.py runserver


Posted By: BLACKBING
Last Edit: 01 三月 2010 @ 04:03 下午

EmailPermalinkComments (0)
Tags
Categories: python

 28 二月 2010 @ 1:00 上午 

O3D這個東西大約在一年前google 就release出來了,雖然效能還比不上flash,但相信以javascript的執行效能不斷攀升且各家大廠相繼投入的成果,一定會促使著3d WEB蓬勃發展的,以下紀錄一些目前為止的相關資訊。

目前測試過的結果:在windows上裝了plugin之後可以在IE和firefox上運行,而windows版的chrome4.0版以上可以直接運作,而linux上的版本我還在嘗試build起來,之後有測試結果在做報告。

WEB 2D的發展已經愈來愈成熟了,SVG和canvas幾乎是複雜的2D處理的首選,也可以做到複雜的動畫處理。而O3D的出現,加快了WEB3D的發展,這應該也有助於未來chrome OS的推動,但是要吸引廠商來做相關應用程式的開發也還要在觀望,畢竟chrome OS在市場上的定位還是比較獨特的,如何擴大市場也是個難題。

http://o3d.googlecode.com/svn/trunk/samples/home-configurators/homedesigner.html
Posted By: BLACKBING
Last Edit: 28 二月 2010 @ 01:01 上午

EmailPermalinkComments (0)
Tags
Categories: Programing, canvas, o3d

 21 一月 2010 @ 5:10 下午 

Javascript 在指定物件為變數時是傳「reference」,若不知道這個特性很容易搞不清楚你的值為啥被改掉了,jQuery的extend函式可以做deep Clone,也就是遞迴將物件裡頭的任一成員都做clone,但針對array好像有點問題,因此我寫了一支小function來呼叫,以後要做cloneObject時可以直接服用。

/*
 * cloneObject 會完整clone一個全新的Object
 * 若傳入的object是array, 則會回傳array
 */
(function($) {
	$.extend($, {
		cloneObject : function(obj){
			var newObj;
			if($.isArray(obj)){
				newObj = [];
				for(var i=0; i<obj.length; i++){
					newObj.push(arguments.callee(obj[i]));
				}
				return newObj;
			}else{
				newObj = {};
				return $.extend(true, newObj, obj);
			}
		}
	});
})(jQuery)

Posted By: BLACKBING
Last Edit: 21 一月 2010 @ 05:13 下午

EmailPermalinkComments (0)
Tags
Categories: jQuery, plugin

 03 一月 2010 @ 10:50 下午 

Closure Template 是google release 的工具Closure Tools其中之一,我會注意到這個工具是因為前端產生動態layout的需求愈來愈多,雖然已經很盡力要將邏輯與template分開,但前端跟layout的結合實在是太密切,很難說分就分,雖然要把layout獨立出來要花更多時間,但至少會更好維護,往後要換template也不用再重寫程式,本篇文章稍微紀錄一下使用心得與過程。

  1. 點此下載,裏面包3個檔案:
    1. SoyToJsSrcCompiler.jar :
    2. soyutils.js
    3. soyutils_usegoog.js
  2. jar檔是主要將template輸出成js檔的程式,而soyutil則是一個完整的stringBuilder,你也可以直接用這個function來使用stringBuilder。另外soyutils_suegoog只是加上了google的namespace罷了。
  3. template檔為XXX.soy ,附檔名一定要是soy,否則執行不會有任何結果,接下來說明template檔,以下是一個很簡單的hello world範例: 第1行的namespace 一定要先宣告,這相對應於到時候呼叫的namespace,namespace的命名接受連續的階層,例如上述宣告examples變會輸出:
    1. if (typeof examples == 'undefined') { var examples = {}; }
      
      {namespace examples}
      /**
       * Says hello to the world.
       */
      {template .helloWorld}
          Hello world!
      {/template}
      
    2. 若宣告為examples.helloworld則會輸出
      if (typeof examples == 'undefined') { var examples = {}; }
      if (typeof examples.helloworld == 'undefined') { examples.helloworld = {}; }
    3. 一個template(soy檔案)可以有多個不同的template,命名範例:
      {template .helloName}
      blablabla
      {/template}
  4. 最後執行
    java -jar SoyToJsSrcCompiler.jar  --outputPathFormat simple.js   simple.soy


Posted By: BLACKBING
Last Edit: 03 一月 2010 @ 11:03 下午

EmailPermalinkComments (0)
Tags
Categories: Javascript練功房

 19 十月 2009 @ 10:55 下午 

今年跟thegiive、JJ、PAPAYA組了一隊去參加,其實報名截止的前一天才決定要報名的,因為實在沒什麼idea,後來好不容易硬湊出個idea來做,勉強有了一點「梗」。

概念是嵌入blog的小工具,有點類似IE8的加速器,讓使用者選取文字之後可以更快速的選擇他想要查詢的功能,使用者可以停用任何功能或甚至停用這個功能。例如查詢地圖,生活+,知識+,翻譯,無名正妹,Youtube等等

用到的API:

  1. Yahoo Map API
  2. YUI 2.8
  3. 生活+ API
  4. 知識+ API
  5. 斷章取義 API
  6. BOSS API
  7. 無名API
  8. Flickr API
  9. Google Translate API
  10. Youtube API

DEMO

雖然最後沒有拿到名次,不過感受到現場coding以及氣氛就值回票價了。隨意拍了一些照片分享一下。 More »

Posted By: BLACKBING
Last Edit: 19 十月 2009 @ 11:59 下午

EmailPermalinkComments (0)
Tags
Categories: Uncategorized

 31 八月 2009 @ 9:42 下午 
  1. 工具
    1. firefox:
      1. firebug:强大的debug工具,有名到不需要再做任何介紹了吧!
      2. Leak Monitor:監視firefox 下Memory Leak的工具。
      3. JSView:檢視外部參考的JS和CSS原始碼,動態引入的檔案也會出現。
      4. Clear Cache Button:清除緩存按鈕,開發中有時會被browser快取,每次都要點來點去清cache很麻煩,用這個小按鈕直接清cache就行了。
      5. YSlow:網站效能測試工具,主要是提出了網頁效能的測試標準,並以此標準來評分,在開發網站時可以作為效能參考的依據。
      6. HTML VALIDATOR :檢測HTML/XHTML的工具,檢查HTML是否有錯誤,例如有標籤沒有正常閉合之類。
    2. IE:
      1. firebuglite :要在firefox以外的瀏覽器使用firebug就是這個了!
      2. IEDevToolBar :微軟官方出的小工具,可以觀察DOM、CSS等頁面元素,缺點是無法像firebug即時修改。
      3. Script Debugger :微軟官方出的小工具,在IE上遇到javascript的錯誤相當難debug,此時可以利用這個工具來幫助偵錯,安裝之後需要到工具>選項>進階,將「停用指令碼除錯」取消。
      4. debugBar:類似IEDevToolBar,不過內建一些檢色器之類的小工具,對設計人員來說蠻方便的,推薦安裝。
      5. Drip:偵測IE中Memory Leak的軟體。
      6. IETester:可以同時在windowsXP上開啟IE8 beta 2, IE7 IE 6 and IE5.5,你不用再裝好幾個IE了。
      7. Companion.JS:類似firebug console的工具,主要是可以利用他來做javascript的偵錯,也支援像firebug的console.log。
      8. fiddler:可以擷取所有 HTTP 的封包,點此還有這、有中文的詳細介紹。
    3. Opera:
      1. Web Developer Toolbar and Menu:Opera 是個很特別的瀏覽器,他可以運作在很多意想不到的平台上並且相當流暢,例如wii、window mobile等各種不同裝置上,雖然一般PC的市占率不高,但他的重要性仍然不容小覷。此工具有很多特異功能,例如模擬手持、投影、和電視等設備。但一般 在觀察當前頁面DOM元素等常用的功能稍嫌不足。
      2. Web Accessibility Toolbar:這個工具就相當於firefox裡頭的firebug了。
    4. Safari
      1. Debug Mode on Safari4:safari4問世之後,由於他神速的運行javascript而獲得廣大的迴響,而safari4也內建開發人員工具,但是要啟用,啟用方法請參考:Enable Debug Mode on Safari (Windows) + Error
  2. 你真的會用firebug?
    1. console:主控台可以顯示所有進行的post、get請求,可以查看每一個請求的header、參數、response。
      1. console.log:請別再用alert來debug了。透過console.log可以查看物件「脫光」物件的所有屬性或方法。
      2. 勘查:主控台的一個特異功能,若你發現頁面運行的速度或效能很差,你可以打開「勘查」來勘查所有被呼叫運行的function有哪些,並且會列出某個function被呼叫幾次、時間、等等。在觀察效能時非常有用。
    2. HTML:firebug 超好用的其中一點就在於他這個所見即所得真是做的完美無缺,你可以直接查看當前文檔的css、也可以直接編輯,所見即所得,更可以編輯、刪除任意元素,或 者直接查看某元素的DOM物件。而且CSS被覆蓋的順序也會一層層被列出,在觀察CSS style時絕對是不可或缺的工具。
    3. CSS:列出所有目前正在運行的CSS。
    4. script:列出所有目前正在運行的javascript。
      1. 就算script被壓縮、編碼過,client端終究得解譯回來,通常編譯過之後的程式都需要透過eval來解譯回來,透過script工具便可以知道被eval起來的函數如何被解譯,編碼過後的程式完全一目了然。
      2. 監看表達式可以查出某個被運行的function被執行,並且可以設定中斷點來逐步檢查,並查看stack。
    5. DOM:查看任意元素、物件內的所有成員屬性。
    6. NET:所有任何http協定的東西都會列在NET裡頭,你可以透過tab來切換欲觀察的傳輸。其中XHR就是查看透過ajax請求的數據資料。
  3. 理解arguments.callee
    1. arguments.callee指向參數的function。
    2. arguments.callee.caller指向被誰呼叫,在不知道某function被誰呼叫而引發錯誤時可以用來查出被誰調用而導致錯誤產生。
Posted By: BLACKBING
Last Edit: 31 八月 2009 @ 09:42 下午

EmailPermalinkComments (0)
Tags

 02 八月 2009 @ 5:15 下午 
很多人搞不懂Javascript的「this」這個關鍵字,或者是覺得懂,但是有些地方的this又覺得怪怪的。看過一些this的教學,我覺得都講得太複雜了,其實「this」只有一個重點而已。 this永遠指向「被執行時的作用域」 蝦毁??被執行?作用域??沒關係,試著把自己當作是編譯器,只要你不會在自己所撰寫的程式中迷路,其實this一點都不難區分。讓我們來看幾個例子: More »
Posted By: BLACKBING
Last Edit: 02 八月 2009 @ 05:25 下午

EmailPermalinkComments (0)
Tags

 31 七月 2009 @ 11:13 下午 

前端程式越搞越複雜,接踵而至的問題越來越多,雖然瀏覽器的效能不斷地提昇,但是只要IE6沒被淘汰的一天,網頁程式設計師永遠要替IE6補洞,Memory Leak是一個非常難搞得議題。關於微軟的官方說法可以參考Understanding and Solving Internet Explorer Leak Patterns,裡頭有詳細說明IE6會如何發生memory leak的情況。發生memory leak的徵狀就是:記憶體不斷飆上去,就算reload頁面,記憶體也不會被釋放,除非關掉瀏覽器。

在此不介紹為何為引發memory leak,因為我覺得這是瀏覽器應該要處理的問題,要拿出來講只是因為IE6沒辦法處理好罷了,雖然其他瀏覽器也並不是沒有這個問題,但是至少問題都沒有這麼嚴重,因此只需要針對IE6來處理即可。以下是我整理出幾種比較好的處理方式: More »

Posted By: BLACKBING
Last Edit: 02 八月 2009 @ 03:42 下午

EmailPermalinkComments (0)
Tags

 24 七月 2009 @ 11:55 下午 

在電子地圖上直接繪製一些地標的資訊,對使用者會帶來一些便利,但顯示太多,又會造成圖示太繁雜。將地標直接標在圖面上有個特性,該地標不需要知道詳細的資訊,例如便利商店,我只要知道哪裡有便利商店,但大部份人不需要明確知道這是哪一個分店,只要標上某個icon即可,另外像加油站、郵局等都是類似的意義。不過觀察google map發現一些奇怪的地方:例如在不同的zoom level竟然會出現不同的商店,但是判斷是否要出現該地標的邏輯還是無法歸納,大概是為了版面的美觀,有重疊的地標就不做繪製,或者超過某一個量就不做繪製。個人覺得GMap最大的優點是有公車資訊,而且雖然是直接繪製在地圖上,但是點擊公車站牌是可以出現公車資訊的。 More »

Posted By: BLACKBING
Last Edit: 24 七月 2009 @ 11:55 下午

EmailPermalinkComments (0)
Tags
Categories: urmap

 09 七月 2009 @ 10:04 下午 

 久沒發文了,最近忙翻了,雖然女朋友在國外逍遙,放棄優渥的台灣工作,跑去袋鼠國當服務生XD,但工作上也越來越多事情要處理,另外又跟朋友有些小計畫,把所有的時間都投入在工作中,以至於BLOG都荒廢了,碰巧最近跟朋友聊到工作的目標在哪?所以今天發點抒情文吧XD。

 』Stay Hungry, Stay Foolish』 這句話我掛在MSN許久了,也有幾個朋友問我什麼意思,其實這句話是2005年Steve Jobs在史丹佛大學的畢業典禮對全校師生演講的最後一句話,他真不虧是世界上具有重要性的人之一,演講果然不同凡響,句句都能鼓舞人心。當我看到段演講時,我真的被振奮到了,他說「你無法預先把點點滴滴串連起來;只有在未來回顧時, 你才會明白那些點點滴滴是如何串在一起的(you can’t connect the dots looking forward; you can only connect them looking backwards)。 」我回想到我的大學生活,一進大一就被當了9學分,大二開始才知道要振作,雖然不認真唸書,當時倒也學到了一點企管的知識,但一直到要畢業的那一刻,我還是不知道念企管要幹麼,上網稍微找了一下工作,也不知道念企管能做什麼,但憑藉著一點對電腦的熱愛,從一個什麼都不懂的傻子,到現在做了一個programer的工作。在回顧過去的時候,將經歷過的一切串連起來的時候才發現這一切是多麼的奇妙。

More »

Posted By: BLACKBING
Last Edit: 09 七月 2009 @ 10:12 下午

EmailPermalinkComments (0)
Tags
Categories: Life





 Last 50 Posts
Change Theme...
  • Users » 8
  • Posts/Pages » 51
  • Comments » 24
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

About Me



    No Child Pages.

留言板



    No Child Pages.

Album



    No Child Pages.