Submit Search
Upload
Perl ウェブ開発の中世〜CGI と Plack の間〜
•
5 likes
•
8,711 views
鉄次 尾形
Follow
2017/3/4に行われた YAPC::Kansai 2017 OSAKA で発表したトークのスライドです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 66
Download now
Download to read offline
Recommended
数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由
Hiromi Ishii
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
TDD のこころ
TDD のこころ
Takuto Wada
ICML2021の連合学習の論文
ICML2021の連合学習の論文
Katsuya Ito
Recommended
数学プログラムを Haskell で書くべき 6 の理由
数学プログラムを Haskell で書くべき 6 の理由
Hiromi Ishii
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
TDD のこころ
TDD のこころ
Takuto Wada
ICML2021の連合学習の論文
ICML2021の連合学習の論文
Katsuya Ito
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
BERT分類ワークショップ.pptx
BERT分類ワークショップ.pptx
Kouta Nakayama
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
Holden Karau
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
CODE BLUE
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
諒介 荒木
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi
チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019
cocodrips
STAIR Lab Seminar 202105
STAIR Lab Seminar 202105
Sho Takase
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
hoxo_m
証明プログラミング超入門
証明プログラミング超入門
Kyoko Kadowaki
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
新しい並列for構文のご提案
新しい並列for構文のご提案
yohhoy
Example of exiting legacy system
Example of exiting legacy system
TakamchiTanaka
llvm入門
llvm入門
MITSUNARI Shigeo
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.
Junichi Ishida
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
Tatsuhiko Miyagawa
More Related Content
What's hot
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
BERT分類ワークショップ.pptx
BERT分類ワークショップ.pptx
Kouta Nakayama
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
Holden Karau
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
CODE BLUE
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
諒介 荒木
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi
チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019
cocodrips
STAIR Lab Seminar 202105
STAIR Lab Seminar 202105
Sho Takase
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
hoxo_m
証明プログラミング超入門
証明プログラミング超入門
Kyoko Kadowaki
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
新しい並列for構文のご提案
新しい並列for構文のご提案
yohhoy
Example of exiting legacy system
Example of exiting legacy system
TakamchiTanaka
llvm入門
llvm入門
MITSUNARI Shigeo
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
What's hot
(20)
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
BERT分類ワークショップ.pptx
BERT分類ワークショップ.pptx
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
プログラムを高速化する話
プログラムを高速化する話
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019
STAIR Lab Seminar 202105
STAIR Lab Seminar 202105
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
証明プログラミング超入門
証明プログラミング超入門
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
新しい並列for構文のご提案
新しい並列for構文のご提案
Example of exiting legacy system
Example of exiting legacy system
llvm入門
llvm入門
Pythonによる黒魔術入門
Pythonによる黒魔術入門
Similar to Perl ウェブ開発の中世〜CGI と Plack の間〜
Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.
Junichi Ishida
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
Tatsuhiko Miyagawa
Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011
leo lapworth
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
15年前に作ったアプリを現在に蘇らせてみた話
15年前に作ったアプリを現在に蘇らせてみた話
Naoki Nagazumi
InfoTalk#17 1st
InfoTalk#17 1st
Wakasa Masao
Plack at OSCON 2010
Plack at OSCON 2010
Tatsuhiko Miyagawa
第 10 回 Webteko
第 10 回 Webteko
Shinya Ohyanagi
Rapid application development with spring roo j-fall 2010 - baris dere
Rapid application development with spring roo j-fall 2010 - baris dere
Baris Dere
Java-Jersey 到 Python-Flask 服務不中斷重構之旅
Java-Jersey 到 Python-Flask 服務不中斷重構之旅
Max Lai
ElasticBeanstalk で新規事業を爆速ローンチする
ElasticBeanstalk で新規事業を爆速ローンチする
Ryo Shibayama
Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定
Yoshiyasu SAEKI
PSGI/Plack OSDC.TW
PSGI/Plack OSDC.TW
Tatsuhiko Miyagawa
plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6
Nobuo Danjou
IAA Life in Lockdown series: Securing Internet Routing
IAA Life in Lockdown series: Securing Internet Routing
APNIC
Sinatraで触れる生SQL
Sinatraで触れる生SQL
treby
データの民主化のために StackStorm を活用した事例
データの民主化のために StackStorm を活用した事例
Yoshiyasu SAEKI
Gateway APIs, Envoy Gateway, and API Gateways
Gateway APIs, Envoy Gateway, and API Gateways
Matt Turner
Icinga 2011 at Nagios Workshop
Icinga 2011 at Nagios Workshop
Icinga
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
Similar to Perl ウェブ開発の中世〜CGI と Plack の間〜
(20)
Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
15年前に作ったアプリを現在に蘇らせてみた話
15年前に作ったアプリを現在に蘇らせてみた話
InfoTalk#17 1st
InfoTalk#17 1st
Plack at OSCON 2010
Plack at OSCON 2010
第 10 回 Webteko
第 10 回 Webteko
Rapid application development with spring roo j-fall 2010 - baris dere
Rapid application development with spring roo j-fall 2010 - baris dere
Java-Jersey 到 Python-Flask 服務不中斷重構之旅
Java-Jersey 到 Python-Flask 服務不中斷重構之旅
ElasticBeanstalk で新規事業を爆速ローンチする
ElasticBeanstalk で新規事業を爆速ローンチする
Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定
PSGI/Plack OSDC.TW
PSGI/Plack OSDC.TW
plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6
IAA Life in Lockdown series: Securing Internet Routing
IAA Life in Lockdown series: Securing Internet Routing
Sinatraで触れる生SQL
Sinatraで触れる生SQL
データの民主化のために StackStorm を活用した事例
データの民主化のために StackStorm を活用した事例
Gateway APIs, Envoy Gateway, and API Gateways
Gateway APIs, Envoy Gateway, and API Gateways
Icinga 2011 at Nagios Workshop
Icinga 2011 at Nagios Workshop
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
More from 鉄次 尾形
Perl入学式 2018年度の報告
Perl入学式 2018年度の報告
鉄次 尾形
【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア
鉄次 尾形
俺のこだわりデスクのその後
俺のこだわりデスクのその後
鉄次 尾形
Hokkaido.pmと7年
Hokkaido.pmと7年
鉄次 尾形
WordPress 運用を支える Perl
WordPress 運用を支える Perl
鉄次 尾形
障害対応とその防止策
障害対応とその防止策
鉄次 尾形
働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール
鉄次 尾形
コードの動的生成のお話
コードの動的生成のお話
鉄次 尾形
三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか
鉄次 尾形
Perlで生きる10年
Perlで生きる10年
鉄次 尾形
穏やかにファイルを削除する続き
穏やかにファイルを削除する続き
鉄次 尾形
日本全国ぶらりPerl旅
日本全国ぶらりPerl旅
鉄次 尾形
穏やかにファイルを削除する
穏やかにファイルを削除する
鉄次 尾形
最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話
鉄次 尾形
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20
鉄次 尾形
超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual
鉄次 尾形
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論
鉄次 尾形
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015
鉄次 尾形
4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ
鉄次 尾形
設定ファイルに使われそうなデータ形式
設定ファイルに使われそうなデータ形式
鉄次 尾形
More from 鉄次 尾形
(20)
Perl入学式 2018年度の報告
Perl入学式 2018年度の報告
【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア
俺のこだわりデスクのその後
俺のこだわりデスクのその後
Hokkaido.pmと7年
Hokkaido.pmと7年
WordPress 運用を支える Perl
WordPress 運用を支える Perl
障害対応とその防止策
障害対応とその防止策
働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール
コードの動的生成のお話
コードの動的生成のお話
三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか
Perlで生きる10年
Perlで生きる10年
穏やかにファイルを削除する続き
穏やかにファイルを削除する続き
日本全国ぶらりPerl旅
日本全国ぶらりPerl旅
穏やかにファイルを削除する
穏やかにファイルを削除する
最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20
超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015
4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ
設定ファイルに使われそうなデータ形式
設定ファイルに使われそうなデータ形式
Recently uploaded
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
Skynet Technologies
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
Kari Kakkonen
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
Ingrid Airi González
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
panagenda
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
panagenda
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
AliaaTarek5
2024 April Patch Tuesday
2024 April Patch Tuesday
Ivanti
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Pim van der Noll
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Scott Andery
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
Neo4j
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
UiPathCommunity
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Mark Goldstein
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
HarshalMandlekar2
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Lonnie McRorey
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
ThousandEyes
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
Recently uploaded
(20)
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
2024 April Patch Tuesday
2024 April Patch Tuesday
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Perl ウェブ開発の中世〜CGI と Plack の間〜
1.
Perl CGI Plack OGATA Tetsuji
(@xtetsuji) 2017/03/04 YAPC::Kansai 2017 OSAKA https://flic.kr/p/K9v8rD
2.
• OGATA Tetsuji
(@xtetsuji) • http://post.tetsuji.jp/ • Gaiax R&D INFRA
3.
https://flic.kr/p/bhrKfp
4.
• 🔈CGI Plack
Perl • 🔈 • 🔇 • 🔇
5.
CGI https://flic.kr/p/aWg7jz
6.
• 1991 HTTP
HTML • 1993 NCSA HTTPd CGI • 1995 Windows 95 • 1999 NTT i-mode Photo:
7.
• 1990 CGI • •
CGI
8.
URL CGI CGI
9.
URL CGI CGI
10.
• CGI • 1 •
Perl CGI
11.
• 1 • •
12.
CGI Perl • CGI • C •
20 21 CGI Perl
13.
CGI Perl • 1990
ISP(Internet Service Provider) • ISP • • Perl
14.
CGI Perl • ISP Perl
CGI • CGI Perl • IT CGI Perl
15.
CGI Perl 2000 2008 https://flic.kr/p/5kwk72
16.
• CGI • CGI •
2000 2003 https://flic.kr/p/9xG4TJ
17.
Apache mod_perl (1997
) • mod_perl Apache Perl Apache • Apache C • • Apache Perl CGI Perl
18.
Apache mod_perl (1997
) • 2000 • mod_perl Web (by miyagawa -san @ 2001 YARPC 19101 LT) • mod_perl C10K Problem (by takesako -san @ 2004 Linux )
19.
FastCGI (mid-1990s ) • •
CGI FastCGI CGI • FastCGI
20.
FastCGI (mid-1990s ) • •
Apache mod_fcgi FastCGI • Perl FCGI • Apache
21.
SpeedyCGI (1999 ) •
FastCGI Perl SpeedyCGI • CGI Perl Common • CGI shebang #!/usr/bin/perl #!/usr/bin/speedy
22.
CGI mod_perl FastCGI
SpeedyCGI Apache Apache RFC Apache API FastCGI Specification Perl ※ Perl 1991 1996 1990 1999
23.
Perl CGI • 2007
2008 YAPC::Asia Tokyo mod_perl FastCGI • Catalyst WAF (Web Application Framework) mod_perl FastCGI • PSGI / Plack (2009)
24.
mod_perl and FastCGI •
CGI Plack 2 • WAF FastCGI • Perl Apache mod_perl • FastCGI 2017 mod_perl
25.
mod_perl and FastCGI •
FastCGI • mod_perl • mod_perl Apache (prefork) • FastCGI mod_perl
26.
mod_perl • Apache lighttpd Nginx •
Apache 1 2 Apache API mod_perl • mod_perl
27.
Perl • Java Servlet
e.g. Tomcat • IIS/ASP • mod_perl e.g. mod_ruby mod_python • PHP e.g. mod_php php-fpm(FastCGI) • Ruby on Rails Passenger Unicorn…
28.
https://flic.kr/p/bVwF8R
29.
• •
30.
prefork I/O Perl Apache
(prefork) Starlet, Starman Nginx Twiggy
31.
• Apache MPM
(Multi Processing Module) prefork (event) (worker) • Perl prefork
32.
prefork $ ps auxwf
33.
• fork = • • •
root • prefork = fork
34.
prefork
35.
prefork Parent
36.
prefork Parent Child Child Child
Child Process fork
37.
prefork Parent Child Child Child
Child Process fork HTTP
38.
event
39.
event Master
40.
event Master Worker
41.
event Master Worker Worker HTTP
42.
PSGI / Plack 2009 https://flic.kr/p/726NSK
43.
• Catalyst WAF
(Web Application Framework) mod_perl FastCGI
44.
• CGI mod_perl
FastCGI SpeedyCGI WAF • WAF WAF • Python WSGI (Web Server Gateway Interface) Ruby Rack
45.
• • • • CGI FastCGI
46.
PSGI Plack • CGI
WSGI • WSGI PSGI (Perl Server Gateway Inteface) Plack
47.
https://flic.kr/p/7n8y6p
48.
https://flic.kr/p/7n8y6p
49.
https://flic.kr/p/7n8y6p
50.
https://flic.kr/p/7n8y6p
51.
https://flic.kr/p/7n8y6p
52.
https://flic.kr/p/7n8y6p
53.
PSGI • CGI WAF PSGI •
Perl
54.
Plack • PSGI • PSGI PSGI •
PSGI Plack
55.
Plack • Plack::Handler:: • PSGI Plack::Middleware::
56.
PSGI / Plack WAF • •
57.
http://www.kirin.co.jp/company/news/2016/0727_05.html
58.
🍻 http://www.kirin.co.jp/company/news/2016/0727_05.html
59.
2017 https://flic.kr/p/mzF5vS
60.
• Perl PSGI WAF
Plack • WAF Mojolicious Amon2
61.
• Plack::Handler:: •
62.
• • WAF PSGI … •
63.
• • •
64.
• • • • mod_perl • https://flic.kr/p/5i9taP
65.
https://flic.kr/p/5i9taP
Download now