Archive for 2012

網頁程式學習筆記 - 前情提要

因為最近剛好同學間對於網頁的撰寫有學習的興趣,又剛好在專題要挑戰寫一個多功能的平台,剛好利用這段時間來整理一下之前所學習的網頁程式技巧,希望可以給同學一些啟發,可以更快的上手。

 




大家都知道前一段時間興起的 HTML 5 熱潮,為了趕上這個熱潮,許多人開始學習網際網路的程式設計,以期望可以在現在這股網路大熱潮中可以有更多的生存空間,在學習 HTML 5 之前,我們先想想為什麼 HTML 5 會紅起來,除了和以前比起來方便多了的標籤和使用 JavaScriptAPI 多了更多之外,到底主要的動機是什麼呢?了解了其中的動機,對於我們以後學習寫程式會很有幫助。

2012年12月6日 星期四
Posted by Dylandy Chang

各家視訊程式比較 -- 淺談 Google+ Hangout

Google+ 是 Google 自己的社交網站,希望可以跟社群網站大老 Twitter 、Facebook 搶下一片天空,雖然 Google 有著世界上幾乎最好的一群工程師團隊,他們寫出的 Google + 也非常的出色,但是在較晚進入市場的劣勢之下,使用 Google + 的族群卻相對的少了許多,目前還是以工程師和相關技術類的工作人員為主要用戶。

在 Google + 裏面, Google 把許多他們自己的服務完整的整合到了其中,使得 Google + 在分享訊息上更為的方便與直覺,對於像小弟這樣的重度 Google 使用者來說真的是很方便的工具與社交的管道。

在眾多的 Google 服務裏面,以前我幾乎沒有用過的服務是 Google Talk ,畢竟認識的人都沒有用,那也沒辦法用的起來,真正開始利用這個服務是在 Google + 將 Google Talk 整合進來以後,並將它改名為 Google Hangout 並新增了許多適合視訊會議的功能,諸如:基本的視訊功能、即時文字訊息、螢幕分享、共同文件編輯、共同檔案管理。
2012年11月19日 星期一
Posted by Dylandy Chang

解決 CrossOver 在 Ubuntu 12.04 下安裝 IE 無法啟動

因為昨日(10/31) 萬聖節 CrossOver 大放送的關係,所以也去弄了一套來玩玩看,順便來把比較會需要的 Windows 程式裝起來,發現支援列表蠻完整的,對於在非 Windows 平台的使用者來說,這樣的程式量其實是蠻足夠的。

話說,小弟我現在用的系統是 Ubuntu 12.04 ,想說裝了 CrossOver 以後,一定要裝個 IE 來用,這樣才不會因為一個瀏覽器的原因就需要重新開一個虛擬機器或是重新開機成 Windows 來使用,所以就高興的裝了下去,而在 CrossOver 上則表示,目前他們所支援的版本,穩定版為 IE 7 ,可以透過他們的網站下載安裝包,不需自己手動下載,所以我就很高興的點了下去,讓他自己安裝了。


經過了一段時間的安裝之後,程式很成功的被安裝起來了,但是第一次開啟的時候,讓感到很挫折,IE 會自動下載一個不知道是什麼的檔案,然後就自動關閉了,本來我想,可能是安裝失敗的問題,結果不然,經過多次的反覆安裝之後,仍然還是遇到這個問題。


經過搜尋,發現,原來是 Ubuntu 12.04 的系統設定問題,只要透過一個簡單的指令,就可以使安裝好的 IE 正常運作了。


打開終端機,輸入:

echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

這可以把 0 這個參數暫時寫入到後面這個檔案裏面,但是在重新開機以後,這樣的設定就需要重新設定,而要確保重新開機以後此設定還可以正確執行,要修改 /etc/sysctl.d/10-ptrace.conf 這個檔案。

在終端機輸入:

sudo vim /etc/sysctl.d/10-ptrace.conf



找到 kernel.yama.ptrace_scope = 1 ,將值改成 0 ,儲存後關閉檔案。

如此一來 IE 就可以正常的運作摟!


2012年11月1日 星期四
Posted by Dylandy Chang

市場主流視訊程式分析比較--簡述

目前市面上有許多可以通過網路,來進行免費的視訊、通話之類的軟體,這裡將討論幾個目前市場上較為有名的幾個免費視訊通話,分析他們的優缺點與哪些族群適合這些產品。

例如:一對一視訊通話,普通的 MSN 、Skype、 Hangout 都是簡單好用的程式,而對於學生等,需要多方視訊,又需要便宜的通話費族群, Hangout 會是不錯的選擇。

Skype

 Skype 在前幾年是一個蠻有名的一款視訊通話的程式,不錯的畫質,但是這並不是他主要的賣點,他最大的賣點在於,他可以讓使用者透過網路撥打普通的家用電話、行動電話等電信電話,而它的優點是在於撥打跨國電話時,有非常便宜的費率,讓許多在外的遊子們可以透過網路,便宜的連繫遙遠的家人。

Skype 可以同時 25 人同時通話,是一個蠻有亮點的功能,對於很多頻寬不大的使用者來說,像是 3G的使用者,他們希望能透過網路進行遠距會議,但是視訊對於頻寬的要求太高了,所以可以使用這個通話的功能,既可以滿足開會的需求,也可以有不錯的會議品質。

可惜的是,Skype 在視訊通訊上的努力並不是那麼的完善,目前只有一對一視訊通話是免費的,而多人視訊,則是需要付費的方案,並且最多也只能 10 個人,算是比較可惜的地方。

對於一些視訊上的輔助功能,像是「桌面分享」、「多人畫板」...等功能支援較為不足,像是在「桌面分享」方面,需要版本5.0以上的產品,但是對於 Linux 使用者卻只有 4.0 的版本可以提供下載,是較為可惜的地方,感覺他們對於 Linux 產品的開發比較不是那麼熱心。



Hangout

       
 Hangout 是一個由 Google Talk 脫胎而來的線上即時通訊整合平台,既然是整合平台,他除了即時通訊之外,他也整合了許多的 Google 服務,可以讓視訊會議在進行中,也可以使用這些 Google 服務,共同的使用這些服務,可以減少無用的資訊傳輸,增加會議的效率。

Hangout 提供了最多 10 人的視訊會議,免費的多人視訊是一大亮點,除此之外,他也可以讓使用者透過 Hangout 讓使用們都可以分享目前的畫面,在進行許多會議的時候,是一個很方便的功能。

 Hangout 也有提供線上直播功能,可以讓使用者輕易的直播出他們的會議內容,可以讓不能參與這場討論的人,也可以透過 YouTube 觀看這場會議,讓直播不再像以往那麼困難,每個人都可以輕易達成。

 除了整合 Google 服務之外, Hangout 還有提供像是 Skype 一樣的電信電話通話功能,價錢也是非常的親民,透過這樣的功能, Hangout 漸漸的成為了許多公司和學生開會的選擇,在往後的文章會特別討論有關於 Google Hangout 的教學與功能介紹。



OpenMeetings

這是一款較為進階的程式,是由使用者自行架設伺服器,而使用者們透過連線到這個私人伺服器來進行會議的程式。

OpenMeetings 是一個開放原始碼的專案,是由 Flash 作為伺服器端的架構,客服端則是使用 Java 的執行環境,所以是一個高度跨平台的線上會議方案,對於公司內部的會議,或是對於使用者使用不同平台的會議環境來說,是比較適合的一種方式。

OpenMeetings 也有提供許多其他會議軟體會提供的功能,諸如多人視訊、共用畫板、共同編輯、桌面分享等會議功能,對於需要會議的公司來說可以說是一大福音。

後面幾篇文章會有 OpenMeetings 的安裝及功能的分享,請大家敬請期待。


==============此篇文章會持續長大中==============



2012年10月31日 星期三
Posted by Dylandy Chang

C 語言學習筆記 -- 內建排序函式

一直以來想到排序,我大部份都是使用 Bubble sort 來做排序,並不是最好的,也不是最快的,但是很直觀。 其實在 ANSI C 的標準函式庫裡面就自帶了一個更快、更高接的內建排序函式:Quick Sort 這裡簡介一下 Quick Sort 演算法:

Quick Sort 示意圖 <維基百科>
快速排序使用(Divide and conquer)策略來把一個(list)分為兩個(sub-lists)。
步驟為:
  1. 從數列中挑出一個元素,稱為 "基準"(pivot),
  2. 重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分割結束之後,該基準就處於數列的中間位置。這個稱為分割(partition)操作。
  3. 遞迴地(recursive)把小於基准值元素的子數列和大於基准值元素的子數列排序。

運用Quick Sort 的演算法,時間複雜度在最差狀況,有O(n^2) ,但是這樣的狀況並不常見,平均狀況則有O(n log n)的效率。
 以上資料出自<<維基百科>>


ANSI C 的標準函式庫裡有一個直接好用的函數,可以直接做快速排序,我們可以使用以下的作法來達成:

qsort( 需要排序的陣列 , 陣列的大小, sizeof(排序的物件), 比較的方法 );

這個函數需要傳入我們需要排序的陣列,陣列裡面的東西不論是什麼,只要能夠排序都可以傳給這個函數,不論是英文字、整數、浮點數、甚至中文字,都可以送進去給他排序蠻神奇的東西。

比較需要注意的是,我們要在函數的最後傳入一個如何比較的方法給 qsort ,畢竟什麼都可以排序的原因是,如何比較大小的規則是由我們程式設計師自行定義,例如我最近寫到的排大小的程式,程式碼如下:

qsort(student, counter, sizeof(int), cmp);


int cmp( const void *a, const void *b) {
    return *((int*) a) - *((int*) b) ;
}

上面這個排序方法是為了將一組學生的陣列進行排序,比較大小的方法用自訂函式 cmp 來定義,而 cmp 裡面我們可以看到傳入的參數是用 void * 這個無型別指標來進行指向,因為就像上面所說,qsort 這個函數可以對任何類型的函數來進行排序,所以他必須要能對任何東西進行指向才可以,但是 return 的時候,我們必須能進行大小的比較,所以我們必須把 void * 轉換成我們原來資料的類型,像是上面我就是轉換成 int * 但是為了要進行大小的操控,所以又必須把指標轉換回原資料,所以在最外層要再包上另外一個 * ,最後用相減的方式,可以知道 ab 之間的大小差別,從而可以進行大小的排序。

結論
這個方法在程式語言比賽的時候是一個很實用的功能,但是對於新手來說可能不是那麼適合使用,畢竟多了解各種不同的排序演算法的建立方式,以及應用方式,更能增加對於寫作程式的經驗和想法。
2012年10月26日 星期五
Posted by Dylandy Chang

各家雲端硬碟比較與簡易分析

最近各家雲端硬碟業者百家爭鳴,都用大容量的免費空間來吸引使用者使用他們的平台,想說來整理一下這些雲端硬碟的比較和分析一下這些產品的特性吧:


         
  • 微軟的 Skydrive,提供了免費7GB的線上儲存空間,而且對於Microsoft Office 的相容性相當良好,成為一些學生族群喜愛的作業集散地,並有著Windows 、Mac 和網路都能存取的多平台優勢。

                                                     
  • 最有發展雲端空間基礎的 Google 也不落人後的,相繼推出了 Google Drive ,提供了5GB的線上空間,因為 Google Drive 是從以往Google 令人稱讚的Google 文件發展而來,在許多有線上會議需求的族群,如工程師、學生...間有著很高的支持度,可惜的是,雖然有許多工程師使用者, Google 仍舊沒有打算推出 Linux 版本的 Google Drive ,但是在其他的平台,如Windows 、Mac 、iOS、Android 都有蠻好的支援。


  • 蘋果在推出 OSX 10.7 Lion 的同時,也推出了 icloud 雲端硬碟,提供了5GB的空間可以儲存資料,但是這5GB卻是受限的存取,譬如只能存取相片,而想要存取iwork 所產生的檔案,必須先購買 iwork 應用程式,並且 icloud 只支援 Mac 和 iOS 的裝置,算是一個族群明顯的產品。


  • Dropbox 是最早,也是最有名的一個雲端平台,他們所創的在檔案管理員裡面新增專屬同步資料夾的作法,也在後來為各家產品學習的對象,可惜的是,相對於其他公司只能算是一間小公司的Dropbox 只能提供 2GB的免費空間提供給使用者,但是他優秀的跨平台性,除了Windows 、Mac 之外Linux 也有提供原生的程式,讓使用者可以無縫的同步自己的資料,是一個方便的雲端硬碟選擇。如果你是學生的話,可以透過 Dropbox 的這個方案,驗證你自己的.edu信箱,可以馬上獲得 5.5GB 的雲端空間,而推廣這個方案的話,可以快速累積到 25GB 的空間,使得 Dropbox 成為目前免費空間裡最大容量選擇。


  • 最近一個剛崛起的新雲端空間 Minus ,一開始他是集中注意力在分享圖片上,是一個標準的圖庫區,簡單的使用方式,快速的蒐集到許多的使用者,並且讓他開始放寬上下傳的限制,並提供免登入 200MB檔案上傳,而註冊帳號的話,可以得到 10GB 的免費空間,而且也有提供上傳管理工具,在各平台上,如 Windows、Mac、Linux 及行動平台上都有提供支援,是一個新崛起的強勁新秀。
2012年10月15日 星期一
Posted by Dylandy Chang

解決 linux 下 google+ hangout 螢幕分享bug 問題

這個問題困擾我很久,之前因為這個問題讓我每次要開hangout 的時候都會想說乾脆開windows好了,這樣就不會有這個問題了,在google 的問題回報裡面也有列入這個選項,請使用者回報,他們會處理這個問題,大家可以上這個網站上去點選,希望google 可以在未來釋出新的更新的時候就能改善這個問題。

以往在linux 下 hangout 分享桌面的時候會造成視訊畫面都變成黑色的,而關閉分享按鍵以後,黑畫面的狀況也沒有辦法解決,所以只能很乾脆的重開 hangout了


現階段可以透過安裝補丁來解決這樣的問題:

Ubuntu:
sudo apt-get install libxrandr-dev


Fedora:
yum install libXrandr-devel


注意在 Fedora 上補丁的名稱不同,安裝完以後,重開瀏覽器,就可以正常分享桌面了。

Posted by Dylandy Chang

Hello World!

        自從上了大學以後就很久沒有那個心情還有意願再繼續寫網誌,自從噗浪、臉書的使用之後,這個現象又更加的明顯了,這次重新提筆回來寫網址的動機,真的是最近發生了太多的事情了,參加了「台中自由軟體固定聚會」以後,學到了很多東西,這些都想讓我好好的寫下來,分享給網路上有需要的大家,希望我的網誌也可以像聚會裡的大大們一樣,有幫助到有需要幫助到的人,就像九把刀說的「希望可以因為我,而讓這個世界有一點小小的改變」那我就很滿足了。
2012年9月3日 星期一
Posted by Dylandy Chang

- Copyright © 迪蘭帝的聊天室 -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -