SlideShare a Scribd company logo
1 of 33
Download to read offline
Perl暦およそ10年(?)の僕が
データベースを使えるように
     なるまでの昔話
    Perl Beginners #3
      Lightning Talk

       @ytnobody
およそ10年前。
Perlに触れて数ヶ月・・・
●   先輩「そろそろデータベースつかってみようかー」
●
    自分「なんですかそれ」
●   先輩「」
そもそも

データベース(=DB)とは

   何なのかを

  知らなかった
説明しよう!

    ここで言うデータベースとは、正しくは
「リレーショナルデータベースマネージメントシステム」
  と呼ばれ、RDBMSなどと略されるものである。

プログラム内で永続的にデータを保持するために
     用いられる仕組みであり、
 大抵はサーバソフトウェアとして提供される。

プログラムはデータベースと情報をやり取りするため
に、SQLと呼ばれる専用の命令文を発行する必要が
           ある。
初めての
DBを使ったプログラミング
●   自分「先輩~、できましたー><」
●
    先輩「どれどれみせてごらん・・・」
●   自分「これです!どうっすかね、動きますよ!ほら!」
●
    先輩「」
#!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
    my $id = $field[0];
    my $name = $field[1];
    ...
    ......
    .........
}
先輩「ダメダメだね」
#!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
                                                        先輩:
                                                 use strict してないでしょ?
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
                                                        よくないなー
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
    my $id = $field[0];
    my $name = $field[1];
    ...
    ......
    .........
}
#!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
                                                 先輩:
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
                                                 これはuseしなくてOK
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
    my $id = $field[0];
    my $name = $field[1];
    ...
    ......
    .........
}
#!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
    my $id = $field[0];
                                               先輩:
                                               $DBHを返す関数を作れば、
    my $name = $field[1];                      毎回connectを書く必要がないよね?
    ...
    ......
    .........
}
#!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=12');
$sth->execute();
while (my @field = $sth->fetchrow_array()) {
    my $id = $field[0];
    my $name = $field[1];
    ...
                                先輩:
    ......
                                こりゃひどいなー。バインド変数使おうよ。
    .........
}
自分「え?バインド変数って何すか???」
#!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=?');
$sth->execute(12);
while (my @field = $sth->fetchrow_array()) {
    my $id = $field[0];
    my $name = $field[1];
    ...                           先輩:
                                  バインド変数ってのは、これ「?」のことだね
    ......
    .........
}
#!/usr/bin/perl
use DBI;
use DBD::mysql;
my $DBH = DBI->connect('DBI:mysql:dbname', 'user', 'password');
my $sth = $DBH->prepare('SELECT * FROM member WHERE area=?');
$sth->execute(12);
while (my @field = $sth->fetchrow_array()) {
    my $id = $field[0];
    my $name = $field[1];
    ...                          先輩:
                                 で、executeするときに該当する値を渡すんだよ
    ......
    .........
}
ほえー・・・わかったようなわからんような・・・
あれから
1年の月日が経過。



     PHPつかってました!

       てへぺろっ☆
さらに月日は流れ、
2年経ったある日のこと。
●   上司「久々にPerlの案件だぞー」
●
    自分「ひさしぶりっすね。」
●   上司「MySQL使うぜ。あ、今回はお前に開発任せるから。」
●
    自分「え?!」
●   上司「もう大分なれてきたし、やれるだろ?」
●
    自分「はあ、まあ」
●   上司「おーそうだ、今回開発期間短いぞ。3週間しかねえw」
●
    自分「」
自分「どうにかして楽しないと、やばすぎる」
どうやって楽しようか・・・
●   上司「CPANってのがあるからさ、そこからなんか探せばいいんじゃ
    ないのか?」
●   自分「く、CPAN????」
説明しよう!

CPAN(しーぱん/くぱん??)とは、Perl向けに作られた
モジュール(出来合いの使いまわし可能なパーツ)の
           配布サイトだ。

      Perlを使って開発するのなら、
 便利なパーツがタダで手に入る、お得でクールな
     CPANを使わない手は無いぞ!
CPANに頼ってみよう!
●   自分「自力でコードを書く量が減るってことですか!?」
●
    上司「たぶんそういうことじゃないかなー」
●   自分「先輩に、いいパーツ知らないかきいてきます!」
●
    先輩「おれしらないよ」
●   自分「」
自分「もしかして、社内にCPANを
使いこなせてる人がいない??」
協力会社の開発スタッフに
きいてみた
●   協力「Class::DBIというモジュールを使うと楽だって聞きますけどね」
●
    自分「ドキュメント読んでみます」
自分「え、英語・・・?!」
英語の壁を乗り越えるが・・・
●   自分「英語だけど、高卒英語レベルでも割と理解できる・・・」
●
    自分「でもしかしこれ、使うの難しいな。」
●   自分「わざわざスキーマ用意するのが面倒だし・・・」
●   自分「ほかにもDBを操作するモジュールは無いものか・・・」
自分「こ、こ、これじゃー!!!!」
人生初のORマッパー(?)
それはDBIx::Simple

my $dbh = DBI->connect(...);
my $sql = 'SELECT * FROM user WHERE id=?';
my $sth = $dbh->prepare($sql);
$sth->execute(123);
my @col = $sth->fetchrow_array;
...
......
.........




                                             my $db = DBIx::Simple->new(...);
                                             $user = $db->select('user','*',{id => 1});
                                             ...
                  これがこうなった                   ......
                                             .........
自分「これはすげー!!!!」
その後のORマッパー
使用遍歴
●   Data::Model
    ●   キャッシュを意識せず、透過的に扱いたかった
●   Teng
    ●   最近はORマッパーといえばほぼこれ。
●   DBIx::Sunny
    ●   素のDBIにほんの少し手が加えられている。
       selectとかの便利メソッドが追加
        –
●   自作のORマッパー
    ●   作ってみたかっただけ
        –   スキーマ不要
        –   トランザクションをDSLっぽく書きたい
        –   いくつかの制約(主キーが”id”固定とか)
でも結局・・・
●   基本はDBI。
    ●   いまでもDBIだけで仕上げることがあるくらい。
    ●   Hachioji.pmの有志が開発しているwebチャット
        「Yancha」も今のところDBIでDBアクセス
●
    なんで?
    ●   シンプルisベスト
    ●   基本に忠実=基本さえわかっていれば、読める理解で
        きる
これからDBを使ったプログラムを
習得するなら
●   まずはDBI+MySQLの組み合わせでやってみよう
●   ORマッパーは「わかってる人間が楽をするためのもの」
    ●   最初からORマッパーを使うのは避けたほうが無難かも
●
    使うなら「利用人口の多いもの」を選ぶと楽
    ●
        周りに訊けます
        –   ツイッターとかで訊けばそれなりの回答があるかもしれない
        –   回答がつかなくても泣かない
            ●
                これ大事。
●   なれてきたら、データキャッシュ(memcached)の導入も視野に入れ
    てみる。
    ●
        負荷軽減、処理時間削減など、パフォーマンスに貢献
質問タイム
ありがとうございました。

More Related Content

What's hot

よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれたよいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれたMoriyoshi Koizumi
 
Wb osaka 20120623
Wb osaka 20120623Wb osaka 20120623
Wb osaka 20120623Miho Ishida
 
WordPressで始めるphp入門
WordPressで始めるphp入門WordPressで始めるphp入門
WordPressで始めるphp入門Hiroaki Murayama
 
SlowQueryとの戦い
SlowQueryとの戦いSlowQueryとの戦い
SlowQueryとの戦いKen Gotoh
 
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクトYuki Okamoto
 
カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化Kanetaka Heshiki
 
Ruby 同好会宣言
Ruby 同好会宣言Ruby 同好会宣言
Ruby 同好会宣言Yuya Takeyama
 
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策iPride Co., Ltd.
 
Perl 6 Object-Oliented Programming
Perl 6 Object-Oliented ProgrammingPerl 6 Object-Oliented Programming
Perl 6 Object-Oliented Programmingrisou
 
月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 BuilderTakaaki Hirano
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門Atsushi Tadokoro
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発emasaka
 
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介しくみ製作所
 
objective-c propertyの属性について
objective-c propertyの属性についてobjective-c propertyの属性について
objective-c propertyの属性についてHiroki Uemoto
 
Alpine.jsハンズオン
Alpine.jsハンズオンAlpine.jsハンズオン
Alpine.jsハンズオンAyakaNishiyama
 
BMXUG つきじ#4
BMXUG つきじ#4BMXUG つきじ#4
BMXUG つきじ#4K Kimura
 

What's hot (19)

よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれたよいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
 
Wb osaka 20120623
Wb osaka 20120623Wb osaka 20120623
Wb osaka 20120623
 
PHP7を魔改造した話
PHP7を魔改造した話PHP7を魔改造した話
PHP7を魔改造した話
 
WordPressで始めるphp入門
WordPressで始めるphp入門WordPressで始めるphp入門
WordPressで始めるphp入門
 
SlowQueryとの戦い
SlowQueryとの戦いSlowQueryとの戦い
SlowQueryとの戦い
 
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
 
Ll xcode
Ll xcodeLl xcode
Ll xcode
 
カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化カーネル密度推定を用いた店舗情報の可視化
カーネル密度推定を用いた店舗情報の可視化
 
Ruby 同好会宣言
Ruby 同好会宣言Ruby 同好会宣言
Ruby 同好会宣言
 
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
 
Perl 6 Object-Oliented Programming
Perl 6 Object-Oliented ProgrammingPerl 6 Object-Oliented Programming
Perl 6 Object-Oliented Programming
 
MongoDBの使い方
MongoDBの使い方MongoDBの使い方
MongoDBの使い方
 
月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
 
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
 
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
 
objective-c propertyの属性について
objective-c propertyの属性についてobjective-c propertyの属性について
objective-c propertyの属性について
 
Alpine.jsハンズオン
Alpine.jsハンズオンAlpine.jsハンズオン
Alpine.jsハンズオン
 
BMXUG つきじ#4
BMXUG つきじ#4BMXUG つきじ#4
BMXUG つきじ#4
 

Viewers also liked

Cumiki - エンジニアのための、ちょっといい感じのドキュメント作成ツール
Cumiki - エンジニアのための、ちょっといい感じのドキュメント作成ツールCumiki - エンジニアのための、ちょっといい感じのドキュメント作成ツール
Cumiki - エンジニアのための、ちょっといい感じのドキュメント作成ツールRyo Suzuki
 
初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談Makoto Haruyama
 
Perl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーHideo Kimura
 
CSS Regionsを使った新しい CSSレイアウトを作る方法
CSS Regionsを使った新しい CSSレイアウトを作る方法CSS Regionsを使った新しい CSSレイアウトを作る方法
CSS Regionsを使った新しい CSSレイアウトを作る方法Keisuke Todoroki
 
My sqlのha構成について
My sqlのha構成についてMy sqlのha構成について
My sqlのha構成についてYu Komiya
 
設計から実装まで、今すぐ始める高速化
設計から実装まで、今すぐ始める高速化設計から実装まで、今すぐ始める高速化
設計から実装まで、今すぐ始める高速化masaaki komori
 
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介Yusuke Hirao
 
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyoyoyamasaki
 
「画像をなるべく使わずにWebをレイアウトするテクニック」鷹野 雅弘(スイッチ)
「画像をなるべく使わずにWebをレイアウトするテクニック」鷹野 雅弘(スイッチ)「画像をなるべく使わずにWebをレイアウトするテクニック」鷹野 雅弘(スイッチ)
「画像をなるべく使わずにWebをレイアウトするテクニック」鷹野 雅弘(スイッチ)swwwitch inc.
 
MySQLバックアップの基本
MySQLバックアップの基本MySQLバックアップの基本
MySQLバックアップの基本yoyamasaki
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンスHidenori Ishii
 
MySQL Index勉強会外部公開用
MySQL Index勉強会外部公開用MySQL Index勉強会外部公開用
MySQL Index勉強会外部公開用CROOZ, inc.
 
Devsの常識、DBAは非常識
Devsの常識、DBAは非常識Devsの常識、DBAは非常識
Devsの常識、DBAは非常識yoku0825
 
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
スマートフォンサイト制作  よくあるトラブルと 解決方法・回避方法スマートフォンサイト制作  よくあるトラブルと 解決方法・回避方法
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法Maboroshi.inc
 
いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方Hiroshi Tokumaru
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える拓樹 谷
 
さくらのVPSに来る悪い人を観察する その2
さくらのVPSに来る悪い人を観察する その2さくらのVPSに来る悪い人を観察する その2
さくらのVPSに来る悪い人を観察する その2ozuma5119
 
みんなビックデータビックデータって言ってるけど 名寄せとかどうしてんの?
みんなビックデータビックデータって言ってるけど 名寄せとかどうしてんの?みんなビックデータビックデータって言ってるけど 名寄せとかどうしてんの?
みんなビックデータビックデータって言ってるけど 名寄せとかどうしてんの?Kazuaki SAKAI
 

Viewers also liked (20)

Cumiki - エンジニアのための、ちょっといい感じのドキュメント作成ツール
Cumiki - エンジニアのための、ちょっといい感じのドキュメント作成ツールCumiki - エンジニアのための、ちょっといい感じのドキュメント作成ツール
Cumiki - エンジニアのための、ちょっといい感じのドキュメント作成ツール
 
初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談
 
Perl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバー
 
CSS Regionsを使った新しい CSSレイアウトを作る方法
CSS Regionsを使った新しい CSSレイアウトを作る方法CSS Regionsを使った新しい CSSレイアウトを作る方法
CSS Regionsを使った新しい CSSレイアウトを作る方法
 
My sqlのha構成について
My sqlのha構成についてMy sqlのha構成について
My sqlのha構成について
 
設計から実装まで、今すぐ始める高速化
設計から実装まで、今すぐ始める高速化設計から実装まで、今すぐ始める高速化
設計から実装まで、今すぐ始める高速化
 
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
 
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
 
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
 
「画像をなるべく使わずにWebをレイアウトするテクニック」鷹野 雅弘(スイッチ)
「画像をなるべく使わずにWebをレイアウトするテクニック」鷹野 雅弘(スイッチ)「画像をなるべく使わずにWebをレイアウトするテクニック」鷹野 雅弘(スイッチ)
「画像をなるべく使わずにWebをレイアウトするテクニック」鷹野 雅弘(スイッチ)
 
MySQLバックアップの基本
MySQLバックアップの基本MySQLバックアップの基本
MySQLバックアップの基本
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
 
MySQL Index勉強会外部公開用
MySQL Index勉強会外部公開用MySQL Index勉強会外部公開用
MySQL Index勉強会外部公開用
 
Devsの常識、DBAは非常識
Devsの常識、DBAは非常識Devsの常識、DBAは非常識
Devsの常識、DBAは非常識
 
Mysql toranomaki
Mysql toranomakiMysql toranomaki
Mysql toranomaki
 
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
スマートフォンサイト制作  よくあるトラブルと 解決方法・回避方法スマートフォンサイト制作  よくあるトラブルと 解決方法・回避方法
スマートフォンサイト制作 よくあるトラブルと 解決方法・回避方法
 
いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
 
さくらのVPSに来る悪い人を観察する その2
さくらのVPSに来る悪い人を観察する その2さくらのVPSに来る悪い人を観察する その2
さくらのVPSに来る悪い人を観察する その2
 
みんなビックデータビックデータって言ってるけど 名寄せとかどうしてんの?
みんなビックデータビックデータって言ってるけど 名寄せとかどうしてんの?みんなビックデータビックデータって言ってるけど 名寄せとかどうしてんの?
みんなビックデータビックデータって言ってるけど 名寄せとかどうしてんの?
 

Similar to Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話

PerlとSQLのいろいろ
PerlとSQLのいろいろPerlとSQLのいろいろ
PerlとSQLのいろいろTakuya Tsuchida
 
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~Akabane Hiroyuki
 
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)Masanori Machii
 
Cinnamon - simple deploy tool
Cinnamon - simple deploy toolCinnamon - simple deploy tool
Cinnamon - simple deploy toolYuki Shibazaki
 
コマンドライン使いもLibreOffice
コマンドライン使いもLibreOfficeコマンドライン使いもLibreOffice
コマンドライン使いもLibreOfficeKiwamu Okabe
 
Chiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for PerlChiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for PerlHideaki Ohno
 
20230705_Node-RED_Park_vol12_kitazaki_v1.pdf
20230705_Node-RED_Park_vol12_kitazaki_v1.pdf20230705_Node-RED_Park_vol12_kitazaki_v1.pdf
20230705_Node-RED_Park_vol12_kitazaki_v1.pdfAyachika Kitazaki
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Takashi J OZAKI
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1Ryosuke IWANAGA
 
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術yoku0825
 
【20211202_toranoana.deno#3】denoでFFI
【20211202_toranoana.deno#3】denoでFFI【20211202_toranoana.deno#3】denoでFFI
【20211202_toranoana.deno#3】denoでFFI虎の穴 開発室
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会otmb
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1Makoto Haruyama
 

Similar to Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話 (20)

PerlとSQLのいろいろ
PerlとSQLのいろいろPerlとSQLのいろいろ
PerlとSQLのいろいろ
 
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
 
dm-thin-internal-ja
dm-thin-internal-jadm-thin-internal-ja
dm-thin-internal-ja
 
第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)第2回品川Redmine勉強会(日本語全文検索)
第2回品川Redmine勉強会(日本語全文検索)
 
資料
資料資料
資料
 
Cinnamon - simple deploy tool
Cinnamon - simple deploy toolCinnamon - simple deploy tool
Cinnamon - simple deploy tool
 
Ansible入門
Ansible入門Ansible入門
Ansible入門
 
コマンドライン使いもLibreOffice
コマンドライン使いもLibreOfficeコマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
 
swooleを試してみた
swooleを試してみたswooleを試してみた
swooleを試してみた
 
Mina 20130417
Mina 20130417Mina 20130417
Mina 20130417
 
Chiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for PerlChiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for Perl
 
Django boodoo
Django boodooDjango boodoo
Django boodoo
 
20230705_Node-RED_Park_vol12_kitazaki_v1.pdf
20230705_Node-RED_Park_vol12_kitazaki_v1.pdf20230705_Node-RED_Park_vol12_kitazaki_v1.pdf
20230705_Node-RED_Park_vol12_kitazaki_v1.pdf
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術MySQLを割と一人で300台管理する技術
MySQLを割と一人で300台管理する技術
 
【20211202_toranoana.deno#3】denoでFFI
【20211202_toranoana.deno#3】denoでFFI【20211202_toranoana.deno#3】denoでFFI
【20211202_toranoana.deno#3】denoでFFI
 
Mongo db勉強会
Mongo db勉強会Mongo db勉強会
Mongo db勉強会
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 

More from azuma satoshi

finally (not finally)
finally (not finally)finally (not finally)
finally (not finally)azuma satoshi
 
時を駆けるINSERT.pptx
時を駆けるINSERT.pptx時を駆けるINSERT.pptx
時を駆けるINSERT.pptxazuma satoshi
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャazuma satoshi
 
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1azuma satoshi
 
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyPerlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyazuma satoshi
 
Perlbeginnes 9 opening
Perlbeginnes 9 openingPerlbeginnes 9 opening
Perlbeginnes 9 openingazuma satoshi
 
Perlbeginners proposal
Perlbeginners proposalPerlbeginners proposal
Perlbeginners proposalazuma satoshi
 
入れ子構造を分解する
入れ子構造を分解する入れ子構造を分解する
入れ子構造を分解するazuma satoshi
 
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししようYAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししようazuma satoshi
 
ライブコーディング(?)で学ぶPerlオブジェクト指向
ライブコーディング(?)で学ぶPerlオブジェクト指向ライブコーディング(?)で学ぶPerlオブジェクト指向
ライブコーディング(?)で学ぶPerlオブジェクト指向azuma satoshi
 
Perlbeginnes 4 keynote
Perlbeginnes 4 keynotePerlbeginnes 4 keynote
Perlbeginnes 4 keynoteazuma satoshi
 
Perlbeginners 3 opening talk
Perlbeginners 3 opening talkPerlbeginners 3 opening talk
Perlbeginners 3 opening talkazuma satoshi
 
Perlbeginnes 2 keynote
Perlbeginnes 2 keynotePerlbeginnes 2 keynote
Perlbeginnes 2 keynoteazuma satoshi
 
Perl Beginners #1 keynote
Perl Beginners #1 keynotePerl Beginners #1 keynote
Perl Beginners #1 keynoteazuma satoshi
 
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向azuma satoshi
 

More from azuma satoshi (20)

finally (not finally)
finally (not finally)finally (not finally)
finally (not finally)
 
時を駆けるINSERT.pptx
時を駆けるINSERT.pptx時を駆けるINSERT.pptx
時を駆けるINSERT.pptx
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
 
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
 
L tthon
L tthonL tthon
L tthon
 
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobodyPerlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
 
Perlbeginnes 9 opening
Perlbeginnes 9 openingPerlbeginnes 9 opening
Perlbeginnes 9 opening
 
Perlbeginners proposal
Perlbeginners proposalPerlbeginners proposal
Perlbeginners proposal
 
Chibapm01 lt
Chibapm01 ltChibapm01 lt
Chibapm01 lt
 
入れ子構造を分解する
入れ子構造を分解する入れ子構造を分解する
入れ子構造を分解する
 
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししようYAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししよう
 
ライブコーディング(?)で学ぶPerlオブジェクト指向
ライブコーディング(?)で学ぶPerlオブジェクト指向ライブコーディング(?)で学ぶPerlオブジェクト指向
ライブコーディング(?)で学ぶPerlオブジェクト指向
 
Perlbeginnes 4 keynote
Perlbeginnes 4 keynotePerlbeginnes 4 keynote
Perlbeginnes 4 keynote
 
Perlbeginners 3 opening talk
Perlbeginners 3 opening talkPerlbeginners 3 opening talk
Perlbeginners 3 opening talk
 
PSGIへの誘い
PSGIへの誘いPSGIへの誘い
PSGIへの誘い
 
Perlbeginnes 2 keynote
Perlbeginnes 2 keynotePerlbeginnes 2 keynote
Perlbeginnes 2 keynote
 
Hachiojipm 14 LT
Hachiojipm 14 LTHachiojipm 14 LT
Hachiojipm 14 LT
 
Perl Beginners #1 keynote
Perl Beginners #1 keynotePerl Beginners #1 keynote
Perl Beginners #1 keynote
 
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向
 
Hachioji.pm #13 LT
Hachioji.pm #13 LTHachioji.pm #13 LT
Hachioji.pm #13 LT
 

Recently uploaded

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

Recently uploaded (8)

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

Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話