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
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
RuboSensei
igaiga
0
130
Shibuya.rb-2023-04-27-igaiga
igaiga
1
420
Ginza Rails27 igaiga
igaiga
9
11k
tork09igaiga
igaiga
2
240
Road to white mages
igaiga
1
580
Road to white mages
igaiga
8
3.6k
dive_into_code_rails_ruby_books
igaiga
0
180
ginza_rails_vol3_igaiga
igaiga
0
4.7k
rgt2016
igaiga
0
120
Other Decks in Technology
See All in Technology
統計的学習理論読み Chapter 2
kmatsui
1
300
生成AIサービスPanorama AIご説明資料
sdt
0
300
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!
minorun365
PRO
11
2.7k
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
260
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
490
10 Years of Kubernetes Patterns Evolution
bibryam
1
100
Getting started with controlling LEGO using Swift
hcrane
0
140
大規模データとの戦い方
knih
1
480
中央集権体制からDataOpsへの転換 / centralized-to-dataops-transformation
pei0804
7
1.6k
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
460
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
210
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
501
110k
How GitHub Uses GitHub to Build GitHub
holman
467
290k
[RailsConf 2023] Rails as a piece of cake
palkan
21
3.8k
Being A Developer After 40
akosma
56
580k
Bash Introduction
62gerente
604
210k
Debugging Ruby Performance
tmm1
68
11k
Facilitating Awesome Meetings
lara
39
5.5k
Automating Front-end Workflow
addyosmani
1353
200k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
19
1.6k
Typedesign – Prime Four
hannesfritz
36
2k
Designing with Data
zakiwarfel
94
4.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.4k
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