Author Image

Michael Chen 的技術文件

程式設計、開放原始碼、技術雜談

Cover image

在預設情形下,Objective-C 類別使用者看得到該類別的屬性,所有的訊息都是公開的。但我們有時候想要隱藏一部分屬性和訊息,僅保持最小量的公開界面。本文展示在 Objective-C 類別中實作私有屬性和私有訊息的方式。 繼續閱讀

Cover image

openSUSE 還算穩健的 GNU/Linux 發行版。但 openSUSE 的輸入法相對來說比較不好用,而且網路上相關教學甚少。筆者經過試誤,總算試出一些可用的輸入法。本文是設置輸入法的過程。 繼續閱讀

Cover image

迭代或是迴圈用於重覆執行一段程式碼,這樣就不用重覆撰寫該段程式碼,日後要修改時也要只改一個地方即可。本文介紹 Perl 的迴圈語法。 繼續閱讀

Cover image

C 語言無法從語法上直接獲得繼承這項特性,所以我們要將繼承從表面上的意義抽離,思考繼承在程式碼的本質。基本上,繼承是一種共用程式碼及實踐子類型的方式。雖然 C 沒有繼承的語法,但我們可以用物件組合來達到程式碼重用以及模擬繼承的目的。 繼續閱讀

Cover image

當我們撰寫程式的目的是自動化時,會使用簡單易用的程式語言來寫。這類型程式沒有什麼高深的演算法,保護程式碼並不是重要的考量,也不需要很好的程式效能。這時候,使用高階直譯語言就是常見的選項。雖然 Groovy 並不是最常見的自動化命令稿語言,我們會介紹使用 Groovy 撰寫命令稿的好處,並且展示實際的應用範例。 繼續閱讀

Cover image

控制結構用來調整程式行進的方向,幾乎每個高階程式語言都會有這些特性。控制結構分為 (1) 選擇和 (2) 迭代 兩種。本文介紹 Perl 之中和選擇相關的控制結構。 繼續閱讀

Cover image

若物件有進行封裝,除了透過公開介面外,我們無法更動該物件內部的狀態。C 語言不強調封裝的概念,所以我們要重新思考封裝在程式碼中的意義。封裝的目的是資訊隱藏,也就是說,只提供最少量的必要資訊,其他的部分則不開放給外部程式。 繼續閱讀

Cover image

藉由語音合成技術,就不需要為每段文字預錄語音檔案,可透過電腦運算即時發聲。由於語音合成算是相對困難的技術,通常都是透過付費 API 來取得這項特性,隨使用量付費。現在瀏覽器也內建這項技術了,本文會介紹如何使用網頁語音合成 API。 繼續閱讀

Cover image

運算子可執行一些基本的運算,會透過符號而非函式呼叫來使用。一般來說,運算子無法再拆分成更細的項目,所以視為程式語言的基本指令。本文介紹 Perl 的運算子。 繼續閱讀

Cover image

真正的物件,要有狀態和行為間的連動。狀態以資料的形式儲存在物件的屬性上,行為則是透過函式來實作。C 語言並沒有真正的物件,只能撰寫在精神上貼近物件的函式。在本文中,我們會以平面座標中的點為例,展示兩種物件的寫法。 繼續閱讀

1 2 3 4 5 6 7 8 ... 43 往後