[PHP] PHP Web 開發環境與語言架構指南

Intro PHP – Wikipedia Engine Architecture – 架構 Zend engine Architecture (Reference) Web Ecosystem – 生態系 Installation – 安裝 PHP – Installation and Configuration Ubuntu APT可以參考Debian系列官網說明: PHP – Debian GNU/Linux installation notes LNMP/LEMP (Linux+Nginx+MySQL+PHP) Stack安裝可以參考: [Linux] Web Service環境安裝建置 by LNMP […]

[.NET][C#] Web 開發環境與語言架構指南

Intro .NET Framework 安裝 Visual Studio Community Download Visual Studio for Mac – IDE for macOS Quick Start 建議新專案.Template選擇Console Application預設C#,並選擇.NET Framework版本已建立專案。 進入專案IDE應將在Program.cs自動提供Hello World程式碼: using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine(“Hello World!”); } } […]

[Golang] Go Web 開發環境與語言架構指南

Intro Golang官方網站 WikePedia – Go語言 安裝 至官方下載頁面依據OS環境下載並安裝Golang: https://golang.org/doc/install 檢查Golang版本: $ go version Quickstart Tutorial: Get started with Go 在任一專案目錄下建立./hello.go: package main import "fmt" func main() { fmt.Println("Hello, World!") } 使用run指令快速直譯執行程式碼: $ go run . Go Modules – Package套件管理 Tutorial: Create […]

[Node.js] Node.js Web 開發環境與語言架構指南

Intro Node.js Wiki Node.js 採用 Google 開發的 V8 引擎執行 JavaScript 代碼,通過事件驅動、非阻塞/非同步輸入輸出模型提應用效能,適用於併發需求。 與其他語言最大的不同之處: 傳統語言(如 PHP)使用阻塞 I/O 模型: 只有前一條命令執行完畢才會執行後面的命令 Node.js 使用非阻塞 I/O 模型: 任務可以發送後即繼續執行其他操作,多條命令可以同時被執行,通過回調函式如 Promise 得知任務完成狀態 總之,Node.js 承襲了 JavaScript 的 Event loop 的特性,在單一執行緒架構下可以輕易實現非阻塞 I/O 任務併發應用 Promise.all() 在 Event loop 中的概念可以對應 Multithreading 中的 […]

[Java] Java / Spring Boot Web 開發環境與語言架構指南

安裝 | Quick Start | Package套件管理 | Logging | 開發工具 | Spring Boot Web | 部署 | Template Engine | Concurrency | Appendix Intro Java programming language JVM JVM (Java Virtual Machine – Java虛擬機),能夠執行Java位元組碼且以堆疊結構機器實做的虛擬機器。它有自己的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。 JVM 封鎖了與具體作業系統平台相關的資訊,使得Java程式只需生成在 JVM 上執行的目的碼(位元組碼),就可以在多種平台上執行。通過對中央處理器(CPU)所執行的軟體實作,實現能執行編譯過的Java程式碼 (Applet與應用程式)。 (References: […]

[WordPress] 基本架構與環境建置指南

Intro 目前PHP Blog套件首選 WordPress繁體中文下載: https://tw.wordpress.org/download/ 官方安裝實用指南: https://wordpress.org/support/article/how-to-install-wordpress/ PHP 相容 PHP 5.6以上 官方建議: https://wordpress.org/about/requirements/ 資料夾權限配置 官方文件: https://wordpress.org/support/article/changing-file-permissions/ 社群建議需要改為可寫入的資料夾: /wp-content /wp-includes 其中wp-includes是為了讓外掛(Plugin)自動更新而不用透過FTP設定,可能需要搭配以下設定。 /wp-config.php 增加下列常數並設定: define(‘FS_METHOD’, ‘direct’); StackOverFlow – Can I install/update WordPress plugins without providing FTP access?

[Apache] PHP + Apache 環境指南 (libapache-mod-php) on Ubuntu

Intro 雖然Nginx已經…如要架設Apache,可以使用Apache mod PHP去介接PHP(目前Apache不使用PHP-FPM)。 安裝 快速LAMP安裝檔 安裝Apache: $ sudo apt-get install apache2 安裝Apache mod PHP $ sudo apt-get install libapache2-mod-php PHP版本切換 Ubuntu Manpage: a2enmod, a2dismod Ubuntu系列使用Aapche指令工具a2dismod與a2enmod切換,省去修改零散設定檔。基本上版本支援已裝的libapache2-mod-php各版本: $ sudo a2dismod php7.0 $ sudo a2enmod php5.6 Apache MOD PHP 設定要至/etc/php/apache2/ Server執行使用者 Apache […]

[Discuz!] 基本架構與環境建置指南 – Discuz!X系列

Intro 原官方網站(Deprecated)目前似乎只介紹到X3.2版本,可以參考Discuz! G雲碼專案或官方論壇,同期已經到x3.4。 各版本Github下載: yidas/discuzx-release PHP 相容 x3.2含以前支援PHP 5.6,不支援PHP 7.0以上 x3.3支援PHP 5.6 / 7.2 升級版本 版本間升級請查詢Discuz!官網確認,以下說明基於Discuz!X系列套件: 查看目前版本 Discuz!X系列版本PHP檔案位置:source/discuz_version.php UCenter版本PHP檔案位置:uc_server/release/release.php 升級版本節點 以下為Discuz升級的版本節點,版本升級範圍只能在每個節點區間內進行,無法一次性跨越升級: 7.2 => X2.0 X2.0 => X3.2 X3.2 => X3.4 目錄與檔案保留 Discuz!X 論壇主程式:覆蓋 repo (程式碼檔案) 後,主程式工具包中 utility/update.php 複製到 repo ./install/ […]

[NodeJS] NodeJS Guide – 基礎環境指南

Intro NodeJS官網 各平台依照指示下載安裝即可。 Get Started 安裝NodeJS:Debian/Ubuntu Installation instructions 撰寫一個app.js檔for web: How do I start with Node.js after I installed it? 按照上述,$ node app.js運行web server。 訪問http://127.0.0.1:3000/,也可以改hostname為內外網IP對外測試。 反向代理 Reverse Proxy 可以使用nginx做反向代理NodeJS App,如上述3000port本地web app,nginx反向代理設定範例如下: server { listen 80; server_name _; location / { […]