SlideShare a Scribd company logo
1 of 29
mod_perlで動く
アプリをどう置くか
尾形 鉄次 (OGATA Tetsuji)
Twitter: @xtetsuji
2013/6/15 Hachioji.pm#29 LT
自己紹介
• 尾形 鉄次 (OGATA Tetsuji)
• Twitter: @xtetsuji
• Blog: http://post.tetsuji.jp/
• Apache mod_perlの研究がライフワーク?
テーマ:
ホスティング
あんまり
よくわからない
ISPの伝統芸能
• 10年以上前を思い返す
• 共用ホームページスペース
• 「Perl CGIが動きます」
• あれの原理はどうだったんだろう
ISPの伝統芸能
• chroot
• suEXEC
• Perl CGI
• FTP
• …
•ヤバい黒魔術ばかりだ!!!
「伝統芸能」が進化
しなかった理由
• より自由度の高いレンサバやPaaSの台頭
• ASP型サービスやSNSのような出来合い
のものに興味が移る→自分で作る意味
合いがなくなる
• そしてISPもそこにコストをかけなくな
った
mod_perlのホスティングを
考えてみる
• Perl CGI高速化環境で見た場合、先ほど
と同じ伝統芸能をするハックが大変
• Perl CGI高速化環境(Registryファミリー)
は内部で仮想的な名前空間を作成する
から、Apache内でユーザごとの厳密な
環境の切り分けができない
コア部分を見る
• ModPerl::RegistryCooker (mod_perl2)
• Perl CGI高速化環境を提供している
Registryファミリーのスーパークラス
• 実際はVirtualHostと絶対パスのURLから
仮想的な名前空間を生成してコードの
コンパイル結果を入れているだけ
sub make_namespace {
my $self = shift;
my $package = $self->namespace_from;
# Escape everything into valid perl identifiers
$package =~ s/([^A-Za-z0-9_])/sprintf("_%2x", unpack("C",
$1))/eg;
# make sure that the sub-package doesn't start with a digit
$package =~ s/^(d)/_$1/;
# prepend root
$package = $self->namespace_root() . "::$package";
$self->{PACKAGE} = $package;
return $package;
}
みんな大好きPlackでは
どうなっているかな?
• PlackではPlack::Utilが *.psgi のコンパイル
を行っている
• 手法としてはmod_perlとまるで同じ!
• sprintf部分を見てください!
• Plack/Util.pmの該当部分を見てみよう
sub _load_sandbox {
my $_file = shift;
my $_package = $_file;
$_package =~ s/([^A-Za-z0-9_])/sprintf("_%2x", unpack("C",
$1))/eg;
local $0 = $_file; # so FindBin etc. works
local @ARGV = (); # Some frameworks might try to parse
@ARGV
return eval sprintf <<'END_EVAL', $_package;
package Plack::Sandbox::%s;
{
my $app = do $_file;
if ( !$app && ( my $error = $@ || $! )) { die $error; }
$app;
}
END_EVAL
}
伝統芸能 meets Plack?
• VirtualHostとURLで動的にapp.psgiを読み
込んでユーザ切り分けするPlack環境は
可能か?
• mod_perlのPerl CGI高速化環境と同様の
理由で切り分けは難しい
• Perl(Plack)が使えるPaaSが増えてほしい
セキュリティ的には
• インタプリタが読んだ「パッケージ」
を読み出せればセキュリティ崩壊
• %INCで簡単にいけるんじゃない?
• PerlRun読み捨て環境でもモジュールに
ついてはmod_perlは同じ事情
前回のPerlBeginnersで
• mod_perl2環境上でPlackを使ってapp.psgi
を動作させる方法の質問があって意外
• Plack::Handler::Apache2 を使う
• ウェブを検索してもplackupしてポート
をリバースプロキシする情報ばかりな
ので仕方が無いかなぁ∼
_人人人人人人人人人_
> 根強いplackup信仰 <
 ̄^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
Plack and mod_perl
• とはいえ、知られていないことは結構
意外だった。個人的に。
• mod_perl思想(ModPerl::RegistryCooker)
がPlack(Plack::Util)にも活きている感動
• plackupせずmod_perl上でapp.psgiを実行
するための利点もある
Plack and mod_perl
• plackupしたらポート開いてサーバ起動
• インフラ担当者「誰がどう監視するん
ですか?落ちたらどうするですか?」
• Apacheだけで完結するとインフラ担当
者を せる効果的に説得できる
_人人人人人人人人人_
> 根強いApache信仰 <
 ̄^Y^Y^Y^Y^Y^Y^Y^Y^
Tribute of Mr. Miyagawa
• Miyagawaさん自身、超mod_perl Hacker
• 20世紀からmod_perl1のApache::Registry
によるPerl CGIの高速化についてトーク
している
• 当時のSledgeは、数少ないmod_perl教材
だったくらい(お世話になりました)
Plack and mod_perl
• mod_perlのPerl CGIがISPに見放されたの
と同じ理由でPlackのISPホスティングは
技術的に難しいというか面倒
• ファイルベースで app.psgi を読み込む
Plack::Handler::Apache2::Regsitry もある
けど、これを超ハックする?うーん
最近のApacheでは
• VirtualHostごとにpreforkの子プロセスを
分ける方法もある(らしい)
• ユーザごとにサブドメインを動的生成
する仕組みを用意すればイケる?
• とはいえ興味深い仕事ではないなぁ…
お役立ち情報です
• 大人が直面する「環境の縛りプレイ」
• Plack入れる→インフラ担当者が不機嫌
になる超大量の依存関係
• 根強いApache(mod_perl)信仰を利用して
ModPerl::PSGIを作成中です!
ModPerl::PSGI
• 単に個人的な勉強という観点から、
PSGIの仕様書だけから書きだしてみた
• 車輪の再発明回避と驚き最小の原則を
考えPlack::Handler::Apache2を大いに参考
とするように方針転換した
Plack::Handler::Apache
2からの改善点
• ModPerl::PSGIはPlack::*の依存関係は無い
• URIとURI::Escape依存をApache2のC API
で置き換えたので早くなっているはず
• まだ(怖くて)GitHubにアップしていませ
んが、近日アップ予定、期待してね!
mod_perl大好き
• 最後のほう、ホスティングの話を放置
してmod_perlの宣伝をする身勝手さ
• Plack⊃PSGIであってPlack≠PSGIだよ
• ModPerl::PSGIの成果は実績が出来たら
Plackへcontribute予定
おがた先生の次回作
にご期待ください
ご清聴
ありがとうございました

More Related Content

What's hot

RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩Masato Noguchi
 
JRubyで作るapiサーバー
JRubyで作るapiサーバーJRubyで作るapiサーバー
JRubyで作るapiサーバーYamamoto Kazuhisa
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!Masato Noguchi
 
goroutineはどうやって動いているのか
goroutineはどうやって動いているのかgoroutineはどうやって動いているのか
goroutineはどうやって動いているのかota42y
 
201912 LINEボットからラズパイカメラで撮影
201912 LINEボットからラズパイカメラで撮影201912 LINEボットからラズパイカメラで撮影
201912 LINEボットからラズパイカメラで撮影junichim
 
はじめてのWordPress
はじめてのWordPressはじめてのWordPress
はじめてのWordPressShoji Endo
 
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevioクラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevioShuji Watanabe
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュKenji Mori
 
Jawsug北九州第4回勉強会
Jawsug北九州第4回勉強会Jawsug北九州第4回勉強会
Jawsug北九州第4回勉強会Yutaka Fujisaki
 
SwiftのWebフレームワークVaporを触ってみる
SwiftのWebフレームワークVaporを触ってみるSwiftのWebフレームワークVaporを触ってみる
SwiftのWebフレームワークVaporを触ってみるYuya Oka
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! Masato Noguchi
 
Rails5β + herokuで遊んでみた
Rails5β +  herokuで遊んでみたRails5β +  herokuで遊んでみた
Rails5β + herokuで遊んでみたshota miyazaki
 
サーバを運用する時代は終わった
サーバを運用する時代は終わったサーバを運用する時代は終わった
サーバを運用する時代は終わったYuki Ishikawa
 
私がCephを好きな7つの理由
私がCephを好きな7つの理由私がCephを好きな7つの理由
私がCephを好きな7つの理由Emma Haruka Iwao
 
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevioクラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdeviosmokey monkey
 
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるPython と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるShuhei Iitsuka
 
cocos2d ☓ OpenOffice
cocos2d ☓ OpenOfficecocos2d ☓ OpenOffice
cocos2d ☓ OpenOfficeKazunori Nanji
 
RubySeminar16_Analyze
RubySeminar16_AnalyzeRubySeminar16_Analyze
RubySeminar16_Analyzesady_nitro
 
ScrapyとPhantomJSを用いたスクレイピングDSL
ScrapyとPhantomJSを用いたスクレイピングDSLScrapyとPhantomJSを用いたスクレイピングDSL
ScrapyとPhantomJSを用いたスクレイピングDSLMasayuki Isobe
 

What's hot (20)

RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩
 
JRubyで作るapiサーバー
JRubyで作るapiサーバーJRubyで作るapiサーバー
JRubyで作るapiサーバー
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
 
goroutineはどうやって動いているのか
goroutineはどうやって動いているのかgoroutineはどうやって動いているのか
goroutineはどうやって動いているのか
 
201912 LINEボットからラズパイカメラで撮影
201912 LINEボットからラズパイカメラで撮影201912 LINEボットからラズパイカメラで撮影
201912 LINEボットからラズパイカメラで撮影
 
はじめてのWordPress
はじめてのWordPressはじめてのWordPress
はじめてのWordPress
 
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevioクラスメソッド会社説明会in札幌 — メンバー紹介   #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュ
 
Jawsug北九州第4回勉強会
Jawsug北九州第4回勉強会Jawsug北九州第4回勉強会
Jawsug北九州第4回勉強会
 
SwiftのWebフレームワークVaporを触ってみる
SwiftのWebフレームワークVaporを触ってみるSwiftのWebフレームワークVaporを触ってみる
SwiftのWebフレームワークVaporを触ってみる
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
 
Rails5β + herokuで遊んでみた
Rails5β +  herokuで遊んでみたRails5β +  herokuで遊んでみた
Rails5β + herokuで遊んでみた
 
サーバを運用する時代は終わった
サーバを運用する時代は終わったサーバを運用する時代は終わった
サーバを運用する時代は終わった
 
私がCephを好きな7つの理由
私がCephを好きな7つの理由私がCephを好きな7つの理由
私がCephを好きな7つの理由
 
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevioクラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
 
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるPython と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
 
すこやかRails
すこやかRailsすこやかRails
すこやかRails
 
cocos2d ☓ OpenOffice
cocos2d ☓ OpenOfficecocos2d ☓ OpenOffice
cocos2d ☓ OpenOffice
 
RubySeminar16_Analyze
RubySeminar16_AnalyzeRubySeminar16_Analyze
RubySeminar16_Analyze
 
ScrapyとPhantomJSを用いたスクレイピングDSL
ScrapyとPhantomJSを用いたスクレイピングDSLScrapyとPhantomJSを用いたスクレイピングDSL
ScrapyとPhantomJSを用いたスクレイピングDSL
 

Similar to mod_perlで動くアプリをどう置くか #hachiojipm

IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm鉄次 尾形
 
これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式鉄次 尾形
 
環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm鉄次 尾形
 
MF GeeksNight pplogの話
MF GeeksNight pplogの話MF GeeksNight pplogの話
MF GeeksNight pplogの話Naoto Koshikawa
 
ASP.NET WebAPI 体験記 #clrh99
ASP.NET WebAPI 体験記 #clrh99ASP.NET WebAPI 体験記 #clrh99
ASP.NET WebAPI 体験記 #clrh99Katsuya Shimizu
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話Hiroyuki Hayashi
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るTakeru Maehara
 
なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話ota42y
 
イベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by meイベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by mewhywaita
 
Rでを作る
Rでを作るRでを作る
Rでを作るNagi Teramo
 
メルマガシステム失敗談 #perlbeginners
メルマガシステム失敗談 #perlbeginnersメルマガシステム失敗談 #perlbeginners
メルマガシステム失敗談 #perlbeginners鉄次 尾形
 
Atnd地域検索作ったよー
Atnd地域検索作ったよーAtnd地域検索作ったよー
Atnd地域検索作ったよーOhishi Mikage
 
20191030 RPA makes us Anything.
20191030 RPA makes us Anything.20191030 RPA makes us Anything.
20191030 RPA makes us Anything.riscurred
 
Ruby StyleStatsの紹介
Ruby StyleStatsの紹介Ruby StyleStatsの紹介
Ruby StyleStatsの紹介Toshihiro Gotou
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後Tomoki Hasegawa
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話Shuji Yamada
 
ぁ単語のお仕事 基本編
ぁ単語のお仕事 基本編ぁ単語のお仕事 基本編
ぁ単語のお仕事 基本編kuhaku
 

Similar to mod_perlで動くアプリをどう置くか #hachiojipm (20)

IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
 
これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式
 
環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm
 
[Dots.]taiga
[Dots.]taiga[Dots.]taiga
[Dots.]taiga
 
MF GeeksNight pplogの話
MF GeeksNight pplogの話MF GeeksNight pplogの話
MF GeeksNight pplogの話
 
ASP.NET WebAPI 体験記 #clrh99
ASP.NET WebAPI 体験記 #clrh99ASP.NET WebAPI 体験記 #clrh99
ASP.NET WebAPI 体験記 #clrh99
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話VPSやめてHerokuに移行したお話
VPSやめてHerokuに移行したお話
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話
 
IoTの原点
IoTの原点IoTの原点
IoTの原点
 
イベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by meイベント企画運営の経験と実際 / The history of organizing events by me
イベント企画運営の経験と実際 / The history of organizing events by me
 
Rでを作る
Rでを作るRでを作る
Rでを作る
 
メルマガシステム失敗談 #perlbeginners
メルマガシステム失敗談 #perlbeginnersメルマガシステム失敗談 #perlbeginners
メルマガシステム失敗談 #perlbeginners
 
Atnd地域検索作ったよー
Atnd地域検索作ったよーAtnd地域検索作ったよー
Atnd地域検索作ったよー
 
20191030 RPA makes us Anything.
20191030 RPA makes us Anything.20191030 RPA makes us Anything.
20191030 RPA makes us Anything.
 
Ruby StyleStatsの紹介
Ruby StyleStatsの紹介Ruby StyleStatsの紹介
Ruby StyleStatsの紹介
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
 
ぁ単語のお仕事 基本編
ぁ単語のお仕事 基本編ぁ単語のお仕事 基本編
ぁ単語のお仕事 基本編
 

More from 鉄次 尾形

Perl入学式 2018年度の報告
Perl入学式 2018年度の報告Perl入学式 2018年度の報告
Perl入学式 2018年度の報告鉄次 尾形
 
【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア鉄次 尾形
 
俺のこだわりデスクのその後
俺のこだわりデスクのその後俺のこだわりデスクのその後
俺のこだわりデスクのその後鉄次 尾形
 
WordPress 運用を支える Perl
WordPress 運用を支える PerlWordPress 運用を支える Perl
WordPress 運用を支える Perl鉄次 尾形
 
障害対応とその防止策
障害対応とその防止策障害対応とその防止策
障害対応とその防止策鉄次 尾形
 
働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール鉄次 尾形
 
Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜鉄次 尾形
 
コードの動的生成のお話
コードの動的生成のお話コードの動的生成のお話
コードの動的生成のお話鉄次 尾形
 
三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか鉄次 尾形
 
Perlで生きる10年
Perlで生きる10年Perlで生きる10年
Perlで生きる10年鉄次 尾形
 
穏やかにファイルを削除する続き
穏やかにファイルを削除する続き穏やかにファイルを削除する続き
穏やかにファイルを削除する続き鉄次 尾形
 
日本全国ぶらりPerl旅
日本全国ぶらりPerl旅日本全国ぶらりPerl旅
日本全国ぶらりPerl旅鉄次 尾形
 
穏やかにファイルを削除する
穏やかにファイルを削除する穏やかにファイルを削除する
穏やかにファイルを削除する鉄次 尾形
 
最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話鉄次 尾形
 
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム   Gx#20再帰、漸化式、差分方程式とアルゴリズム   Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20鉄次 尾形
 
超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual鉄次 尾形
 
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論鉄次 尾形
 
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015鉄次 尾形
 
4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ鉄次 尾形
 

More from 鉄次 尾形 (20)

Perl入学式 2018年度の報告
Perl入学式 2018年度の報告Perl入学式 2018年度の報告
Perl入学式 2018年度の報告
 
【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア【公開版】AWS基礎 for 新卒エンジニア
【公開版】AWS基礎 for 新卒エンジニア
 
俺のこだわりデスクのその後
俺のこだわりデスクのその後俺のこだわりデスクのその後
俺のこだわりデスクのその後
 
Hokkaido.pmと7年
Hokkaido.pmと7年Hokkaido.pmと7年
Hokkaido.pmと7年
 
WordPress 運用を支える Perl
WordPress 運用を支える PerlWordPress 運用を支える Perl
WordPress 運用を支える Perl
 
障害対応とその防止策
障害対応とその防止策障害対応とその防止策
障害対応とその防止策
 
働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール働きやすい社内を目指す!二酸化炭素計測ツール
働きやすい社内を目指す!二酸化炭素計測ツール
 
Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜
 
コードの動的生成のお話
コードの動的生成のお話コードの動的生成のお話
コードの動的生成のお話
 
三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか三角関数の加法定理はなぜ難しいのか
三角関数の加法定理はなぜ難しいのか
 
Perlで生きる10年
Perlで生きる10年Perlで生きる10年
Perlで生きる10年
 
穏やかにファイルを削除する続き
穏やかにファイルを削除する続き穏やかにファイルを削除する続き
穏やかにファイルを削除する続き
 
日本全国ぶらりPerl旅
日本全国ぶらりPerl旅日本全国ぶらりPerl旅
日本全国ぶらりPerl旅
 
穏やかにファイルを削除する
穏やかにファイルを削除する穏やかにファイルを削除する
穏やかにファイルを削除する
 
最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話最近のメールまわりのお仕事のお話
最近のメールまわりのお仕事のお話
 
再帰、漸化式、差分方程式とアルゴリズム Gx#20
再帰、漸化式、差分方程式とアルゴリズム   Gx#20再帰、漸化式、差分方程式とアルゴリズム   Gx#20
再帰、漸化式、差分方程式とアルゴリズム Gx#20
 
超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual超小規模環境のMySQL #mysqlcasual
超小規模環境のMySQL #mysqlcasual
 
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論
 
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015
 
4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

mod_perlで動くアプリをどう置くか #hachiojipm