SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
メルマガシステム
失敗談
尾形 鉄次 (OGATA Tetsuji)
Twitter: @xtetsuji
2013/5/24 PerlBeginners#8
自己紹介
• 尾形 鉄次 (OGATA Tetsuji)
• Twitter: @xtetsuji
• Blog: http://post.tetsuji.jp/
• 専門領域:Apache mod_perl
• よく行く:Hokkaido.pm、Hachioji.pm
所属紹介
• 株式会社fonfun(フォンファン)
http://www.fonfun.co.jp/
• リモートメール
http://rmail.jp/
• 中心事業として、ウェブメールをやっている
会社から来ました(質問歓迎です!)
• 開発設計や新規技術の研究が私の主な仕事
遍歴
• 2000年頃:i-mode向け統合ウェブメール
サービス「リモートメール」(リモメ)を
始める(当時としては先進的)
• →サーバ1台 + Perl4? CGI
• 2003年:私が入社→システムを第4世代
に作り替えている最中だった
遍歴
• 2005年頃から会社規模が大きくなり、
リモメのようなケータイキャリア課金
代行サービスによるBtoC以外に、受託
事業もやりはじめる
• 子会社や他の外注にシステム発注
• そのアドバイザー役で多忙に
外注を使う
• 企画「受託でメルマガシステム作る事
になったから外注に発注する」
• 外注「はい作ります」
• 横で眺めているだけの簡単な(?)お仕事
• …のはずだった
炎上
炎上
• 多重配信。配信無限ループ。連日徹夜
• 当時でこそ、メルマガシステム開発経験
のある外注なんて、ほとんどいない
• なぜか尻拭いはこちら側になる
• 若いから何とか乗り切れたようなもの
何がダメだったのか
何がダメだったのか
• 参考情報:孫請けの開発言語はPHP
• PHPという言語に罪はないけど、正直
PHPの外注は慎重に選んだほうがいい
• MySQLにある配信メルマガテーブル
• そして秘技、毎分cron
CREATE TABLE メルマガ (
id INT NOT NULL AUTO INCREMENT,
配信日時 DATETIME,
配信完了フラグ INTEGER,
メルマガ本文 TEXT,
PRIMARY KEY id
);
メルマガ配信テーブル
• そのままは公開できないけど、概要と
してはこんな感じだった
メルマガ配信テーブル
• 管理画面も提供されていて、納品先の
お客様が配信日時指定をしたメルマガ
をセットできる
• その内容は配信テーブルにINSERT
• 配信先ユーザはユーザテーブルで管理
毎分cron
• 5つのアスタリスクのcron
• * * * * * www-data php /path/to/mailmag.php
• 配信テーブルを毎分監視して、未配信
メルマガがあったら配信処理開始
• これが意外にヤバイ→なぜでしょう?
毎分cronの罠
• 一つのプロセスが1分以内に終わらない
と次のプロセスが起き上がる
• 何らかの排他処理をしないとヤバイ
• 多重処理が発生→システムが重くなる
→さらに多重処理が発生→無限ループ
テーブル設計ミス
• しかもこれ、INTの「配信完了フラグ」
が「未配信」と「配信済み」の2つしか
なかった!→後は分かりますね…
• 少なくとも「配信途中」というフラグ
は必要だろ!
突然の作り直し
• 外注、ギブアップ!
• ブチギレた発注元「外注使ってんじゃ
ねーよ。おまえの会社、ウェブメール
やってて開発者いるんだろ?そいつら
が作り直せよ外注絶対使うなよコラ」
Perlプログラマの
精鋭部隊、集合!
Perl Hacker招集
• ここでようやくPerl登場
• 社内の精鋭が集められて設計会議
• 早朝に集まって再設計素案作成
環境の縛りプレイ
• 特に製品納品型の受託の場合、
「CentOSにあるRPMしか…」とか多い
• PerlもPerl5.8コア+αモジュール縛り
• 迫り来る時間で他のモジュールのRPM
化とか、できる余裕すらなかった
再設計計画DB編
• 既存のMySQLのテーブルの設計変更は
しない→闇仕様の中、危険すぎる
• 配信フラグINTだった→これを利用して
配信途中の様々な状況を詳細に記録
• 新たなテーブルで既存のテーブルを参照
して、それの不備を補正する
再設計計画Perl編
• 既存のPHPの配信プログラム完全廃棄
• ヤバいコードが色々書かれていた…
• Perl5.8縛り
• Net::SMTPの登場(Perl5.7で既にコア)
• DBD::mysqlはあった!助かった!
Net::SMTP
• SMTPをクラス化したPerlモジュール
• 生のSMTPに近くて分かりづらい→その
分、高速化や細かい処理ができる
• メール(MIME構造)構築や、デコりたい
とかは Email::* などを探すとよいかも
もっと簡単に
• メール送信だけなら、最近だと
Email::Senderがいいらしい
• 最近MooseからMooに依存が変わって、
使う心理的障壁が低くなった
• Net::SMTPと見比べてみるといいかも
再設計計画cron編
• 縛りプレイ、当時の情勢等により、
JobQueueやイベント駆動などは使えず
• 毎分cronをそのまま使う
• その分、前述の配信フラグの強化で、
排他処理を完璧に行う
再設計計画cron編
• psのコマンド出力を見て排他処理
• 1分前に起動された「同じプログラム」
がまだいるかも詳細にチェックする
for (`ps auxwww`) {
chomp;
my @row = split /s+/, $_;
my ($pid, $name) = @row[1,10];
if ( $pid != $$ && $name eq $0 ) {
# pidが違う自分自身と同じ名前のやつがいる!
exit;
}
}
努力の甲斐あって
• これらの補修で「Perl版新メルマガ配信
プログラム」が完成した
• 先方に訪問、新設計のプレゼン
• その後、見事配信しきった
参考として
• レンタルサーバスペックや、I/Oボトル
ネックは2006年当時とそれほど大きな
差は無い
• 安いレンタルサーバ1台で配信しきれる
メールは大体800通/1分あたりかな(様々
な状況により数値は変わってきます)
考えが甘い開発者
• 数人で数十アカウントを作って配信、
というテストは完全に甘すぎる
• 少なくとも数千件のメールアドレスに
短い間隔でセットした複数のメルマガ
があるといった状況でテストしないと
ダメ
その後
• 自社開発のECサイトでメルマガ開発を
するときにこの仕組みを入れた→成功
• エラーメールの戻りを処理するのを
Postfix pipeでやったらForkコストが無視
できなかった→今ならQpsmtpdなど
• このあたりのPostfix話は別の場所で…
その後
• 時が経ち他の部署でメルマガシステム
をまた諸事情で外注することとなった
• アドバイザーとして1万アドレス用意、
条件を提示して「ここに無事配信しき
れたら合格」としたら、期待通り失敗
してくれた→その後修正してくれました
ここ最近
• 受託が下火に、柱事業に力を入れると
いう方向になってくれた
• メーリングリストシステムを開発した
• http://rmail.jp/service/s_groupmail.html
グループメール
• これの中の実装はApache2+mod_perl2
詳細
• 詳細は拙作の「mod_perl温故知新 ∼
Perl CGIの高速化からメールサーバま
で∼」が詳しいです
• http://www.slideshare.net/xtetsuji/mod-
perl-hokkaidopm5
• 縛りが無ければQpsmtpd使うのが良い
現在
• 最近有料メルマガブームだし、競合も
それほど少ないからメルマガシステム
またいいかもなぁ、とか考えている
• 高速配信が課題→目標高く100万通/1分
• 設計案は何となく頭の中にある
続きは懇親会で
• 気軽にご質問ください
• 懇親会にも出ます
• メールサーバ勉強会があればPostfix側を
もっと詳細にしゃべりたい
• Perl製のQpsmtpdの話もどこかでしたい
ご清聴
ありがとうございました

Weitere ähnliche Inhalte

Andere mochten auch

(株)自治体構想による三根庁舎旧議場の利活用
(株)自治体構想による三根庁舎旧議場の利活用(株)自治体構想による三根庁舎旧議場の利活用
(株)自治体構想による三根庁舎旧議場の利活用隆志 杉山
 
2017 ZRAY SPORTS
2017 ZRAY SPORTS2017 ZRAY SPORTS
2017 ZRAY SPORTSSophia Cui
 
E2D3で地図を作画してみよう
E2D3で地図を作画してみようE2D3で地図を作画してみよう
E2D3で地図を作画してみようShigeo Ueda
 
How a CDCL SAT solver works
How a CDCL SAT solver worksHow a CDCL SAT solver works
How a CDCL SAT solver worksMasahiro Sakai
 
Marigo Raftopoulos for Gamification World Congress, Barcelona 2015
Marigo Raftopoulos for Gamification World Congress, Barcelona 2015Marigo Raftopoulos for Gamification World Congress, Barcelona 2015
Marigo Raftopoulos for Gamification World Congress, Barcelona 2015Dr. Marigo Raftopoulos
 
顔認識アルゴリズム:Constrained local model を調べてみた
顔認識アルゴリズム:Constrained local model を調べてみた顔認識アルゴリズム:Constrained local model を調べてみた
顔認識アルゴリズム:Constrained local model を調べてみたJotaro Shigeyama
 
神に近づくx/net/context (Finding God with x/net/context)
神に近づくx/net/context (Finding God with x/net/context)神に近づくx/net/context (Finding God with x/net/context)
神に近づくx/net/context (Finding God with x/net/context)guregu
 
Basculement du monde et géopolitique du monde
Basculement du monde et géopolitique du mondeBasculement du monde et géopolitique du monde
Basculement du monde et géopolitique du mondeJean-François Fiorina
 
298885937-Us-Naval-Incompetence
298885937-Us-Naval-Incompetence298885937-Us-Naval-Incompetence
298885937-Us-Naval-IncompetenceAgha A
 
Infocomm Webinar 08/03/17 - Sistemas audiovisuais aplicados em avisos de emer...
Infocomm Webinar 08/03/17 - Sistemas audiovisuais aplicados em avisos de emer...Infocomm Webinar 08/03/17 - Sistemas audiovisuais aplicados em avisos de emer...
Infocomm Webinar 08/03/17 - Sistemas audiovisuais aplicados em avisos de emer...Andre Stern, CTS
 
Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Takuto Matsuu
 
5分でわかる Apache HBase 最新版 #hcj2014
5分でわかる Apache HBase 最新版 #hcj20145分でわかる Apache HBase 最新版 #hcj2014
5分でわかる Apache HBase 最新版 #hcj2014Cloudera Japan
 
Experimentos científicos
Experimentos científicos Experimentos científicos
Experimentos científicos Fabián Cuevas
 
Why Demand Generation Funnels Are a Limiting Approach
Why Demand Generation Funnels Are a Limiting ApproachWhy Demand Generation Funnels Are a Limiting Approach
Why Demand Generation Funnels Are a Limiting ApproachTechTarget
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
 

Andere mochten auch (19)

Making The Most Of Internship
Making The Most Of Internship  Making The Most Of Internship
Making The Most Of Internship
 
(株)自治体構想による三根庁舎旧議場の利活用
(株)自治体構想による三根庁舎旧議場の利活用(株)自治体構想による三根庁舎旧議場の利活用
(株)自治体構想による三根庁舎旧議場の利活用
 
2017 ZRAY SPORTS
2017 ZRAY SPORTS2017 ZRAY SPORTS
2017 ZRAY SPORTS
 
E2D3で地図を作画してみよう
E2D3で地図を作画してみようE2D3で地図を作画してみよう
E2D3で地図を作画してみよう
 
GUIA PARA SALIR DE LA PRECARIEDAD LABORAL
GUIA PARA SALIR DE LA PRECARIEDAD LABORALGUIA PARA SALIR DE LA PRECARIEDAD LABORAL
GUIA PARA SALIR DE LA PRECARIEDAD LABORAL
 
How a CDCL SAT solver works
How a CDCL SAT solver worksHow a CDCL SAT solver works
How a CDCL SAT solver works
 
Marigo Raftopoulos for Gamification World Congress, Barcelona 2015
Marigo Raftopoulos for Gamification World Congress, Barcelona 2015Marigo Raftopoulos for Gamification World Congress, Barcelona 2015
Marigo Raftopoulos for Gamification World Congress, Barcelona 2015
 
顔認識アルゴリズム:Constrained local model を調べてみた
顔認識アルゴリズム:Constrained local model を調べてみた顔認識アルゴリズム:Constrained local model を調べてみた
顔認識アルゴリズム:Constrained local model を調べてみた
 
神に近づくx/net/context (Finding God with x/net/context)
神に近づくx/net/context (Finding God with x/net/context)神に近づくx/net/context (Finding God with x/net/context)
神に近づくx/net/context (Finding God with x/net/context)
 
Basculement du monde et géopolitique du monde
Basculement du monde et géopolitique du mondeBasculement du monde et géopolitique du monde
Basculement du monde et géopolitique du monde
 
298885937-Us-Naval-Incompetence
298885937-Us-Naval-Incompetence298885937-Us-Naval-Incompetence
298885937-Us-Naval-Incompetence
 
Hair Extension Courses Manchester
Hair Extension Courses ManchesterHair Extension Courses Manchester
Hair Extension Courses Manchester
 
Infocomm Webinar 08/03/17 - Sistemas audiovisuais aplicados em avisos de emer...
Infocomm Webinar 08/03/17 - Sistemas audiovisuais aplicados em avisos de emer...Infocomm Webinar 08/03/17 - Sistemas audiovisuais aplicados em avisos de emer...
Infocomm Webinar 08/03/17 - Sistemas audiovisuais aplicados em avisos de emer...
 
Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話Gentooプリインストールなノートパソコンの話
Gentooプリインストールなノートパソコンの話
 
Trove: Introduction to searching newspapers
Trove: Introduction to searching newspapersTrove: Introduction to searching newspapers
Trove: Introduction to searching newspapers
 
5分でわかる Apache HBase 最新版 #hcj2014
5分でわかる Apache HBase 最新版 #hcj20145分でわかる Apache HBase 最新版 #hcj2014
5分でわかる Apache HBase 最新版 #hcj2014
 
Experimentos científicos
Experimentos científicos Experimentos científicos
Experimentos científicos
 
Why Demand Generation Funnels Are a Limiting Approach
Why Demand Generation Funnels Are a Limiting ApproachWhy Demand Generation Funnels Are a Limiting Approach
Why Demand Generation Funnels Are a Limiting Approach
 
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 

Ähnlich wie メルマガシステム失敗談 #perlbeginners

これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式鉄次 尾形
 
勉強会旅人のススメ
勉強会旅人のススメ勉強会旅人のススメ
勉強会旅人のススメand hyphen
 
北海道の南端で勉強会やります
北海道の南端で勉強会やります北海道の南端で勉強会やります
北海道の南端で勉強会やりますdeflis
 
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm鉄次 尾形
 
今に伝えるメールの技術 #yapcasia #yapcasiareject
今に伝えるメールの技術 #yapcasia #yapcasiareject今に伝えるメールの技術 #yapcasia #yapcasiareject
今に伝えるメールの技術 #yapcasia #yapcasiareject鉄次 尾形
 
すごいmod_perl #hachiojipm
すごいmod_perl #hachiojipmすごいmod_perl #hachiojipm
すごいmod_perl #hachiojipm鉄次 尾形
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介Takao TAGAWA
 
The tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしThe tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしTakanori Suzuki
 
mod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipmmod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipm鉄次 尾形
 
PerlのTwitterモジュールの紹介 #twtr_hack
PerlのTwitterモジュールの紹介 #twtr_hackPerlのTwitterモジュールの紹介 #twtr_hack
PerlのTwitterモジュールの紹介 #twtr_hack鉄次 尾形
 
いつか言いたい『こんなこともあろうかと』
いつか言いたい『こんなこともあろうかと』いつか言いたい『こんなこともあろうかと』
いつか言いたい『こんなこともあろうかと』Shinya Nakajima
 
2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこるYusuke Yamamoto
 
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015鉄次 尾形
 
家族で始める「やさしいIoT」
家族で始める「やさしいIoT」家族で始める「やさしいIoT」
家族で始める「やさしいIoT」Manami Taira
 
論文輪読会のススメ
論文輪読会のススメ論文輪読会のススメ
論文輪読会のススメShuzo Kashihara
 
環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm鉄次 尾形
 
JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料Yuuki Namikawa
 

Ähnlich wie メルマガシステム失敗談 #perlbeginners (20)

これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式これからPerlを使っていくみなさんへ #Perl入学式
これからPerlを使っていくみなさんへ #Perl入学式
 
勉強会旅人のススメ
勉強会旅人のススメ勉強会旅人のススメ
勉強会旅人のススメ
 
北海道の南端で勉強会やります
北海道の南端で勉強会やります北海道の南端で勉強会やります
北海道の南端で勉強会やります
 
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
 
今に伝えるメールの技術 #yapcasia #yapcasiareject
今に伝えるメールの技術 #yapcasia #yapcasiareject今に伝えるメールの技術 #yapcasia #yapcasiareject
今に伝えるメールの技術 #yapcasia #yapcasiareject
 
すごいmod_perl #hachiojipm
すごいmod_perl #hachiojipmすごいmod_perl #hachiojipm
すごいmod_perl #hachiojipm
 
[Dots.]taiga
[Dots.]taiga[Dots.]taiga
[Dots.]taiga
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介
 
The tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしThe tale of I and python / Python とのはなし
The tale of I and python / Python とのはなし
 
mod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipmmod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipm
 
PerlのTwitterモジュールの紹介 #twtr_hack
PerlのTwitterモジュールの紹介 #twtr_hackPerlのTwitterモジュールの紹介 #twtr_hack
PerlのTwitterモジュールの紹介 #twtr_hack
 
いつか言いたい『こんなこともあろうかと』
いつか言いたい『こんなこともあろうかと』いつか言いたい『こんなこともあろうかと』
いつか言いたい『こんなこともあろうかと』
 
2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる2013年3月20日 Tech Compass #tecomp #きのこる
2013年3月20日 Tech Compass #tecomp #きのこる
 
東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015東京近郊のPerlコミュニティのご紹介 #lcs2015
東京近郊のPerlコミュニティのご紹介 #lcs2015
 
家族で始める「やさしいIoT」
家族で始める「やさしいIoT」家族で始める「やさしいIoT」
家族で始める「やさしいIoT」
 
論文輪読会のススメ
論文輪読会のススメ論文輪読会のススメ
論文輪読会のススメ
 
Twitter API
Twitter APITwitter API
Twitter API
 
環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm環境が変わって最近知ったもの #hachiojipm
環境が変わって最近知ったもの #hachiojipm
 
JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料JAWS-UGサミット2011春 LT資料
JAWS-UGサミット2011春 LT資料
 

Mehr von 鉄次 尾形

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で語るレガシー開発論鉄次 尾形
 
4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ鉄次 尾形
 
ライフログ、時系列メモ
ライフログ、時系列メモライフログ、時系列メモ
ライフログ、時系列メモ鉄次 尾形
 

Mehr von 鉄次 尾形 (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で語るレガシー開発論
 
4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ4月16日だからFoursquare 位置情報とライフログ
4月16日だからFoursquare 位置情報とライフログ
 
ライフログ、時系列メモ
ライフログ、時系列メモライフログ、時系列メモ
ライフログ、時系列メモ
 

Kürzlich hochgeladen

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Kürzlich hochgeladen (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

メルマガシステム失敗談 #perlbeginners