藉由研讀「網頁互動式資料視覺化:使用 D3 (Interactive Data Visualization for the Web)」這本書,
學習D3這套JavaScript Framework,
雖然書本有附上原作者的範例程式,
但一昧的照著範例程式打字實在無聊,
所以就盡量作一些變化,
例如:採用自己準備的資料、將原作者多支範例程式進行整合、使用台灣地圖資料等等。
過程中也不免需要去找一些作者沒提到或沒示範的處理方式來自我練習呈現在我的程式之中,
相對的收穫也較大。
我將這部份的程式放在GitHub作為分享,
提供需要的人作為參考!
Demo:http://pintse.github.io/D3Demo/
Source Code:https://github.com/pintse/D3Demo
我所使用的台灣地圖GeoJSON資料要感謝g0v熱血提供。
google-code-prettify
2014年9月6日 星期六
2014年7月16日 星期三
開發Kinect for Windows v1 應用程式所需安裝的環境
Kinect的Driver和開發套件有兩大流派,
一個是開放原始碼社群的OpenNI和OpenCV,並使用C/C++語言開發之流,
另一個是使用微軟官方SDK和KinectDeveloperToolkit,主要使用C#(也可以使用VB/C++)語言開發,
我的經驗是使用官方的solution這部份。
我上網去看下載Kinect for Windows SDK 的網頁,
發現官網已推出Kinect for Windows SDK 2.0 Public Preview,
硬體需求上面寫明只支援「A Microsoft Kinect for Windows v2 sensor」,
才知道剛好是新版Kinect在台上市的日子。
所以原本之前學習時碰的實驗室所購買的Kinect v1無法使用,
下載的頁面我沒看到下載舊版SDK的連結有點不便,
搜尋了一下才找到下載的網址。
開發Kinect應用程式採用官方所推廣的Solution,
除了要安裝Visual Studio(我使用過2010、2012),
還要安裝:
Kinect for Windows v1 sensor使用的:
Kinect for Windows SDK v1.8
Kinect for Windows Developer Toolkit v1.8
佈署程式時,可不用安裝SDK,但需要Runtime,
Kinect for Windows Runtime v1.8
另外,我使用了Kinect Toolbox這個Open Source的Framework作為肢體行為辨識框架:
Kinect Toolbox
這個Open Source的創建者寫了一本書介紹這個Framework,
也有中文版的譯書:寫給專業開發者用的 Windows Kinect SDK 技術手冊 (Programming with the Kinect for Windows Software Development Kit)
還有其他有趣的Open Source,可以增加應用程式的UI豐富性,
例如:Coding4Fun Kinect Toolkit
以上是針對Kinect for Windows v1 sensor所作的介紹
2013年7月2日 星期二
How To Configure Google Calendar for Shared Calendar
First, you should accept the invitation of shared Google Calendar (e.g. Lab of Collaborative and Creative HCI ).
Then you can see the shared Google Calendar in your Google Calendar interface.
To click the button in the right of the shared Google Calendar and it pop-up the menu.
If you are an administrator of the shared Google Calendar, you can see all menu item for administration.
If your are a User, you just can only operate "Reminders and notifications".
The "Share this Calendar" only for administrator.
The administrator can configure who can use it and what permission granted to.
If you are a User, you can operate the "Reminders and notifications" tab.
To "Add a reminder" for informed you before each event.
I recommend you choose "Pop-up" for remind you, it will happen in your configured mobile device and the Google Calendar web page on you configured reminded time.
I like to get the pop-up for remind me 2 hours and 10 or 15 minutes before each event.
Please checked all of Email checkbox for notification any modified event, except "Daily agenda".
Then you can see the shared Google Calendar in your Google Calendar interface.
To click the button in the right of the shared Google Calendar and it pop-up the menu.
If you are an administrator of the shared Google Calendar, you can see all menu item for administration.
If your are a User, you just can only operate "Reminders and notifications".
The Calendar Details only for administrator.
The administrator can configure who can use it and what permission granted to.
To "Add a reminder" for informed you before each event.
I recommend you choose "Pop-up" for remind you, it will happen in your configured mobile device and the Google Calendar web page on you configured reminded time.
I like to get the pop-up for remind me 2 hours and 10 or 15 minutes before each event.
Please checked all of Email checkbox for notification any modified event, except "Daily agenda".
In the mobile device :
Open your Google Calendar App and click menu to choose "Settings" item.
To click your Gmail account of Google Calendar.
You can see the shared Google calendar then you should check its checkbox.
2013年4月29日 星期一
自動收集資訊的好工具 - Google Alert 介紹
Google 提供了一個很好用的自動收集資訊工具 - Google Alert,他可以依照您設定的關鍵字定期自動的搜尋網路上最新發表的資料並寄送給您或彙整成RSS,這工具在Google Search 和 Google Scholar 都有提供,不過我感覺似乎很多人不知道。
以下介紹如何設定這個方便的工具:
在Google 搜尋的首頁點選「更多」
進入下一頁之後,點選「Google 快訊」(可能會在頁面最下面)
進入下一頁之後,
在「搜尋查詢」欄位填入您要查詢的關鍵字詞,可以用「OR」(表示關鍵字詞其一出現,即符合)或「AND」(關鍵字詞全部出現,即符合)串連關鍵字,因為字若要一定串在一起搜尋,則以「""」框起來。
「搜尋結果類型」可以選「網誌、新聞、影片」等等。
「傳送至」欄位,可以選擇送到您的信箱或是產生RSS用RSS Reader閱讀。
選好之後,按「建立快訊」。
完成建立快訊,顯示已建立的清單
若要改變剛剛建立的快訊,點選「編輯」,即可以修改。
例如,要把「傳送至」原本寄到信箱的設定,改為產生RSS,就點選下拉選單的「資訊提供」,改好後按「儲存」存檔。
選擇「資訊提供」者,會顯示成「Google 閱讀器」,(如果您有使用Google Reader的話)這時候已經自動加入您的Google Reader裡,或是您在「Google 閱讀器」後面的橘色圖示(這圖示為RSS表示符)上按滑鼠右鍵出現選單,點選「複製連結網址」,即可將其RSS網址複製出來,貼到您慣用的RSS閱讀器(例如:Feedly)上做設定,方便閱讀。
以上是Google Search這部份的設定。
Google Scholar 這部份的設定,在其首頁右上方點選「快訊」。
進入下一頁之後,按「建立快訊」
在「快訊查詢」欄位中,輸入您要的查詢的關鍵字,用法和前面Google Search提到用法一樣。
至於資料接收方式只能是電子郵件的方式。
輸入選擇好之後,按「建立快訊」完成。
隨即產生Google Scholar 的快訊清單。
以下介紹如何設定這個方便的工具:
在Google 搜尋的首頁點選「更多」
進入下一頁之後,點選「Google 快訊」(可能會在頁面最下面)
在「搜尋查詢」欄位填入您要查詢的關鍵字詞,可以用「OR」(表示關鍵字詞其一出現,即符合)或「AND」(關鍵字詞全部出現,即符合)串連關鍵字,因為字若要一定串在一起搜尋,則以「""」框起來。
「搜尋結果類型」可以選「網誌、新聞、影片」等等。
「傳送至」欄位,可以選擇送到您的信箱或是產生RSS用RSS Reader閱讀。
選好之後,按「建立快訊」。
完成建立快訊,顯示已建立的清單
若要改變剛剛建立的快訊,點選「編輯」,即可以修改。
例如,要把「傳送至」原本寄到信箱的設定,改為產生RSS,就點選下拉選單的「資訊提供」,改好後按「儲存」存檔。
選擇「資訊提供」者,會顯示成「Google 閱讀器」,(如果您有使用Google Reader的話)這時候已經自動加入您的Google Reader裡,或是您在「Google 閱讀器」後面的橘色圖示(這圖示為RSS表示符)上按滑鼠右鍵出現選單,點選「複製連結網址」,即可將其RSS網址複製出來,貼到您慣用的RSS閱讀器(例如:Feedly)上做設定,方便閱讀。
以上是Google Search這部份的設定。
Google Scholar 這部份的設定,在其首頁右上方點選「快訊」。
進入下一頁之後,按「建立快訊」
在「快訊查詢」欄位中,輸入您要的查詢的關鍵字,用法和前面Google Search提到用法一樣。
至於資料接收方式只能是電子郵件的方式。
輸入選擇好之後,按「建立快訊」完成。
隨即產生Google Scholar 的快訊清單。
2013年4月14日 星期日
翻轉教室的模式
「翻轉教室」,上上週中山大學陳年興教授演講,提到了學校教育「翻轉教室」的方向,他並且在這學期(年?)開始已經把他自己開的課全部爭取採用「翻轉教室」的方式授課。
「翻轉教室」的推廣者認為把學生叫到學校教室,只是進行單向教學是花費了太多成本並且效果不見得比較好,所以翻轉教室的理念是,將可單向教學的內容(例如:影片、投影片等等)放上網,由學生上網觀看錄影帶學習或使用網路視訊會議功能進行上課學習,這種網路視訊教學系統已經有廠商在販賣,在視訊教學過程中,老師可以看到每位學生的反應,或是進行線上即時測驗,學生使用電腦作答,立即知道學習狀況,老師也可以立即知道學生學習狀況。只有在需要進行「雙向」教學活動時,才會把學生和老師都聚到同一間教室,例如:需要進行手動實作時。
這樣的方式減少了時間與金錢的成本,並且學生可以在線上隨時並且不限次數的觀看教學影片,相對於傳統教室,翻轉教室的學習成效較好。
這幾天的新聞,西班牙學校進行「翻轉教室」教學。
詳細報導與圖片出處請見:
Attica school 'flipping the classrooms'
http://www.jconline.com/article/20130412/NEWS0401/304120033/Attica-school-flipping-the-classrooms-?nclick_check=1
P
Spanish teacher Piedad Corredor-Sanchez finishes work Thursday in her empty classroom during the final E-Learning Day of the school year at Attica High School. On this and three other E-Learning Days, students stayed home and used school-provided laptops. / Alex Farris/Journal & Courier
2013年2月23日 星期六
Git Server (Win 7 64bit) 安裝SSH
1.在os系統變數的「Path」變數中,加入Git安裝路徑下的bin和libexec\git-core兩個目錄,ex:C:\Git\bin 和 C:\Git\libexec\git-core
如果打了一個os沒有設定的帳號,會出現錯誤訊息,看起來這套軟體的帳號是和os的使用者帳號綁在一起的。
5. 「Activate a user」完成後,在Copssh的安裝目錄下的home目錄裡會新增以剛剛指定的帳號名稱為目錄名的使用者目錄,並且在裡面有自動產生的Public key和 Private key,要把Private Key給Client端那位使用者
6.在Client端使用TortoiseGit安裝進來的「Puttygen (PuTTY Key Generator)」工具,點選「Load」,將前一步驟Server產生的Private Key (ex: ryanchen.key)選入,隨後跳出Enter Passphrase for key視窗,輸入在Server端使用「Activate a user」指定帳號的過程中輸入的Passphrase 。
困惑點:
使用Copssh的「03. Start a Unix BASH Shell」工具或是Putty走ssh登入後,「/」路徑實際為Copssh安裝的目錄,但是使用TortoiseGit走ssh的url設為「ssh://ryanchen@Server位址/TestRepos」,TestRepos實際目錄在Windows的 C:\ 下,而不是在「Copssh」的安裝目錄下,我並沒有特別設定TestRepos,不知道為何Copssh和TortoiseGit的「/」為什麼會不一樣?如果能弄清原因,也許就知道為什麼讀不到D槽了。
3. 安裝過程中,會跳出訊息,告訴你可能安裝完成後,要使用他的「Activate a user」工具,讓自己指定的帳號可以使用SSH連線
4. 在「Activate a user」工具指定OS已經存在的帳號來使用SSH的連線,其他設定我使用預設值,按Next之後,過程中會要輸入Passphrase
如果打了一個os沒有設定的帳號,會出現錯誤訊息,看起來這套軟體的帳號是和os的使用者帳號綁在一起的。
5. 「Activate a user」完成後,在Copssh的安裝目錄下的home目錄裡會新增以剛剛指定的帳號名稱為目錄名的使用者目錄,並且在裡面有自動產生的Public key和 Private key,要把Private Key給Client端那位使用者
6.在Client端使用TortoiseGit安裝進來的「Puttygen (PuTTY Key Generator)」工具,點選「Load」,將前一步驟Server產生的Private Key (ex: ryanchen.key)選入,隨後跳出Enter Passphrase for key視窗,輸入在Server端使用「Activate a user」指定帳號的過程中輸入的Passphrase 。
6.1 最後按「Save private key」儲存server端給的Private key專換成Putty運行的Private key。
7.設定防火牆,開SSH的連接埠(Port),從控制台的防火牆畫面點擊「進階設定」,開啟以下視窗,點「輸入規則」之後到右邊點「新增規則」,規則類型選「連接埠」,套用到TCP、特定本機連接埠指定「22」,這是SSH預設的port,之後照著點下一步,完成設定。
8. 測試過如果Repository是在C槽,使用SSH連線都可以正常Clone,但是在D槽就不行了,試了使用「03. Start a Unix BASH Shell」工具在Copssh安裝路徑下(C:\Program Files (x86)\ICW)建立D槽Repos的上兩層目錄的symbolic link,還是無法連到Repos,還不知道要改那裏的設定才可以連D槽的Repos,會的高手教一下吧!
9. SSH連進來C槽就是「/」目錄,如果「C:\TestRepos」,SSH連線URL為「ssh://你的帳號@Server位址/TestRepos」
10. ssh帳號與os帳號綁在一起。要用的帳號必須在os建立帳號。
困惑點:
使用Copssh的「03. Start a Unix BASH Shell」工具或是Putty走ssh登入後,「/」路徑實際為Copssh安裝的目錄,但是使用TortoiseGit走ssh的url設為「ssh://ryanchen@Server位址/TestRepos」,TestRepos實際目錄在Windows的 C:\ 下,而不是在「Copssh」的安裝目錄下,我並沒有特別設定TestRepos,不知道為何Copssh和TortoiseGit的「/」為什麼會不一樣?如果能弄清原因,也許就知道為什麼讀不到D槽了。
2013年2月22日 星期五
Git筆記(單機安裝)
以下環境在同一台win 7 64bit上
1. Git是軟體系統,而Github是一個公司提供Git server服務,一般使用者可以用Github的服務當做自己的git server,如果程式是open source,讀取權限是Public,就免費,否則要收費。
2. Git軟體我從這個網址下載: http://git-scm.com/
3. Git的GUI Client端軟體我選擇安裝 tortoisegit , 網址:http://code.google.com/p/tortoisegit/
4.使用Visual studio 2010 搭配Git,我選擇安裝Git Source Control Provider 。安裝步驟:
4.1到擴充管理員
4.2 到「線上圖庫」右邊搜尋欄輸入「git」,找到「Git Source Control Provider」點選他進行下載安裝,安裝軟體玩,需要點選重新啟動Visual Studio 。
4.3重開VS之後,到「選項」
4.4 目前的原始碼控制外掛程式選擇「Git Source Control Provider」
5. Git的Server與Client的Repository之間的架構關係如下圖,下圖作者為ihower,
取材網址: http://www.slideshare.net/ihower/git-tutorial-13695342?ref=http://ihower.tw/blog/archives/6696/
取材網址: http://www.slideshare.net/ihower/git-tutorial-13695342?ref=http://ihower.tw/blog/archives/6696/
6.在要當Server的機器上,使用Git Bash工具,開啟後,切換到要做Repository的目錄,執行以下指令:
$git init --bare Repository的名字
上面使用「--bare」參數,表示這是個純粹的Repository,不放工作副本Working copy,也就是Server端的Repository,看不到原本被控管的檔案實際樣貌,只看到Git創建的檔案。
7.在client端使用TortoiseGit,在要當Client端Repository的目錄上,按右鍵選擇「Git Clone」 ,跳出下面的視窗,URL輸入server端的Repository路徑,因為目前練習Server與client在同一台機器,所以直接輸入檔案路徑,按確定,之後會在目錄裡產生「.git」目錄。可以在Client端Repository這個目錄裡開始新增檔案。我是把「.git」目錄移到我原本的程式專案目錄裡。
8.因為我把拉下來的「.git」移到我原本的程式專案目錄,打開Visual studio後,就會在「方案總管」看到裡面檔案的圖示不一樣了,例如:當檔案與Repository裡的一樣時,會顯示「鎖」的圖示
,如果有修改過與Repository不一致時,會顯示「紅色勾勾」的圖示
。在這裡的檔案上面按右鍵就可以直接做Git的控管


9. 因為「Git Source Control Provider」會使用使用者需事先安裝的Git GUI Client軟體,所以我設定他使用TortoiseGit,因此Git Source Control Provider執行Git動作時,會呼叫TortoiseGit或Git對應的介面或工具,讓使用者操作。
10.在方案root上做Commt動作,把所有未列管而想列管的都Commit進去Repository,這樣開始就有第一版的控管檔案。
11.在其他Client端,做「Git Clone」後,也就新建出本地端的Working Copy。
訂閱:
文章 (Atom)