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を入り口として プログラミングを楽しむ会 (仮称) Rubyをはじめよう編
Search
Katsuyoshi Ito
May 27, 2012
0
150
秋田でRubyを入り口として プログラミングを楽しむ会 (仮称) Rubyをはじめよう編
Katsuyoshi Ito
May 27, 2012
Tweet
Share
More Decks by Katsuyoshi Ito
See All by Katsuyoshi Ito
irBoard(アイアールボード) について
itosoft
0
690
Ladder Drive - To start IoT for manufacturing.
itosoft
0
65
irBoardの紹介と クラウドサービスの活用
itosoft
1
500
irBoard活用可能性
itosoft
0
150
東北IT物産展2016スポンサーLT
itosoft
0
110
iQ-FとirBoardの接続設定
itosoft
0
620
iQ-RとirBoardの接続設定
itosoft
0
650
デジコミュ秋田 2015 オープニング
itosoft
0
1.6k
デジコミュ秋田 2015 LT 極上の密林
itosoft
0
490
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
680
We Have a Design System, Now What?
morganepeng
55
8k
Done Done
chrislema
186
16k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Evolving SEO for Evolving Search Engines
ryanjones
0
170
RailsConf 2023
tenderlove
30
1.4k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
140
Optimizing for Happiness
mojombo
378
71k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Side Projects
sachag
455
43k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
150
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
ळాͰ3VCZΛೖΓޱͱͯ͠ ϓϩάϥϛϯάΛָ͠Ήձ Ծশ ͔ͭΑ͠ ༗ݶձࣾҏ౻ιϑτσβΠϯ "LJUBN 3VCZΛ͡ΊΑ͏ฤ
ಋೖ w8JOEPXT wCSFX ෳόʔδϣϯͷڥ w.BD w.BD1PSUT w37.
ෳόʔδϣϯͷڥ
8JOEPXTฤ ✓"DUJWF4DSJQU3VCZ ✓0OF$MJDL3VCZ*OTUBMMFSGPS 8JOEPXT
.BDฤ ✓࠷ॳ͔Β͋Δ ✓Yʹ͢Δʹ৭ʑҾ͔͔ͬΔ߹ ͕͋Δɻ ಛʹ-JPO ✓1PSUTΛ͑େৎʁ ✓.BD049ͷΠϯετʔϧ
։ൃڥ ✓ςΩετΤσΟλʔ ✓ίϯιʔϧ
ςΩετΤσΟλʔ ✓Ԧಓ ✓&NBDT ✓7JN ✓ͦͷଞ ✓ϝϞாͰग़དྷ·͢
ςΩετΤσΟλʔ w8JOEPXT w3VWJ&EJU wϝϞா͍͚·͢
ςΩετΤσΟλʔ w.BD w5FYU.BUF ຊޠͷѻ͍ʹ w9DPEF wςΩετΤσΟτͰ͍͚·͢
*%& w/FU#FBOT ϓϥάΠϯՃ w&DMJQTF ϓϥάΠϯՃ wSE3BJMɹ &NCBSDBEFSPɹچ#PSMBOE w*OUFMMJ+*%&"͑Δʁ ϓϥάΠϯՃʁ
ίϯιʔϧ wϓϩάϥϜͷ࣮ߦ wฤूՄ
ϓϩάϥϜͷ࣮ߦ wJSC wSVCZίϚϯυ w࣮ߦίϚϯυ
JSC wSVCZ࣮ߦڥ
SVCZίϚϯυ wSVCZDPNNBOESC SVCZBCDSC
࣮ߦίϚϯυ ✓TIFCBOH ✓ߦ಄ʹ QBUIUPDPNNBOE ✓ YͰ࣮ߦݖݶΛ࣋ͨͤΔ
3VCZͷจ๏ ࢀߟ: RubyϨγϐϒοΫ
Ϧςϥϧ ✓ ✓จࣈ ✓γϯϘϧ ✓ྻ ✓ϋογϡ ✓ਖ਼نදݱ ✓ίϚϯυग़ྗ
Ϧςϥϧ ✓ ✓ݻఆ 'JYOVN ✓ଟഒ #JHOVN
✓γʔϜϨεʹม ✓@@ͱॻ͚Δ ✓গ ✓Ծ෦ ✓ࢦ෦ ͷ ✓F
จࣈϦςϥϧ ✓lzͰғΉ ✓ಛघจࣈaO͑Δl)FMMPaOz ✓ࣜల։͑Δl\B^z ✓b`ͰғΉ ✓ಛघจࣈࣜͦͷ··දࣔ͞ΕΔ ✓ଞ͋Δ͕ࠓ͜͜·Ͱ
γϯϘϧ ✓Ͱ࢝·Δ TZN ✓εϖʔεؚΉ߹zTZNBzT<TZNB> ✓จࣈͱͷҧ͍ ✓ϢχʔΫ lBCDzͱzBCDz࣮ଶ͕ҧ͏߹͕͋Δ
BCDͱBCDಉ͡ ✓༻్ ✓ϝιου໊ ✓ϋογϡͷΩʔ
ྻ ✓<>ͰғΈཁૉ Ͱ۠Δ < > ✓จࣈͷ߹X ɺ8
͕ศར <lBz lCz lDz> X BCD <lBz lCz lDz> TlBz8 \T^CD <lBz lCz lDz> ✓ೖΕࢠՄ << > < >>
ϋογϡ ✓λά͚͞Εͨ \^ͰғΈΩʔͱΛͰࢦఆ \lࠃޠz lࢉz^ ✓\^ͰғΈ Ͱ۠ΔɻΩʔɺͷॱ \lࠃޠz
lࢉz ^ ✓\^ͰғΈΩʔͷޙΖʹΛ༻͍Δɻ \ࠃޠ ࢉ^Y͔Βʁ ෆ໌
ਖ਼نදݱ ✓จࣈྻͷύλʔϯ நग़ɺஔ ✓ͰғΉ 3VCZ ✓SΛ͏ ccɺɺ
ɺ<>ɺ\^ɺͱΈ߹ΘͤΔ Sc3VCZc ✓վΊͯઆ໌
ίϚϯυग़ྗ ✓ίϚϯυ࣮ߦ݁ՌΛಘΔ ✓AA γϯάϧΫΥʔτ ͰғΉ AFDIP3VCZA l3VCZz ✓Y ͑Δ
Y FDIP3VCZ l3VCZz
มͱఆ ✓ม খจࣈ͔Β࢝·Γ୯ޠؒΞϯλʔε ίΞͰܨ͙ ✓ϩʔΧϧม VTFS@JE
✓Πϯελϯεมɹ !VTFS@JE ✓Ϋϥεม !!VTFS@JE ✓άϩʔόϧม VTFS@JE ✓ٙࣅม ✓ఆ େจࣈ͔Β࢝·Δ 64&3@*%
ϩʔΧϧม ✓είʔϓͰͷΈࢀরՄೳ \^ͰͷΈF͕ࢀরग़དྷΔ [1,2,3].each{|e| puts e }
Πϯελϯεม ✓ΦϒδΣΫτͰࢀরՄ ✓ΠϯελϯεԽ͔ͯ͠Β ✓!Λ಄ʹ͚Δ class Foo @a = 123 def
bar puts @a end end f = Foo.new f.puts # => 123
Ϋϥεม ✓ΫϥεɺαϒΫϥεٴͼ Πϯελϯε͔ΒࢀরՄ ✓ΠϯελϯεԽෆཁ ✓!!Λ಄ʹ͚Δ class Foo @@a = 123
def self.bar puts @@a end end Foo.puts # => 123
άϩʔόϧม ✓Կॲ͔ΒͰݺͼग़ͤΔ ✓Λ಄ʹ͚Δ ✓༧Ί༻్͕ܾ·͍ͬͯΔͷ͋Δ
ٙࣅม ✓ಛघͳม ఆ TFMG USVF GBMTF OJM @@'*-&@@
@@-*/&@@
ఆ ✓େจࣈ͔Β࢝·Δ $POTU ✓มߋෆՄ
ϝιου ✓͋Δ·ͱ·ͬͨॲཧΛͤ͞Δ ✓จࣈΛग़ྗ ✓Λܭࢉ
ݺͼग़͠ํ๏ ✓ΦϒδΣΫτ໊ϝιου໊ Ҿ LBUTVCVZ l3VCZz ✓ লུՄ
LBUTVCVZl3VCZz ✓ؔతϝιου ΦϒδΣΫτ໊ͳ͠ TFMGʹରͯ͠ݺͼग़͠ QVUTl3VCZz
QSJOU wจࣈΛग़ྗ wQSJOUจࣈϑΥʔϚοτࢦఆՄ վΊͯ wվߦ͠ͳ͍ wվߦaO XJOEPXT=O
QVUT wจࣈΛग़ྗ wQVUTจࣈϑΥʔϚοτࢦఆՄ վΊͯ wվߦ͢Δ aOෆཁ
͓ )FMMP 8PSME
͓ )FMMP 8PSME ✓QSJOUl)FMMP 8PSMEaOz
͓ )FMMP 8PSME ✓QSJOUl)FMMP 8PSMEaOz ✓QVUTl)FMMP 8PSMEz
͓ )FMMP 8PSME ✓QSJOUl)FMMP 8PSMEaOz ✓QVUTl)FMMP 8PSMEz ✓USZ QSJOUl)FMMP z
l8PSMEaOz QVUTl)FMMP l l8PSMEz
ೖ w B wଟॏೖ
B C D
ίϝϯτ w ͜͜ίϝϯτ wCFHJOFOE CFHJO ͜͜ίϝϯτ
FOE
੍ޚߏจ
݅ذ ✓JG ✓VOMFTT ✓DBTF
JG JGࠓӍͳΒ ࡿΛ࣋ͬͯߦ͘ FMTF ࡿΛ࣋ͬͯߦ͔ͳ͍ FOE
VOMFTT VOMFTTࠓӍ͡Όͳ͔ͬͨΒ ࡿΛ࣋ͬͯߦ͔ͳ͍ FMTF ࡿΛ࣋ͬͯߦ͘ FOE
DBTF DBTFࠓͷఱؾ͕ XIFOӍͳΒ ࡿΛ࣋ͬͯߦ͘ XIFO͘Γ Ε͔ͳΒ ࡿΛ࣋ͬͯߦ͔ͳ͍ FMTF ՈʹډΔ FOE
JGम০ VOMFTTम০ QVUTlࠓΕͰ͢zJGࠓ͕ΕͳΒ QVUlࠓग़͔͚·ͤΜzVOMFTTࠓ͕Ε͡Όͳ ͔ͬͨΒ EFGTVNO T VQUPOEPcJc T J
FOEVOMFTTO T FOE
܁ฦ͠ ✓XIJMF ✓VOUJM ✓GPS
XIJMF XIJMF৽װઢʹ͍ͬͯΔEPؒ EPলུՄ QVUTlಡॻͯ͠·͢z FOE
VOUJM VOUJMं͕དྷΔEP·Ͱ EPলུՄ QVUTlҋʹ͘Δ·ͬͯΔz͚ͩ͊ FOE
GPS GPSมJOΦϒδΣΫτEPFOE GPSTJO< zμʔz>EPEPলུՄ QVUTT FOE
GPS < zμʔz>FBDIEPcTcEPলུՄ QVUTT FOE ✓GPSγϯλοΫεγϡΨʔ ✓ΠςϨʔλʔΛ͏
ଞͷݴޠͷ༷ʹ͍ͨ͠߹ VQUPEPcJc QVUTJ FOE FBDIEPcJc QVUTJ FOE Cݴޠ GPS
JJJ \ QSJOU lEz J ^ BASIC෩ C෩ UJNFTEPcJc QVUTJ FOE Rubyݴޠ
ճ࣮ߦ͔ͤͯ͞Β ✓CFHJOFOEͱXIJMFVOUJMFͷ߹ CFHJO QVUTlಡॻͯ͠·͢z FOEXIJMF৽װઢʹ͍ͬͯΔؒ CFHJO QVUTlҋʹ͘Δ·ͬͯΔz͚ͩ͊ FOEVOUJMं͕དྷΔ·Ͱ
ϒϩοΫ ✓ॲཧΛ·ͱΊͨͷ
ϒϩοΫ ✓ॲཧΛ·ͱΊͨͷ < zμʔz>FBDIEPcTc QVUTT FOE <
zμʔz>FBDI\cTc QVUTT ^ ✓EP͔ΒFOE·ͰͰɺ\^͑Δ
ϒϩοΫ ✓ॲཧΛ·ͱΊͨͷ < zμʔz>FBDI CMPDL ✓ϝιουͷҾͱ͍ͯͯ͠͠Δ <
zμʔz>FBDIEPcTc QVUTT FOE < zμʔz>FBDI\cTc QVUTT ^ ✓EP͔ΒFOE·ͰͰɺ\^͑Δ
͓ )FMMP 8PSMEΛߦදࣔ
͓ )FMMP 8PSMEΛߦදࣔ UJNFTEP QVUTl)FMMP 8PSMEz FOE
͓ )FMMP 8PSMEΛߦදࣔ UJNFTEP QVUTl)FMMP 8PSMEz FOE <l)FMMP 8PSMEz>
FBDIEPcTc QVUTT FOE
͓ )FMMP 8PSMEΛߦදࣔ UJNFTEP QVUTl)FMMP 8PSMEz FOE QSJOUl)FMMP 8PSMEaOz
<l)FMMP 8PSMEz> FBDIEPcTc QVUTT FOE
ࢀরαΠτ ✓3VCZ ެࣜαΠτ ✓Δͼ·ɹ 8FCϚΨδϯ ✓ΔΓ·
υΩϡϝϯτ ✓3VCZιʔείʔυશղઆͬͱৄ͘͠
ϝʔϦϯάϦετ •
[email protected]