登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
技術專欄

技術專欄

§原文位址§

當一個程式運作時,它的資料會在記憶體裡。當這個程式結束,或電腦關機時,在記憶體中的資料就會消失。要永久儲存資料,你必須把它放入一個檔案裡面。檔案通常儲存在硬碟、軟碟或光碟中。

當檔案數量龐大時,它們常會被整理到一個目錄(也稱「資料夾」)中。每個檔案是由一個獨有的名稱,或是檔案和目錄名稱的獨特組合來辨視。

……詳細全文請至此下載閱讀

§原文位址§

10.1 模組

一個模組就是一個內含Python 定義和陳述的檔案,而這些定義和陳述是要在其他 Python 程式中使用的。FDFDFDFixfdfPython 裡隨附許多 Python 模組,做為標準程式庫的一部分。我們已經見過兩種模組,doctest 模組和 string 模組。

……詳細全文請至此下載閱讀

§原文位址§

9.1可變性與 tuple

到目前為止,你已經看過了兩種複合型態:字串,它是由文字組成;和列表,它是由任何型態的元素組成。其中一個我們所注意到的不同之處是一個列表中的元素得以變更,但一個字串中的文字則否。也就是說,字串是不可變的,而列表則是可變的。

Python 中還有另外一種稱為 tuple 的型態,它和列表非常類似,只不過它是不可變的。就語法上來說,一個 tuple 是一系列用逗號分隔的值:

……詳細全文請至此下載閱讀

§原文位址§

8.1 起步

在我們第一個案例研究中,我們即將用 GASP 套件中的工具建立一個小型電動。遊戲會從視窗的左到右射出一顆球,然後你要操作右邊的"手套"接住這顆球。
8.2 用 while 移動球

while 陳述與 gasp 可以用來在程式中增加動作。下面的程式移動一顆黑色的球穿過 800 x 600 畫素的繪圖畫布。請將這些程式碼加入名為 pitch.py 的檔案。

……詳細全文請至此下載閱讀

§原文位址§

7.1 複合資料型態

到目前為止我們已經看過五種型態:int、float、bool、NoneType 及 str。字串性質上不同於其他四個,因為他們是由更小的片段所構成的-字元。

由小片段組成的型態叫做複合資料型態。依據我們所做的事,我們可能會想要將複合資料型態視為單一的整體,或者我們也可能想要存取它的一部分。這種模稜兩可的情況是有用的。


……詳細全文請至此下載閱讀

§原文位址§

6.1 多重指派

你可能已經發現,指派多個值到相同的變數是允許的。新的指派使已經存在的變數指向新數值(並且停止指向舊數值)。


bruce = 5
print bruce,
bruce = 7
print bruce

這個程式的輸出是 5 7 ,因為第一次印出 bruce 時,它的數值是 5,而第二次印出時,它的數值是 7。第一個 print 陳述最後的逗點使輸出後不會產生新的一行,這就是為什麼兩個輸出發生在同一行。

……詳細全文請至此下載閱讀

§原文位址§

5.1 傳回值

我們已經用過的內建函數,如 abs、pow 和 max,都會產生結果。這些函數每個在被呼叫時都會產生一個數值,我們通常會將這些數值指派給一個變數,或是作為表達式的一部份。

biggest = max(3, 7, 2, 5)
x = abs(3 - 11) + 10

但是到目前為止,我們自己寫的函數都還沒傳回一個數值。

在這一章裡頭,我們要寫些會傳回數值的函數,我們將這些函數稱之為多效函數(fruitful functions),因為沒有更好的名字。第一個例子就是 area 函數,它會根據所給予的半徑算出圓面積:

def area(radius):
temp = 3.14159 * radius**2
return temp

我們之前已經見過 return 陳述,但是在多效函數中 return 陳述還包含著傳回值(return value)。這就是說:「立即由這個函數傳回,並用其後的表達式當作傳回值。」所提供的表達式要多複雜都可以,於是我們就能夠把上面的函數寫得更簡潔:

def area(radius):
return 3.14159 * radius**2

但以另一方面來講,像 temp 這種 暫存變數(temporary variables)常常可以讓除錯更容易些。


……詳細全文請至此下載閱讀

簡單地說,Plone 就是一部「快速架站機」,除了操作便利的優點外,Plone 也具備企業級應用的功能彈性。如果你還在尋找更好用的 open source 內容管理系統,Plone 絕對值得一試。

§原文位址§

4.1 餘數運算子

餘數運算子運作在整數(及整數運算式)中,並在第一個運算元除以第二個運算元時,得出餘數。在 Python 裡,餘數運算子用百分比符號(%)表示。語法則與其他運算子相同:

>>> quotient = 7 / 3
>>> print quotient
2
>>> remainder = 7 % 3
>>> print remainder
1
所以 7 除以 3 得到的商是 2,餘數為 1。

餘數運算子的運算結果出人意料地有用。例如,你可以用來檢查一個數是否能被另一個數整除---如果 x % y 的結果是 0,x 就能被 y 整除。

你也可以用它抽取出一個數值中的最右側的數字。例如,x % 10 可得出 x 最右側的數字(在十進位時)。同樣地,而 x % 100 則會產生最右側的兩位數字。

……詳細全文請至此下載閱讀
§原文位址§

3.1 函數定義及用法

在程式設計的範疇,函數是個有名稱的陳述序列,用來執行所需的運算。這個運算在函數定義中指定。在 Python 裡,函數定義的語法為:

def NAME( LIST OF PARAMETERS ):
STATEMENTS

你可以為你建立的函數取任意名稱,但是你不能使用與 Python 關鍵字相同的名稱。其中,LIST OF PARAMETERS (參數列表)用來指定使用新的函數前,你是否必須提供任何資訊。

……詳細全文請至 https://www.openfoundry.org/component/option,com_docman/Itemid,1/gid,667/task,doc_download/ 下載閱讀
「我的線上電子信箱被大量寄出廣告信/病毒信,怎麼辦?」

「我的線上電子信箱帳號被盜了」

「我懷疑有人偷看我的信件」

或許在你看本篇文章的同時,「有人」正在看你的電子信件。

§原文位址§

2.1 數值與型態

數值,如一個字母或是一個數字,是程式處理的基礎事項之一。到目前為止我們所看過的數值有 2 (1 + 1 的相加結果),和 "Hello, World!" 。

這些數值分屬於不同的型態:2 是整數,"Hello, World!" 則是字串 ,其名稱是因字串包含一連串字母而來。你(和直譯器)都能識別字串,因為它們包含在引號中。

print 陳述也能用於整數。

……詳細全文請至此下載閱讀

§原文位址§

這本書的目標是要教你像電腦科學家一樣思考。這樣的思考方式結合數學、工程學及自然科學一些最優良的特色。電腦科學家像數學家,使用形式語言表達概念(特別是在計算方面)。他們也像工程師般設計東西,組合原件成系統,然後從中評估成本效益。他們還像自然科學家一樣,觀察複雜系統的變化,提出假說,並且測試所預期的結果。

電腦科學家最重要的一項能力就是解決問題。解決問題的意思是指能夠系統式地闡述問題,思考解決方法時別具創意,並且清楚正確地表達解決方法。結果證明,學習程式設計的過程是個練習問題解決技巧的絕佳機會。這也是為甚麼這一章叫做:程式之道。

從一方面來說,你將學會設計程式這個有用的技巧。對另一方面而言,你將利用程式設計作為工具,達成目標。隨著我們的教學,這目標會越來越清楚。

前言:

在專業翻譯的領域,CAT Tools 是不可或缺的翻譯輔助工具。CAT 所代表的意思是 Computer Assisted Translation,也就是指「電腦輔助翻譯工具」,此種工具透過讀取翻譯記憶檔(Translation Memory, TM)和詞彙表(Glossaries),可以在翻譯人員遇到相同句型和詞語時,提供之前的譯作以供參考、比對,讓翻譯人員依循一致性的原則選擇較適當的翻譯。CAT Tools 可以節省翻譯時間,並確保同一文件不同版本間的翻譯一致性。

§原文位址§

◎ 前言

David Beazley 著

作為教育家、研究者及書籍作者,我很高興看到這本書的完成。Python 是個有趣並且非常易用的程式語言,在過去幾年裡,Python 逐漸地受到歡迎。Guido van Rossum 在十多年前開發了 Python,其簡單的語法與整體感覺則是得自於 ABC,這個 1980 年代發展的教學語言。然而,Python 也被設計成可以解決真實的問題,並且也從其他程式語言如 C++、Java、Modula-3 和 Scheme 等,借用了各式各樣的特徵。正因如此,Python 最顯而易見的特色之一就是它廣泛吸引了專業軟體開發者、科學工作者、研究者、藝術家及教育家。
這期要跟大家分享一篇『Unix-Like/Linux 系統基礎入門』,這是由熱愛自由軟體的 Yenjinc 勞心勞力流血流汗整理出來的。文件的內容設定為『初學入門』的參考講義,適合大學生以及研究生,依照三部份來循序漸進: 1. 初學入門 2. 系統管理 3. 網路伺服器架設與管理。讓讀者從初學入門到具備自己建立、管理、維護 Linux Server 的能力。此份教材曾在政治大學應用數學系—暑期研習課程中採用。最近一次完整的使用紀錄是在法鼓佛教研修學院開設一學期的 Linux Admin 課程。
◎ 實做看看吧!

既然前一篇講得這麼興奮,那我們就來實作看看吧。以下會以 FreeBSD 為 OS,來實際操作一遍。作業系統的差異只在安裝 Django 時會不同,因此若你是其他版本的使用者,請自己找找 installation 的方式,相信不會太難的啦。

◎ 前言

西元 1999 年,PHP 正慢慢席捲全球,台灣也在當年七月出版第一本 PHP 與 MySQL 結合的書(紅色書皮),猶記得當時要開發動態網頁的朋友們,都是人人一本紅皮書。PHP 的出現使得動態網頁的開發變得更容易,由於門檻降低,開發難度降低,更多的人有機會接觸動態網頁的設計。

然而,有使用過 PHP + MySQL 的人大概都知道,雖然開發動態網頁的難度降低了,但是使用它仍然很傷腦筋,因為處理資料的進出是一件很瑣碎的事情。我們需要寫讀取資料所要下的 SQL 指令、取出資料時也有 SQL 指令、又驗證使用者輸入資料的合法性等,每一項都是很繁瑣,很容易出錯,常常要寫一個很簡單的功能就因為這些瑣碎的功夫而花上龐大的時間。

由於這幾年動態網站的需求大量增加,便有人開發出各種不同的 web frameworks,而這些 frameworks 的出現將會一改之前這些瑣碎的步驟!設計一個動態網頁只需要短短的程式碼,甚至是你完全不用操心 SQL 要下的指令,因為這些事情 framework 都幫你處理好了。當然,有了這些框架,以往對於動態網頁的思維也有所改變。以下就介紹其中一個 framework ,名為 Django(D不發音),它是一個以 Python 為語言的 Web framework ,當筆者第一次碰觸時,也被它神奇的力量所吸引著!

 

Java Opensources for Web Development Part I:
Chapter 2 Java Opensource Database
Lession 10 : JDBC 的叢集

Java Opensources for Web Development Part I:
Chapter 5 檢測程式碼
Lession 21 : Doctorj

Java 程式碼的部份,利用 PMD 或是 Checkstyle 就可以將大多數的檢測出來,許多利用 JavaDoc 作為程式碼註解的開發團隊,就可以利用 doctorj 來檢查程式碼註解的部份是否有一些問題,例如拼字錯誤,或是參數順序有問題,這些都不算是編譯性的錯誤,所以開發工具無法針對這類錯誤進行除錯。

Java Opensources for Web Development Part I:
Chapter 5 檢測程式碼
Lession 21 : FindBugs

當一個系統開發完畢之後,應該沒有編譯錯誤,但是很難說沒有 Bug 存在,所以我們會希望有一些小工具來檢測程式碼有沒有「可能是」BUG 的錯誤存在。FindBug 是由許多公司與組織所支持的一個開放原始碼專案,如 FORTIFY、Google、SUN、NSF、University of Maryland 等。在各種有名的專案也利用 FindBugs 作為專案是出前的最後檢測,如 Glassfish、JSF、SAT4j 等等。因此現在有越來越多的 java 開發族群,開始學習使用 FindBugs 讓系統的臭蟲可以在使用者測試之前就被清除。

更多文章...

第 6 頁, 共 8 頁

6