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
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
100
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
330
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
100
Reading Rails 1.0 Source Code
okuramasafumi
0
140
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
150
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
530
アセットのコンパイルについて
ojun9
0
120
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
170
Rancher と Terraform
fufuhu
2
400
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Language of Interfaces
destraynor
161
25k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Designing for humans not robots
tammielis
253
25k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
4 Signs Your Business is Dying
shpigford
184
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
We Have a Design System, Now What?
morganepeng
53
7.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
KATA
mclloyd
32
14k
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༵