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講義 第1回
Search
Kuniaki IGARASHI
April 21, 2012
Technology
15
14k
Ruby講義 第1回
ガイダンス
2012.4.12 at 一橋大学
社会科学における情報技術とコンテンツ作成Ⅲ
(ニフティ株式会社寄附講義)
Kuniaki IGARASHI
April 21, 2012
Tweet
Share
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
roppongirb_20250911
igaiga
1
490
igaiga Ruby Association Activity Report 2025 LT
igaiga
1
96
KaigiOnRails2024
igaiga
11
19k
RuboSensei
igaiga
0
300
Shibuya.rb-2023-04-27-igaiga
igaiga
1
540
Ginza Rails27 igaiga
igaiga
9
13k
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
Node.js 2025: What's new and what's next
ruyadorno
0
560
LLMプロダクトの信頼性を上げるには?LLM Observabilityによる、対話型音声AIアプリケーションの安定運用
ivry_presentationmaterials
0
590
CoRL 2025 Survey
harukiabe
1
220
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
320
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
0
310
事業開発におけるDify活用事例
kentarofujii
2
580
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
10
5k
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.8k
React19.2のuseEffectEventを追う
maguroalternative
2
510
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
350
Introdução a Service Mesh usando o Istio
aeciopires
0
220
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
0
190
Featured
See All Featured
A designer walks into a library…
pauljervisheath
209
24k
BBQ
matthewcrist
89
9.8k
Agile that works and the tools we love
rasmusluckow
331
21k
A Tale of Four Properties
chriscoyier
161
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Being A Developer After 40
akosma
91
590k
Writing Fast Ruby
sferik
629
62k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
3VCZߨٛ ୈճ3VCZ֓ ޒेཛྷ໌ UXJUUFSJHBJHB NBJMJHBJHB!HNBJMDPN BUҰڮେֶ ࣾձՊֶʹ͓͚Δใٕज़ͱίϯςϯπ࡞ᶙ χϑςΟגࣜձࣾدෟߨٛ
ఏڙ ςΩετ
ఏڙ גࣜձࣾ ສ༿
Δ͜ͱ ߨࢣհ ߨٛʹ͍ͭͯ ධՁํ๏ 3VCZͬͯԿʁ 3VCZͰԿ͕Ͱ͖Δͷ͔ 3VCZʹ·ͭΘΔ͓ લʙɹޙʙ
ࣗݾհ
ޒेཛྷ໌ UXJUUFSJHBJHB IUUQTHJUIVCDPNJHBJHB IUUQXXXGBDFCPPLDPNLVOJBLJJHBSBTIJ גࣜձࣾ ສ༿3BJMTJ1IPOF։ൃ
࢙ࣗ
܈അߴઐిؾֶՊଔ ւಓେֶେֶӃྔࢠཧֶઐ߈म࢜՝ఔଔۀ ࡳຈͰब৬4&ϓϩάϥϚʹͳΔ ɹ4&ɺϓϩάϥϚ ɹձࣾͷཪݪੜྛɺΈΜͳͰି͠ԂΛआΓͯۀ ౦ژͰస৬ ɹίϯγϡʔϚػثϝʔΧʔ ɹϏσΦΧϝϥؔ࿈ιϑτΣΞ։ൃ స৬ͯ͠ݱ৬
8FCΞϓϦ J1IPOFΞϓϦ ࡶࢽدߘ
ߨٛʹ͍ͭͯ ධՁํ๏
௨ίϚ Նֶظɾౙֶظ ༵࣌ݶ 3VCZ͓Αͼ3VCZPO3BJMTΛͬͨجૅతͳϓϩάϥϜ ͕ॻ͚ΔΑ͏ʹͳΔ͜ͱΛඪͱ͠·͢ɻ ߨٛܗࣜͰͷઆ໌ͱϓϩάϥϛϯά࣮श࡞ۀΛ௨࣮ͯ͡ࡍʹ ϓϩάϥϜΛॻ͖ͳ͕ΒतۀΛਐΊ·͢ɻ ࣮शϖΞϓϩάϥϛϯάͰਐΊΔ༧ఆͰ͢ɻ 3VCZͷόʔδϣϯݪଇɺ࠷৽ͷΛ͍·͢ɻ ߨٛதωοτϫʔΫɺGBDFCPPLUXJUUFSͳͲͬͯ
ߏΘͳ͍Ͱ͢ɻ
Նֶظ ୈճʙୈճ 3VCZ ୈճʙୈճ 3VCZPO3BJMT ౙֶظ ୈճʙୈճ 3VCZPO3BJMT ߨٛ༧ఆ
ධՁํ๏ ԋश՝Λఏग़͍͖ͯͨͩ͠ධՁΛߦ͍·͢ɻ ·ͨɺतۀͷߩݙධՁͷରͱ͠·͢ɻ ग़੮͕तۀճͷͷʹຬͨͳ͍߹ʮ'ʯͱ͠·͢ɻ
ڭՊॻɿͨͷ͍͠3VCZ IUUQXXXBNB[PODPKQEQ ͓ങ͍ٻΊ େֶੜڠ·ͨ δϡϯΫಊାళͰ
ࢀߟॻʢ͓ΈͰʣ IUUQXXXBNB[PODPKQEQ
จࣈྻͷҰ෦Λஔ͢Δ ˣ3VCZͷίʔυ ϓϩάϥϜ Ͱ͜͏ॻ͘ Q͍͍͍͋͋͋TVC ͍͋ Ѫ Ѫ͍͍͋͋ Q͍͍͍͋͋͋HTVC ͍͋
Ѫ ѪѪѪ 3VCZϨγϐϒοΫ
จࣈྻΛ࿈݁͢Δ จࣈྻͷҰ෦Λஔ͢Δ จࣈྻͷઌ಄ɾඌ͔ΒۭനΛऔΓআ͘ จࣈྻ͕ਖ਼نදݱͱͯ͠ਖ਼͍͔͠ௐΔ σΟϨΫτϦͱϑΝΠϧͷҰཡΛऔಘ͢Δ ΧϨϯτσΟϨΫτϦΛมߋ͢Δ ϑΝΠϧΛίϐʔ͢Δ ݱࡏͷ࣌Λऔಘ͢Δ 3VCZ(FNTͰϥΠϒϥϦΛΠϯετʔϧ͢Δ 3VCZεΫϦϓτΛίϚϯυʹ͢Δ
3VCZϨγϐϒοΫ࣍ ൈਮ IUUQXXXOPUXPSLPSHSVCZSFDJQFCPPLDPOUFOUTEFUBJMIUNM
Ξϯέʔτɿ ڈͷ3VCZߨٛʹग़͍ͯͨํʁ Έͳ͞Μͷڥ 8JOEPXT .BD -JOVY ͦͷଞ 3VCZฉ͍ͨ͜ͱ͋Δʁ 3VCZ͍ͬͨ͜͡ͱ͋Δʁ 3BJMT͍ͬͨ͜͡ͱ͋Δʁ
HJUIVCͬͯͬͨ͜ͱ͋Γ·͔͢ʁ
σʔλղੳ ɹ8FC্ͷσʔλऩू ɹɹ"NB[POͰਓؾͷ ɹɹΛఆظతʹௐΔ ɹେྔͷσʔλղੳ ɹɹXJLJQFEJBΞΫηεղੳ ɹɹ૬σʔλͷղੳͱ༧ 3VCZΛͬͯ Ͱ͖Δ͜ͱ
3VCZΛͬͯͰ͖Δ͜ͱ
8FCΞϓϦέʔγϣϯͷ࡞ GBDFCPPLΞϓϦͷ࡞ 3VCZΛͬͯͰ͖Δ͜ͱ
3VCZͷجૅ͕ʹ͖ͭɺ؆୯ͳϓϩάϥϜΛॻ͚Δ ɹXJLJQFEJBΞΫηεղੳ࣮श 3VCZPO3BJMTͷجૅ͕ʹ͖ͭɺ؆୯ͳΞϓϦΛ࡞ΕΔ 3VCZʹؔ͢Δෆ໌͕͋ͬͨͱ͖ʹௐΒΕΔ ͜ͷߨٛΛड͚Δͱ ͜Ε͕Ͱ͖ΔΑ͏ʹͳΔ ༧ఆ
ʮ͔̌ΒͰ͘Β͍ษڧ͢Εɺʢӳޠྗ͕ͳͯ͘ʣ ӳޠݍͰͦΕͳΓʹ͍͚ͬͯΔ͘Β͍ͷ࣮ྗ͕͖ͭɺ͔ͭ ٻਓඇৗʹ๛ͳ͜ͱʯ ʮੈքதʹΓ߹͍͕Ͱ͖Δʯ ʮϓϩάϥϛϯά͕Ͱ͖Δͱब৬Ͱ͖Δʯ ʮඒਓঁࢠେੜϞσϧͱϖΞϓϩͰ͖Δʢ͔͠Εͳ͍ʣʯ ʮ͋ͷΞΠυϧͱग़ձ͑Δʯ ʮঁࢠେੜΞΠυϧͱʢུʣʯ 3VCZ͕Ͱ͖Δͱ ͜Μͳ͍͍͜ͱ͕͋Δ
3VCZʹ͍ͭͯ
3VCZʹ͍ͭͯ
·ͭͱΏ͖ͻΖ NBU[ ͞Μ࡞ͷϓϩάϥϛϯάݴޠ 3VCZͷੜ݄ ࠃ࢈ϓϩάϥϛϯάݴޠ ։ൃऀຊਓ͕ଟ͍ ʹެ։͞Εͨ8FCΞϓϦϑϨʔϜϫʔΫͷ 3VCZPO3BJMTʹΑΓੈքతʹීٴ ϢʔβʔੈքதͰສਓΛ͑ΔͱݴΘΕ͍ͯΔ NBU[͞Μ͕ॅΜͰ͍ΔদߐͰ
࣏ࣗମΛ্͛ͯ3VCZΛਪ͍ͯ͠Δ ϓϩάϥϛϯάݴޠ3VCZ
None
ίϯϐϡʔλΛಈ͔ͨ͢Ίͷݴޠ ɹ"NB[POɺσδΧϝɺܞଳɺਬ൧ثɺɺɺ ɹΈΜͳϓϩάϥϛϯάݴޠͰಈ͍͍ͯΔ ͍ΖΜͳݴޠ͕͋Δ ɹಛ͕ҧ͏ͷͰదࡐదॴͰ͍͚Δ ɹɹྫ͑ॲཧ͕͍ͱ͔ɺ ɹɹ͍҆ڥͰಈ͘ͱ͔ɺ ɹɹ͍ΖΜͳڥͰಈ͘ͱ͔ Ͱɺ3VCZͷಛʁ ϓϩάϥϛϯάݴޠͬͯʁ
3VCZػցͰͳ͘ ਓؒʹ࠷దԽ͞Ε͍ͯΔ 3VCZͷಛ
3VCZΛΩϝΔͱؾ͍͍࣋ͪ CZNBU[
࡞Γ͍ͨਓ͕ࣗΛͤʹ͢ΔͨΊʹ࡞Γɺ͍͍ͨਓ ʹͬͯΒ͏͜ͱͰɺ΄͔ͷਓΛͤʹ͢Δɻϓϩά ϥϚ͕ޮతʹࣄ͕Ͱ͖ΔΑ͏ʹ͢Δɻؾ࣋ͪΑ͘ ࣄ͕Ͱ͖ΔΑ͏ʹ͢Δɻ3VCZʹɺͦͷΑ͏ͳ͍͕ ࠐΊΒΕ͍ͯ·͢ɻ 3VCZͷັྗ
3VCZΛͬͨ։ൃɺ ΤϯδχΞͷཱΛม͑ͨͱݴ͑·͢ɻ લ͘Β͍ɺ ϓϩάϥϜΛ࡞Δࣄ ւ֎Ͱ࡞ΔʢΦϑγϣΞ։ൃͱݴ͍·͢ʣͷ͕ ओྲྀʹͳΔͱݴΘΕ͍ͯ·ͨ͠ɻ ւ֎ͷํ͕࿑ಇྗ͕͍͔҆ΒͰ͢ɻ ܦࡁ໘͔Βͷߟ
+BWBͰΦϑγϣΞ։ൃ͢Δͱ͍͏͜ͱɺগͳ͔Βͣ࣍ͷΑ͏ͳߟ͑ํͰΓ ཱ͍ͬͯ·ͨ͠ɻ ɾਓؒ෦Ͱ͋Δɻ ɾਓؒସ͑ͷޮ͘෦Ͱ͋Δ͔Βɺ୯Ձ͍҆΄͏͕Α͍ɻ͔ͩΒ୯Ձͷ͍҆ࠃ Ͱ͢Δͷ͕Α͍ɻ ɾਓؒΛସ͑ͷޮ͘෦ʹ͢ΔͨΊʹɺҰਓҰਓͷ։ൃ༰Λ͋Β͔͡Ίݫີʹ ఆΊͯ࡞Γɺ͋ͱͰͦΕΛूΊͯΈ্͛Δɻ ɾ෦ͷ࣭Λ҆ఆͤ͞ΔͨΊʹɺؒҧ͍͕͓͜Γʹ͍͘ݴޠͰɺ༧ఆͲ͓Γʹ͠ ͔ͭ͘Εͳ͍Α͏ʹΨʔυΛݻΊͯ࡞ΒͤΔͷ͕Α͍ɻ ɾࣄʹָ͍͠ͱָ͔͘͠ͳ͍ͱ͍ͬͨ֓೦Λ࣋ͪࠐΉ͖Ͱͳ͍ɻ
ΦϑγϣΞ։ൃͷߟ͑ํ
3VCZΛͬͨ։ൃ ɾ։ൃऀͷੜ࢈ੑਓʹΑͬͯඇৗʹҧ͏͕ɺڅྉͦ ΕΑΓҧΘͳ͍ɻ ɾͦͷͨΊɺͳΔ͘༏लͳ։ൃऀʹࣄΛͤ͞Δͷ͕ ܦࡁతͰ͋Δɻ ɾඞཁͳͱ͖ʹඞཁͳ͜ͱ͚ͩΛܾΊΔΑ͏ʹ͠ɺมߋ Λड͚ೖΕΔɻ ɾੜ࢈ੑΛߴΊΔʹ੍ݶΑΓࣗ༝͕༗ޮɻ ɾࣄʢϓϩάϥϛϯάʣָ͕͍͜͠ͱ͕ਓੜʹͱͬͯ ॏཁͰ͋Δɻ
3VCZͰͷ։ൃͷߟ͑ํ
8FCΞϓϦϑϨʔϜϫʔΫ 8FCΞϓϦΛ࡞ΔͨΊͷڞ௨෦Λ·ͱΊͨͷ ੈքͰ࠷༗໊ͳ8FCΞϓϦϑϨʔϜϫʔΫͷͭ γϦίϯόϨʔͷελʔτΞοϓاۀͰΑ͘࠾༻͞ΕΔ ຊͰ࠾༻ࣄྫ͕૿͍͑ͯΔ ৄ͘͜͠ͷߨٛͷճ͘Β͍͔Βઆ໌͠·͢ɻ 3VCZPO3BJMT
3VCZ͕͔ͭΘΕ͍ͯΔॴ 3VCZPO3BJMT Ͱ࡞ΒΕͨαΠτ
౦ژΨε
UXJUUFS
$00,1"%
৯ϩά
ͱ͜ΖͰ
3VCZ ͕ͬΆΓ Ք͛Δͷʁ
͑ :&4
%BWJE)FJOFNFJFS)BOTTPO%)) 3VCZPO3BJMTͷ࡞ऀ
None
͍͘Βͩͱࢥ͍·͢ʁ
΄΅ಉεϖοΫϞσϧ͕ສϢʔϩ ʢԯສԁʣ
ʮγϦίϯόϨʔͰ 3BJMTΤϯδχΞͳΒ ऩ,ʙ , , ສԁ Ք͛Δʯ 3BJMT%FW$PO!NBTVJESJWF IUUQUPHFUUFSDPNMJ
ຊʁ ຊۭલͷ3VCZΤϯδχΞෆ ιʔγϟϧήʔϜͷେϒʔϜ ଞͷҊ݅ΛΔΤϯδχΞ͕গͳ͍ ݱࡏͱͯܠؾ͕ྑ͍ঢ়ଶ
3VCZ͕ ࡞ΒΕΔॴ
3VCZNBU[͞ΜΛத৺ʹɺ ੈքதͷ։ൃऀ͕ू·ΔίϛϡχςΟͰ࡞͍ͬͯ·͢ ιʔείʔυ͕ެ։͞Ε͍ͯ·͢ ʢΦʔϓϯιʔεʣ 3VCZಛఆͷاۀ͕࡞͍ͬͯΔͷͰ͋Γ·ͤΜ ແྉͰ͏͜ͱ͕Ͱ͖·͢ ։ൃ͢Δࣗ༝ɺ͠ͳ͍ࣗ༝ 3VCZΈΜͳ͕࡞Δͷ
3VCZΛ͏্Ͱཉ͍͠ػೳ͕͋ͬͨΒ ʮ࡞ͬͯʯͱ͓ئ͍ͯ͠ɺ ࡞ͬͯΒ͑ͳ͍͜ͱଟ͍Ͱ͢ɻ ͳ͚ΕࣗͰ࡞ΔจԽͰ͢ɻ ࡞Δଆʹ·ΘΓ·͠ΐ͏ ɾෆ۩߹Λใࠂ͢Δ ɾෆ۩߹ͷύονʢमਖ਼ίʔυʣΛૹΔ ɾࣗͰ࡞ͬͯެ։͢Δ 3VCZΛ͏্Ͱͷେͳ৺ҙؾ
3VCZίϛϡχςΟ 3VCZΛ࡞͍ͬͯΔਓͨͪ 3VCZΛ͍ͬͯΔਓͨͪ 3VCZΛ͖ͳਓͨͪ
ੈքதͰେখ͞·͟·ͳίϛϡχςΟ͕ӡӦ͞Ε͍ͯΔ େ͖ͳͷ ɹ3VCZ։ൃίϛϡχςΟ ɹ3BJMT։ൃίϛϡχςΟ খ͞ͳͷ ɹҬͰू·Δ͜ͱ͕ଟ͍ ɹ"TBLVTBSC ɹ5PLZVSC 3VCZίϛϡχςΟ
˒3VCZձٞελϯσΟϯάΦ ϕʔγϣϯࣸਅ 3VCZ,BJHJ
3VCZ$POG 64"
"TBLVTBSC
5PLZVSC
[ 5PLZVSC
ੈքͷ3VCZ ίϛϡχςΟ
3VCZ$POGߦ͖ͬͯͨ
%BWF5IPNBT %)) .BU[͕جௐߨԋ ϗςϧ։࠵ɺன͝Μɺ͓͖ͭ ϦΫϧʔτ׆ಈ͕Μ ֎ࠃਓͱͨ͘͞ΜͤΔ ຊਓͱͨ͘͞ΜͤΔ 3VCZ$POG
.BU[جௐߨԋऴྃޙ جௐߨԋ༰༁IUUQCMPHFWFSZMFBGDPNSVCZDPOGNBU[
ηογϣϯ
ϦΫϧʔτ׆ಈ͕Μ
͓ͭ
εϙϯαʔاۀاը࠙ձ
εϙϯαʔاۀاը࠙ձ
Ϛϥιϯେձ
Ϛϥιϯେձ
NBU[෦Ͱѱͩ͘Έத
؍ޫָ͍͠
None
None
None
None
None
None
None
3VCZΛ͏ਓ ͳΜ͔͍͍ਓ͕ଟ͍ ʢࣾௐʣ
matz is nice, so we are nice. NBU[͕͍͍͔ͭͩΒɺ զʑ͍͍ͭͳΜͩ
ίϛϡχςΟʹ͍Δਓಉ྅ͷΑ͏ͳײ֮ ͱʹ3VCZͦͷपลπʔϧΛ։ൃ͢Δؒ Ո༑ਓΛେʹ͢Δਓ͕ଟ͍ લ͖ͳਓ͕ଟ͍ ͳΜ͔ډ৺͕ྑ͍ 3VCZίϛϡχςΟͷࢲͷײ
͓͞Β͍
ߨٛʹ͍ͭͯ ධՁํ๏
௨ίϚ Նֶظɾౙֶظ ༵࣌ݶ 3VCZ͓Αͼ3VCZPO3BJMTΛͬͨجૅతͳϓϩάϥϜ ͕ॻ͚ΔΑ͏ʹͳΔ͜ͱΛඪͱ͠·͢ɻ ߨٛܗࣜͰͷઆ໌ͱϓϩάϥϛϯά࣮श࡞ۀΛ௨࣮ͯ͡ࡍʹ ϓϩάϥϜΛॻ͖ͳ͕ΒतۀΛਐΊ·͢ɻ ࣮शϖΞϓϩάϥϛϯάͰਐΊΔ༧ఆͰ͢ɻ 3VCZͷόʔδϣϯݪଇɺ࠷৽ͷΛ͍·͢ɻ ߨٛதωοτϫʔΫɺGBDFCPPLUXJUUFSͳͲͬͯ
ߏΘͳ͍Ͱ͢ɻ
Նֶظ ୈճʙୈճ 3VCZ ୈճʙୈճ 3VCZPO3BJMT ౙֶظ ୈճʙୈճ 3VCZPO3BJMT ߨٛ༧ఆ
ධՁํ๏ ԋश՝Λఏग़͍͖ͯͨͩ͠ධՁΛߦ͍·͢ɻ ·ͨɺतۀͷߩݙධՁͷରͱ͠·͢ɻ ग़੮͕तۀճͷͷʹຬͨͳ͍߹ʮ'ʯͱ͠·͢ɻ
ڭՊॻɿͨͷ͍͠3VCZ IUUQXXXBNB[PODPKQEQ ͓ങ͍ٻΊ େֶੜڠ·ͨ δϡϯΫಊାళͰ
σʔλղੳ ɹ8FC্ͷσʔλऩू ɹɹ"NB[POͰਓؾͷ ɹɹΛఆظతʹௐΔ ɹେྔͷσʔλղੳ ɹɹXJLJQFEJBΞΫηεղੳ ɹɹ૬σʔλͷղੳͱ༧ 3VCZΛͬͯ Ͱ͖Δ͜ͱ
3VCZΛͬͯͰ͖Δ͜ͱ
8FCΞϓϦέʔγϣϯͷ࡞ GBDFCPPLΞϓϦͷ࡞ 3VCZΛͬͯͰ͖Δ͜ͱ
3VCZͷجૅ͕ʹ͖ͭɺ؆୯ͳϓϩάϥϜΛॻ͚Δ ɹXJLJQFEJBΞΫηεղੳ࣮श 3VCZPO3BJMTͷجૅ͕ʹ͖ͭɺ؆୯ͳΞϓϦΛ࡞ΕΔ 3VCZʹؔ͢Δෆ໌͕͋ͬͨͱ͖ʹௐΒΕΔ ͜ͷߨٛΛड͚Δͱ ͜Ε͕Ͱ͖ΔΑ͏ʹͳΔ ༧ఆ
2VFTUJPOT