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
KaigiOnRails2024
igaiga
9
12k
RuboSensei
igaiga
0
240
Shibuya.rb-2023-04-27-igaiga
igaiga
1
470
Ginza Rails27 igaiga
igaiga
9
13k
tork09igaiga
igaiga
2
290
Road to white mages
igaiga
1
640
Road to white mages
igaiga
8
3.9k
dive_into_code_rails_ruby_books
igaiga
0
210
ginza_rails_vol3_igaiga
igaiga
0
4.9k
Other Decks in Technology
See All in Technology
20241220_S3 tablesの使い方を検証してみた
handy
4
410
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
150
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
240
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
10
9.2k
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
460
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
260
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
Featured
See All Featured
Six Lessons from altMBA
skipperchong
27
3.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Music & Morning Musume
bryan
46
6.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Speed Design
sergeychernyshev
25
670
Statistics for Hackers
jakevdp
796
220k
Gamification - CAS2011
davidbonilla
80
5.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
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