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
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
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
120
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
100
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
300
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
今日から始めるAmazon Bedrock AgentCore
har1101
4
400
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
210
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
530
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
340
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
The Pragmatic Product Professional
lauravandoore
37
7.1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
89
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
180
Google's AI Overviews - The New Search
badams
0
900
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Speed Design
sergeychernyshev
33
1.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
84
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Odyssey Design
rkendrick25
PRO
1
490
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