東南科技大學 - easywin.com.t技術、薄膜工程、熱流量測分析技術、電腦輔助應用技術 乙、機電整合及控制領域:機電系統整合技術、微機電技術、光電
淡江大學 - 網站開發應用技術及雲端應用技術
-
Upload
taien-wang -
Category
Technology
-
view
2.291 -
download
3
description
Transcript of 淡江大學 - 網站開發應用技術及雲端應用技術
如果你還找不到一個目標
• 看一下流行趨勢
– http://www.alexa.com/topsites/category
• App Store 排行榜
• 各比賽的得獎作品
• …
當今網路常用技術
層次 系統
直譯程式語言JavaScript, Node.js, Coffee Script
Python, Ruby, PHP, Perl, VB
編譯程式語言 C#, VB .NET, Java, Object-C
程式語言 ASM, C/C++
資料庫關聯式資料庫: Microsoft SQL Server, MySQL, Orcale
NoSQL: MongoDB, CouchDB, Redis, Memcahced
PHP
• 原稱 Personal Home Page
• 1997: PHP: Hypertext Preprocessor
• 腳本語言(Script Language)
• 伺服器端執行(Server side)
• 可內嵌於HTML(HTML-embedded)
• 可以 命令列(CLI)執行, 或產生圖形化(GUI)介面
• 目前最新版本為 5.5.7
– 支援 finally
– foreach 支援 list
– generator
– constant array/string dereferencing
• 跨平台, 效能差
• C語言基礎
• 硬體需求低
• 原始碼公開
PHP
• 硬體需求高
• 要有 JAVA 基礎
• 效能較好
• 大型平台, 軟體採用
JSP
•微軟平台
• C#, VB.NET, J#..
•功能多, 但要了解才
能運用
ASP.NET
PHP vs JSP vs ASP.NET
• 網頁設計基礎
– 表格切版, CSS切版, 前端 JavaScript 控制
• 程式基本起手式與語法
• 上傳檔案
• SQL 指令
– CRUD
– 新增, 查詢
– 修改, 刪除
• 影像操作
開發相簿要具備哪些技能
樣板引擎 – 簡介(1/2)
資料來源:
http://www.php5.idv.tw/documents/smarty20031225/
M-V-C一般應用(1/2)
Model View
Controller
Browser
Dispatcher
Routes
Web Server
MySQL一有錯誤丟出例外
統一處理錯誤
統一處理客戶端安全問題XSS, CSRF…
統一處理伺服器安全問題SQL, 命令注入…
M-V-C進階(1/2)
Model View
Controller
Browser
Dispatcher
Routes
Web Server
Business
Data Object
Data
MySQL Cache
PHPLib’sTemplate/Smarty/
Savant…
網站常遇到的問題 – 解法(1/2)
• 網站遇到大流量怎麼辦?
– PHP 程式碼快取(OPCACHE, APC)
– 程式碼快取
– 資料快取
– 考慮 CDN(Akamai, 网宿, Amazon S3)
• 資料庫連線數不夠
– 透過快取減少資料庫連線
– 用完即關或考慮連線池
– 如果是 MySQL 考慮升級 MySQL 企業版
• 資料庫速度不夠與資料太多
– 讀寫分離
– 主從複製(Replication)與分片Sharding
– 拆庫與拆表
網站常遇到的問題 – 解法(2/2)
• 網站上傳圖圖片要當場縮圖影響前端回應
– 批次處理
– 任務伺服器(job server: gearman…)
• 聊天室可以再更即時嗎
– TCP/UDP
– Websocket
– Advanced Message Queuing Protocol, AMQP
– …
網站常遇到的問題 – 未雨綢繆高擴展性網站的50原則(1/2)
• 第1章 化簡方程
– 原則1:不要過度設計
– 原則2:設計時就考慮擴展性(DID方法)
– 原則3:把方案一簡再簡
– 原則4:減少DNS查找
– 原則5:盡可能減少對象
– 原則6:使用同一品牌的網絡設備
• 共有12章
• …
高層次的網路架構
Internal Networks
Demilitarized Zone (DMZ)
Compute Resource Pool (Virtualization)
Systems Server Farms
Networking Component
AP Dispatcher Clusters Static File Gateway Clusters
Storage Resource Pool
Firewall
Load Balance Devices
Management & Monitor Center
雲端運算五大特色
• 多租戶(Multitenancy)
• 巨大的擴充性(Massive scalability)
• 靈活性(Elasticity)
• 用多少付多少(Pay as you go)
• 自我提供其他資源(Self-provisioning of resources)
Multi-tenant hosting farm
Company A
PeopleEnterprise Metadata
Search
Services
Excel Calculation Services
Word Services
PowerPoint
NotpartitionedPartitioned services
Company B Authenticated sites (collaboration) Anonymous Internet sites (published)
Company C Company D Company E
Business Data Connectivity
Word Services
InfoPath Access Services
Subscription Settings Service
Word Viewing
Company C Company D Company E