SlideShare a Scribd company logo
1 of 66
Download to read offline
給你一個使用 Laravel 的理由
shengyou @ PHP 也有 Day (2014.07.03)
本日主題
• PHP 近期現況、更新進展
• PHP 框架綜覽及框架選擇決策
• 選擇 Laravel 的原因
• 10 個步驟簡介 Laravel 開發流程
• Laravel 學習、開發資源
• Q&A 交流
范聖佑
@shengyou
https://www.facebook.com/shengyoufan
得寬科技 研究員
Laravel 台灣 版主
laravel-dojo 作者
壞
好
• 易於安裝、 署、學習
• 使用者 、套件多
• 函式太多、語法不一致
• 效能不彰
• PHP 5.3
• Namespaces
• Closures
• PHP 5.4
• Square bracket array syntax
• Built-in web server
• Traits
• PHP 5.5
• Generators
• PHP 5.6
• PHPNG
新‧PHP
跟上時代潮流
• 為什麼 PHP 不再是個爛東西?
• Grant Lovell
• 如何成為更好的 PHP 開發者?
• 大澤木小鐵
框架綜覽
框架選擇決策
• 官方有大神領頭開發
- 開發方向跟著大環境趨勢
- 定期更新、安全性升級
- 官方背後有商業公司支援
• 傳教士多
• 社群大、生態系完整
選用 Laravel 的原因
• 作者定期發 新版
• 簡單、清楚、自我表達的框架元件
• 官方文件齊、相關學習資源完整
• 傳教士、社群大
• 套件多、生態系完整
Laravel Framework
• 由 Taylor Otwell 主導開發,目前 4.2 版:
- 參考 Ruby on Rials、ASP.NET MVC 及
Sinatra 的語法和架構,且大量使用
Symfony 元件
• 核心理念:
- 簡單優美的語法,讓開發者愉快的 PHP
框架!
十個步驟了解 Laravel
1.Installation
2.Artisan
3.Configuration
4.Migration
5.Model
6.Seeding
7.Route
8.View
9.Controller
10.Packages
開發環境需求
• PHP (PHP 5.4 與 mcrypt extension)
• Composer
• 網頁伺服器
• 資料庫 (與 Client App)
• 編輯器 / IDE (與版本控制 Client App)
• 瀏覽器
★ 參考:http://laravel.com/docs/installation#server-requirements
如何建立開發環境
• 使用 all-in-one 套件 (初學者)
• 使用官方 homestead (已熟悉 laravel 者)
• 自建開發環境 (進階者)
1. Installation
• 三種方式:
- laravel-installer
- composer
- manual install
★ 參考:http://laravel.com/docs/installation
建立新專案 - installer
http://youtu.be/RPHB1efVC4c
建立新專案 - installer
http://youtu.be/RPHB1efVC4c
建立新專案 - composer
http://youtu.be/qXAGkmyMZQY
建立新專案 - composer
http://youtu.be/qXAGkmyMZQY
2.Artisan
• $ php artisan {command}
• Laravel 專屬的指令列工具,協助我們完成
日常繁瑣工作事務,如:
- 產生 auto-load、清快取、最佳化
- 產生 migration、控制 queue
- 維護模式
★ 參考:http://laravel.com/docs/artisan
Artisan 示範
http://youtu.be/b6oC0rBCV6A
Artisan 示範
http://youtu.be/b6oC0rBCV6A
3. Configuration
• app/config/{config}.php
- app.php (debug mode, service provider...)
- database.php (mysql...)
- mail.php (gmail, mailgun...)
- queue.php (beanstalkd...)
• 伺服器 root 指向 public
★ 參考:http://laravel.com/docs/configuration
開發流程
• 不同階段的開發流程
[development]
開發用、測試用
[local]
本機端開發
[staging]
階段性發
[production]
正式上線
每個開發夥伴本機端
獨立開發,開發完成
後送回版本控制系統
[version control]
原始碼管理
定期從版本控制系統
取出後,進行整合、
單元等測試
專案階段完成後,進
行階段性發 ,給客
戶測試、確認
所有階段完成後 署
至正式主機,對外公
開使用
Laravel 自動環境偵測
• bootstrap/start.php
• ~$ hostname
★ 參考:http://laravel.com/docs/configuration#environment-configuration
載入環境設定
• app/config/{environment}/*.php
- Laravel 會自動根據目前的環境,載入對
應的設定 ,覆寫預設設定
• .env.{environment}.php
- Laravel 4.1整合 phpenv 套件,直接將環
境變數載入後,覆寫預設設定
★ 參考:http://laravel.com/docs/configuration#protecting-sensitive-configuration
Configuration 示範
http://youtu.be/KoDhsHsFyeU
Configuration 示範
http://youtu.be/KoDhsHsFyeU
4. Migration
• 多人開發時困擾
- 每人的開發階段不同、 DB 狀態也不
同,整合時無法知道差異
- 若直接修改 DB 沒有紀錄也沒辦法回復
• 解決方案:導入 Migration
何謂 Migration?
• app/database/migrations/{migration}.php
- 所有對 DB 操作的動作,都 寫對應的
程式碼來完成 (Laravel Schema builder)
- 分成 up/down (前進/後退)
- 每個人拿到更新版本後,透過執行
migrate 就可以有相同的 DB 結構,若有
問題也可以 rollback 回之前的狀態
★ 參考:http://laravel.com/docs/migrations
Migration 示範
http://youtu.be/073jUf975Sc
Migration 示範
http://youtu.be/073jUf975Sc
5. Model
• app/models/{model}.php
- Laravel 裡操作 DB 的 ORM 是 Eloquent
- 一個 resource 對應到 DB 裡的一個 table
- 一個 model 對應到 table 裡的一個 row
- model 是單數、table 是複數
- 從 Eloquent 取出來的東西是 Collection
Model 示範
http://youtu.be/hbqu1vhy9GI
Model 示範
http://youtu.be/hbqu1vhy9GI
6. Seeding
• app/database/seeds/{seeder}.php
- 在開發時,往往會需要資料來做顯示、
刪除來測試程式,但資料的內容不必是
真的,但自己建太累了…
- 透過 Laravel 的 table seeder,可以快速
的將假資料倒進資料庫,方便開發
CRUD 種以資料操作為主的功能
★ 參考:http://laravel.com/docs/migrations#database-seeding
Seeding 示範
http://youtu.be/LsMd8v44Q8o
Seeding 示範
http://youtu.be/LsMd8v44Q8o
Seeding with faker 示範
http://youtu.be/70shV6KOcHM
Seeding with faker 示範
http://youtu.be/70shV6KOcHM
7. Route
• app/routes.php
- Route 就是 App 一條一條的門禁規則,
規則內指定每一個路由可以接受的動作
(GET、POST) 及需要傳入的參數
- 從上而下逐一比對。符合就會執行、若
找不到就會回傳 404 (Not Found)
- 可搭配 group、prefix、namespace、sub-
domain 做彈性設計 ★ 參考:http://laravel.com/docs/routing
Route 示範
http://youtu.be/mYMnh4kpkbU
Route 示範
http://youtu.be/mYMnh4kpkbU
8.View
• app/views/{view}.blade.php
- 基於 Response 物件,回傳 HTML 頁面
內容,並結合專屬的樣板引擎 Blade,方
便動態的產生內容
- Blade 可透過繼承主板、覆寫區塊、擴充
元件做彈性組合
★ 參考:http://laravel.com/docs/responses
View 示範 (home)
http://youtu.be/U62hH76XJ5U
View 示範 (home)
http://youtu.be/U62hH76XJ5U
View 示範 (show)
http://youtu.be/2ZyjH3DstsA
View 示範 (show)
http://youtu.be/2ZyjH3DstsA
9. Controller
• app/controllers/{controller}.php
- 將複雜的程式操作邏輯,從 Route 搬到
Controller 以 Class 的方式進行分類以利
維護
- Controller 本身即 IoC Container,可自
動 dependency injection
★ 參考:http://laravel.com/docs/controllers
Controller 示範
http://youtu.be/zRRSr9pqEk8
Controller 示範
http://youtu.be/zRRSr9pqEk8
10. Package
• Package 簡單來說就是 Laravel 的擴充程
式,透過安裝 Package 就可以直接使用別
人寫好的功能,加快開發速度
• 在 3.0 時叫 Bundle,4.0 以後改稱 Package
• 概念同 Symfony 的 Bundle;Rails 的 Gems
何處尋找 packages?
• 搜尋引擎:
- Laravel Packages Registry
- Packalyst
• 聽 大神/同事/朋友 的推薦
• 看別人的 Open Source 裡用 些?
更多清單可參考:http://www.laravel-dojo.com/recommend-packages
如何選擇 package?
• 參考 Package 搜尋引擎上的 Downloads、
Trust、Popularity 等數值做參考指標
• 看 Package 的作者是誰?
• 聽別人的推薦、部落格的介紹
• 多試幾個同類型的 Package,找出最順自
己手的來用
如何安裝/使用?
• 仔細閱讀 README (確認版本、規格)
• 調整 composer.json / composer update
• 設定 ServiceProvider、Alias (視需求)
• Publish 設定 (視需求)
• Migrate DB (視需求)
以 Sentry 2 為例:https://cartalyst.com/manual/sentry#installation
Laravel 學習資源
• 官方文件
• 參考書籍
• 論壇
• 電台 (Podcast)
• 影片教學 (Screencast)
Laravel 官方文件
• http://laravel.com/docs
- 由官方推出的文件,共分 Guide 及 API
兩種型式,依需求使用
- 推薦使用 Dash 或 devdocs.io 做離線查尋
用工具,方便開發使用
Laravel 參考書籍
• Laravel: Code Bright
- 由社群知名作者 Dayle Rees 所 寫的
Laravel 教學書,推薦入門使用
• Laravel: From Apprentice To Artisan
- 由框架作者 Taylor 親自操刀,說明
Laravel 核心原理及擴充技巧,較適合進
階的開發者閱讀
更多清單可參考:http://www.laravel-dojo.com/books
Laravel 論壇
• Laravel.io (http://laravel.io/forum)
- 由社群自主開發、維運的論壇
- 除了論壇功能外,也提供 Pastebin、IRC
聊天室等功能
- 大神級人物不定時出現!追星好地方!
Laravel 電台
• Podcast (http://www.buzzsprout.com/11908)
- 由社群所成立的 Laravel Podcast,不定
期發行,目前共有 15 集
- 每一集邀請社群內大神級人物線上聊新
聞、開發心得以及…各式八卦,歡迎訂
閱練聽力!
更多清單可參考:http://www.laravel-dojo.com/worth-to-subscribe
Laravel 影片教學
• laracasts.com
- 由 Jeffrey Way 所創立的 Laravel 線上教學
品 ,採訂閱式付費服務
• tutsplus.com
- 知名線上教學網站,部份內容免費;部
份進階內容採單買或訂閱式付費
更多清單可參考:http://www.laravel-dojo.com/screencast
Laravel 台灣
• 中文化官網 (http://bit.ly/twlaravel)
- 目前提供官方文件翻譯
- 歡迎有志之士 fork 回去協助翻譯工作!
• FB 社團 (http://bit.ly/laraveltwfb)
- 不定期分享 Laravel 新聞、教學、討論
- 歡迎加入社團討論!
Laravel Dojo (道場)
• @LaravelDojo (http://bit.ly/laravel-dojo)
- 提供 Laravel 學習資源為主題的教學網
站,不定期更新 Laravel 相關內容
- 未來預定結合讀書會活動,鼓勵社群內
成員彼此交流、切磋實戰技術
- 歡迎加到定期追蹤清單!
總結
• 使用新版本、好框架、新的開發流程及工
具,讓你跟著 PHP 一起升級!
• Laravel 的框架特色及開發流程
• Laravel 的學習資源及社群
• 希望 些能說服你使用 Laravel!
還是說服不了你…
• 考慮其他的 framework ? 裡還有:
- Symfony (@Ricky Su)
- yii (@KeaNy)
- Phalcon (@Rack Lin)
- 自建 framework (@c9s)
• 歡迎多到 PHP 台灣、PHP 也有 Day 討論
Q & A
Thanks for listening!
簡報下載
• 當日錄影:http://youtu.be/nMDNWXZ65aQ
• 投影片:http://bit.ly/VJJzdB
• 示範影片:http://bit.ly/1mqcEpg
• 示範原始碼:http://bit.ly/1vE8ji2

More Related Content

What's hot

[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者Shengyou Fan
 
Model 設定與 Seeding
Model 設定與 SeedingModel 設定與 Seeding
Model 設定與 SeedingShengyou Fan
 
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎View 與 Blade 樣板引擎
View 與 Blade 樣板引擎Shengyou Fan
 
開發環境建置
開發環境建置開發環境建置
開發環境建置Shengyou Fan
 
應用程式佈署
應用程式佈署應用程式佈署
應用程式佈署Shengyou Fan
 
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅Shengyou Fan
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定Shengyou Fan
 
Model 設定與 Seeding
Model 設定與 SeedingModel 設定與 Seeding
Model 設定與 SeedingShengyou Fan
 
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹Shengyou Fan
 
wagon - 免安裝可攜的 Laravel 開發環境
wagon - 免安裝可攜的 Laravel 開發環境wagon - 免安裝可攜的 Laravel 開發環境
wagon - 免安裝可攜的 Laravel 開發環境Shengyou Fan
 

What's hot (20)

課程簡介
課程簡介課程簡介
課程簡介
 
工作坊簡介
工作坊簡介工作坊簡介
工作坊簡介
 
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
 
Model 設定與 Seeding
Model 設定與 SeedingModel 設定與 Seeding
Model 設定與 Seeding
 
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
 
Route路由控制
Route路由控制Route路由控制
Route路由控制
 
使用者認證
使用者認證使用者認證
使用者認證
 
開發環境建置
開發環境建置開發環境建置
開發環境建置
 
驗證與訊息
驗證與訊息驗證與訊息
驗證與訊息
 
應用程式佈署
應用程式佈署應用程式佈署
應用程式佈署
 
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅
 
使用 Controller
使用 Controller使用 Controller
使用 Controller
 
工作坊總結
工作坊總結工作坊總結
工作坊總結
 
使用 Controller
使用 Controller使用 Controller
使用 Controller
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
 
Model 設定與 Seeding
Model 設定與 SeedingModel 設定與 Seeding
Model 設定與 Seeding
 
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
COSCUP 2016 Laravel 部署工作坊 - 生態圈介紹
 
wagon - 免安裝可攜的 Laravel 開發環境
wagon - 免安裝可攜的 Laravel 開發環境wagon - 免安裝可攜的 Laravel 開發環境
wagon - 免安裝可攜的 Laravel 開發環境
 
Eloquent ORM
Eloquent ORMEloquent ORM
Eloquent ORM
 
Route 機制
Route 機制Route 機制
Route 機制
 

Viewers also liked

Composer 套件管理
Composer 套件管理Composer 套件管理
Composer 套件管理Shengyou Fan
 
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向PHP 語法基礎與物件導向
PHP 語法基礎與物件導向Shengyou Fan
 
Migrations 與 Schema 操作
Migrations 與 Schema 操作Migrations 與 Schema 操作
Migrations 與 Schema 操作Shengyou Fan
 
Composer 從入門到實戰
Composer 從入門到實戰Composer 從入門到實戰
Composer 從入門到實戰Shengyou Fan
 
PHP7 - The New Engine for old good train
PHP7 - The New Engine for old good trainPHP7 - The New Engine for old good train
PHP7 - The New Engine for old good trainXinchen Hui
 
Laravel 台灣 社群現況報馬仔
Laravel 台灣 社群現況報馬仔Laravel 台灣 社群現況報馬仔
Laravel 台灣 社群現況報馬仔Shengyou Fan
 
成為全能 php 攻城獅
成為全能 php 攻城獅成為全能 php 攻城獅
成為全能 php 攻城獅Shengyou Fan
 
開發環境建置
開發環境建置開發環境建置
開發環境建置Shengyou Fan
 
Why to choose laravel framework
Why to choose laravel frameworkWhy to choose laravel framework
Why to choose laravel frameworkBo-Yi Wu
 
開發工具與環境建置
開發工具與環境建置開發工具與環境建置
開發工具與環境建置Shengyou Fan
 

Viewers also liked (14)

Composer 套件管理
Composer 套件管理Composer 套件管理
Composer 套件管理
 
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
 
Migrations 與 Schema 操作
Migrations 與 Schema 操作Migrations 與 Schema 操作
Migrations 與 Schema 操作
 
CRUD 綜合運用
CRUD 綜合運用CRUD 綜合運用
CRUD 綜合運用
 
整合 Open ID
整合 Open ID整合 Open ID
整合 Open ID
 
CRUD 綜合運用
CRUD 綜合運用CRUD 綜合運用
CRUD 綜合運用
 
工作坊總結
工作坊總結工作坊總結
工作坊總結
 
Composer 從入門到實戰
Composer 從入門到實戰Composer 從入門到實戰
Composer 從入門到實戰
 
PHP7 - The New Engine for old good train
PHP7 - The New Engine for old good trainPHP7 - The New Engine for old good train
PHP7 - The New Engine for old good train
 
Laravel 台灣 社群現況報馬仔
Laravel 台灣 社群現況報馬仔Laravel 台灣 社群現況報馬仔
Laravel 台灣 社群現況報馬仔
 
成為全能 php 攻城獅
成為全能 php 攻城獅成為全能 php 攻城獅
成為全能 php 攻城獅
 
開發環境建置
開發環境建置開發環境建置
開發環境建置
 
Why to choose laravel framework
Why to choose laravel frameworkWhy to choose laravel framework
Why to choose laravel framework
 
開發工具與環境建置
開發工具與環境建置開發工具與環境建置
開發工具與環境建置
 

Similar to 給你一個使用 Laravel 的理由

專案啟動與設定
專案啟動與設定專案啟動與設定
專案啟動與設定Shengyou Fan
 
Laravel installfest 工作坊 投影片
Laravel installfest 工作坊 投影片Laravel installfest 工作坊 投影片
Laravel installfest 工作坊 投影片Shengyou Fan
 
How to choose web framework
How to choose web frameworkHow to choose web framework
How to choose web frameworkBo-Yi Wu
 
Package安裝與使用
Package安裝與使用Package安裝與使用
Package安裝與使用Shengyou Fan
 
Laravel - 簡介與環境設定
Laravel - 簡介與環境設定Laravel - 簡介與環境設定
Laravel - 簡介與環境設定Vincent Chi
 
Phalcon2014 Startup
Phalcon2014 StartupPhalcon2014 Startup
Phalcon2014 StartupSteve Luo
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩Wen-Tien Chang
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術Yu Lung Shao
 
COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南Shengyou Fan
 
Laravel 5.2 教學
Laravel 5.2 教學Laravel 5.2 教學
Laravel 5.2 教學Cloud Wu
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0國昭 張
 
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Mu-Fan Teng
 
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎HITCON GIRLS
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略Will Huang
 
北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用Lorex L. Yang
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4Daniel Chou
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用謝 宗穎
 
Ceph customize ap is for programmatic access with python
Ceph customize ap is for programmatic access with pythonCeph customize ap is for programmatic access with python
Ceph customize ap is for programmatic access with pythonBo-Yu Chen
 
Docker with Cloud Service
Docker with Cloud ServiceDocker with Cloud Service
Docker with Cloud ServiceCaesar Chi
 

Similar to 給你一個使用 Laravel 的理由 (20)

專案啟動與設定
專案啟動與設定專案啟動與設定
專案啟動與設定
 
Laravel installfest 工作坊 投影片
Laravel installfest 工作坊 投影片Laravel installfest 工作坊 投影片
Laravel installfest 工作坊 投影片
 
How to choose web framework
How to choose web frameworkHow to choose web framework
How to choose web framework
 
Package安裝與使用
Package安裝與使用Package安裝與使用
Package安裝與使用
 
Laravel - 簡介與環境設定
Laravel - 簡介與環境設定Laravel - 簡介與環境設定
Laravel - 簡介與環境設定
 
Phalcon2014 Startup
Phalcon2014 StartupPhalcon2014 Startup
Phalcon2014 Startup
 
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南
 
Laravel 5.2 教學
Laravel 5.2 教學Laravel 5.2 教學
Laravel 5.2 教學
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
 
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
HITCON GIRLS 資安萌芽推廣 2017: 你知道你連線的網站黑黑的嗎
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用
 
How to ASP.NET MVC4
How to ASP.NET MVC4How to ASP.NET MVC4
How to ASP.NET MVC4
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
 
Ceph customize ap is for programmatic access with python
Ceph customize ap is for programmatic access with pythonCeph customize ap is for programmatic access with python
Ceph customize ap is for programmatic access with python
 
Docker with Cloud Service
Docker with Cloud ServiceDocker with Cloud Service
Docker with Cloud Service
 

More from Shengyou Fan

[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式Shengyou Fan
 
[JCConf 2023] 從 Kotlin Multiplatform 到 Compose Multiplatform:在多平台間輕鬆共用業務邏輯與 U...
[JCConf 2023] 從 Kotlin Multiplatform 到 Compose Multiplatform:在多平台間輕鬆共用業務邏輯與 U...[JCConf 2023] 從 Kotlin Multiplatform 到 Compose Multiplatform:在多平台間輕鬆共用業務邏輯與 U...
[JCConf 2023] 從 Kotlin Multiplatform 到 Compose Multiplatform:在多平台間輕鬆共用業務邏輯與 U...Shengyou Fan
 
[Kotlin 讀書會第五梯次] 深入淺出 Kotlin 第一章導讀
[Kotlin 讀書會第五梯次] 深入淺出 Kotlin 第一章導讀[Kotlin 讀書會第五梯次] 深入淺出 Kotlin 第一章導讀
[Kotlin 讀書會第五梯次] 深入淺出 Kotlin 第一章導讀Shengyou Fan
 
[WebConf Taiwan 2023] 一份 Zend Engine 外帶!透過 Micro 讓一次打包、多處運行變得可能
[WebConf Taiwan 2023] 一份 Zend Engine 外帶!透過 Micro 讓一次打包、多處運行變得可能[WebConf Taiwan 2023] 一份 Zend Engine 外帶!透過 Micro 讓一次打包、多處運行變得可能
[WebConf Taiwan 2023] 一份 Zend Engine 外帶!透過 Micro 讓一次打包、多處運行變得可能Shengyou Fan
 
How I make a podcast website using serverless technology in 2023
How I make a podcast website using serverless technology in 2023How I make a podcast website using serverless technology in 2023
How I make a podcast website using serverless technology in 2023Shengyou Fan
 
[Effective Kotlin 讀書會] 第八章 Efficient collection processing 導讀
[Effective Kotlin 讀書會] 第八章 Efficient collection processing 導讀[Effective Kotlin 讀書會] 第八章 Efficient collection processing 導讀
[Effective Kotlin 讀書會] 第八章 Efficient collection processing 導讀Shengyou Fan
 
[MOPCON 2022] 以 Kotlin Multiplatform 制霸全平台
[MOPCON 2022] 以 Kotlin Multiplatform 制霸全平台[MOPCON 2022] 以 Kotlin Multiplatform 制霸全平台
[MOPCON 2022] 以 Kotlin Multiplatform 制霸全平台Shengyou Fan
 
[JCConf 2022] Compose for Desktop - 開發桌面軟體的新選擇
[JCConf 2022] Compose for Desktop - 開發桌面軟體的新選擇[JCConf 2022] Compose for Desktop - 開發桌面軟體的新選擇
[JCConf 2022] Compose for Desktop - 開發桌面軟體的新選擇Shengyou Fan
 
Using the Exposed SQL Framework to Manage Your Database
Using the Exposed SQL Framework to Manage Your DatabaseUsing the Exposed SQL Framework to Manage Your Database
Using the Exposed SQL Framework to Manage Your DatabaseShengyou Fan
 
[COSCUP 2022] 讓黑畫面再次偉大 - 用 PHP 寫 CLI 工具
[COSCUP 2022] 讓黑畫面再次偉大 - 用 PHP 寫 CLI 工具[COSCUP 2022] 讓黑畫面再次偉大 - 用 PHP 寫 CLI 工具
[COSCUP 2022] 讓黑畫面再次偉大 - 用 PHP 寫 CLI 工具Shengyou Fan
 
[COSCUP 2022] Kotlin Collection 遊樂園
[COSCUP 2022] Kotlin Collection 遊樂園[COSCUP 2022] Kotlin Collection 遊樂園
[COSCUP 2022] Kotlin Collection 遊樂園Shengyou Fan
 
初探 Kotlin Multiplatform
初探 Kotlin Multiplatform初探 Kotlin Multiplatform
初探 Kotlin MultiplatformShengyou Fan
 
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率Shengyou Fan
 
[PHP 也有 Day #64] PHP 升級指南
[PHP 也有 Day #64] PHP 升級指南[PHP 也有 Day #64] PHP 升級指南
[PHP 也有 Day #64] PHP 升級指南Shengyou Fan
 
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用Shengyou Fan
 
Composer 經典食譜
Composer 經典食譜Composer 經典食譜
Composer 經典食譜Shengyou Fan
 
老派浪漫:用 Kotlin 寫 Command Line 工具
老派浪漫:用 Kotlin 寫 Command Line 工具老派浪漫:用 Kotlin 寫 Command Line 工具
老派浪漫:用 Kotlin 寫 Command Line 工具Shengyou Fan
 
[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator
[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator
[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS AggregatorShengyou Fan
 
[Kotlin Serverless 工作坊] 單元 3 - 實作 JSON API
[Kotlin Serverless 工作坊] 單元 3 - 實作 JSON API[Kotlin Serverless 工作坊] 單元 3 - 實作 JSON API
[Kotlin Serverless 工作坊] 單元 3 - 實作 JSON APIShengyou Fan
 
[Kotlin Serverless 工作坊] 單元 2 - 簡介 Kotlin Serverless
[Kotlin Serverless 工作坊] 單元 2 - 簡介 Kotlin Serverless[Kotlin Serverless 工作坊] 單元 2 - 簡介 Kotlin Serverless
[Kotlin Serverless 工作坊] 單元 2 - 簡介 Kotlin ServerlessShengyou Fan
 

More from Shengyou Fan (20)

[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
[GDG Kaohsiung DevFest 2023] 以 Compose 及 Kotlin Multiplatform 打造多平台應用程式
 
[JCConf 2023] 從 Kotlin Multiplatform 到 Compose Multiplatform:在多平台間輕鬆共用業務邏輯與 U...
[JCConf 2023] 從 Kotlin Multiplatform 到 Compose Multiplatform:在多平台間輕鬆共用業務邏輯與 U...[JCConf 2023] 從 Kotlin Multiplatform 到 Compose Multiplatform:在多平台間輕鬆共用業務邏輯與 U...
[JCConf 2023] 從 Kotlin Multiplatform 到 Compose Multiplatform:在多平台間輕鬆共用業務邏輯與 U...
 
[Kotlin 讀書會第五梯次] 深入淺出 Kotlin 第一章導讀
[Kotlin 讀書會第五梯次] 深入淺出 Kotlin 第一章導讀[Kotlin 讀書會第五梯次] 深入淺出 Kotlin 第一章導讀
[Kotlin 讀書會第五梯次] 深入淺出 Kotlin 第一章導讀
 
[WebConf Taiwan 2023] 一份 Zend Engine 外帶!透過 Micro 讓一次打包、多處運行變得可能
[WebConf Taiwan 2023] 一份 Zend Engine 外帶!透過 Micro 讓一次打包、多處運行變得可能[WebConf Taiwan 2023] 一份 Zend Engine 外帶!透過 Micro 讓一次打包、多處運行變得可能
[WebConf Taiwan 2023] 一份 Zend Engine 外帶!透過 Micro 讓一次打包、多處運行變得可能
 
How I make a podcast website using serverless technology in 2023
How I make a podcast website using serverless technology in 2023How I make a podcast website using serverless technology in 2023
How I make a podcast website using serverless technology in 2023
 
[Effective Kotlin 讀書會] 第八章 Efficient collection processing 導讀
[Effective Kotlin 讀書會] 第八章 Efficient collection processing 導讀[Effective Kotlin 讀書會] 第八章 Efficient collection processing 導讀
[Effective Kotlin 讀書會] 第八章 Efficient collection processing 導讀
 
[MOPCON 2022] 以 Kotlin Multiplatform 制霸全平台
[MOPCON 2022] 以 Kotlin Multiplatform 制霸全平台[MOPCON 2022] 以 Kotlin Multiplatform 制霸全平台
[MOPCON 2022] 以 Kotlin Multiplatform 制霸全平台
 
[JCConf 2022] Compose for Desktop - 開發桌面軟體的新選擇
[JCConf 2022] Compose for Desktop - 開發桌面軟體的新選擇[JCConf 2022] Compose for Desktop - 開發桌面軟體的新選擇
[JCConf 2022] Compose for Desktop - 開發桌面軟體的新選擇
 
Using the Exposed SQL Framework to Manage Your Database
Using the Exposed SQL Framework to Manage Your DatabaseUsing the Exposed SQL Framework to Manage Your Database
Using the Exposed SQL Framework to Manage Your Database
 
[COSCUP 2022] 讓黑畫面再次偉大 - 用 PHP 寫 CLI 工具
[COSCUP 2022] 讓黑畫面再次偉大 - 用 PHP 寫 CLI 工具[COSCUP 2022] 讓黑畫面再次偉大 - 用 PHP 寫 CLI 工具
[COSCUP 2022] 讓黑畫面再次偉大 - 用 PHP 寫 CLI 工具
 
[COSCUP 2022] Kotlin Collection 遊樂園
[COSCUP 2022] Kotlin Collection 遊樂園[COSCUP 2022] Kotlin Collection 遊樂園
[COSCUP 2022] Kotlin Collection 遊樂園
 
初探 Kotlin Multiplatform
初探 Kotlin Multiplatform初探 Kotlin Multiplatform
初探 Kotlin Multiplatform
 
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率
 
[PHP 也有 Day #64] PHP 升級指南
[PHP 也有 Day #64] PHP 升級指南[PHP 也有 Day #64] PHP 升級指南
[PHP 也有 Day #64] PHP 升級指南
 
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
 
Composer 經典食譜
Composer 經典食譜Composer 經典食譜
Composer 經典食譜
 
老派浪漫:用 Kotlin 寫 Command Line 工具
老派浪漫:用 Kotlin 寫 Command Line 工具老派浪漫:用 Kotlin 寫 Command Line 工具
老派浪漫:用 Kotlin 寫 Command Line 工具
 
[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator
[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator
[Kotlin Serverless 工作坊] 單元 4 - 實作 RSS Aggregator
 
[Kotlin Serverless 工作坊] 單元 3 - 實作 JSON API
[Kotlin Serverless 工作坊] 單元 3 - 實作 JSON API[Kotlin Serverless 工作坊] 單元 3 - 實作 JSON API
[Kotlin Serverless 工作坊] 單元 3 - 實作 JSON API
 
[Kotlin Serverless 工作坊] 單元 2 - 簡介 Kotlin Serverless
[Kotlin Serverless 工作坊] 單元 2 - 簡介 Kotlin Serverless[Kotlin Serverless 工作坊] 單元 2 - 簡介 Kotlin Serverless
[Kotlin Serverless 工作坊] 單元 2 - 簡介 Kotlin Serverless
 

給你一個使用 Laravel 的理由