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
TokyoRUbyKaigi_10
Search
semiyashin
January 12, 2013
0
230
TokyoRUbyKaigi_10
13.Jan.2013. in TokyoRubyKaigi 10th.
preview version
semiyashin
January 12, 2013
Tweet
Share
More Decks by semiyashin
See All by semiyashin
Backlog Talk part1
semiyashin
0
52
Backlog Talk part2
semiyashin
0
86
sales_strategy
semiyashin
0
86
dancing_dev
semiyashin
0
50
develop_process
semiyashin
0
67
start_producer
semiyashin
0
180
eds_strategy
semiyashin
0
140
shibuyarb20130515
semiyashin
1
190
DevLOVE2012
semiyashin
7
1.5k
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
97
11k
Into the Great Unknown - MozCon
thekraken
32
1.5k
A Philosophy of Restraint
colly
203
16k
Designing for Performance
lara
604
68k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
It's Worth the Effort
3n
183
27k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Why Our Code Smells
bkeepers
PRO
334
57k
Typedesign – Prime Four
hannesfritz
40
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
できる! 1人で作るWebサービス開発 http://bit.ly/xJSAef TokyoRubyKaigi 2013 01/13
あんただれ? 瀬宮 新 @shin_semiya 職業:SIer ハイパーレガシーコードクリエイター 好きな言語:Ruby
【今日する話】 Webアプリを開発して ・スキル(ひよこ→よちよち) ・友だち(ぼっち→元ぼっち) ・アプリ(書籍→意識本棚) に成長した
皆さん
こんにちは!
プログラムは好きですか?
私は好きです
プログラミングは楽しい
そしてそれを
カタチにしたい
自分で
Webアプリを作りたい
でも・・・
一人で作れるのか?
いままでやったことない
そんなことができるのか
正直最初は不安だった
わからないことだらけだった
あとぼっちだった
ぼっち
ぼっち・・・
None
このままではいけないと思って
スキルを上げたいと思って
アプリ作ろう
そう思うようになったのだ
None
とりあえず
まずは仕様と技術を決めよう
やること
スマフォで アプリを 作りたい
目的
目的: 大量の技術書を管理したい 厚さ 25cm これが6つ
概要
概要: 技術書、電子書籍を 管理するアプリ
要求
要求: 大量の技術書 ・管理したい ・検索したい
スマフォから本棚を検索
前提
一人で、家で開発
一人で開発= ?
つまり
絶対に増員できない開発24時
戦略
一人=限られた開発リソース
省労力でさっくり作れる技術
さっくり作れる アーキテクチャ
インフラはクラウドで スピード+省力化
開発効率も上げたい
プラクティスも順次導入 タスクかんばん RSpec ユーザストーリー インセプションデッキ
加速する開発速度
進化する開発レベル
None
そして3ヶ月後
ついに完成
これを見てくれ これを、どう思う?
すごく、ダサいです
デザインまでは進化しなかった
あわてるな!
なければ作ればいい
jQueryを導入
2週間で画面刷新
ついに完成
アプリが完成!
None
ということで人に見せてみよう
できたアプリをデモしよう!
ソースコードを見てもらおう
出てきた感想
マサカリ1
コードが汚い!
だがどうすれば・・・
マサカリ2
テストが少なすぎる
テストコードの書き方って?
分かった:課題が山積み
None
課題を解決しよう
1人では解決できない
どうすればいい?
コミュニティへ行こう 詳しい人に聞こう
きれいなコードを書くには
きれいなコードを知ろう
詳しい人から鬼レビュー
レビューで方向性がわかる
よいコードの書き方は 一人ではわからない
きれいなコードを見て学ぼう
人の指摘を受けいれよう
人に見せる 勇気大事
また
テストコードを書くには
本を写経した
リファクタした
コードを人に見てもらった
時は満ちた
また見せた
その結果!
新たなコメントが!
テストコードがまだ足りない
命名センスが致命的にない
Oh…
道のりは遠いようだ
俺たちは登り始めたばかりだ この開発坂をよう!(未完)
None
ひどい目にあった
手斧痛いです(^q^)
だけど
いいこともあった
レベルが上った
友達ができた
ぼっち脱出
None
ここまでの流れを3行で
・Webアプリを作った ・他人に見せた ・自分のスキルアップ
振り返ると
自分が
Webアプリを開発して
人に見せて
マサカリ受けて
課題にぶつかって
どう課題を解決したか
それを考えた
困ったときは技術書を読んだ
テストが書きたい →RSpec Books,GOOS本 きれいなコード →リーダブルコード
だが技術書は高い
できれば借りたい
None
もうひとつ
読み終わった本は 他の人にも読んで欲しい
だってもったいない
読んだ本について語り合いたい
でも借りる相手も 貸せる相手もいない
だって元ぼっちだから
None
そこで考えた
自分は スキル=成長した アプリは 中身=進化した 外見=そのまま
そこで方向転換
アプリでサポートすれば?
本をアプリに登録すると 他の人が検索できるようになる
本の登録=技術書の貸借可能に
意識本棚管理アプリ
意識本棚をWeb上に
我々は本棚をなくしました
本当の意識本棚に本棚は要らぬ
None
想像してほしい
ケース1:借りたい人の場合
仕事で悩みがある
いい本ないかなー?
そこでこのアプリですよ
本が借りられる
読んだ人と話が出来る
スキルアップ!
None
ケース2:貸したい人の場合
読み終わった本がある
会社で試したい
誰かと語り合いたい
借りる人が現れる
社内勉強会とか 開けそうな雰囲気に?
仲間が増えるよ!
もう一人じゃない
もう何も怖くない
None
現実問題として
借りる側の事情 ・技術書は高い(3000~5000円) ・本を読む≠知識を消化する
貸す側の事情 ・知識の習得≠現場での活用 ・現場活用には仲間が必要
その間をアプリでつなぐ
None
みんなに勧めたい
アプリ開発はこんなに素敵
アプリをつくって わかった2つのこと
1つめ
開発のスキルが上がる
やることが多い
その分スキル上がる
2つめ
発表できる
学ぶこと多い
話すネタが出来る
それを話すだけ。簡単
3つめ
友達できる
発表する+スキル上がる →顔覚えてもらえる
友達できる
ぼっち脱出
None
学んだこと
1人でもくもく開発する人が 知っておくべき2つのこと
1つめ
興味のあるシステムを作るべき
なぜか
絶対にバグが出るから
興味がないとバグで心が折れる
そうでないなら
技術習得だと割り切るなら 規模を小さく抑えるべき
2つめ
きれいなコードを書こう
もし
コードが汚くて テストがなくて
原因不明なバグが頻発 動かないコード
心が折れる
開発がつらくなる
絶対心が折れる
だから
きれいなコードを書こう
テストコードを書こう
心の平穏を保つために
None
結論
アプリを書こう
スキルが上がるよ
友だちができるよ
だから
僕と契約して
アプリを作ってよ
ご清聴ありがとうございました
書いた人 瀬宮 新 @shin_semiya 職業:SIer ハイパーレガシーコードクリエイター 好きな言語:Ruby