課程內容
免費編程課系列 (1) : LAMP Stack
何謂LAMP Stack? Web 應用程式的開首十年,大多開發者均使用 LAMP 堆疊來回應 Web 瀏覽器的請求,這是最傳統建置網站的方法。所謂堆疊,是指用於建置、管理和執行web應用的一組程式軟體,以支援應用程式的視覺呈現、資料庫、聯網和安全。 LAMP 堆疊包含四種軟體技術,這些技術在後台共同協作,以建立可執行的 Web 應用程式,LAMP 架構由以下四個部份組成。 1)Linux Linux 是一個開放原始碼作業系統,是堆疊的第一層,支援上層的其他元件。 2)Apache Apache 是一個開放原始碼 Web 伺服器,構成 LAMP 堆疊的第二層,Apache 模組可存放網站檔案,並透過使用 HTTP 的瀏覽器交換資訊。 3) MySQL MySQL 是開放原始碼關聯式資料庫管理系統,這是 LAMP 堆疊的第三層。LAMP 模組使用 MySQL 來存放、管理和查詢關聯式資料庫中的資訊。 PHP PHP 是一倜超文字預處理器,是 LAMP 堆疊的最後一層,它是一種指令碼語言,可讓網站執行動不斷變化的軟體資訊。 要注意的是,Web 開發人員通常會將 PHP 程式設計語言內嵌於 HTML 中,亦即撰寫在同一頁面上,以便在網站上顯示即時或更新的資訊。, 當您在瀏覽器中開啟網頁時,LAMP 堆疊將執行以下程序; 1)接收請求 Apache Web 伺服器會從瀏覽器接收傳入的請求。如果請求載入靜態檔案,Apache 伺服器會直接回應適當的內容。如果請求是針對動態內容,Apache 伺服器會將請求傳遞給 PHP 元件,PHP 元件會尋找並載入可處理請求的相應 PHP 檔案。 2)處理請求 PHP 檔案包含 PHP 函數,這是用於產生動態內容的程式碼,PHP 元件可處理 PHP 函數,如轉換測量單位或建立銷售圖表;若某些 PHP 函數可能需要來自資料庫的資訊,PHP 程式碼會從資料庫中擷取存放的資訊,並將其用於處理該函數。 3) 傳回回應 PHP 將運算結果以 HTML 格式傳遞至 Web 伺服器Apache,而後者的HTTP 伺服器會將動態 HTML 結果傳送至使用者的瀏覽器,同時,還會將新資料存放在 MySQL 資料庫中。 以下課程,將為大家展現以上整個堆疊的細節。
0/83
免費編程課系列 (2): WordPress
何謂WordPress? WordPress 是一個以LAMP stack 為底層的網站內容管理框架,再加以其自身所用的php 程式編寫而成的軟體框架。WordPress 最初為方便開發者建置blogger 網貼,但其後的發展,愈來愈多plugins 可相配合;基本上,當下任何Web 愈用的功能,都可以藉WordPress 完成。 WordPress的核心軟體本身是開源免費的,由 WordPress.org 和廣大程式開發者維護更新,並它不屬於任何一家公司,供開發者免費所用; 加上 WordPress 每過一段時間,就會釋出新版本,確保了網站安全性的持續進化! 要注意的是,要下載免費版Wordpress ,可到wordpress.org 下載;至於wordpress.com 則有專人團隊提供維護和客服,是收費版。 使用WordPress 最具彈性的方法,就是開發者可使用LAMP 的相關程式語言,再配合WordPress 內置的php程式自建主題,本課程就是以此為基,開發一個自媒體網站。
0/64
免費編程課系列 (3): JAM Stack
由LAMP Stack 到 JAM Stack ——— 傳統架構前後端之分離 傳統網站的堆疊方法「LAMP Stack」,是前後端程式也在同一頁面上(試想想index.php 這頁面),然後放在伺服器等待使用者透過瀏覧器作出頁面的要求。當使用者開啟 Web 的某網站時,伺服器會產生顯示相關HTML 之頁面,然後將這些頁面傳送給使用者。 這個過程是相當緩慢的,在使用者可以檢視這些頁面之前,他們必須等待後端應用程式執行和產生 HTML,以及等待 HTML 到達他們的裝置。 JAM Stack 在這方面改善了速度,為使用者帶來更快的使用者體驗和為開發者帶來更簡單的建置網站的方法。 J 代表JavaScript,是 Web 應用的程式設計語言。 A 代表API(應用程式程式設計介面),是一種從第三方應用程式要求資料的方法。 M 代表Markup ,是為瀏覽器提供格式化指令的代碼(HTML 和 CSS)。 在 JAMstack Web 應用程式中,會預先建立好HTML 和 CSS 標記代碼,並儲存在內容傳遞網路 (CDN) 中;不同於在伺服器端執行一個單一的後端應用程式來產生動態內容,此類應用程式的動態元件是基於 API,而JavaScript 則負責呼叫 API。 比方說,使用 JAMstack 方法建置Web 應用程式,開發者不用編寫整個後端應用程式,而是建立了一系列靜態且輕量級的 HTML 頁面,並將其儲存在 CDN 中。當使用者開啟應用程式時,CDN 會立即將相應的 HTML 頁面交付給使用者,因為 CDN 比網站的伺服器更接近使用者,再配合呼叫 API 來渲染動態資料,載入的速度較快。 而從開發者角度看,亦省卻了大量編寫後端程式代碼的工作。 本課程的重心就是讓大家深入了解這網站建置的進化過程。
0/115
免費編程課系列 (4): Backend Programming – Node.js and Express.js
Node.js 與Express.js 的前因後果 JavaScript本為前端頁面的腳本程式語言,以JavaScript 寫出的程式,用戶須在瀏覽器上執行,故此,JavaScript的採用多在前端的程式開發。 2009年,美國軟件工程師瑞安·達爾,以Javascript 和 C+,結合了Google的V8、事件驅動模式和低階I/O介面,編寫了Node.js ,令JavaScript 的應用,跳出瀏覽器,在用於侍服器的終端上;換言之,自Node.js 的出現,JavaScript已不只用於前端編程,亦可應用於後端開發。 Node.js 含有一系列內建模組,如 HTTP 模組,使建置網站脫離 Apache HTTP Server ,令伺服器能獨立於前端,兩者能分離運作。 Node.js 可視作為一個微型作業系統,在執行環境中(runtime environment)運作,發展至今日,Node.js 已是很多前後端框架的執行環境,前端就有Angular.js 、React.js和Vue.js等等。 而後端的應用,因Node.js的modules 極有限,不敷應用於現實各種商業邏輯,於是便有Express.js 的出現,它是Node.js的web應用框架,除了簡化一些Node.js 原有功能的編程外(如HTTP modules),亦提供更多物件和方法處理較複雜的商業應用,彌補了Node.js 的功能不足。 自Node.js 和Express.js提供了完善的後端開發方案,能創造API 給前端所用後,Javascript的網站堆疊方法就再不局限於LAMP Stack ,過往十多年出現多樣化的框架組成,如MEAN Stack 和JAM Stack 等等,可真如雨後春筍,令編程者有更多的堆疊選擇。
0/103
免費編程課系列 (5): Backend Programming – Django_Product API
0/94
免費編程課
Exercise Files
blog.zip
Size: 747.00 B