Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ソーシャルコーディング時代のふつうのプログラマサバイバルガイド
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
takkanm
September 16, 2012
Programming
7.4k
17
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ソーシャルコーディング時代のふつうのプログラマサバイバルガイド
http://sapporo.rubykaigi.org/2012/ja/schedule/details/53.html
takkanm
September 16, 2012
Transcript
75 slides
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༵
More Decks by takkanm
See All by takkanm
Rails な受託の会社でぼくがやっていること / What I do in a Rails consulting company
takkanm
6
14k
わたしの知っているRubyKaigiとESM / The relationship between RubyKaigi and ESM that I know
takkanm
0
460
Learn Programming Essence from Ruby patches
takkanm
4
2.4k
UpdateAdhoqToSupportRails5
takkanm
0
1.6k
That I speak when talking about language that starts from R
takkanm
3
2.6k
journey through the programming language(censored edition)
takkanm
1
320
10th anniversary Rubyist Magazine
takkanm
0
250
ordk03-ninja-talk
takkanm
0
650
bookshelf_in_my_head.pdf
takkanm
0
160
Other Decks in Programming
See All in Programming
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
170
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
660
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
230
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
200
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
610
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
130
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.9k
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
Spec-driven Development with AI
simas
PRO
0
2.3k
Performance Optimization With LLMs
xleitix
0
260
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Typedesign – Prime Four
hannesfritz
42
3.2k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Utilizing Notion as your number one productivity tool
mfonobong
4
640
The untapped power of vector embeddings
frankvandijk
2
2k
The Invisible Side of Design
smashingmag
301
52k
Building an army of robots
kneath
307
47k
First, design no harm
axbom
PRO
2
1.4k
Discover your Explorer Soul
emna__ayadi
2
1.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.9k