SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
RSpecしぐさ
~歴史から学ぶRSpec~
大仲 能史 a.k.a. @onk
2017-12-09
Rails Developers Meetup 2017
自己紹介
大仲 能史 a.k.a. @onk
•株式会社ドリコム
•Rails エンジニア歴 9 年ぐらい
•v1.2.x から眺めてました
• 本格的に使いだしたのは v2.3.x から
• 2007-04 からRails勉強会@東京に参加
•RSpec も v1.x から使っています
宣伝
Rails勉強会@東京 第93回
•時:2017-12-16(土) 13:00~
•於:永和システムマネジメント
•東京Ruby忘年会の前座
•https://railsmeetingtokyo.doorkeeper.jp/eve
nts/68181
よろしく
お願いします
RSpecの
歴史
振舞駆動開発
ビヘイビア
Behaviour Driven Development
付録C
Developer Testing
•開発者が行う、開発促進のためのテスト
•<-> Customer Testing
•顧客が、受け入れのため
•<-> QA testing
•品質保証担当者が、品質保証のため
Developer Testing
•開発者が行う、開発促進のためのテスト
•プラクティスにTDDがある
TDDの効果
•テスト可能な設計
•コード利用者の視点
•インターフェイス中心の設計
DeveloperTestingは
テストではなく
設計技法である
「テスト」に引
きずられないよ
う語彙を変える
語彙を変える
変更前(test)
assertion
test
testcase
test class
変更後(behaviour)
expectation
example
example group
spec
新しい語彙には
新しいツール
RSpec
新しい語彙をさらに進める
•Arrange Act Assert
•準備・実行・検証
•Given When Then
Given When Then
•Given
•〇〇な(状況|状態)で
•When
•××をしたら
•Then
•△△(が起きる|になる)
順不同で入れ子にできる
Given:酔っぱらっているときに
When:クルマを運転すると
Given:お巡りさんが居たら
Then: | |Φ|(|´|Д|`|)|Φ||
Given:お巡りさんが居なかったら
Then: 事故る
RSpecでのGiven When Then
describe "#運転する" do
before { 酔っぱらっている }
subject { 運転する }
context "お巡りさんが居るとき" do
before { お巡りさんが居る }
it { should be タイーホ }
end
...
BDDとRSpecの
蜜月を過ごす
青天の霹靂
New Expectation Syntax
2012-06 RSpec v2.11
# 非推奨
foo.should == bar
foo.should_not == bar
# 推奨
expect(foo).to eq bar
expect(foo).not_to eq bar
expect記法に切り替える?
•should記法はshouldメソッドをモンキー
パッチで追加するため、BaseObjectや
delegateのテストを書けない
•ワンライナーのshouldは汚染されていな
いので問題ないが、expect記法と合わせ
るため it { is_expected.to xxx } を用意した
この辺りから
音楽性の違い
を感じている
このときに Refinements があれば今も should だっただろう
といった背景を
踏まえた
RSpecしぐさ
構造化する
•describe/subject でテスト対象を示して
•contextで場合分けをして
•it/specify で spec を書く
構造化する
•describe/subject でテスト対象を示して
•contextで場合分けをして
•it/specify で spec を書く
•ワンライナーが使える場合は it
•expect().to を書く場合は specify と使い分ける
その方が英語として自然だからだよ!
極力subject/shouldを使う
• subject/shouldを使うと「何を実行したのか」
「何をテストしているのか」を非常に読み取り
やすいし --format documentation も読みやすくなる
• 逆の方針が power_assert とか「雑」とか
• メソッドチェーンを誘発して、書きやすいけど読み
づらくなる感覚がある(慣れかも
it { is_asserted_by {
book.comments.first.author.name == "onk"
} }
事前条件はbeforeで整える
•letだとGivenが分かりづらい(遅延評価)の
で事前条件にはbeforeを推奨する
•つまりインスタンス変数を積極的に使う
•ここは一般的な規約の逆
•typoを検出できるbeforeが欲しい
• let! に given の alias?
事前条件はbeforeで整える
subject { @user.male? }
before { @user = create(:user, gender: gender) }
context "when male" do
let(:gender) { User::Gender::MALE }
it { should eq true }
end
context "when female" do
let(:gender) { User::Gender::FEMALE }
it { should eq false }
end
context間の違いを表現す
るときにのみ let を使い、
事前条件を整えるのは
before で行う
まとめ
まとめ
•BDDとは、TDDを「テスト」を使わないよ
うに Dan North が発明した「言い換え」
•Given/When/ThenというBDDの語彙があり、
これを意識するとletを上手に使える
•RSpecには今でも使えるshould記法があり、
これがテストを読みやすく構造化する
参考URL
• Rubyist Magazine 0021 号 (2007-09) - スはスペックのス 【第 1 回】 RSpec の
概要と、RSpec on Rails (モデル編)
• http://magazine.rubyist.net/?0021-Rspec
• RSpec の入門とその一歩先へ - t-wadaの日記
• http://d.hatena.ne.jp/t-wada/20100228/p1
• Rubyist Magazine 0035 号 (2011-09) - 改めて学ぶ RSpec
• http://magazine.rubyist.net/?0035-RSpecInPractice
• RSpecによるユニットテストの書き方 — recompile.net
• https://recompile.net/posts/how-to-write-unit-test-with-rspec.html
• Introduction · rspec-style-guide
• https://willnet.gitbooks.io/rspec-style-guide/content/
参考URL
• Better Specs { rspec guidelines with ruby }
• http://www.betterspecs.org/jp/
• 俺のRSpecがこんなに雑なわけがない - Qiita
• https://qiita.com/kbaba1001/items/5333d325d0a76dd29581
• Everyday Rails Testing with… by Aaron Sumner [PDF/iPad/Kindle]
• https://leanpub.com/everydayrailsrspec
• クは駆動のク オブジェクト倶楽部 2006クリスマスイベント (2016-12-20)
• http://objectclub.jp/download/files/event/2006Christmas/d_is_for_driven.pdf
• Arrange Act Assert
• http://wiki.c2.com/?ArrangeActAssert
参考URL
• GivenWhenThen
• https://martinfowler.com/bliki/GivenWhenThen.html
• Given-When-Then - 日々ごちゃごちゃと考える
• http://d.hatena.ne.jp/bowbow99/20090523/1243043153
• RSpec's New Expectation Syntax
• http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
• 「RSpec は英語として読みやすいから良い」というお題目はなんだったの
か - @kyanny's blog
• http://blog.kyanny.me/entry/2012/07/12/234344
• "rspec の書き方がわからない" - Togetter
• https://togetter.com/li/656392

Contenu connexe

Tendances

こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかShunsukeNakamura17
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~Recruit Lifestyle Co., Ltd.
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
Design Sprint と Lean UX: 顧客からの学び方
Design Sprint と Lean UX: 顧客からの学び方Design Sprint と Lean UX: 顧客からの学び方
Design Sprint と Lean UX: 顧客からの学び方Takaaki Umada
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
低レイヤー入門
低レイヤー入門低レイヤー入門
低レイヤー入門demuyan
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Takafumi ONAKA
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCdisc99_
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話ichirin2501
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama
 
リーン開発の本質 公開用
リーン開発の本質 公開用リーン開発の本質 公開用
リーン開発の本質 公開用ESM SEC
 

Tendances (20)

こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Design Sprint と Lean UX: 顧客からの学び方
Design Sprint と Lean UX: 顧客からの学び方Design Sprint と Lean UX: 顧客からの学び方
Design Sprint と Lean UX: 顧客からの学び方
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
入門!Jenkins
入門!Jenkins入門!Jenkins
入門!Jenkins
 
nginx入門
nginx入門nginx入門
nginx入門
 
低レイヤー入門
低レイヤー入門低レイヤー入門
低レイヤー入門
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
リーン開発の本質 公開用
リーン開発の本質 公開用リーン開発の本質 公開用
リーン開発の本質 公開用
 

Similaire à RSpecしぐさ

How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3Junichi Ito
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメTakafumi ONAKA
 
Eightにおけるエンジニア主導の取り組み
Eightにおけるエンジニア主導の取り組みEightにおけるエンジニア主導の取り組み
Eightにおけるエンジニア主導の取り組みSansan
 
RubyとRのおいしい関係
RubyとRのおいしい関係RubyとRのおいしい関係
RubyとRのおいしい関係sady_nitro
 
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Yuta Shimizu
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれからYohei Yamamoto
 
逆引きクイックセミナー
逆引きクイックセミナー逆引きクイックセミナー
逆引きクイックセミナーKoichiro Ohba
 
もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?
もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?
もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?tef-do
 
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料Takuya Mukohira
 
Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)Yasuko Ohba
 
Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Yutaka Tachibana
 
Rails技術者認定試験対策 合格への最短経路
Rails技術者認定試験対策 合格への最短経路Rails技術者認定試験対策 合格への最短経路
Rails技術者認定試験対策 合格への最短経路DIVE INTO CODE Corp.
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerTakuro Sasaki
 
Asakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test DriverAsakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test Driverapirakun
 
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話KEISUKE KONISHI
 
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】Masato Mori
 
running-elixir-in-production
running-elixir-in-productionrunning-elixir-in-production
running-elixir-in-productionTsunenori Oohara
 

Similaire à RSpecしぐさ (20)

How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメ
 
Eightにおけるエンジニア主導の取り組み
Eightにおけるエンジニア主導の取り組みEightにおけるエンジニア主導の取り組み
Eightにおけるエンジニア主導の取り組み
 
RubyとRのおいしい関係
RubyとRのおいしい関係RubyとRのおいしい関係
RubyとRのおいしい関係
 
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれから
 
逆引きクイックセミナー
逆引きクイックセミナー逆引きクイックセミナー
逆引きクイックセミナー
 
もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?
もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?
もしかして、テストって誰でもできると思っちゃってませんか? 最新のテストの動向を知りたくないですか?
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
 
Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)Rubyによる開発プロジェクトをうまく回すには(1)
Rubyによる開発プロジェクトをうまく回すには(1)
 
Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01Ruby and I at 神奈川Ruby会議01
Ruby and I at 神奈川Ruby会議01
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
Rails技術者認定試験対策 合格への最短経路
Rails技術者認定試験対策 合格への最短経路Rails技術者認定試験対策 合格への最短経路
Rails技術者認定試験対策 合格への最短経路
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
 
Asakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test DriverAsakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test Driver
 
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
 
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
20190621_RDBMSのVIEWを使ってRailsのデータアクセスをいい感じにする【銀座Rails#10】
 
running-elixir-in-production
running-elixir-in-productionrunning-elixir-in-production
running-elixir-in-production
 

Plus de Takafumi ONAKA

不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持Takafumi ONAKA
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方Takafumi ONAKA
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発Takafumi ONAKA
 
pt-query-digest は Perl!!
pt-query-digest は Perl!!pt-query-digest は Perl!!
pt-query-digest は Perl!!Takafumi ONAKA
 
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことアプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことTakafumi ONAKA
 
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはcpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはTakafumi ONAKA
 
Perl使いの国のRubyist
Perl使いの国のRubyistPerl使いの国のRubyist
Perl使いの国のRubyistTakafumi ONAKA
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースTakafumi ONAKA
 
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料Takafumi ONAKA
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
Github Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんGithub Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんTakafumi ONAKA
 
ターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったTakafumi ONAKA
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しいTakafumi ONAKA
 
Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Takafumi ONAKA
 
ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀Takafumi ONAKA
 
とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)Takafumi ONAKA
 

Plus de Takafumi ONAKA (17)

不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発
 
pt-query-digest は Perl!!
pt-query-digest は Perl!!pt-query-digest は Perl!!
pt-query-digest は Perl!!
 
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことアプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のこと
 
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはcpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちは
 
Perl使いの国のRubyist
Perl使いの国のRubyistPerl使いの国のRubyist
Perl使いの国のRubyist
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
 
すこやかRails
すこやかRailsすこやかRails
すこやかRails
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
Github Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんGithub Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃん
 
ターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作った
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しい
 
Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?
 
ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀
 
とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)
 

RSpecしぐさ