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
ソーシャルコーディング時代のふつうのプログラマサバイバルガイド
Search
takkanm
September 16, 2012
Programming
17
7.1k
ソーシャルコーディング時代のふつうのプログラマサバイバルガイド
http://sapporo.rubykaigi.org/2012/ja/schedule/details/53.html
takkanm
September 16, 2012
Tweet
Share
More Decks by takkanm
See All by takkanm
Rails な受託の会社でぼくがやっていること / What I do in a Rails consulting company
takkanm
6
13k
わたしの知っているRubyKaigiとESM / The relationship between RubyKaigi and ESM that I know
takkanm
0
370
Learn Programming Essence from Ruby patches
takkanm
4
2.1k
UpdateAdhoqToSupportRails5
takkanm
0
1.3k
That I speak when talking about language that starts from R
takkanm
3
2.5k
journey through the programming language(censored edition)
takkanm
1
220
10th anniversary Rubyist Magazine
takkanm
0
150
ordk03-ninja-talk
takkanm
0
540
bookshelf_in_my_head.pdf
takkanm
0
120
Other Decks in Programming
See All in Programming
最新TCAキャッチアップ
0si43
0
140
Quine, Polyglot, 良いコード
qnighy
4
640
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
CSC509 Lecture 09
javiergs
PRO
0
140
Amazon Qを使ってIaCを触ろう!
maruto
0
400
CSC509 Lecture 12
javiergs
PRO
0
160
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Better Code Design in PHP
afilina
PRO
0
120
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
170
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Designing for humans not robots
tammielis
250
25k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Become a Pro
speakerdeck
PRO
25
5k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Transcript
4VSWJWJOH1SPKFDUT"GUFSUIF (JU)VC3FWPMVUJPO "O0SEJOBSZ1SPHSBNNFST (VJEF .JUTVUBLB.JNVSB &JXB4ZTUFN.BOBHFNFOU *ODBTBLVTBSC 129݄16༵
NF 129݄16༵
129݄16༵
XPSL 129݄16༵
IUUQDPEFSXBMMDPNUFBNFJXB TZTUFNNBOBHFNFOU 129݄16༵
129݄16༵
129݄16༵
DPNNVOJUZ 129݄16༵
129݄16༵
IUUQXXXNFFUVQDPNUPLZPSBJMTFWFOUT 129݄16༵
129݄16༵
3VCZ,BKBʹͳΓ·ͨ͠ 129݄16༵
IUUQKQSVCZJTUOFUNBHB[JOF 129݄16༵
Δͼ·Ͱ هࣄΛॻ͍ͯ͘ΕΔํ ҰॹʹฤूΛ͢ΔํΛ ืू͍ͯ͠·͢ IUUQKQSVCZJTUOFUNBHB[JOF 129݄16༵
ࠓ͞ͳ͍͜ͱ 129݄16༵
ࠓ͞ͳ͍͜ͱ ✓ίʔυϨϏϡʔͷϕετϓϥΫςΟε ✓ΩϥΩϥͨ͜͠ͱ ✓ࠈͷΈ͞Θ ✓*%0- 129݄16༵
ࠓͷ͓ 129݄16༵
͓ͷ༰ ιʔγϟϧίʔσΟϯά͕࢝·ͬͨ ӬͰੜ͖ΔͨΊɺ .Z$PEFΛ8F$PEFͱͳΔΑ͏ʹ ؾΛ͚ͭͨ͜ͱ 129݄16༵
Ӭͷਓͨͪ 129݄16༵
129݄16༵
R u b y i s t ͨ ͪ 129݄16༵
Φ ϒ ਥ ͨ ͪ 129݄16༵
129݄16༵
͜ͷͰى͖ͨ ڥͷมԽ 129݄16༵
৬ʹ(JU)VC͕ ͖ͬͯͨ 129݄16༵
ಋೖͷ͖͔͚ͬ ✓ʮίʔυϨϏϡʔʯ ✓େਓ O ͷϓϩδΣΫτ ✓νʔϑϓϩάϥϚʔ VSTN ʹΑΔ ϨϏϡʔ 129݄16༵
ϨϏϡʔ͚ͬ͜͏େม ✓ࢦఠޱ಄ PS*3$ ✓มߋΛ͏ͷ͕େม ✓ݟΔ͖ର͕ࢁ 129݄16༵
ͦ͜Ͱ(JU)VCͰ͢Α ✓ͲΜͲΜϨϏϡʔͰ͖Δڥʹ ✓ίϝϯτΛͤΔ ✓QVMMSFRVFTUͰϨϏϡʔґཔ 129݄16༵
ࣗͨͪͷπʔϧ࡞Γ ✓࠷ॳ̍ਓ͕࡞ͬͨϓϩμΫτ ✓ผͷ୭͔͕͕ࣗཉ͍͠ػೳՃΛউ खʹΔΑ͏ʹͳͬͨ ✓ࠓ·Ͱಉ͡ϓϩδΣΫτʹͳͬͨ͜ͱ ແ͍ਓ͕ಉ͡ίʔυΛ͍͡ΔΑ͏ʹͳ ͬͨ 129݄16༵
ձࣾͷதʹ(JU)VCͰ ى͖͍ͯΔιʔγϟϧͳ ׆ಈ͕ൃੜ͢ΔΑ͏ʹͳͬͨ 129݄16༵
มԽͷ·ͱΊ ✓ଞͷϓϩδΣΫτͷίʔυΛݟΕΔΑ ͏ʹͳͬͨ ✓ϓϩδΣΫτ֎ͷϝϯόʔϑΟʔυ όοΫΛͩͤΔڥʹͳͬͨ ✓ϝϯόʔશһ͕ಉ͡ίʔυΛڞ༗͢Δ Α͏ʹͳͬͨ 129݄16༵
129݄16༵
ʢʼʻʣ ✓QVTI͢ΔͨͼʹೖΔίϝϯτͷʑ ✓ࣄ͕ਐ·ͳ͍ ✓Ԝ 129݄16༵
͚ͬ͜͏ਏ͍ 129݄16༵
ͦΜͳதͰ͕ࣗ ίʔυΛॻ͖ଓ͚Δ ͨΊʹԿ͕Ͱ͖Δ͔Λ ߟ͑ͯΈͨ 129݄16༵
ٯڥΛνϟϯεʹ ✓ฐࣾʹɺ͍͢͝ਓ͕͍ͬͺ͍͍Δ ✓ͦΜͳ͍͢͝ਓ͔ΒݟࣺͯΒΕͣʹབྷ ΜͰΒ͑Δͷνϟϯε ✓ड͚ͨࢦఠΛʹ͚͍͚ͭͯɺΑ͍ श׳Λʹ͚ͭΕΔͣ 129݄16༵
ࢥߟ͕ωΨςΟϒϑΟʔυό οΫʹ͓͍ͪΒͳ͍Α͏ʹ ҙࣝΛม͑ͨ 129݄16༵
ͳͥࢦఠ͕ଟ͍͔Λ ߟ͑ͨ ✓ʮӬͷNBTUFSϒϥϯνʹมͳ ίʔυ͕ແ͍ʯΛ࣮ݱ͢ΔͨΊʹɺ Θͨ͠ʹΓͯͳ͍͜ͱ͕ଟ͍ 129݄16༵
ӬͷNBTUFSϒϥϯνʹ͍Ε ͍͍ͯΑ͏ͳίʔυΛॻͨ͘Ίʹ Θ͕ͨ͠ؾΛ͚ͭΔΑ͏ʹͳͬͨ /ݸͷ͜ͱ 129݄16༵
129݄16༵
ίʔυͷܗΛ ؾʹ͢Δ 129݄16༵
ίʔυͷܗΛؾʹ͢Δ ✓͏͚ͨࢦఠ ✓ίʔυʹ͍ΕΔۭനվߦͷҐஔ͕ όϥόϥ ✓ॻ͖ํʹϜϥ͕͋Δ 129݄16༵
ྫɿۭനͷ͍Εํ ࢦఠΛ͏͚Δ)BTIͷॻ͖ํ {a: 1, b: 2 } ࢦఠΛ͏͚ΔϒϩοΫͷॻ͖ํ [1, 2,
3].map{ |a| a + 1} 129݄16༵
ྫɿۭനͷ͍Εํ ࢦఠΛ͏͚Δ)BTIͷॻ͖ํ {a: 1, b: 2 } ࢦఠΛ͏͚ΔϒϩοΫͷॻ͖ํ [1, 2,
3].map{ |a| a + 1} ˢ͜ͷεϖʔεԿ 129݄16༵
ྫɿۭനͷ͍Εํ ࢦఠΛ͏͚Δ)BTIͷॻ͖ํ {a: 1, b: 2 } ࢦఠΛ͏͚ΔϒϩοΫͷॻ͖ํ [1, 2,
3].map{ |a| a + 1} ͜ͷεϖʔεԿ ˢ 129݄16༵
ྫɿۭനͷ͍Εํ ࢦఠΛ͏͚Δ)BTIͷॻ͖ํ {a: 1, b: 2 } ࢦఠΛ͏͚ΔϒϩοΫͷॻ͖ํ [1, 2,
3].map{ |a| a + 1} ͜͜ʹεϖʔε͍Εͳ͍ͷ ˢ 129݄16༵
Ͳ͏ͯ͠େࣄ͔ ✓վߦۭനίʔυͷҰ෦ͳͷͰؾʹ͠ ͳ͚Ε͍͚ͳ͍ ✓ίʔυͷݟ͕ͨѱ͍ͱϨϏϡϫʔ͕ຊ ࣭Ҏ֎ͷ͜ͱͰؾΛͱΒΕͯ͠·͏ ✓ݟͨͷޙʹ࠶ϨϏϡʔʹͳΔͷͰແ ବ͕ൃੜ͢Δ 129݄16༵
࣮ફͨ͜͠ͱ ✓ࢦఠ͞Εۭͨനվߦͷ͍ΕํΛཧղ͠ ͯɺίʔυΛॻ͘ͱ͖ʹ֬ೝ͢Δ ✓ଞͷਓ͕ॻ͍ͨίʔυΛϨϏϡʔ͢Δͱ ͖ҙࣝ͢Δ ✓Πϯλʔωοτʹެ։͞Ε͍ͯΔ͍ΖΜ ͳίʔσΟϯάϧʔϧΛݟͯࣗͱͷҧ ͍Λ୳ͯ͠ɺΑ͍ͷऔΓೖΕΔ 129݄16༵
129݄16༵
આ໌Ͱ͖ΔίʔυΛ ॻ͘ 129݄16༵
આ໌Ͱ͖ΔίʔυΛॻ͘ ✓͏͚ͨࢦఠ ✓͜ͷมͲ͏͍͏ҙຯͰ͔͢ ✓͜ͷߏԿͰ͜͏ͳΔΜͰ͔͢ 129݄16༵
ྫɿςετσʔλͷ ηοτΞοϓ object.instance_variable_set :@user, 'takkanm' 129݄16༵
ྫɿςετσʔλͷ ηοτΞοϓ object.instance_variable_set :@user, 'takkanm' lΘ͚͕Θ͔Βͳ͍Αz 129݄16༵
Ͳ͏ͯ͠େࣄ͔ ✓ࣗͰΘ͔Γ໊͍͢લΛ͚ͭͨͱࢥͬ ͯɺਓʹཧղͰ͖ͳ͍͜ͱ͋Δ ✓࠷ऴతʹίϛοτ͞ΕΔͷಈ͚ͩ͘ Ͱͳ͘ҙਤ͕͖ͬΓ͍ͯ͠ͳ͍ͱ͍͚ ͳ͍ 129݄16༵
࣮ફͨ͜͠ͱ ✓ม໊ߏʹΜͩΒ૬ஊ ✓ଞͷਓͷίʔυ͔Β׳༻తͳ୯ޠΛֶͿ ✓આ໌Ͱ͖ΔΑ͏ʹॻ͚ΔΑ͏ʹɺԿ ॻ͖͢ 129݄16༵
129݄16༵
ಓ۩ΛΔ 129݄16༵
ಓ۩ΛΔ ✓͏͚ͨࢦఠ ✓ͦΕ˓˓ͰͰ͖ΔΑ ✓ʷʷͬͯͳ͍ͷͰ͔͢ 129݄16༵
ྫɿϑΝΠϧͷSFBE File.read(Rails.root + ‘/lib/ foo.csv’) 129݄16༵
ྫɿϑΝΠϧͷSFBE File.read(Rails.root + ‘/lib/ foo.csv’) l1BUIOBNFͳΒͬͱΓΑ͏͋ΔΑͶz 129݄16༵
ྫɿϑΝΠϧͷSFBE File.read(Rails.root + ‘/lib/ foo.csv’) l3BJMTSPPUKPJO bMJCGPPDTW` SFBEz 129݄16༵
ྫɿྻڍ͍ͨ͠ͱ͖ class Todo < ActiveRecord::Base STATUS = %w(done doing ready)
end 129݄16༵
ྫɿྻڍ͍ͨ͠ͱ͖ class Todo STATUS = %w(done doing ready) end lFOVNFSBUFE@BUUSJCVUFΛͬͨΒͲ͏Ͱ͔͢ʁz
class Todo < ActiveRecord::Base STATUS = %w(done doing ready) end 129݄16༵
Ͳ͏ͯ͠େࣄ͔ ✓ϓϩάϥϚͱͯ͠3VCZ3BJMTͷ ಓ۩ΛΑ͘Βͳ͍ͱ͍͚ͳ͍ ✓ϓϩάϥϚͱͯ͠ৗʹΞϯςφΛషͬͯ ͍Δඞཁ͕͋Δ 129݄16༵
࣮ફͨ͜͠ͱ ✓υΩϡϝϯτΛோΊΔ ✓45,͢Δ ✓ଞͷϓϩδΣΫτͷ(FNpMFΛݟΔ 129݄16༵
"QQFOEJY" 129݄16༵
՝֎׆ಈΛ͢Δ 129݄16༵
ֶΜͩ͜ͱΛ Ξτϓοτ͢Δ ✓ࣾͰֶΜͩ͜ͱΛΞτϓοτ͢Δ ✓ࣗͷཧղཱ͍ͬͯΔॴΛΔ͍ ͍ػձʹͳΔ 129݄16༵
ωοτ্ͷ׆ಈ ✓$PEFSXBMM ✓όοξͰ৫ͷংྻ͕ݟ͑Δ ✓3BJMTͷόοξ͕ཉͯ͘͠ύονΛॻ͘ ✓2"UNBSLJU ✓Ϩϐϡςʔγϣϯ͕ଞͷਓʹෛ͚ͳ͍Α͏ʹ࣭ʹ ͑Δ ✓3VCZϦϑΝϨϯεϚχϡΞϧ ✓ಡΜͰ͍Δͱ͖ʹؒҧ͍ʹؾ͍ͨΒ#VHใࠂ 129݄16༵
ίϛϡχςΟʹͰΔ ✓"TBLVTBSC ✓3BJMTษڧձ ✓3VCZJTU.BHB[JOFฤू ✓ࡳຈ3VCZձٞͰ͢ 129݄16༵
ࣗͷมԽʹ͍ͭͯ 129݄16༵
มΘͬͨ͜ͱ ✓QVTI͢Δͷָ͕͘͠ͳͬͨ ✓·ͩ·ͩποί·ΕΔ͚ͲલΑΓۤ Ͱͳ͘ͳͬͨ ✓ଞͷਓʹֶΜͩࣄΛ͑ΕΔΑ͏ʹ ✓ͭΒ͘ͳ͍Α͏ʹؾΛ͚ͭΔ ✓ڭ͑Δ͜ͱͰߋʹߟ͕͑ਂ·Δ͜ͱ 129݄16༵
;ͭ͏ͷ͜ͱͰ ✓͍͢͝ਓ͕;ͭ͏ʹߦͳ͍ͬͯΔࣄͩ ͚ͲɺΘͨ͠ʹؾΛ͚ͭͳ͍ͱͰ͖ ͳ͍ࣄ͕ଟ͔ͬͨ ✓͋ͨΓ·͑ͱݴΘΕ͍ͯΔࣄΛͪΌΜ ͱΕΔΑ͏ʹྗ͠ͳ͍ͱ͍͚ͳ͍ 129݄16༵
·ͱΊ ✓ձࣾͰίʔυΛॻ͘ڥձࣾ֎ͰίʔυΛ ॻ͘ڥࠩҟ͕ͳ͘ͳͬͯ͘Δ͜ͱͰɺ্ୡ ͢Δνϟϯε͕૿͑ͨ ✓ਏͯ͘ΒͣʹૉʹࢦఠΛड͚ͱΊֶͯΜ Ͱ͍͘͜ͱ͕େࣄ ✓ίʔυΛָ͘͠ॻ͘ͱ͍͏͜ͱΛੜۀʹ͢Δͷ ͳΒɺ͋ͨΓ·͑ͷ͜ͱΛਖ਼͘͠ΕΔΑ͏ʹ ৗʹҙࣝ͢Δ͜ͱ͕େࣄ 129݄16༵
129݄16༵