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.3k
ソーシャルコーディング時代のふつうのプログラマサバイバルガイド
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
410
Learn Programming Essence from Ruby patches
takkanm
4
2.3k
UpdateAdhoqToSupportRails5
takkanm
0
1.4k
That I speak when talking about language that starts from R
takkanm
3
2.5k
journey through the programming language(censored edition)
takkanm
1
270
10th anniversary Rubyist Magazine
takkanm
0
190
ordk03-ninja-talk
takkanm
0
580
bookshelf_in_my_head.pdf
takkanm
0
130
Other Decks in Programming
See All in Programming
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
640
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
140
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
2.7k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.8k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
250
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
160
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
350
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
980
私はどうやって技術力を上げたのか
yusukebe
43
18k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
280
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
150
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
27
2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Thoughts on Productivity
jonyablonski
70
4.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GraphQLとの向き合い方2022年版
quramy
49
14k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Optimizing for Happiness
mojombo
379
70k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Agile that works and the tools we love
rasmusluckow
331
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
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༵