3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
OPENHOME 程式設計教學網站(砍站) 目錄索引 資料來源:https://openhome.cc/Gossip/ 備份網址: http://jashliao.eu/openhome_web/Gossip/ GO語言     起步走     語言的起步走,需要的時間最好是長一些,因為慢一點才會快一點 …     Go 平台概要     在開始認識語言本身之前,先來瞭解 Go 提供的基本工具集,這是 Go 的一大特色。     來個 Hello, World     Go 套件管理     gofmt 格式化原始碼     go doc 文件即註解     Go 測試套件     型態、變數、常數、運算子     也許看似基本,然而沒你想像中的那麼簡單。     認識預定義型態     變數宣告、常數宣告     位元組構成的字串     身為複合值的陣列     底層為陣列的 slice     成對鍵值的 map     運算與流程控制     Go 有指標,switch 很有彈性,沒有 while,存在 goto … XD     運算子     if … else、switch 條件式     for 迴圈     break、continue、goto     函式、結構與介面             封裝演算、定義行為、組織程式元件。     函式     函式入門     一級函式     匿名函式與閉包     defer、panic、recover     結構     把相關的東西放在一起。     結構入門     結構與方法     結構組合     介面     將行為定義出來。     介面入門     型態斷言     介面組合     常用 API             從常用 API 中學習如何撰寫 Go 程式碼。     基本 IO     從 io.Reader、io.Writer 開始認識。     從標準輸入、輸出認識 io     io.Reader、io.Writer     bufio 套件     檔案操作     error 處理     到處都在 if err != nil?     err 是否 nil?     錯誤的比對     errors 套件     資料結構     sort、list、heap 與 ring 套件。     sort 套件     list 套件     heap 套件     ring 套件     文字     有關字串、位元組等的處理。     strconv、strings 套件     bytes 套件     unicode 套件     編碼轉換     反射     探測資料的結構與相關數值。     反射入門     結構欄位標籤     並行     簡單的並行模型。     Goroutine     Channel     其他             一些雜七雜八的東西,暫時放這分類。     相依管理     go module 能終結混亂嗎?     vendor     模組入門     WebAssembly 支援     Go 也可以在瀏覽器裏跳舞?     哈囉!WebAssembly!     Go 呼叫 JavaScript     JavaScript 回呼 Go     附錄     Go 官方套件說明文件     How to Write Go Code     Go Commands     Effective Go      C語言     入門基礎             先作個簡單的程式來運行一下,從瞭解程式語言的資料型態、變數與流程控制語法開始。     資料型態與變數             先來個 “Hello! World!” 顯示一下程式執行結果。     Hello! World!     資料型態     字面常量     變數     printf 與 scanf     putchar、getchar、puts、fgets     運算             程式的目的就是運算、運算還是運算。     算術運算、型態轉換     關係運算、條件運算     邏輯運算、位元運算     遞增、遞減、指定運算     流程控制          各種條件判斷與迴圈重覆執行語法,可以令程式因應不同的狀況。     if 條件判斷     switch 條件判斷     for 迴圈     while 迴圈     break、continue、goto     進階型態            陣列、字串、指標等型態常被使用,彼此之間互有相關。     陣列、字串          先從陣列開始認識起,並了解字串是以字元陣列組成。     陣列     二維(多維)陣列     字元陣列與字串     字串處理            字串是程式中重要的一部份,C 標準函式庫中有一些函式可以協助字串的處理。     字串長度、複製、串接     字串比較、搜尋     字串轉換、字元測試     字串掃描與格式化     指標          指標儲存記憶體位址,擁有型態。     指標與位址     指標的運算     指標與陣列     指標的指標     指標與字串     命令列引數     malloc、free、calloc 與 realloc           函式            可以重用的程式碼,可以定義為函式。     函式入門          先簡介函式定義,並談談幾個變數可視範圍的議題。     函式簡介     引數與傳回值     inline 函式     變數範圍     進階議題          遞迴呼叫、函式指標等。     遞迴     不定長度引數     函式指標     複合型態             struct 將相關的資料包裝在一起,也來看看 enum、union 的使用。     結構             將相關的資料包裝在一起。     定義結構     結構與指標     結構組合     特殊的型態             enum、union 等的使用。     列舉     union     位元欄位     其他             阿散不魯、暫時不分類的東西。     巨集             巨集是必要之惡?     巨集簡介     預設引數     _Generic 選擇     foreach 與陣列     例外處理     檔案 I/O             I/O 的基本。     文字檔案 I/O     二進位檔案 I/O C++     入門基礎             先作個簡單的程式來運行一下,並從瞭解程式語言的資料型態、變數與流程控制語法開始。     資料型態與變數             先來個 “Hello! World!” 顯示一下程式執行結果,增加一點撰寫程式的信心!     Hello! World!     資料型態     字面常量     變數     終端機輸入輸出     運算             程式的目的就是運算、運算還是運算。     算術運算、型態轉換     關係運算、條件運算     邏輯運算、位元運算     遞增、遞減、指定運算     流程控制             藉由各種條件判斷與迴圈重覆執行語法,可以令程式因應不同的狀況。     if 條件判斷     switch 條件判斷     for 迴圈     while 迴圈     break、continue、goto     進階型態             陣列、字串、指標常被使用,看似複雜,但彼此之間互有關聯。     陣列、字串             陣列是連續的空間配置。     陣列     二維(多維)陣列     字元陣列與字串     array、vector 與 string             使用 array 來替代陣列,使用 vector 容器來儲存可變長度資料,使用 string 來表現字串。     使用 array     使用 vector     使用 string     指標             指標可儲存記憶體位址,擁有型態。     指標與位址     指標的運算     指標與陣列     指標的指標     指標與字串     命令列引數     new 與 delete     函式             可重用的的程式碼,可以定義為函式。     函式入門             與函式相關的入門語法。     函式簡介     inline 與 constexpr 函式     預設引數     重載函式     變數範圍     遞迴     參數、傳回值             參數與傳回值的進階議題。     參考     rvalue 參考     引數與參數     傳回值型態     不定長度引數     模版             編譯器依模版產生重載函式。     函式模版     模版與參考     可變參數模版     尾端傳回型態     傳遞演算法             傳遞函式、lambda 運算式。     函式指標     lambda 運算式     一級函式與 algorithm     高階函式     物件基礎             將程式中互動的單元視為物件。     封裝入門             類別是建構物件時的規格書。     定義類別     建構式     const 與 mutable     static 成員     巢狀、區域、匿名類別     運算子重載     自訂型態轉換     函子     類別模版     成員指標     管理物件             控制物件的解構、複製、移動,以及動態配置物件的管理。     解構式、複製與移動     auto_ptr     unique_ptr     shared_ptr     weak_ptr     特殊的封裝             特殊的類別或值域。     列舉     union     位元欄位     物件導向             認識繼承與多型。     繼承             繼承某類別並加以擴充。     繼承共同行為     遮蔽父類方法     虛擬函式     純虛擬函式(一)     純虛擬函式(二)     模版與繼承     RTTI     多重繼承             沒事別亂用啊!     多重繼承     多重繼承的建構     虛擬繼承     多重繼承的複雜     程式規劃             錯誤的通知、名稱的控管。     例外             例外是可傳播、可捕捉的錯誤值。     簡介例外處理     捕捉自訂例外     使用標準例外     重拋例外     名稱空間             避免名稱衝突。     簡介名稱空間     關於 namespace     使用 using     程式庫             常用的程式庫。     I/O             I/O 格式控制、檔案 I/O。     I/O 格式控制器     I/O 格式化旗標     文字檔案 I/O     二進位檔案 I/O     附錄     C++ 之父給初學者的信     C++ reference      GTK     入門             先來嘗試一下幾個簡單的 GTK 程式,並初步了解一些核心特性。     Hello!World! Orz..     第一步,當然是先 克服 GTK 的安裝問題,然後來個簡單的 Hello!World! Orz…     Ubuntu 下安裝 GTK     第一 個 GTK 程式     Windows 下第一個 GTK 程式     GTK 的物件導向架構     Signal 與 Callback     在 GTK 的元件上操作,會發出特定的 Signal ,將 Signal 連接至特定的 Callback 函式,以完成對某個動作的處理。     使用 Signal 關閉視窗     自訂 callback 函式     內建 Signal 的發射與停止     事件處理     GDK 事件會傳播給 GtkWidget,引發一個與事件相對應的事件 Signal,再透過 Callback 函式處理事件。     GDK 事件結構     GTK 事件處理函式     事件遮罩(Event Mask)     基本版面配置     基本上就是透過水平與垂直包裝盒,將元件置於其中以完成所需的版面配置。     GtkHBox 與 GtkVBox     GtkFrame 與 GtkButtonBox     GtkTable     其它     GTK 官方網站上,有許多的參考文件與範例,為入門時的必看資料。     GTK 參考文件     簡介 Glade     基本圖形元件             元件講是講不完的,這邊主要在簡介幾個基本元件之作用。     按鈕     按鈕是視窗 程式中最基本的元件。     GtkButton 與 GtkToggleButton     影像及文字按鈕     GtkCheckButton 與 GtkRadioButton     對話方塊     對話方塊用來與使用者作簡單的訊息交換與溝通。     GtkMessageDialog     GtkAboutDialog     GtkColorButton 與 GtkColorSelectionDialog     GtkFontButton 與 GtkFontSelectionDialog     GtkFileChooserButton 與 GtkFileChooserDialog     使用 GtkDialog 自訂對話方塊     文字欄位     文字欄位是使用者輸入資訊的基本元件。     GtkEntry     GtkSpinButton     GtkTextView     選項清單     這邊的選項清單元件,遵守 MVC 設計,使用上較為複雜但應用彈性大。     GtkComboBox     GtkComboBox 與 GtkListStore     GtkComboBox 與 GtkTreeStore     GtkTreeView 與 GtkListStore     GtkTreeView 與 GtkTreeStrore     版面元件     除了上面介紹的三種基本版面配置之外,還可以使用一些版面元件來協助元件的群組與版面的切割。     GtkNotebook     GtkPaned     GtkScrolledWindow     GtkAlignment、 GtkFixed 與 GtkLayout     GtkFrame 與 GtkAspectFrame           進階元件使用             來看看一些選單、列、等元件之使用與組合方式,以及繪圖、列印等功能。     選單元件     選單是視窗程式最 常見的功能了。     GtkHandleBox     GtkMenuBar、 GtkMenu 與 GtkMenuItem     GtkCheckMenuItem、 GtkRadioMenuItem 與 GtkTearoffMenuItem     GtkUIManager     列元件     進度列、工具列、 狀態列。     GtkProgressBar     GtkToolBar     GtkStatusBar     其它元件     簇繁不及備載…Orz…     GtkStyle 與資源檔     GtkLabel     GtkScale     GtkEntryCompletion     GtkArrow     GtkRuler     GtkAssistant     GtkCalendar     GtkDrawingArea     GLib             GLib 是 GTK 所需的函式庫之一,不過它是個可獨立使用的函式庫。     基本型態、巨集、公用(Utility)函式     一些有的沒的常用函式,先放在一起講……Orz     GLib 基本型態與巨集     GTimer     Timeout 與 Idle     環境資訊     日誌 (Logging)     輸入輸出     來了解一些基本檔案讀寫、目錄資訊的取得方式,以及輸入輸出 Channel 的使用。     基本檔案讀寫     目錄資訊     GIOChannel 與檔案處理     GIOChannel 與 Pipe     資料結構、記憶體配置     來看看 GLib 提供了哪些常用的資料結構處理及動態記憶體配置函式。     GString     GArray、GPtrArray、 GByteArray     GSList、 GList     GHashTable     GTree 與 GNode     記憶體配置     執 行緒     GLib 提供了 GThread 作為多執行緒的支援。     GThread     GMutex     GCond     附錄     GTK+ 2.0 Tutorial     GTK+ Reference Manual     GTK+ / Gnome Application Development     GTK+ and Glade3 GUI Programming Tutorial     GTK+ 2.0 Tree View Tutorial QT4     入門             先來嘗試一下幾個簡單的 Qt 程式,並初步了解一些核心特性。     Hello!World! Orz..     第一步,當然是先克服 Qt 的安裝問題,然後來個簡單的 Hello!World! Orz…     Windows XP/Vista 下安裝 Qt4     第一個 Qt 程式      簡單的顯示中文(使用 Unicode 轉換)     Signal 與 Slot     Signal 與 Slot 是 Qt 的特性,讓物件之間可以同步的(Synchronous)通知訊息,但又不必知道彼此,Signal 是由物件發出。     使用 Signal 與 Slot(使用按鈕關閉視窗)     使用 Signal 與 Slot(使用拉桿改變LCD數字)     自訂 Signal 與 Slot     事件處理     事件基本上是非同步的(Asynchronousd),通常由視窗或系統發出,讓應用程式可以回應使用者動作或系統訊息。     事件類型與處理者     事件接受與否、event() 方法     事件過濾器     自訂與傳送事件     基本版面配置     Qt 的三種基本版面配置類型為水平、垂直及格狀(Grid)配置。     QHBoxLayout 與 QVBoxLayout 版面配置     QGridLayout 版面配置     較複雜的版面配置     自訂版面配置管理員(Layout Manager)     其它     Qt 在發行時,本身即帶有豐富的參考文件與範例,為入門時的必看資料。     Qt 參考文件與範例     簡介 Qt Designer     常用圖型元件             元件講是講不完的,這邊主要在簡介幾個元件作用,想了解每個元件詳細使用方式, Qt 參考文件與範例 才是 王道。     按鈕選項     按鈕與選項是視窗程式中最基本的元件。     QPushButton     QCheckBox 與 QRadioButton     QComboBox     對話方塊     對話方塊用來與使用者作簡單的訊息交換與溝通。     QInputDialog 與 QMessageBox     QColorDialog 與 QFontDialog     QFileDialog     自訂對話方塊(Dialog)     文字欄位     文字欄位是使用者輸入資訊的基本元件。     QLineEdit     QTextEdit     清單元件     這類元件通常用於顯示項目清單,可以簡單的列示,或者是使用樹狀或表格等。     QListWidget 與 QListWidgetItem     QTreeWidget 與 QTreeWidgetItem     QTableWidget 與 QTableWidgetItem     Model 與 View 類別     版面元件     除了上面介紹的三種基本版面配置之外,還可以使用一些版面元件來協助元件的群組與版面的切割。     QTabWidget     QSplitter     QStackedLayout     QScrollArea     其它元件     簇繁不及備載…Orz…     QScrollBar     QTimer 與 QLCDNumber     QProgressBar     QWizard     QMainWindow     QMdiArea     QSplashScreen           常用 API             Qt 已經不只是個 GUI 框架,它提供豐富的 API,可作為撰寫應用程式的基礎。     QString、容器元件     QString 是常用的類別之一,擁有一些與容器類似的特性,而 Qt 提供了一系列的通用容器類別(Container class),使用上更輕量級且安全。     QString     循序容器(QVector、QLinkedList、QList…)     關聯容器(QMap、QHash…)     泛型演算(Generic Algorithms)     檔案處理     檔案輸入輸出是一個應用程式所必備的,藉由檔案的輸入輸出,也可以一同瞭解Qt的I/O處理。     QFile     QTextStream     QDataStream     QFileInfo 與 QDir     Qt 資源系統     資料庫     QtSql 模組提供與平台、資料庫無關的資料庫存取需求,在這邊使用 MySQL 作為示範。     Qt 的 MySQL  驅動程式     QSqlQuery     QSqlQueryModel 與 QSqlTableModel     繪圖     Qt  繪圖基於 QPainter,可於 QPaintDevice 的子類別上,進行幾何圖案、圖像、文字等繪製。     QPainter     QMatrix     QPixmap、 QBitmap、QImage 與 QPicture     QPrinter     拖放(Drag & Drop)與剪貼     拖放動作對於使用者是很直覺的操作,而剪貼簿可以方便使用者於不同的應用程式間分享資料。     拖放事件     拖放的執行與接受     剪貼簿(QClipboard)     網路     Qt 的網路模組提供網路存取時的高階與低階 API,基於非同步(Asynchronous)及 Signal 的行為。     QHttp     QFtp     QTcpSocket     QTcpServer     進階議題             進階議題就是比較進階的議題。。XD     多執行緒(Multithreading)     想要實作多執行緒功能,只要繼承 QThread 類別,單就表面上來看,執行緒並不困難。     QThread     執行緒的停止     QMutex 與 QMutexLocker     QWaitCondition     QReadWriteLock 與 QSemaphore      QThreadStorage     國際化(Internationalization)     讓您的應用程式可以因地制宜,顯示不同的語系文字。     使用 Unicode     翻譯應用程式     多國語系選擇與切換     附錄     Qt 4 初體驗     Ubuntu 下安裝 Qt 4.3.1     Qt Eclipse integration for C++     QDeveloper: Free cross-platform Development Environment for Qt4  JAVA     起步走         這邊的起步走需要的時間長了一些,因為慢一點才會快一點 …     Java 平台概論     Java 不僅是程式語言,也代表解決問題的平台,更代表了原廠、各個廠商、社群、開發者與使用者溝通的成果。     Java 版本遷移     JDK 規範與實作     JVM、JRE 與 JDK     JDK 安裝與認識     從 JDK 到 IDE     顯示 “Hello World” 很簡單,然而,別過於樂觀地以為,你想從事的程式設計工作就是如此容易駕馭。     PATH 是什麼?     JVM 與 CLASSPATH     編譯器與 CLASSPATH     管理原始碼與位元碼檔案     想像一下,如果程式規模稍大,一堆 .java 與 .class 檔案還放在一起,會有多麼混亂。     編譯器與 SOURCEPATH     使用 package 管理類別     使用 import 偷懶     JRE 與類別檔案版本     Java 語法基礎         各種程式語言都有其誕生的宗旨與演化過程,對這些基本語法元素,也就會有其獨有的特性。     型態、變數與運算子     我們先從型態開始探討….     型態     變數     運算子     型態轉換     流程控制     為了告訴電腦特定條件下該執行的動作,要使用各種條件式來定義程式執行的流程。     if..else、switch 條件式     for、while 迴圈     break、continue     認識物件             使用 Java 撰寫程式幾乎都在使用物件,要產生物件必須先定義類別。     類別與物件     類別是物件的設計圖,物件是類別的實例。     定義類別     使用標準 API 類別     物件指定與相等性     基本型態包裹器     瞭解如何包裹基本型態,這有助於進一步瞭解物件與基本型態的差別。     包裹基本型態     自動裝箱、拆箱內幕     陣列物件     陣列在 Java 是物件,之前介紹過的物件基本性質,在操作陣列時也都要注意。     陣列基礎     操作陣列物件     陣列複製     字串物件     在 Java 中,字串本質是包裹字元陣列的物件,是 java.lang.String 類別的實例。     字串基礎     字串特性     字串編碼           Java 物件導向             封裝、繼承、多型 … 以及用 Java 實現 …     封裝     定義類別並不等於作好了物件導向中封裝(Encapsulation)的概念,那麼到 底什麼才有封裝的意涵?     封裝物件初始流程     封裝物件操作流程     封裝物件內部資料     類別語法細節     討論過物件導向中封裝的通用概念,以及如何用 Java 語法實現,接下來要討論 Java 的特定語法細節。     public 權限修飾     關於建構式     重載     使用 this     static 類別成員     不定長度引數     內部類別     傳值呼叫     繼承與多型     並非為了避免重複定義實作就使用繼承。     繼承共同實作     多型與 is-a 關係     重新定義實作     抽象方法、抽象類別     繼承語法細節     結合 Java 的特性,繼承還有許多細節必須明瞭。     protected 成員     重新定義的細節     再看建構式     再看 final 關鍵字     java.lang.Object     再看抽象類別     介面與多型     什麼情況叫濫用繼承?介面代表的又是什麼?     介面定義行為     行為的多型     解決需求變化     介面語法細節     結合 Java 的特性,介面還有一些細節必須明瞭。     介面的預設     匿名內部類別     例外處理             程式中總有些意想不到的狀況所引發的錯誤。     語法與繼承架構     只要你能捕捉包裝錯誤的物件,就可以針對該錯誤作一些處理。     使用 try、catch     例外繼承架構     要抓還是要拋?     貼心還是造成麻煩?     認識堆疊追蹤     關於 assert     例外與資源管理     若因錯誤而拋出例外,你的設計是否還能正確地關閉資源呢?     使用 finally     自動嘗試關閉資源     java.lang.AutoCloseable     泛型、列舉、標註             就是介紹泛型、列舉、標註 …     自訂泛型     泛型定義可以相當複雜,用與不用有所取捨。     定義與使用泛型     靜態方法上的泛型     泛型的 extends     泛型的 super     自訂列舉     用列舉型態取代列舉常數。     使用 enum 列舉常數     瞭解 java.lang.Enum     進階 enum 運用     關於標註     對程式碼加些標註,給人看也給機器讀。     常用標準標註     自訂標註型態     讀取標註資訊     Lambda             新的語法、新的典範、新的能力與更重的責任。     Lambda 語法     有關 Lambda 前世今生,可參考 Java Lambda Tutorial,以下只從 Java 看 Lambda。     匿名類別與 Lambda     Lambda 表示式與函式介面     this 與 final     方法與建構式參考     Collection 與 Lambda     為了支援 Lambda,Collection 做了增強,因而你得先認識 Collection。     認識 Collection 架構     具有索引的 List     內容不重複的 Set     支援佇列操作的 Queue     Iterable 與 Iterator     介面預設方法     Comparable 與 Comparator     Functional API     源於函數式的概念,終於走進命令式的 Java。     使用 Optional 取代 null     Consumer、Function、Predicate 與 Supplier     使用 Stream 進行管線操作     Stream 的 reduce 與 collect     Optional 與 Stream 的 flatMap     Stream 與平行化     JDK9     淺談 Java 模組平臺系統     JDK9 總於可以拼圖了…XD     JVM 與 module-path     編 譯器與 module-path     編 譯器與 module-source-path     不可變的 Collection 與 Map     變不變有關係嗎?     淺談不可變特性     Collections 的 unmodifiableXXX() 方法     List、Set、Map 的 of() 方法     再談堆疊追蹤     臭蟲追追追….     取得 StackTraceElement     JDK9 的 Stack-Walking API     深入模組化     真的要模組化了嗎?啊啊啊…..XD     具名模組、未具名模組     顯式模組、自動模組     一般模組、開放模組(模組與反射)     模組與 ServiceLoader PYTHOM     起步走             從一些簡單的語法與型態開始,了解 Python 內建特性,這已經足夠讓你作不少運算了。     基本環境與互動     指令互動環境可以讓你隨時測試一些小程式,基本輸出入讓你了解如何以程式與使用者 互動並儲存結果。     指令互動環境     簡介模組     基本輸入輸出     內建型態與操作     常用的物件都是語法內建,語法簡潔且功能豐富。     數值型態     字串型態     字串格式化     串列     集合     字典     Tuple     變數、運算子與物件     Python 是動態語言,所有資料都是物件。     變數     運算子     物件與記憶體管理     陳述句     基本的流程語法不多,但可以作的事很多。     if 陳述句     for 與 while 陳述句     for 包含式(Comprehension)     try、raise 陳述句     函式、類別與模組             封裝演算、定義物件行為、組織程式元件。     函式     def 是陳述句,函式是物件。     def 陳述句     lambda 運算式     變數範圍     yield 產生器     類別     是物件的共同定義,也是個名稱空間。     定義類別     靜態方法、類別方法     特性名稱空間     特殊方法名稱     建構、初始與消滅     繼承     抽象類別     物件相等性     模組     是個檔案,也是個功能元件。     匯入模組     import、import as、from import     匯入套件     模組名稱空間           進階議題         一些知道會更好的東西。     例外     凡事有例外,有些是對的,有些是錯的,好好處理就是。     再看 try、raise     使用 assert     使用 with as     自訂例外     特性控制     物件上的特性不受控制嗎?其實你可以的。。XD     property() 函式     描述器     __slots__     __getattribute__()、__getattr__()、 __setattr__()、__delattr__()     修飾器     在不改變其它程式的前題下,增加程式的功能。     函式修飾器     類別修飾器     方法修飾器     Meta class     在建立 type 實例之前,你可以作一些有的沒的。。XD     type 類別     定義 meta class     再看抽象類別     參考資料     The Python Tutorial     Dive into Python3     Python 3 Primer, Part 1: What’s new     Python 3 Primer, Part 2: Advanced topics     Style Guide for Python Code Ruby     起步走           從一些簡單的語法與型態開始,了解 Ruby 內建特性,這已經足夠讓你作不少運算了。     基本指令與觀念     指令互動環境可隨時測試小程式,基本輸出入可了解如何與程式互 動並儲存結果。     irb 與 ruby 指令     load 與 require     基本輸入輸出     內建型態與操作     常用的物件為語法內建,初學者面對編碼可別混亂。     數值型態     字串型態     關於編碼     符號型態     陣列型態     雜湊型態     範圍型態     變數、操作與物件     所 有資料都是物件,+、-、*、/都是方法,訊息觀念為 Ruby 特色。     變數     操作方法     淺談物件、訊息與方法     流程控制     Ruby 擁有彈性的流程語法,特有的區塊觀念。     if 與 unless     while、until、loop 與 for     case…when…else     begin…rescue…ensure     方法、類別與模組           封裝演算、定義物件行為、組織程式元件。     方法     def 定義方法,可接收引數與程式區塊。     def 定義方法     迭代器與程式區塊     變數範圍     類別     是物件的共同定義,單例方法其實也有個匿名單例類別。     定義類別     特殊方法定義     單例方法、實例方法、類別方法     類別變數     關於 self     建構、初始與消滅     使用繼承     抽象類別與介面     物件相等性     模組     可抽離共通的功能實作,類別可動態地含括(include)模 組功能。     定義模組     堆疊擴充     再看變數範圍     再看 self     方法查找順序           進階議題             一些知道會更好的東西。     類別     類別是 Class 實例,Class 本身是類別,Object 上頭還有 BasicObject。     關於 Class     匿名單例類別     BasicObject     檢視物件     可執行物件     程式區塊不是 Proc,lambda 是 Proc 實例,必要時可將方法包裝為 Method 實例。     程式區塊與 Proc     使用 lambda     取得 Method     方法     還有一些方便的方法。     inherited、 included、extended 方法     *_missing、*method_added 方法     *eval 方法     參考資料     The Philosophy of Ruby     Ruby 1.9: It works!     Ruby Styleguide     RubyGems Guides Rails     起步走           自動化很方便,但底層細節更值得研究。     基礎觀念     從安裝到快速建立 CRUD,大致掌握 Rails 整體概念。     安裝 Rails     MVC 與 Rails     基本路由     基本 CRUD 程式     RESTful 與 Rails     關於編碼     基本請求、回應     處理請求與回應,是 Web 程式服務的開端。     params 與 request     讀取請求本體     render 與 redirect_to     respond_to 與 respond_with     head、headers 與 response     send_data 與 send_file     會話管理     HTTP 是無狀態協定,Web 程式記不得的資訊,你要主動告知。     隱藏欄位     Cookie     使用 session     session 原理     使用 flash     使用過濾器     關於畫面     回應頁面與資產的管理方式很重要。     樣版(Template)     版型(Layout)     輔助方法(Helper)     資產(Assets)     關於 ActiveRecord     Active Record 模式簡化了複雜度,內建的驗證機制很方便。     ActiveRecord 基礎     資料庫遷移     資料驗證     回呼與觀察者           進階           功能很多作個開頭,更多細節參考官方文件。     環境設定     進一步瞭解應用程式環境,雖是麻煩但總是必要。     專案環境     觀摩 Scaffold     RESTful 路由     簡介 plugins     簡介 Bundler     關於回應     要讓使用者看到想要的回應,總是有各種方式。     結合 Ajax     使用 ActionMailer     簡介 i18n     ORM 設定     無論如何,看到ORM還是很頭痛。     一對一關聯     一對多關聯     多對多關聯     多型關聯     單表繼承映射     測試     為了走更遠的路。     認識 Rails 測試     模型測試     控制器測試     頁面流程測試     郵件測試     參考資料     Ruby on Rails 實戰聖經     Rails 初上手指南     Ruby on Rails Guides (v3.1.3)     Ruby on Rails Documentation     Deploying Ruby on Rails is easy      常見程式演算     河內塔     費式數列     巴斯卡三角形     三色旗     老鼠走迷官(一)     老鼠走迷官(二)     騎士走棋盤     八個皇后     八枚銀幣     生命遊戲     字串核對     背包問題(Knapsack Problem)     雙色、三色河內塔     蒙地卡羅法求 PI     Eratosthenes 篩選求質數     超長整數運算(大數運算)     長 PI     最大公因數、最小公倍數、因數分解     完美數     阿姆斯壯數     最大訪客數     中序式轉後序式(前序式)     後序式的運算     洗撲克牌(亂數排列)     Craps 賭博遊戲     約瑟夫問題(Josephus Problem)     排列組合     格雷碼(Gray Code)     產生可能的清單     產生可能的清單(字典順序)     m 元素清單的 n 元素子清單     數字拆解     得分排行     選擇、插入、氣泡排序     Shell 排序法 – 改良的插入排序     Shaker 排序法 – 改良的氣泡排序     Heap 排序法 – 改良的選擇排序     快速排序法(一)     快速排序法(二)     快速排序法(三)     合併排序法     基數排序法         循序搜尋法(使用衛兵)     二分搜尋法(搜尋原則的代表)     插補搜尋法     費氏搜尋法     稀疏矩陣     多維矩陣轉一維矩陣     上三角、下三角、對稱矩陣     奇數魔方陣     4N 魔方陣     2(2N+1) 魔方陣     自產生程式(Quine)     Y Combinator     手動迷宮     簡易自動迷宮     隨機迷宮     你的程式夠 「亂」嗎?     遞迴、碎形與數學     來點不同的河內塔     電腦圖學入門     二維座標系     繪圖座標系     基本的二維座標轉換     太空船座標旋轉     三維座標系     創造物體的遠近感(透視)     三維直角座標之繞軸旋轉     齊次座標     四元數與旋轉     向量運算     函式圖形繪製     頂點索引陣列     無索引頂點陣列     正多面體頂點     水晶球頂點     旋轉體、錐狀體、柱狀體頂點     畫家深度排序     平面法線判定法     曲面法線判定法     最大最小法     Z Buffer法         色彩簡介     色譜簡介     表面的受光     二維海龜繪圖法     三維海龜繪圖法     科赫曲線     樹木曲線     蕨葉曲線     雪花曲線     龍形曲線     希爾伯特曲線     十字繡曲線     樹林與倒影     動畫簡介     動畫程式骨架     雙緩衝區繪圖     畫框檔案管理     捲軸背景     平面地圖     斜角地圖     迷宮(斜角地圖實例)     煙火     煙粒子     煙火與煙     

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦