Ebooks

Python is an object-oriented programming. Its important philosophy is summarized by PEP 20. Like


  ◎ Beautiful is better than ugly.

  ◎ Explicit is better than implicit.

  ◎ Simple is better than complex.

  ◎ Complex is better than complicated.

  ◎ And so on....


The most important philosophy is "simple". So


  ◎ Keep it simple.


When you write a Python program, the only thing you should keep in mind is the above sentence. But what is the meaning of "simple"? It is a good question, right? Simply speaking, the simple is a style and a thinking. That is to say, you should uses a direct, obvious and effective way to design a software using Python in any case.


This e-book will take you to learn programming with Python. Just like the cover's image, I want to take you to go up the stairs step by step and you also learn programming with Python by this way, step by step. I think you should slow down and experience what you should know about programming.


There are three parts of this e-book.


  ◎ Part One - Basics

  ◎ Part Two - Software Development

  ◎ Part Three - GUI


Part One brings together all the basic skills about Python you need to know. Part Two introduces the basic knowledge about software development. Part Three designs a graphical user interface using Tk of the standard library.


The purpose of this e-book is an introduction about programming with Python. You may need two or three months to study this e-book.


The main reference of this e-book are the following web pages and books.


  ◎ Index of Python Enhancement Proposals

  ◎ The Python 2 Tutorial

  ◎ The Python 3.4 Tutorial

  ◎ Beginning Python: From Novice to Professional

  ◎ How to Think Like a Computer Scientist: Learning with Python, 2nd Edition (Using Python 2.x)


This e-book is no advertising and best for reading on any mobile platform. If you have bought this e-book, thanks for your donating and let me continue to write new tutorials for beginners of programming. Thank you very much.


*** Update Information ****


In addition to change the cover of the e-book, I have also revised grammar and spelling errors of the e-book.


Kaiching Chang

2015/9/8

2015/11/30

Java 為熱門的程式語言之一,中英文學習資源都琳瑯滿目,無論是網路上免費的或是書店裡販賣的書籍,讀者可以找到各式各類的教材,目前中、英文學習資源都很豐富,無論是網路上免費的或是書店裡販賣的書籍,入門書籍方面,惟獨缺少直接帶領讀者學習開發軟體的教材,此亦本書的設計理念,希望藉由帶領讀者開發簡單的應用軟體,以此帶給讀者完整的軟體開發觀念。


本書分成三大部分,每一部分又分成 7 到 12 個單元


 ◎ 基礎篇

 ◎ 軟體開發篇

 ◎ GUI 篇


由基礎篇 12 個單元開始,帶領讀者利用 Java 官方編譯器編譯程式為位元組碼,並依序漸進熟悉 Java 的基本語法後,進入軟體開發篇 7 個單元,由常見的 MVC 開發模式先發展 M 的部分,也就是計算核心 Encrypt 類別,接著進入 GUI 篇 8 個單元發展 V 跟 C 的部分,也就是利用 NetBeans 開發 JavaFX ,最後將 M 、 V 、 C 組合成完整的圖形應用程式專案。


這樣的教學模式,其重點在引導讀者開發簡單的圖形介面程式,以期讀者能自動自發多做程式練習,所以本書特別適合高中到大一或程式設計的完全新手,至於語言細節或是程式設計的技巧,您可讀完本書最後一個「單元 27 - 下一步」後,再去找尋第二本書到第三本書繼續深入研究 Java 語言,因此本書是提供給完全初學者的第一本書,而非最後一本書。


電子書版本會隨 Java 版本進行更新,預計後續版本也會加入發展 Android App 的部分。


從一開始整理資料、打字、編輯、校稿等等完全由作者獨力進行,計有 28 篇文章及多個程式範例,寫書就像開發大型軟體一樣難免會有 bug (怕有不少 bug 說),若您發現本書的任何錯誤,敬請利用以下網頁回報


 ◎ 《Java 入門指南》V2.00 錯誤回報(Google 表單)


本書的主要參考資料有 Java 官方的教學文件


 ◎ The Java™ Tutorials


以及 Java API 官方提供的規格文件


 ◎ Java™ Platform, Standard Edition 8 API Specification


您不一定要購買這本電子書,若您願意花一點錢購買這份 V2.00 的電子書,感謝您以行動贊助作者持續開發程式語言教材,謝謝您 ^_^


更新資訊:本次更新主要為更換封面與訂正內容,以及將內文程式碼加上淺灰色背景。


更新資訊:加入「單元 24」遺漏的實作 newMethod() 部分,並更改內文按鈕的格式。


更新資訊:訂正內容及重寫「關於本書」。



張凱慶

2016/03/31

《Swift入門指南》適合程式語言的完全初學者,以軟體專案開發的模式引導學習,讓完全初學者從起步就對軟體專案開發有概略的認識,這本書除了 Swift 3 的語言基礎外,也涵蓋 Xcode 的基本教學,包括 Storyboard 、 Auto Layout 、 Core Data 及使用資源檔案等主題。


本書的目錄如下


封面

目錄

關於本書

基礎篇

* 單元 0 - 開始之前

* 單元 1 - 認識 Swift 語言

* 單元 2 - 變數、常數與資料型態

* 單元 3 - 變數命名規則

* 單元 4 - 運算式與陳述

* 單元 5 - 選擇

* 單元 6 - 迴圈

* 單元 7 - 函數

* 單元 8 - 列舉

* 單元 9 - 結構

* 單元 10 - 類別

* 單元 11 - 繼承與協定

* 單元 12 - 錯誤處理

* 單元 13 - ARC 與型態安全問題

軟體開發篇

* 單元 14 - Encrypt 類別

* 單元 15 - 實作 setCode()

* 單元 16 - 繼續測試

* 單元 17 - 修正後的數學公式

* 單元 18 - 編碼

* 單元 19 - 解碼

* 單元 20 - 重構

Mac OS App 篇

* 單元 21 - MVC 模式與新增 Cocoa 專案

* 單元 22 - 編輯 Storyboard

* 單元 23 - Outlet 與 Action

* 單元 24 - 整合 Encrypt

* 單元 25 - 存檔與載入

* 單元 26 - 完成版的英文小寫字母編碼器

* 開發練習 - macOS App 專案

iOS App 篇

* 單元 27 - 遊戲設計與新增 iOS 專案

* 單元 28 - iOS 的 Storyboard

* 單元 29 - 設計 Auto Layout

* 單元 30 - 關於 viewDidLoad()

* 單元 31 - 第二組 Scene 及 Controller

* 單元 32 - 儲存資料與切換到計分板

* 單元 33 - 完成版的還原句子遊戲與實機測試

* 單元 34 - 下一步

* 開發練習 - iOS App 專案

範例程式篇

* Encrypt.swift (除錯發展版本)

* Encrypt.swift (重購版本)

* ViewController.swift (Mac 版本)

* ViewController.swift (iOS 版本)

* ResultController.swift (iOS 版本)

出版資訊


「基礎篇」為介紹 Swift 語言基礎,所有往後「軟體開發篇」、「macOS App 篇」及「iOS App 篇」需要的程式設計知識及技巧都會在此篇說明。


「軟體開發篇」帶領讀者開發軟體功能核心,也就是 MVC 模式中的 M 部分,好在「macOS App 篇」及「iOS App 篇」直接跟 V 與 C 接軌。


「macOS App 篇」是利用「軟體開發篇」開發好的 M ,製作簡單的 macOS App ,最後的專案開發練習繼續製作其他四個 macOS App ,加深讀者的專案開發經驗。


「iOS App 篇」則是繼續利用「軟體開發篇」開發好的 M ,製作簡單的 iOS 小遊戲,最後同樣有專案開發練習,除了討論如何把 macOS App 移植到 iOS 上以外,也有一個全新 iOS App 專案練習。


所有的範例程式(包括專案開發練習)可以以下九個 GitHub 網址下載

https://github.com/kaichingchang/Swift-Guide-Code

https://github.com/kaichingchang/Swift-macOS-GuessGame

https://github.com/kaichingchang/Swift-macOS-CommonName

https://github.com/kaichingchang/Swift-macOS-MemoWord

https://github.com/kaichingchang/Swift-macOS-Cage

https://github.com/kaichingchang/Swift-iOS-GuessGame2

https://github.com/kaichingchang/Swift-iOS-MemoWord2

https://github.com/kaichingchang/Swift-iOS-Cage2

https://github.com/kaichingchang/Swift-iOS-PhotoPlayer



本書於 2017/08/12 更新為 V3.00 ,內容從 V1.21 的 207 頁增加至 402 頁。

這一份《速查手冊》中,我們先認識有關 C 程式 (program) 的基本概念,然後認識 C 語言的標記 (token) ,包括語法功能的關鍵字 (keyword) 、運算子 (operator) ,用為自訂功能的識別字 (identifier) ,以及常數 (constant) 等。


資料型態 (data type) 在程式語言 (programming language) 中是個相當基本的觀念,因為型態代表所處理資料可容許的範圍大小,也就是說某一種型態可以最大有多少值,最小可以有多少值,不同的型態也佔用不同大小的記憶體空間。


程式中最主要的工作便是進行計算,計算由運算子與運算元 (operand) 來負責。運算子與具有資料型態運算元構成運算式 (expression) ,不同型態可施行的運算子也有所不同。計算過程若是遇到不同資料型態的運算元便會啟動型態轉換 (type conversion) 的機制,分別有強制轉換與自動轉換的差別。


結構化程式設計 (structured programming) 為現代程式設計最核心的概念,這便由程式語言所提供的控制結構 (control flow) 來達成。選擇結構 (selection) 替程式提供分流,依條件 (condition) 選擇執行的項目,而重複結構 (repetition) ,也就是迴圈 (loop) 提供重複執行的方式,利用迴圈便可讓程式輕易重複某些工作。


C 語言亦提供其他衍生的資料型態,指標 (pointer) 可處理記憶體位址,陣列 (array) 為同質的資料型態,結構 (structure) 為異質的資料型態,聯合 (union) 則是早期 C 語言為有效利用記憶體空間的資料型態。


函數 (funcion) 也歸為 C 語言的衍生資料型態之一,同時函數也是 C 程式的執行單位,每個可執行的 C 程式都必須有個 main() 函數。


最後,我們討論有關宣告 (declaration) 、範圍規則、標頭檔、前置處理器,並簡介標準程式庫 (standard library) 等等的概念。


本書所有內容可到作者網站《C 速查手冊》預覽,該目錄頁亦有下載所有範例程式的連結。

《C 速查手冊》網址: https://kaiching.org/pydoing/c/c-manual.html


C++ 之所以名之為 C++ ,是因為 C++ 啟發自 C 語言,沿用許多 C 語言的語法,其最初與 C 語言最大的不同,就是 C++ 多了關鍵字 class ,使之可以設計類別 (class) ,從而進行物件導向程式設計 (object-oriented programming) 。


倒是 C++ 誕生之後, C 語言精簡的優點並沒有被 C++ 完全取代,兩個程式語言走向完全不同的道路, C 語言依舊適合開發跟硬體直接相關的應用,例如作業系統 (operating system) 或是韌體 (firmware) , C++ 則是保留 C 程式的效率,轉而作為多數應用程式的開發語言。


因此要學習 C++ ,在物件導向程式設計之前大多跟 C 語言相通,意思是同樣的語法,在 C 程式可以這樣用,利用 C++ 編譯器可以編譯通過,然而 C++ 程式如果用了 C++ 標準程式庫 (standard library) 的內容,這時候用 C 的編譯器就不見得能編譯通過,畢竟兩者依然是不同的程式語言。


GCC 編譯 C 程式的指令為 gcc ,編譯 C++ 的指令為 g++ ,這情況與 Objective-C 不同, Objective-C 是 C 語言的擴充,也就是在 C 語言的基礎上加上物件導向的語法,因此 GCC 編譯 Objective-C 程式的指令同樣為 gcc 。


本書中我們解構 C++ ,從基本概念開始,逐步講解 C++ 的標記、基本內建型態、運算式、控制結構、複合資料型態、函數等等,然後進入到 C++ 的主題,像是例外處理、類別、樣板、命名空間等等,最後初步介紹 C++ 的標準程式庫。


由於此份《速查手冊》中全部採用 C++ 標準程式庫的輸入輸出,因此需要使用 C++ 的編譯器編譯範例程式。


目前加入介紹 C++11 的標準,日後更新會再加入新的標準。


本書所有內容可到作者網站《C++ 速查手冊》預覽,該目錄頁亦有下載所有範例程式的連結。

《C++ 速查手冊》網址: https://kaiching.org/pydoing/cpp/cpp-manual.html

本書為提供 Python 程式語言語法查詢的字典書,主要依據官方 Language Reference 及 Library Reference 進行整理


The Python Language Reference: https://docs.python.org/3/reference/index.html

The Python Standard Library: https://docs.python.org/3/library/index.html


雖說只要看懂這兩份文件,初學 Python 就能掌握 Python 大部分包括標準程式庫的功能,可是兩份文件都缺乏詳盡範例,對程式語言的完全初學者就沒有那麼好掌握了。


本書基於此,重新整理這兩案文件,用讓完全初學者能懂的範例講解 Python 的基本概念,每一個範例都加上語法高亮度,並顯示在終端機介面的執行結果,有關本書所用語法高亮度可參考附錄 - 本書體例與語法高亮度。


亦由於字典書該有的特性,在「附錄 - 中英文術語對照及解釋」額外整理本書所有的術語及術語解釋,以期幫助完全初學者熟悉英文術語。


在本書編撰之前,作者亦曾整理過 Python 3.1 的資料,網址可拜訪作者教學網站


Python 3.1 快速導覽 - 目錄:https://pydoing.blogspot.com/2010/12/python-overview.html


另外有影音教學頻道 PYDOING


YouTube - PYDOING: https://www.youtube.com/c/PYDOING-Video


感謝您購買本書贊助作者持續開發程式語言教材,謝謝!


本書所有內容可到作者網站《Python 速查手冊》預覽,該目錄頁亦有下載所有範例程式的連結。

《Python 速查手冊》網址: https://kaiching.org/pydoing/py/python-manual.html

Python 為熱門的程式語言之一,中英文學習資源都琳瑯滿目,無論是網路上免費的或是書店裡販賣的書籍,讀者可以找到各式各類的教材,目前中、英文學習資源都很豐富,無論是網路上免費的或是書店裡販賣的書籍,入門書籍方面,惟獨缺少直接帶領讀者學習開發軟體的教材,此亦本書的設計理念,希望藉由帶領讀者開發簡單的應用軟體,以此帶給讀者完整的軟體開發觀念。


本書分成四大部分,每一部分又分成 6 到 13 個單元


 ◎ 基礎篇

 ◎ 軟體開發篇

 ◎ GUI 篇

 ◎ Django 篇

(書中的「關於本書」有學習路徑圖。)


首先是「基礎學習篇」,「基礎學習篇」的學習目標包括認識 Python 、怎麼處理資料、控制結構、模組化、物件導向及程式文件,這部分累計十三個單元,預計帶領讀者學會寫簡單的 Python 小程式,具備寫小程式的能力之後,就進入接下來的「軟體開發篇」。


「軟體開發篇」的學習目標為開發、測試、除錯及重構,這部分累計八個單元,目的是讓讀者了解完整的軟體開發概念及流程,同時開發往後「GUI篇」及「Django篇」的計算核心類別 Encrypt ,帶讀者深入了解如何設計類別,此後先進入「GUI篇」,利用標準程式庫的 GUI 模組 Tk 替計算核心設計視窗應用軟體。


「GUI篇」的學習目標為開發 Tk 應用軟體,以開發流程為主,首先介紹利用框架開發常見的 MVC 模式,連帶介紹建立簡單 Tk 程式的概念,接下來改用類別設計 GUI , Encrypt 為 M 的部分, V 的部分為 EncryptView ,而 C 的部分為 EncryptController ,簡單說, M 就是計算核心類別, V 為用 Tk 建立視窗的類別, C 則是負責溝通 M 與 V 的類別。


「Django篇」緊接在「GUI篇」之後, Django 是利用 Python 快速架設網站的第三方框架,框架的意思就是按照既定的模式就可以簡單完成架站的工作,毋需相關程式都要自行開發。同樣會把計算核心類別放到網站中運用,不過 Django 的開發概念為 MTV , T 取代 MVC 中的 V 為網頁樣板,V 取代 MVC 中的 C 作為溝通 M 與 T的 Python 程式,而 M 表示資料庫的部分,因此計算核心類別會額外加入,所有計算結果都會存入資料庫中。


每一個單元的最後都有「中英文術語對照」、「重點整理」、「問題與討論」及「練習」,其中「練習」在「軟體開發篇」會帶領讀者開發猜數字遊戲,到「GUI篇」會把猜數字遊戲移植到 Tk 上,「Django篇」會把猜數字遊戲變成網路應用程式。


所有範例程式都放在以下 GitHub 網站的網址


---- https://github.com/kaichingchang/Python-Guide-Code


這樣的教學模式,其重點在引導讀者開發簡單的圖形介面程式到簡單的網站,以期讀者能自動自發多做程式練習,所以本書特別適合高中到大一或程式設計的完全新手,至於語言細節或是程式設計的技巧,您可讀完本書最後一個「單元 34 - 下一步」後,再去找尋第二本書到第三本書繼續深入研究 Python 、 Tk 及 Django ,因此本書是提供給完全初學者的第一本書,而非最後一本書。


註:電子書版本會隨 Python 版本進行更新,目前介紹的是 Python 版本為 3.6 。


從一開始整理資料、打字、編輯、校稿等等完全由作者獨力進行,計有 43 篇文章,超過 80 個程式範例及 90 個練習,寫書就像開發大型軟體一樣難免會有 bug (怕有不少 bug 說),若您發現本書的任何錯誤,敬請利用以下網頁回報


《Python 入門指南》V4.00 錯誤回報(Google 表單)


本書的主要參考資料有

----Index of Python Enhancement Proposals

----The Python 2 Tutorial

----Beginning Python: From Novice to Professional

----How to Think Like a Computer Scientist: Learning with Python, 2nd Edition (Using Python 2.x)


您不一定要購買這本電子書,若您願意花一點錢購買這份 V4.00 的電子書,感謝您以行動贊助作者持續開發程式語言教材,謝謝您 ^_^


更新資訊

本次更新主要為更換封面與訂正內容,以及將內文程式碼加上淺灰色背景。


更新資訊

訂正內容及重寫「關於本書」。


更新資訊

加入「Django篇」及重訂內容。







張凱慶
2018/06/21


Udemy 課程 https://www.udemy.com/python-guide/

C++ 為熱門的程式語言之一,中英文學習資源都琳瑯滿目,無論是網路上免費的或是書店裡販賣的書籍,讀者可以找到各式各類的教材,入門書籍方面,惟獨缺少直接帶領讀者學習開發軟體的教材,此亦本書的設計理念,希望藉由帶領讀者開發簡單的應用軟體,以此帶給讀者完整的軟體開發觀念。


本書分成三大部分,每一部分又分成 10 到 13 個單元


- 基礎篇

- 軟體開發篇

- GUI 篇


由基礎篇 13 個單元開始,帶領讀者使用跨平台的編譯器 GCC 編譯程式,並依序漸進熟悉 C++ 的基本語法後,進入軟體開發篇 10 個單元,由常見的 MVC 開發模式先發展 M 的部分,也就是計算核心 Encrypt 類別,接著進入 GUI 篇 7 個單元發展 V 跟 C 的部分,使用 Qt Creator 及 Designer 設計圖形介面,最後將 M 、 V 、 C 組合成完整的應用軟體。


這樣的教學模式,其重點在引導讀者開發簡單的圖形介面程式,以期讀者能自動自發多做程式練習,所以本書特別適合高中到大一或程式設計的完全新手,至於語言細節或是程式設計的技巧,您可讀完本書最後一個「單元 33 - 下一步」後,再去找尋第二本書到第三本書繼續深入研究 C++ 語言,因此本書是提供給完全初學者的第一本書,而非最後一本書。


電子書版本會隨 C++ 及 Qt 版本進行更新,目前版本介紹的是 C++11 及 Qt 5.12 。


從一開始整理資料、打字、編輯、校稿等等完全由作者獨力進行,計有 44 篇文章、多個程式範例、 一個完整的 Qt 專案及超過一百個練習題,寫書就像開發大型軟體一樣難免會有 bug (怕有不少 bug 說),若您發現本書的任何錯誤,敬請利用以下網頁回報


《C++ 入門指南》V3.00 錯誤回報(Google 表單)

本書的主要參考資料有


- Ivor Horton's Beginning C++: The Complete Language (蔡明志譯本)

- C++ Primer 4/e (侯捷譯本)

- How to Think Like a Computer Scientist: C++ Version


另外知名的 cppreference.com


- cppreference.com


您不一定要購買這本電子書,若您願意花一點錢購買這份 V2.00 的電子書,感謝您以行動贊助作者持續開發程式語言教材,謝謝您 ^_^


本書所有內容可到作者網站《C++ 入門指南》預覽,該目錄頁亦有下載所有範例程式的連結。


更新資訊

本次更新主要為更換封面與訂正內容,調整程式碼字型到正常大小,以及將內文程式碼加上淺灰色背景。


更新資訊

訂正內容及重寫「關於本書」。


更新資訊

Qt 更新為 5.12 , Qt Creator 為 4.8.0 ,另外更新本書 CSS 及將範例改在 Windows 10 的 Visual Studio Code 執行及截圖,使用 Visual Studio Code 的版本為 1.30.2 。








張凱慶

2019/01/07

©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.