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
roppongirb_20250911
igaiga
1
500
igaiga Ruby Association Activity Report 2025 LT
igaiga
1
97
KaigiOnRails2024
igaiga
11
19k
RuboSensei
igaiga
0
300
Shibuya.rb-2023-04-27-igaiga
igaiga
1
540
Ginza Rails27 igaiga
igaiga
9
14k
tork09igaiga
igaiga
2
360
Road to white mages
igaiga
1
720
Road to white mages
igaiga
8
4.1k
Other Decks in Technology
See All in Technology
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
4
3.7k
RemoteFunctionを使ったコロケーション
mkazutaka
1
140
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
140
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
0
290
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
200
Azure Well-Architected Framework入門
tomokusaba
1
140
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
230
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
320
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
120
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
150
20251027_findyさん_音声エージェントLT
almondo_event
2
490
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
140
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Context Engineering - Making Every Token Count
addyosmani
8
310
The World Runs on Bad Software
bkeepers
PRO
72
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
A better future with KSS
kneath
239
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
4 Signs Your Business is Dying
shpigford
186
22k
Agile that works and the tools we love
rasmusluckow
331
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
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