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
DevLOVE2012
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
semiyashin
December 15, 2012
Technology
1.6k
7
Share
DevLOVE2012
this slide is presented on DevLOVE2012's Hanger Flight session(public appeal)
semiyashin
December 15, 2012
More Decks by semiyashin
See All by semiyashin
Backlog Talk part1
semiyashin
0
110
Backlog Talk part2
semiyashin
0
150
sales_strategy
semiyashin
0
150
dancing_dev
semiyashin
0
96
develop_process
semiyashin
0
130
start_producer
semiyashin
0
240
eds_strategy
semiyashin
0
200
shibuyarb20130515
semiyashin
1
250
TokyoRUbyKaigi_10
semiyashin
0
280
Other Decks in Technology
See All in Technology
20260515 ログイン機能だけではないアカウント管理を全体で考える~サービス設計者向け~
oidfj
0
400
ServiceによるKubernetes通信制御ーClusterIPを例に
miku01
1
170
Claude Code / Codex / Kiro に AWS 権限を 渡すとき、何を設計すべきか
k_adachi_01
5
1.4k
AI-Assisted Contributions and Maintainer Load - PyCon US 2026
pauloxnet
1
140
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
230
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
3.1k
写真で見るAWS Summit Singapore 2026
k_adachi_01
0
110
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
230
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
5
1.4k
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
4.1k
可視化から活用へ — Mesh化・Segmentation・アライメントの研究動向
gpuunite_official
0
200
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
200
Featured
See All Featured
Everyday Curiosity
cassininazir
0
200
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
220
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
Information Architects: The Missing Link in Design Systems
soysaucechin
0
920
Automating Front-end Workflow
addyosmani
1370
200k
A designer walks into a library…
pauljervisheath
211
24k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
Statistics for Hackers
jakevdp
799
230k
Un-Boring Meetings
codingconduct
0
290
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
360
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Transcript
スーパーハカーに なりたかったITドカタと コミュニティ そしてマサカリ DevLove Conf 2012 12/15
皆さん
こんにちは!
勉強会は好きですか?
私は好きです
勉強会って楽しい
DevLOVEに出会ってから
多くの人と知り合いました
多くのコミュニティと 出会いました
すごい人をたくさん見て
私もそうなりたいと思って
こうして私は
スーパー ハカーに 憧れるように なったのだ
None
今日は
コードを書いて
アプリを作って
公開して
フィードバックをもらった
話をします
コード書く フィードバック もらう 公開する
コード書く フィードバック もらう 公開する
これ何かに似てない?
コード書く フィードバック もらう 公開する
黄金の回転
ゴゴゴゴゴゴゴゴゴゴゴ
黄金の回転を回すために
コードを書こう 公開しよう
という話をします
None
話を戻して
スーパー ハカーに 憧れるように なったのだ
でも何をすればいい?
昔偉い人は言った
考えるな、コードを書け
ということで
コードを書いて
アプリを作ってみた
アプリの目的
目的: 大量の技術書を管理したい 厚さ 25cm これが6つ
概要: 技術書、電子書籍を 管理するアプリ
要求: 大量の技術書 ・管理したい ・検索したい
だからアプリを作ってやる!
でもどうやって作れば いいんだ?
技術って何があるんだ?
まずは
何があるのかを 調べることから始めた
でも何も分からなかったので
・コミュニティ ・勉強会 ・書籍 で勉強した
さっくり作りたい →Rails サーバはクラウドで →Heroku+RDS 見た目もオサレに →jQuery Mobile
そして
3ヶ月後
オサレなアプリが完成
見た目もオサレに
スマフォから本棚を検索
大事な事はすべて勉強会が 教えてくれた(ドヤッ)
None
作ったものを人に 見てもらおう
以下感想
感想1 ・見た目がかっこいい ・データを画面から 登録したい ・Amazon API使えばいい
感想2 ・コード汚い ・テスト書け
感想3 コードが ・これはひどい ・Railsじゃない
感想4 テストが ・これはひどい(2回目) ・RSpec本読め ・GOOS本読め
上げて落とされた
要約すると
他人に見せたら
他人に見せたら
フルボッコ
正直心が折れた
None
とりあえず
言われたことはやろう
RSpec本を読んだ
テスト書いた
あわせてリファクタリング
ControllerからModelへ ロジックの民族大移動
コードが腐海状態→浄化
要望された機能も追加
書籍データをAmazonAPIにより 画面から追加可能に
そうしたら
コードが成長
Before After
Before After
ということで
もう一度見せてみた
そしたら
感想 ・テストが全然足りない ・命名センスが 致命的にない
さらにフルボッコ
ひどい目にあった
None
でも
いいこともあった
アプリを作って
・コードを毎日書く習慣 ・ツールの知識 (git,jenkins,Rspec,etc) を手に入れた
仕様、技術選定、実装 全部自分でやる→楽しい
コードを公開して ・レベルが上がった ・視野が広がった ・知識がついた
成長
具体的にどう成長したか
電子書籍の登録機能 ・Java ・レガシーコード ・クソ設計 →正直見返したくない
・一番最初に書いたコード ・黒歴史 ・例外握りつぶす ・Eclipse開くとSAN値が減る ・黒歴史
想像して欲しい
SAN値が下がるほどの クソコード
リファクタリングしたくない
だから
Rubyで作りなおした
電子書籍の登録機能(新) ・Ruby ・テストコード付き ・設計頑張った →バグも減った
Before After 4ヶ月 2週間 成長の結果 →開発速度が9倍 →コードの質が向上
None
なぜわざわざ コードを書くのか
・好奇心に突き動かされて ・コードが書きたかった ・作りたいものがあった ・ついカッとなって
・本を読む ・勉強会で話を聞く →それだけでは 分からないこともある
実践が伴わないと 深い話ができない
だから実践をしよう
実践したら公開して フィードバックをもらおう
None
フィードバック=ツッコミ
ツッコミを受けよう
ツッコミは 自分ができない事を 知るベストプラクティス
ツッコミする人は 解決策も知っている事が多い
None
「でもツッコミって痛くね?」 「心が折れたりしない?」
うん、痛いよ うん、心折れるよ
でもそれ以上に成長したい
むかし偉い人が言っていた
エンジニアは マサカリを 受けると 戦闘力が上がる
参考画像
だからもっと マサカリを受けるべき
None
コード公開のコツ
・Githubにおくだけでは 見てもらえない ・自分で人に見せよう ・見る人を選べる ・ツッコミしてほしいところに ツッコミがもらえる
None
ツッコミしてくれる人を どこで見つければ いいんですか?
コミュニティ
・インプットの場 ・ツッコミをくれる人が いる場所 コミュニティ
ツッコミをもらったら その点を直そう
もっと良いコードを書こう
書いたら公開して またツッコミをもらおう
コード書く フィードバック もらう 公開する
でもさ
もらってばかりでも よくないよね
恩送りをしよう
・自分がアウトプット ・他人にツッコミ 恩送り
None
ご清聴ありがとうございました
書いた人 瀬宮 新 @shin_semiya 職業:SIer ハイパーレガシーコードクリエイター 好きな言語:Ruby
None
追記
心が弱い人がマサカリを 受けるための教訓
ベジータに学ぶ マサカリの受け方
エンジニアは マサカリを 受けると 戦闘力が上がる
参考画像
この時の原作の状況を 整理しよう
背景:フリーザがやばい 目的:ベジータは パワーアップしたい 手段:ベジータはクリリンに 半殺しにしてもらい デンデに回復するよう 依頼した
考えてみよう
ベジータはフリーザに半殺しに するよう依頼していない。 フリーザは手加減せずに 殺しちゃうから
教訓1: 手加減のできない人から マサカリを受けるべきではない (少なくとも最初のうちは)
ベジータは信頼のできる、 親切なクリリンに依頼した しかも事前に回復役のデンデを 確保した状態で依頼した。
教訓2: 手加減のできる、親切で詳しい 人にマサカリを依頼すべき 教訓3: ダメージは残るので、回復役は 用意しておくべき
マサカリを投げてくれるよう 依頼する人はコミュニティの 詳しい人(かつ親しい人)に するべき。
どうしようもないクソコード だと自覚している場合は githubに別アカを作って それをマサカリ依頼する 人にだけ教えるべき。
なんでもかんでも フルオープン にすればいいって わけではない
さぁみんなも
レッツマサカリ依頼
追記 終わり