Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
スーパーハカーに なりたかったITドカタと コミュニティ そしてマサカリ DevLove Conf 2012 12/15
Slide 2
Slide 2 text
皆さん
Slide 3
Slide 3 text
こんにちは!
Slide 4
Slide 4 text
勉強会は好きですか?
Slide 5
Slide 5 text
私は好きです
Slide 6
Slide 6 text
勉強会って楽しい
Slide 7
Slide 7 text
DevLOVEに出会ってから
Slide 8
Slide 8 text
多くの人と知り合いました
Slide 9
Slide 9 text
多くのコミュニティと 出会いました
Slide 10
Slide 10 text
すごい人をたくさん見て
Slide 11
Slide 11 text
私もそうなりたいと思って
Slide 12
Slide 12 text
こうして私は
Slide 13
Slide 13 text
スーパー ハカーに 憧れるように なったのだ
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
今日は
Slide 16
Slide 16 text
コードを書いて
Slide 17
Slide 17 text
アプリを作って
Slide 18
Slide 18 text
公開して
Slide 19
Slide 19 text
フィードバックをもらった
Slide 20
Slide 20 text
話をします
Slide 21
Slide 21 text
コード書く フィードバック もらう 公開する
Slide 22
Slide 22 text
コード書く フィードバック もらう 公開する
Slide 23
Slide 23 text
これ何かに似てない?
Slide 24
Slide 24 text
コード書く フィードバック もらう 公開する
Slide 25
Slide 25 text
黄金の回転
Slide 26
Slide 26 text
ゴゴゴゴゴゴゴゴゴゴゴ
Slide 27
Slide 27 text
黄金の回転を回すために
Slide 28
Slide 28 text
コードを書こう 公開しよう
Slide 29
Slide 29 text
という話をします
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
話を戻して
Slide 32
Slide 32 text
スーパー ハカーに 憧れるように なったのだ
Slide 33
Slide 33 text
でも何をすればいい?
Slide 34
Slide 34 text
昔偉い人は言った
Slide 35
Slide 35 text
考えるな、コードを書け
Slide 36
Slide 36 text
ということで
Slide 37
Slide 37 text
コードを書いて
Slide 38
Slide 38 text
アプリを作ってみた
Slide 39
Slide 39 text
アプリの目的
Slide 40
Slide 40 text
目的: 大量の技術書を管理したい 厚さ 25cm これが6つ
Slide 41
Slide 41 text
概要: 技術書、電子書籍を 管理するアプリ
Slide 42
Slide 42 text
要求: 大量の技術書 ・管理したい ・検索したい
Slide 43
Slide 43 text
だからアプリを作ってやる!
Slide 44
Slide 44 text
でもどうやって作れば いいんだ?
Slide 45
Slide 45 text
技術って何があるんだ?
Slide 46
Slide 46 text
まずは
Slide 47
Slide 47 text
何があるのかを 調べることから始めた
Slide 48
Slide 48 text
でも何も分からなかったので
Slide 49
Slide 49 text
・コミュニティ ・勉強会 ・書籍 で勉強した
Slide 50
Slide 50 text
さっくり作りたい →Rails サーバはクラウドで →Heroku+RDS 見た目もオサレに →jQuery Mobile
Slide 51
Slide 51 text
そして
Slide 52
Slide 52 text
3ヶ月後
Slide 53
Slide 53 text
オサレなアプリが完成
Slide 54
Slide 54 text
見た目もオサレに
Slide 55
Slide 55 text
スマフォから本棚を検索
Slide 56
Slide 56 text
大事な事はすべて勉強会が 教えてくれた(ドヤッ)
Slide 57
Slide 57 text
No content
Slide 58
Slide 58 text
作ったものを人に 見てもらおう
Slide 59
Slide 59 text
以下感想
Slide 60
Slide 60 text
感想1 ・見た目がかっこいい ・データを画面から 登録したい ・Amazon API使えばいい
Slide 61
Slide 61 text
感想2 ・コード汚い ・テスト書け
Slide 62
Slide 62 text
感想3 コードが ・これはひどい ・Railsじゃない
Slide 63
Slide 63 text
感想4 テストが ・これはひどい(2回目) ・RSpec本読め ・GOOS本読め
Slide 64
Slide 64 text
上げて落とされた
Slide 65
Slide 65 text
要約すると
Slide 66
Slide 66 text
他人に見せたら
Slide 67
Slide 67 text
他人に見せたら
Slide 68
Slide 68 text
フルボッコ
Slide 69
Slide 69 text
正直心が折れた
Slide 70
Slide 70 text
No content
Slide 71
Slide 71 text
とりあえず
Slide 72
Slide 72 text
言われたことはやろう
Slide 73
Slide 73 text
RSpec本を読んだ
Slide 74
Slide 74 text
テスト書いた
Slide 75
Slide 75 text
あわせてリファクタリング
Slide 76
Slide 76 text
ControllerからModelへ ロジックの民族大移動
Slide 77
Slide 77 text
コードが腐海状態→浄化
Slide 78
Slide 78 text
要望された機能も追加
Slide 79
Slide 79 text
書籍データをAmazonAPIにより 画面から追加可能に
Slide 80
Slide 80 text
そうしたら
Slide 81
Slide 81 text
コードが成長
Slide 82
Slide 82 text
Before After
Slide 83
Slide 83 text
Before After
Slide 84
Slide 84 text
ということで
Slide 85
Slide 85 text
もう一度見せてみた
Slide 86
Slide 86 text
そしたら
Slide 87
Slide 87 text
感想 ・テストが全然足りない ・命名センスが 致命的にない
Slide 88
Slide 88 text
さらにフルボッコ
Slide 89
Slide 89 text
ひどい目にあった
Slide 90
Slide 90 text
No content
Slide 91
Slide 91 text
でも
Slide 92
Slide 92 text
いいこともあった
Slide 93
Slide 93 text
アプリを作って
Slide 94
Slide 94 text
・コードを毎日書く習慣 ・ツールの知識 (git,jenkins,Rspec,etc) を手に入れた
Slide 95
Slide 95 text
仕様、技術選定、実装 全部自分でやる→楽しい
Slide 96
Slide 96 text
コードを公開して ・レベルが上がった ・視野が広がった ・知識がついた
Slide 97
Slide 97 text
成長
Slide 98
Slide 98 text
具体的にどう成長したか
Slide 99
Slide 99 text
電子書籍の登録機能 ・Java ・レガシーコード ・クソ設計 →正直見返したくない
Slide 100
Slide 100 text
・一番最初に書いたコード ・黒歴史 ・例外握りつぶす ・Eclipse開くとSAN値が減る ・黒歴史
Slide 101
Slide 101 text
想像して欲しい
Slide 102
Slide 102 text
SAN値が下がるほどの クソコード
Slide 103
Slide 103 text
リファクタリングしたくない
Slide 104
Slide 104 text
だから
Slide 105
Slide 105 text
Rubyで作りなおした
Slide 106
Slide 106 text
電子書籍の登録機能(新) ・Ruby ・テストコード付き ・設計頑張った →バグも減った
Slide 107
Slide 107 text
Before After 4ヶ月 2週間 成長の結果 →開発速度が9倍 →コードの質が向上
Slide 108
Slide 108 text
No content
Slide 109
Slide 109 text
なぜわざわざ コードを書くのか
Slide 110
Slide 110 text
・好奇心に突き動かされて ・コードが書きたかった ・作りたいものがあった ・ついカッとなって
Slide 111
Slide 111 text
・本を読む ・勉強会で話を聞く →それだけでは 分からないこともある
Slide 112
Slide 112 text
実践が伴わないと 深い話ができない
Slide 113
Slide 113 text
だから実践をしよう
Slide 114
Slide 114 text
実践したら公開して フィードバックをもらおう
Slide 115
Slide 115 text
No content
Slide 116
Slide 116 text
フィードバック=ツッコミ
Slide 117
Slide 117 text
ツッコミを受けよう
Slide 118
Slide 118 text
ツッコミは 自分ができない事を 知るベストプラクティス
Slide 119
Slide 119 text
ツッコミする人は 解決策も知っている事が多い
Slide 120
Slide 120 text
No content
Slide 121
Slide 121 text
「でもツッコミって痛くね?」 「心が折れたりしない?」
Slide 122
Slide 122 text
うん、痛いよ うん、心折れるよ
Slide 123
Slide 123 text
でもそれ以上に成長したい
Slide 124
Slide 124 text
むかし偉い人が言っていた
Slide 125
Slide 125 text
エンジニアは マサカリを 受けると 戦闘力が上がる
Slide 126
Slide 126 text
参考画像
Slide 127
Slide 127 text
だからもっと マサカリを受けるべき
Slide 128
Slide 128 text
No content
Slide 129
Slide 129 text
コード公開のコツ
Slide 130
Slide 130 text
・Githubにおくだけでは 見てもらえない ・自分で人に見せよう ・見る人を選べる ・ツッコミしてほしいところに ツッコミがもらえる
Slide 131
Slide 131 text
No content
Slide 132
Slide 132 text
ツッコミしてくれる人を どこで見つければ いいんですか?
Slide 133
Slide 133 text
コミュニティ
Slide 134
Slide 134 text
・インプットの場 ・ツッコミをくれる人が いる場所 コミュニティ
Slide 135
Slide 135 text
ツッコミをもらったら その点を直そう
Slide 136
Slide 136 text
もっと良いコードを書こう
Slide 137
Slide 137 text
書いたら公開して またツッコミをもらおう
Slide 138
Slide 138 text
コード書く フィードバック もらう 公開する
Slide 139
Slide 139 text
でもさ
Slide 140
Slide 140 text
もらってばかりでも よくないよね
Slide 141
Slide 141 text
恩送りをしよう
Slide 142
Slide 142 text
・自分がアウトプット ・他人にツッコミ 恩送り
Slide 143
Slide 143 text
No content
Slide 144
Slide 144 text
ご清聴ありがとうございました
Slide 145
Slide 145 text
書いた人 瀬宮 新 @shin_semiya 職業:SIer ハイパーレガシーコードクリエイター 好きな言語:Ruby
Slide 146
Slide 146 text
No content
Slide 147
Slide 147 text
追記
Slide 148
Slide 148 text
心が弱い人がマサカリを 受けるための教訓
Slide 149
Slide 149 text
ベジータに学ぶ マサカリの受け方
Slide 150
Slide 150 text
エンジニアは マサカリを 受けると 戦闘力が上がる
Slide 151
Slide 151 text
参考画像
Slide 152
Slide 152 text
この時の原作の状況を 整理しよう
Slide 153
Slide 153 text
背景:フリーザがやばい 目的:ベジータは パワーアップしたい 手段:ベジータはクリリンに 半殺しにしてもらい デンデに回復するよう 依頼した
Slide 154
Slide 154 text
考えてみよう
Slide 155
Slide 155 text
ベジータはフリーザに半殺しに するよう依頼していない。 フリーザは手加減せずに 殺しちゃうから
Slide 156
Slide 156 text
教訓1: 手加減のできない人から マサカリを受けるべきではない (少なくとも最初のうちは)
Slide 157
Slide 157 text
ベジータは信頼のできる、 親切なクリリンに依頼した しかも事前に回復役のデンデを 確保した状態で依頼した。
Slide 158
Slide 158 text
教訓2: 手加減のできる、親切で詳しい 人にマサカリを依頼すべき 教訓3: ダメージは残るので、回復役は 用意しておくべき
Slide 159
Slide 159 text
マサカリを投げてくれるよう 依頼する人はコミュニティの 詳しい人(かつ親しい人)に するべき。
Slide 160
Slide 160 text
どうしようもないクソコード だと自覚している場合は githubに別アカを作って それをマサカリ依頼する 人にだけ教えるべき。
Slide 161
Slide 161 text
なんでもかんでも フルオープン にすればいいって わけではない
Slide 162
Slide 162 text
さぁみんなも
Slide 163
Slide 163 text
レッツマサカリ依頼
Slide 164
Slide 164 text
追記 終わり