開源技術教學網 開源技術教學網

C 語言、Golang、資料結構、網頁程式、Unix

電子書籍

現代 C 語言程式設計 C 語言應用程式設計 多平台 Objective-C 程式設計 跨平台 Common Lisp 程式設計

最新文章

[Java] 程式設計教學:使用 HashMap 物件

映射 (map) 是基於鍵值對 (key-value pair) 的非線性容器。HashMap 是 Java 的映射 (Map) 中常用的實作品。該實作品是基於雜湊表 繼續閱讀

[Java] 程式設計教學:使用 LinkedList 物件

LinkedList 是 Java 串列 (List) 的另一個實作,其內部為鍵結串列 (linked list)。 LinkedList 和 ArrayList 在 API 有許多重疊之處,但兩者實作相異。主要的選擇考量是演算法上的效率。 繼續閱讀

[Java] 程式設計教學:使用 ArrayList 物件

ArrayList 是 Java 串列 (List) 的其中一種實作。ArrayList 內部是動態陣列 (dynamic array)。由於 Java 不支援運算子重載 繼續閱讀

[Java] 程式設計教學:使用陣列 (Array)

Java 已經有 ArrayList 和 LinkedList 兩種串列容器了,其實陣列算是冗餘的特性。Java 會保留陣列的主要原因是吸引 繼續閱讀

[Java] 程式設計教學:使用控制結構 (Control Structure)

電腦程式預設的執行順序是由上而下,逐條敘述執行。透過控制結構,可以改變程式執行的順序。本文介紹 繼續閱讀

[Java] 程式設計教學:運算子 (Operator)

大部分運算子是以符號而成的指令,少數運算子使用文字。由於運算子無法拆解成更小的指令,可以視為程式語言的基本指令。本文介紹 繼續閱讀

[Java] 程式設計教學:變數 (Variable)

電腦內的資料是存在於記憶體中的抽象物體,變數是資料的標籤。電腦程式透過變數操作資料。本文介紹 Java 繼續閱讀

[Java] 程式設計教學:資料型態 (Data Type)

電腦程式時常用來操作資料。程式語言會界定程式可操作的資料型態。本文說明 Java 支援的資料型態。 Java 繼續閱讀

[Java] 程式設計教學:基本概念

本文介紹 Java 程式的基本概念,並開始撰寫第一個 Java 程式。 Java 原始碼的副檔名為 .java 。編譯出來的位元碼 繼續閱讀

[Java] 程式設計教學:建置開發環境

本文介紹建置 Java 開發環境的過程。 到 Adoptium 下載 OpenJDK 的安裝程式。建議選擇 Temurin 17,即 OpenJDK 17。 另一個方式是用 繼續閱讀

[C 語言] 程式設計教學

在這份 C 語言教學中,除了基本語法外,我們介紹 Windows、macOS、GNU/Linux 等主流系統的工具鏈以及導入現代 繼續探索

[C 語言] 應用程式設計教學

在本系列文章中,我們假定讀者已經學完 C 語言的語法,準備要用 C 寫程式。此系列包括以下內容: 由於這些內容不是語法的一部分,沒有標準答案,只能算是目前可行的方式。讀者除了閱讀這些文章,最好再閱讀其他資料,並實際動手寫 繼續探索

[資料結構] 使用 C 語言

本系列文章講解一系列基礎資料結構,並以現代 C 語言來實作。 我們會逐步將虛擬碼的部分移除,僅保留 C 繼續探索

[Golang] 程式設計教學

本系列文章介紹 Golang 的語法,這是撰寫 Golang 程式的基礎。繼續探索

[Golang] 網頁設計敎學

本系列文章介紹如何以 Golang 撰寫網頁程式。我們會以標準函式庫為主,再輔以一些社群套件,而不會使用網頁框架。因為 繼續探索

Golang 應用程式設計

在本文中,我們假定讀者已經熟悉 Golang 的語法,將 Golang 應用在各種情境中。繼續探索

[Windows] 程式設計教學

本系列文章介紹 Windows 程式設計相關的議題。 筆者不會完全從微軟觀點來介紹 Windows 程式設計,而會輔以通用的程式設計觀念來介紹這個主題。有時候會和 繼續探索

[GNU Make] Makefile 教學

Make 是編譯自動化軟體的濫觴,在類 Unix 系統上廣泛使用著。Make 有多個實作品,本系列文章介紹 GNU Make,這是一套普遍的 繼續探索

[Lua] 程式設計教學

有鑑於 Lua 學習資源的相對缺乏,故筆者撰寫此系列教學文件。本系列文章專注於 Lua 程式設計本身,而非 Solar2D 繼續探索

[Solar2D] 程式設計教學

Solar2D (原 Corona SDK) 是一套跨平台的行動軟體框架 (cross-platform mobile framework),主打電腦遊戲 (mobile games),但也可以用來製作應用程式 繼續探索

[JavaScript] 程式設計教學

本系列文章講解 JavaScript 的語法,這是撰寫 JavaScript 程式的基礎知識。繼續探索

[Node.js] 程式設計教學

Node.js 是在瀏覽器以外的 JavaScript 開發和運行環境,優點在於網頁前端和網頁後端可以用同一個語言來寫。除了用來執行網頁後端程式外,Node.js 繼續探索

[網頁設計] 教學

網頁程式設計和 JavaScript 關係密切,故我們在這裡介紹網頁程式設計。繼續探索

[Perl] 程式設計教學

Perl 算是歷久彌新的程式語言和命令列工具,本系列文章介紹 Perl 的語法和使用方式。 Perl 7 是 Perl 的現代化版本。基本上,Perl 繼續探索

[Raku] 程式設計教學

本教學文件介紹 Raku 的核心語法。Raku 為 Perl 6 改名而來 (參考這裡)。本系列文章會慢慢修改相關的部分。繼續探索

技術雜談

此處收集一些單篇的技術文章。這些文章和文章間的順序僅代表發佈時間的先後,沒有內容上的連貫性,讀者可跳著讀自己感興趣的部分。繼續探索

[Common Lisp] 程式設計教學

Lisp 是第二古老的高階語言,僅次於 Fortran,而且目前仍有實際應用。現存的 Lisp 方言中,最主要的即是 Common 繼續探索

[C++] 程式設計教學

在這份 C++ 教學中,除了基本語法外,我們介紹 Windows、macOS、GNU/Linux 等主流系統的工具鏈以及導入現代 C++ 繼續探索

[FreeBSD] 系統使用教學

本系列文章說明 FreeBSD 的使用方式。會先從頭打造一個可用的中文桌面環境,然後慢慢學習 FreeBSD 的命令列工具等系統使用方式。繼續探索

[Groovy] 程式設計教學

Groovy 是一個 Java 平台的通用型直譯語言。目前 Groovy 最知名的專案是用於編譯自動化的 Gradle,其他的著名專案還有網頁框架 繼續探索

[Java] 程式設計教學

Java 是重要的商業語言,也有大專院校把 Java 當成教學工具。繼續探索

[Nim] 程式設計教學

Nim 語言雖然不是市場主流語言,卻有著有趣的理念。本系列文章為 Nim 核心語法的教學。繼續探索

[Objective-C] 程式設計教學

本系列文章介紹 Objective-C 程式設計,會專注在 Objective-C 的核心語法上,以後有機會再另開 Mac 或 iOS 程式設計的內容。繼續探索

[Pascal] 程式設計教學

Pascal 是相對古老的語言,比 C 老一歲。由於 Pascal 一開始的目標是做為教學用語言,該語言曾經是大專院校流行的工具。後來 繼續探索

[PHP] 程式設計教學

本系列文章介紹 PHP 程式設計。目前先以 PHP 的核心語法為主。繼續探索

[Puppeteer] 程式設計教學

Puppeteer 是新興 Node.js 網頁爬蟲框架,可用於測試、收集資料、自動執行任務等。繼續探索

電腦書籍等回顧

這裡介紹一些站長平常閱讀的電腦書籍或使用的電腦週邊。繼續探索

[Rust] 程式設計教學

本系列文章介紹 Rust 的語法。繼續探索

[Selenium] 程式設計教學

Selenium 原本設計為網頁自動化和網頁測試軟體,但也可以用於網頁爬蟲。本系列文章使用 Selenium 從數個財經或其他網站抓取資料。繼續探索

[Shell Scripting] 教學

目前 GNU/Linux 或 Unix 上最常見的 shell (殼程式) 是 Bash。但本系列文章考量相容性議題,先以 POSIX shell 為主。在提及 繼續探索

經營技術部落格

本著吃自己狗食 (dogfooding) 的精神,我們在這個部落格中介紹如何製作技術部落格。繼續探索

[VBScript] 程式設計教學

VBScript 是微軟 Windows 系統上原生的腳本語言,從早期的 Windows 98 到最新的 Windows 10 都可以直接使用,不需另外安裝其他程式;因此,相當適合用來處理一些日常事務。繼續探索