Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby講義 第3回
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kuniaki IGARASHI
April 28, 2012
Technology
2
11k
Ruby講義 第3回
2012.4.26
Kuniaki IGARASHI
April 28, 2012
Tweet
Share
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
ActiveJobUpdates
igaiga
1
420
roppongirb_20250911
igaiga
1
590
igaiga Ruby Association Activity Report 2025 LT
igaiga
1
120
KaigiOnRails2024
igaiga
16
22k
RuboSensei
igaiga
0
320
Shibuya.rb-2023-04-27-igaiga
igaiga
1
560
Ginza Rails27 igaiga
igaiga
9
14k
tork09igaiga
igaiga
2
380
Road to white mages
igaiga
1
750
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
Agile Leadership Summit Keynote 2026
m_seki
1
530
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
180
Context Engineeringの取り組み
nutslove
0
290
What happened to RubyGems and what can we learn?
mikemcquaid
0
250
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.7k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
配列に見る bash と zsh の違い
kazzpapa3
1
110
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
610
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
280
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
340
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.2k
Featured
See All Featured
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
320
Designing for humans not robots
tammielis
254
26k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
Exploring anti-patterns in Rails
aemeredith
2
250
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
A better future with KSS
kneath
240
18k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Transcript
3VCZߨٛ ୈճ3VCZೖ ,VOJBLJ*("3"4)*JHBJHB BUҰڮେֶ ࣾձՊֶʹ͓͚Δใٕज़ͱίϯςϯπ࡞ᶙ χϑςΟגࣜձࣾدෟߨٛ
͓͠Βͤ དྷिͷߨٛ Ր Ͱ͢ɻ
5FBDIJOH"TTJTUBOU ᖛ࡚݈ޗ ΫοΫύουגࣜձࣾɹΤϯδχΞ
Δ͜ͱ લճͷ͓͞Β͍ JSCͰ3VCZϓϩάϥϜΛ࣮ߦ͢Δ ΦϒδΣΫτɺϝιουɺҾ ܭࢉ SCϑΝΠϧͰ3VCZϓϩάϥϜΛ࣮ߦ͢Δ ຊޠɺจࣈίʔυɺϚδοΫίϝϯτ ڭՊॻQʙQ
͜ͷߨٛͰ3VCZΛಈ͔͢ํ๏ 7.্ͷ-JOVY 8JOEPXTڥͷਓ 3BJMT*OTUBMMFS ʢϒϥβ͔Β5SZ3VCZʣ ʢNBDͰ͕ΜͬͯΠϯετʔϧʣ
7.ڥߏங 64#ϝϞϦ͔ΒWIEϑΝΠϧίϐʔ ԼهͷϖʔδΛࢀߟʹىಈ IUUQXXXVCVOUVMJOVYKQEPXOMPBEKBSFNJYWIE ࣍ϖʔδɺ࣍ʑϖʔδʹϙΠϯτΛషͬͯ͋Γ·͢ɻ JEEFWQBTTXPSEEFWEFW ʮʯΛىಈͯ͠SVCZΛಈ͔͢ JSC JSC
NBJO Q)FMMPXPSME
IUUQXXXVCVOUVMJOVYKQEPXOMPBEKBSFNJYWIE
IUUQXXXVCVOUVMJOVYKQEPXOMPBEKBSFNJYWIE
3BJMT*OTUBMMFS 8JOEPXT༻ 3BJMTΠϯετʔϥʔΛ %PXOMPBE *OTUBMM IUUQSBJMTJOTUBMMFSPSH ໊લͱFNBJMΛೖྗ ެ։͞Ε·͢ɻ ʢকདྷ͔ͭ͏ʣHJUIVCͷઃఆͰΘΕ·͢ɻ ىಈ8JOEPXTϝχϡʔ͔ΒҎԼΛ࣮ߦ
ʮϓϩάϥϜͱϑΝΠϧͷݕࡧʯ͔Β$PNNBOE1SPNQUXJUI3VCZ BOE3BJMTPS ελʔτˠશͯͷϓϩάϥϜˠ3BJMT*OTUBMMFSˠ$PNNBOE1SPNQUXJUI 3VCZBOE3BJMT
ϒϥβ͔Β5SZ3VCZ IUUQUSZSVCZPSH ͜͜ʹ3VCZίʔυΛ ೖྗ࣮ͯ͠ߦͰ͖·͢ ϓϩάϥϜΛফ͍ͨ͠ ߹Ϧϩʔυ IFMQͰ3VCZϨοεϯ։࢝ ڵຯ͋Δਓઓͯ͠Έͯ
3VCZίʔυΛ࣮ߦ͢Δํ๏ BJSC͔Βߦ࣮ͣͭߦ ˞JSC*OUFSBDUJWF3V#Zͷུ CϑΝΠϧ SC ʹίʔυΛॻ͍࣮ͯߦ ݴ༿ͷղઆɿίʔυϓϩάϥϜɹͰ͢ɻ ίʔυͬͯݴ͏ͱϓϩͬΆ͔͍͍ͯͬ͘͜Ͱ͢ɻ
·ͣ JSC ΛͬͯΈ·͠ΐ͏
JSCىಈํ๏ 7.6CVOUV ɹlzΛىಈ JSCͱೖྗ ࣍ϖʔδࢀর 3BJMT*OTUBMMFS ɹ$PNNBOE1SPNQUXJUI3VCZBOE3BJMTΛىಈ ɹ ɹɹJSCͱೖྗ 5SZ3VCZ
ɹಛʹԿ͠ͳͯ͘େৎͰ͢ɻ ɹͦͷ··ͰJSCΈ͍ͨʹಈ͖·͢ɻ
7.6CVOUV
ҎԼͷ3VCZίʔυΛ࣮ߦ ը໘ʹ)FMMP 3VCZͱදࣔ͢Δίʔυ QSJOU z)FMMP 3VCZaOz ˞8JOEPXTͰaˇͱଧͪ·͢ɻ ͳ͔ͥͱݴ͏ͱɾɾɾ͢ͱ͘ͳΓ·͢Αʁ JSC JSC
NBJO QSJOU )FMMP 3VCZaO )FMMP 3VCZ OJM ڭՊॻQ
Α͘͏ ༻ޠͷઆ໌
QSJOU z)FMMP 3VCZaOz ΦϒδΣΫτ 4USJOHΦϒδΣΫτ ڭՊॻQ
QSJOU z)FMMP 3VCZaOz ɹϝιουɹɹɹҾ ϝιουɿखଓ͖ɺ໋ྩ Ҿɿϝιουʹ͢σʔλ QSJOUϝιουը໘ʹҾͷσʔλΛදࣔ͢Δ໋ྩ QSJOUϝιουʹ z)FMMP 3VCZaOzΦϒδΣΫτΛ
Ҿͱ͍ͯͯ͠͠·͢ɻ ͪͳΈʹɺ࠷ޙͷaOվߦͷ͜ͱͰ͢ɻ ڭՊॻQ̕
ը໘ʹදࣔ͢Δϝιου Α͘͏ͷͰࣅͨػೳͷϝιου͕ͭ͋Γ·͢ɻ QSJOUදࣔ վߦ͠ͳ͍ QVUTදࣔ վߦ͢Δ Qௐࠪ σόοά ༻ ˞༻ޠղઆɿσόοά
όάʢෆ۩߹ʣΛղফ͢Δ͜ͱ ڭՊॻQ̕
࣍ ܭࢉΛ ͯ͠Έ·͠ΐ͏
QVUT QVUT QVUT QVUT QVUT QVUT QVUT
ҎԼͷܭࢉΛͯ͠Έ·͠ΐ͏ ͠ࢉ Ҿ͖ࢉ ֻ͚ࢉ ׂΓࢉ ྦྷ MPHͱ͔TJOͱ͔͋Γ·͢ɻ Γ͍ͨํͪ͜Βɻ IUUQNJZBNBFHJUIVCDPNSVCZEPDKBDMBTTNBUIIUNM
QVUT QVUT QVUT QVUT QVUT QVUT QVUT
ݴ༿ͷઆ໌ ϝιου QVUT ԋࢉࢠ ͱ͔ͱ͔ ΦϒδΣΫτ ͱ͔̎ͱ͔ ΦϒδΣΫτ 'JYOVNΦϒδΣΫτ
QVUT QVUT QVUT QVUT QVUT QVUT QVUT
ܭࢉ͢Δͱ͖ͷҙ ͱ͜ΖͰɺ͜Εɺ ݁Ռ͕มͩͱ ࢥ͍·ͤΜ͔ʁ
ΦϒδΣΫτಉ࢜ͷܭࢉΦϒδΣΫτʹͳΔ QVUT ˡͰͳ͍ খͰٻΊ͍ͨ߹྆ํ͘͠ยํΛ খ 'MPBU ΦϒδΣΫτ ྫɿ ʹ͢Δ QVUT
QVUT ܭࢉ͢Δͱ͖ͷҙ
3VCZͰΛѻ͏߹ ΦϒδΣΫτ 'JYOVNΦϒδΣΫτ খʢුಈখʣΦϒδΣΫτ 'MPBUΦϒδΣΫτ ΄͔ʹ͋Γ·͢ɻͦͷ͏ͪͰ͖ͯ·͢ɻ ڭՊॻQ ΦϒδΣΫτ
QVUT QVUT QVUT QVUT QVUT QVUT QVUT
ܭࢉ͢Δͱ͖ͷҙ ͱ͜ΖͰɺ͜Εɺ ԿݴͬͯΜͰ͢ ͔ʁ ;FSP%JWJTJPO&SSPS EJWJEFECZ GSPN JSC JOA GSPN JSC
ਖ਼͘͠ͳ͍ϓϩάϥϜΛ࣮ߦͨ͠Γɺ 3VCZ͕ॲཧʹࠔΔͱɺ Τϥʔϝοηʔδ͕දࣔ͞Ε·͢ɻ JSC NBJO ;FSP%JWJTJPO&SSPS EJWJEFECZ GSPN JSC
JOA GSPN JSC ͰׂΓࢉ͢ΔͱΤϥʔʹͳΔͷͰ ҙ͍ͯͩ͘͠͞ɻ Τϥʔϝοηʔδ ຊޠ༁ θϩআࢉΤϥʔͩΑɻ ͰׂͬͯΔΑɻ ͷͱ͜ΖͩΑɻ
࣍ͷ গ͠ϚχΞοΫͰ͕͢ɺ ৺ͷͲ͔͜ʹཹΊͯ ͓͍͍ͯͩ͘͞
Λճͨ͠ΒʹͳΓ·͢ΑͶͪΖΜ JSC GBMTF ͍͔͠Ͳ͏͔ௐΔԋࢉࢠ Λճͨ͠Βʹ ͳΒͳ͔ͬͨ 3VCZͷதͷਖ਼֬ʹ্ֶͷͱҰக͠ͳ͍
˞ 'JYOVN ΦϒδΣΫτਖ਼֬Ͱ͢ɻ 'MPBUΦϒδΣΫτෆਖ਼֬
3BUJPOBM 3BUJPOBM 3BUJPOBM 3BUJPOBM
USVF Λճͨ͠Βʹͳͬͨ 3BUJPOBM ࢠ খΛਖ਼֬ʹܭࢉ͍ͨ͠߹ɺ ʹͯ͠ܭࢉ͢Δ͔ɺ 3BUJPOBM ༗ཧ ΦϒδΣΫτΛ͏
ͰɺͦΖͦΖ JSCͷੈք͔Βൈ͚ͯ Έ·͠ΐ͏ɻ
JSCͷੈքͱTIFMMͷੈք JSCͷ֎TIFMMͱ͍͏ੈք JSC QQVUT OJM QFYJU
QXE 6TFSTJHBSBTIJ
JSCͷੈքͱTIFMMͷੈք JSCͷ֎TIFMMͱ͍͏ੈք JSC QQVUT OJM QFYJU
QXE 6TFSTJHBSBTIJ TIFMM TIFMM JSC 3VCZޠ͕௨͡Δੈք TIFMMޠ͕௨͡Δੈք 04ͱ͕Ͱ͖Δ
ੈքΛҠಈ͢ΔίϚϯυ JSC QQVUT OJM QFYJU QXE 6TFSTJHBSBTIJ
TIFMM TIFMM JSC JSC ίϚϯυ FYJU ίϚϯυ
࣍ϑΝΠϧʹ 3VCZίʔυΛ ॻ͍ͯΈ·͠ΐ͏ɻ
IFMMPSVCZSCΛ࡞ͬͯอଘ QSJOU z)FMMP 3VCZaOz IFMMPSVCZSCΛ࣮ߦ SVCZIFMMPSVCZSC )FMMP 3VCZ TIFMMͰ3VCZίʔυ͕ॻ͔ΕͨϑΝΠϧΛ࣮ߦ͢Δʹ SVCZϑΝΠϧ໊
ڭՊॻQ 3VCZίʔυΛϑΝΠϧʹهड़࣮ͯ͠ߦ
ਪΤσΟλ ͓ؾʹೖΓ͕͋ΔਓͦΕͰ0,Ͱ͢ 8JOEPXTJOUZQF IUUQJOPUBJDPNJOUZQF 7.6CVOUVHFEJUςΩετΤσΟλʔ Πϯετʔϧࡁ .BDςΩετΤσΟοτ Πϯετʔϧࡁ $PU&EJUPSIUUQTPVSDFGPSHFKQQSPKFDUTDPUFEJUPS
ΤσΟλίʔυΛଧͭಓ۩
8JOEPXTJOUZQF IUUQJOPUBJDPNJOUZQF
8JOEPXTJOUZQF ίʔυΛॻͨ͘Ίͷઃఆ &EJU1SFGFSFODFT 'POUTλϒ 'POUΛຊޠදࣔͰ͖Δ ͷʹมߋʢϝΠϦΦ .4ΰγοΫʣ
8JOEPXTJOUZQF
8JOEPXTJOUZQF อଘ࣌l4BWF"TzͰ$ˇ4JUFTˇ˓˓SCΛࢦఆ
6CVOUV
IFMMPSVCZSCΛ࡞ͬͯอଘ QSJOU z)FMMP 3VCZaOz IFMMPSVCZSCΛ࣮ߦ SVCZIFMMPSVCZSC )FMMP 3VCZ TIFMMͰ3VCZίʔυ͕ॻ͔ΕͨϑΝΠϧΛ࣮ߦ͢Δʹ SVCZϑΝΠϧ໊
ڭՊॻQ 3VCZίʔυΛϑΝΠϧʹهड़࣮ͯ͠ߦ
ਖ਼͘͠ͳ͍ϓϩάϥϜΛ࣮ߦ͠Α͏ͱ͢Δͱɺ Τϥʔϝοηʔδ͕දࣔ͞Ε·͢ɻ IFMMPSVCZSC QSJOU z)FMMP 3VCZaOz QSJO )J ˡਖ਼͘͠ͳ͍ SVCZIFMMPSVCZSC
)FMMP 3VCZ IFMMPSVCZSCJOANBJOVOEFpOFENFUIPE AQSJOGPSNBJO0CKFDU /P.FUIPE&SSPS Τϥʔϝοηʔδ
3VCZ͕ڭ͑ͯ͘ΕͨΤϥʔϝοηʔδ IFMMPSVCZSCJOANBJOVOEFpOFE NFUIPEAQSJOGPSNBJO0CKFDU /P.FUIPE&SSPS ຊޠ༁ IFMMPSVCZSCͱ͍͏ϑΝΠϧͷߦͰ QSJOͳΜͯϝιουͳ͍ͷͰ ͦΜͳϝιουͳ͔ͱΑΤϥʔ͕ى͖ͨΑ Τϥʔϝοηʔδ ͓ಘͳใΛڭ͑ͯ͘ΕΔ
ຊޠͱจࣈίʔυ ϚδοΫίϝϯτ DIJIBZBGVSC FODPEJOHVUG QSJOU zͪ;Δ͔ΈΑ͖͔͕ͣͨͭͨΘaOz QSJOU z͔Β͘Εͳ͍ʹΈͣ͘͘ΔͱaOz SVCZDIJIBZBGVSC ڭՊॻQ
ίϯϐϡʔλͰຊޠΛѻ͏߹ͷ ͍͔ͭ͘ͷදݱํ๏͕͋Γ·͢ɻ ͜ΕΛɹจࣈίʔυɹͱݺͼ·͢ɻ จࣈίʔυͷछྨ 65'ɿجຊ͜ΕͰ0,ɻελϯμʔυͳํ๏ɻ $1 4IJGU+*4 8JOEPXTͰΘΕΔɻ ڭՊॻQ จࣈίʔυ
ͦͷϑΝΠϧͷจࣈίʔυΛ3VCZڭ͑ΔͨΊʹ ߦʹॻ͓͘·͡ͳ͍ FODPEJOHVUGˡϚδοΫίϝϯτ QSJOU zͪ;Δ͔ΈΑ͖͔͕ͣͨͭͨΘaOz QSJOU z͔Β͘Εͳ͍ʹΈͣ͘͘ΔͱaOz ྫʣ 65'FODPEJOHVUG 4IJGU+*4FODPEJOH4IJGU@+*4
ڭՊॻQ ϚδοΫίϝϯτ
ϝϞ 7.JNBHF IUUQCJUMZSVCZWNEBUB ߨٛࢿྉୈճ IUUQCJUMZSVCZMFDUVSF ߨٛࢿྉୈճ IUUQCJUMZSVCZMFDUVSF