底から見上げるデブ(Dev) 〜俺と執事と自動化と〜

  • View
    907

  • Download
    1

  • Category

    Sports

Preview:

DESCRIPTION

Developpers Summit 2013 Kansai Action! (デブサミ関西) (2013/09/20) にて発表した資料です。 公式サイト : https://event.shoeisha.jp/devsumi/20130920/ Special Thanks @haljik

Citation preview

デブサミ2013関西 ランチセッション1–

底から見上げるデヴ(底から見上げるデヴ(DevDev))

三三浦浦一仁一仁

@kazuhito_m@kazuhito_m

Ver1.0Ver1.0

2

自己紹介

三浦 一仁(ミウラ カズヒト)

● @kazuhito_m

● 35歳児、独身

● 慢性中二病患者

● 「おもろい&便利」至上主義者

● 自動化厨(Jenkins大好き!)

● 得意技:手段の目的化

● 弱点:手段の目的化

● 苦手:英語と算数

● ハーモニカが好き

● 株式会社ヨドック 所属

● 興味あるもの– 無入力ライフログ

– 組込以上,PC未満ガジェット● 例:ラズパイ等

– 「自動的に~」な便利な仕組

– 歌(PG)って踊(インフラ)れるエンジニア

– “軸”はLinuxとRuby(最近サボリぎみ)

3

自己紹介

三浦 一仁(ミウラ カズヒト)

● @kazuhito_m

● 35歳児、独身

● 慢性中二病患者

● 「おもろい&便利」至上主義者

● 自動化厨(Jenkins大好き!)

● 得意技:手段の目的化

● 弱点:手段の目的化

● 苦手:英語と算数

● ハーモニカが好き

● 株式会社ヨドック 所属

● 興味あるもの– 無入力ライフログ

– 組込以上,PC未満ガジェット● 例:ラズパイ等

– 「自動的に~」な便利な仕組

– 歌(PG)って踊(インフラ)れるエンジニア

– “軸”はLinuxとRuby(最近サボリぎみ)

“みうみう”でおk

4

端的に言えば…

●36歳、プログラマーです。

5

もうちょい…

● 中小企業に勤めています。● 「客先常駐」です。俗に言う…

●IT土○●Java○足とか言われる存在です。

※事実であり、自虐や「特定の人々」をdisるものではありません。

6

エエ歳こいてもいるので…

絶望的…

小さくイビツな

レーダチャート

貯まる…

クッキー…深刻な、

スキル不足…

行きたいところへ行きたいところへ行けない…行けない…

閉塞感!!

迫るデブサミ!

ネタに走る資料!

悶々とした日々を…

過ごしております…

7

そんなある日…

突然のTwitterDM

が!

8

いやもう、ほんっと寝耳にミミズで…今日は一点お願いがございましてご連絡させて頂きました。

9/20(金)にデブサミ関西が開催されるのですが、その席で20分のランチセッションという枠があうのですが、三浦さんにぜひ登壇頂けないかなと思い、ご連絡した次第です。

デブサミ関西のことはご存知かと思いますので飛ばしますが、デブサミ関西のテーマにAction!、行動をおこす!みたいなのがあるのですが、実は裏テーマとして一緒に行動を起こす為の仲間探しというものがあります。

通常のセッションは表テーマであるActionを促す為に、東京から人を招いたり等する訳ですが、それに対し主に昼時間など人が交流しやすいときに裏テーマが叶うようにも場作りを進めていまして、ランチセッションはその中の施策の一つです。

通常セッションがその道の第一人者にお話頂けるのでとてもいい経験になる訳ですが、その実、雲の上的なイメージもあるのではないかと思っていまして、それに対してランチセッションは「現場感」のあるお話をすることで、オレも何かやんなきゃと聴講者を考えさせたいなと思っています。

それで以前デブラブで発表されていた「仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」」が面白い!と感じまして、三浦さんにオファーさせて頂きました。

運営運営YYさんさん運営運営YYさんさん

曰曰く…く…曰曰く…く…

9

中二病拗らすミウラはこう思い込む…今日は一点お願いがございましてご連絡させて頂きました。

9/20(金)にデブサミ関西が開催されるのですが、その席で20分のランチセッションという枠があうのですが、三浦さんにぜひ登壇頂けないかなと思い、ご連絡した次第です。

デブサミ関西のことはご存知かと思いますので飛ばしますが、デブサミ関西のテーマにAction!、行動をおこす!みたいなのがあるのですが、実は裏テーマとして一緒に行動を起こす為の仲間探しというものがあります。

通常のセッションは表テーマであるActionを促す為に、東京から人を招いたり等する訳ですが、それに対し主に昼時間など人が交流しやすいときに裏テーマが叶うようにも場作りを進めていまして、ランチセッションはその中の施策の一つです。

通常セッションがその道の第一人者にお話頂けるのでとてもいい経験になる訳ですが、その実、雲の上的なイメージもあるのではないかと思っていまして、それに対してランチセッションは「現場感」のあるお話をすることで、オレも何かやんなきゃと聴講者を考えさせたいなと思っています。

それで以前デブラブで発表されていた「仁斤曰く 「”手間業”蔓延り易く、 “楽”成り難し」」が面白い!と感じまして、三浦さんにオファーさせて頂きました。

運営運営YYさんさん運営運営YYさんさん

曰曰く…く…曰曰く…く…

底辺代表ってことで

オナシャス!

10

“底辺王”に!おれはなるっ!

※※ダメですダメです

デブサミ史上デブサミ史上「最悪の無責任セッション」目指し…「最悪の無責任セッション」目指し…

11

茶番はさておき

てことで…

12

じゃあ、何しにきたのよ?

本日は

「現場の一プログラマー」から見た

「こうありたいな」「こうなれば楽しい♪」を主張しに来ました!

13

おそらく「ぽかーん」だと思うので…

● ここで質問タイムです(ただし質問は登壇者から出る)–プログラマーな方–設計者な方–リーダー、PM、役付き、営業、その他スーツ勢の方

14

自己紹介、続き…(まだやるんかい)

自分を一言で表わすと…

「快楽主義者」

になります。

15

ようするに…

自分を一言で表わすと…

「快楽主義者」

になります。

好きなことだけしていたい超絶自己中のワガママさん

16

Natural Born ゆとり?

17

じゃあさ…

「好きなこと」「快楽」って言ってるけど、それはなに?

「これ…よう出来てんなー」というモノに触れること・出会うこと!

18

例えば…

ピタゴラ装置ピタゴラ装置 小説等の小説等の

練られた伏線練られた伏線

エレベータ等のエレベータ等の回生モーター回生モーター

19

ほしたら逆に…

「快楽じゃないこと」って?

● 「よう出来てないモノ」のお守

20

資料画像

21

ほしたら逆に…

「快楽じゃないこと」って?

● 「よう出来てないモノ」のお守● 「お刺身タンポパー」仕事とかく「面倒臭い」が大嫌い!

22

だからこそ…

「快楽じゃないこと」って?

● 「よう出来てないモノ」のお守● 「お刺身タンポパー」仕事とかく「面倒臭い」が大嫌い!

「IT業」

「自動化」

に辿り着く…のは必然

23

では快楽主義者が「快楽を貪れる世の中」

になっているのか?

24

では快楽主義者が「快楽を貪れる世の中」

になっているのか?否

25

快楽主義者の妄想

「これが普通だろ?」の世界(願望)

● 仕事は「極限まで自動化・最速化が効いていて『人間様しかできません…お願い!』なとこだけする」ものである

26

現実はクソゲー

ところが現実は…

● 仕事は「"物体”を多く使い、動かし、手作業の繰返しが多い」ものである

27

さらに!

● さらに「作業のための作業」に脅かされている?– 「何故するのか」を誰も答えられない作業

● 例:– 電子から紙に出力→ハンコ等→電子に書戻– A資料の和名→B資料の英名→C資料の和名

28

てなことを…

大いに愚痴る!

なんでこんなんせなあかんねん!

基本自動化じゃろがい!

そこなんでそんなめんどい…そこなんで

そんなめんどい…なんでや!阪神関係ないやろ!

29

大阪勉強会界隈は魔窟やで!

大いに愚痴る!

なんでこんなんせなあかんねん!

基本自動化じゃろがい!

そこなんでそんなめんどい…そこなんで

そんなめんどい…なんでや!阪神関係ないやろ!

You来ちゃいなYO!

30

こういうとこで話してみました● DevLOVE関西 Presents

今日から始める自動化~自動化入門講座~

申込サイト● http://devlove-kansai.doorkeeper.jp/events/4500

資料● http://www.slideshare.net/miurakazuhito/automate-24393158

31

こういうとこで話してみました● DevLOVE関西 Presents

今日から始める自動化~自動化入門講座~

申込サイト● http://devlove-kansai.doorkeeper.jp/events/4500

資料● http://www.slideshare.net/miurakazuhito/automate-24393158

そんとき言えなかった

「本当に伝えたかったこと」

32

今日の本題

33

このコピー考えたのは流行る前だから…

発想に

「自由の翼」を広げよう!

34

抽象的すぎる!もっと具体的に!!

「目の前の仕事」「立場」「慣習」等の

”バイアス”をかけずに

「自分のできる工夫」をしませんか? しましょうよ!

35

せやかて工藤…

●想定される反応①

–オレはそんな立場ちゃうし…

–そんなことを考えだすと、工夫する道具とか、周りに展開せなあかんとか、ややこしいし…

36

今時ソレて…

●想定される反応①

–オレはそんな立場ちゃうし…

–そんなことを考えだすと、工夫する道具とか、周りに展開せなあかんとか、ややこしいし…

イインデス!

37

自分をとりまくものは…

自分

プロジェ

クト

会社

チ ム

38

「誰のため」にやる?

自分

プロジェ

クト

会社

チ ム

ここまでか…

39

「誰のため」にやる?

自分

プロジェ

クト

会社

チ ム

なんぼいってもここくらい?

40

「誰のため」にやる?

自分

プロジェ

クト

会社

チ ム

なんぼいってもここくらい?

「パーソナル」に

「利己的」に

まずは「自分を救う工夫」

をしていきましょう!

41

しかしまわりこまれてしまった!

●想定される反応②

–勝手なことやったあかんし…

–工数管理厳しくて…余計なことする時間なんかないですよ

42

コレまたアカンヤツを…

●想定される反応②

–勝手なことやったあかんし…

–工数管理厳しくて…余計なことする時間なんかないですよ

大丈夫だ、問題ない

43

多少強引かもしれないですが…● 「面倒くさい系」だったり、「快楽を阻むモノ」な作業ある–→無駄アリ!改善する「工夫箇所」がある…はず

● 「そういうのを放置してる」けど「工数に厳しい」–→結果数値しか興味無い

44

見積りだけは要りますが…● 利が出ていれば良いのですよ♪

工夫or道具作成時間

1度目実行自

分で手作業

45

見積りだけは要りますが…● 利が出ていれば良いのですよ♪

工夫or道具作成時間

1度目実行自

分で手作業

「工夫による効果」が

「工夫しない被害」

を超えてたらOK!「工夫の楽しさ」と

「ノウハウ」残る分儲け♪

46

「工夫」に定形は無いけれど…

具体例を…

ミウラカズヒトの場合

資料● http://www.slideshare.net/miurakazuhito/automate-24393158

より抜粋

47

やったこと

●やったこと例1

–勤怠転記機

48

最初、きつくてね…

● 勤怠を15分単位で三つの管理表につけなさい

月別実績日ごと

WBS日ごと

15分ごと

詳細実績

● 時間が無い–→時間を細かくつけて、管理するんだ!

49

最初、きつくてね…

● 勤怠を15分単位で三つの管理表につけなさい

月別実績日ごと

WBS日ごと

15分ごと

詳細実績

● 時間が無い–→時間を細かくつけて、管理するんだ!

あーもう!

イーてなる!

50

そこで

● 一番小さい「詳細実績」さえつければ、半自動で集計できるように

● 最終的に「WBS”自身が”二週に一回自動的に集計表を送ってくる」までやったったw ※Open時駆動

51

やったこと

● やったこと例2

–AOPを使ったキャッシュ機構

52

開発も後半に差し掛かり…

● 「性能対応チーム」に配属され…“バッチの性能問題”と戦う–機能モジュール

● 「性能対応チーム」(自身)で対策–共通モジュール

● 「共通チーム」に打診して高速化してもらう

● “個々対応”が遅く、順番待ち– 「手間」かつ「非効率」

53

そこで

● 「一律」に「簡単」に高速化機構を入れる方法はないか…–上流設計者でも手軽に出来るくらい

● AOP/DIに注目– ProjextX では最初からほぼすべてのオブジェクトに仕込済み

54

主な機能と全体像

AopParamCacher

キャッシュ

機能M

aopParamCacher.xml

共通M

共通M

共通M共通M呼出

戻り値をキャッシュ化するBeanを、AopParamCacher.javaへ指示

AopParamCacher.java「クラス名-メソッド名-引数」

の組み合わせで、共通Mの戻り値を、内部キャッシュに貯める.

共通Mメソッドを呼び出しを横取り!

「クラス名-メソッド名-引数」の組み合わせで、キャッシュ内を検索.

過去に戻り値を記憶していた場合は、それを返す.

55

主な機能と全体像

AopParamCacher

キャッシュ

機能M

aopParamCacher.xml

共通M

共通M

共通M共通M呼出

戻り値をキャッシュ化するBeanを、AopParamCacher.javaへ指示

AopParamCacher.java「クラス名-メソッド名-引数」

の組み合わせで、共通Mの戻り値を、内部キャッシュに貯める.

共通Mメソッドを呼び出しを横取り!

「クラス名-メソッド名-引数」の組み合わせで、キャッシュ内を検索.

過去に戻り値を記憶していた場合は、それを返す.

AOPを使ったキャッシュ機構

ファイルを一つ加え、「対象のクラス名」を書けば、

メモリキャッシュが効く仕組み

やったこと

● やったこと例3

–JavaProjectの自動夜間テスト&増殖追随環境(Jenkins)

タイトルなげーわ…

● ProjectXでは「自動テスト」標準装備

– だが回して無い● 夜間テストして結果を録りたい

– そんな環境無い● Jenkinsを使おう!● JavaProjectが日々増えていくのだけど…

– Jenkinsのジョブは1JavaProject:1ジョブ– 増えて行くたび、手動で登録?

● ソース管理に追加されたら、Jenkins側も自動的に追随する機構を作ろう!

続きはWebで● と、言うモノを以前「第4回 大阪Jenkins勉強会」で発表しました

– まとめサイト● https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=6566

9255

– 資料● http://www.slideshare.net/miurakazuhito/fat-jenkins

59

いかがでしょうか?

● 1例目– 完全に「自分のため」オンリー

● 2例目– 自分用の「楽」(メンドイ殺し)が、全体的な「楽」(工数削減)に

自分の「快楽」のための”Action”が周りを楽に好影響を及ぼした例

60

※効き目には個人差があります。

● 1例目– 完全に「自分のため」オンリー

● 2例目– 自分用の「楽」(メンドイ殺し)が、全体的な「楽」(工数削減)に

自分の「快楽」のための”Action”が周りを楽に好影響を及ぼした例

あれ?誰も損してない?!

これ…美味しくいただけるんじゃね♪

61

忘れた頃に…

●想定される反応③

–わかりました。が、それが「上手く行った」ってどうやって解んの?

–「合格完了基準」みたいなのあるんすか?

62

もう、支離滅裂です…

●想定される反応③

–わかりました。が、それが「上手く行った」ってどうやって解んの?

–「合格完了基準」みたいなのあるんすか?

よっしゃ解った!

今、作ろ!

63

まさかの身振り手振り

●まず、肘から行きます…

64

おわかりいただけただろうか…

「”肘ツン”からの

『なっ?』経由

満面ドヤ顔」成功基準

65

ド茶番ですみませんm(_ _)m

これが出来れば

「自分の中で」

成功と

しちゃいましょう!

やったこと

● 今からやる例

–執事のおっさん同士の糸電話大作戦

67

自動化とかテストとかビルドとか「便利やなー♪」と戦うためには…

Jenkinsさんは非常に重要です!

俺も大好き♪

68

ただ、結果を教えてくれるのはメール程度で弱いので

いろんな手段で強化するのが定石です

いうても、無理がある

69

でも、大体の執事さんは

声を出せないところにいます

普通はそうですよね

クラウドサーバ室に鍵付きで

70

遠近の二人の執事さんを…

「伝言ゲーム」したったら?

だから、原始的ですがw

近所の喋れる執事さん 遠く仕事してる執事さん

71

遠近の二人の執事さんを…

「伝言ゲーム」したったら?

だから、原始的ですがw

近所の喋れる執事さん 遠く仕事してる執事さん

これこれこの「ドヤ顔」

ですよ!

72

お願いしてばっかりですが

皆様は、上からか下からか

日々「開発の場」というものと

対峙していると思います。

そこで「コレじゃヤダ!」

なものに対して自分のできる工夫を…

「自分の好きなこと」

を織り交ぜてヤってやりましょう!

そして「ドヤ顔」キメてやりましょう♪

で、次に会う際には

「こんなドヤ顔してやったぜ!」

っていう”満面のドヤ顔”を、

オレに叩きつけてください。

ソイツがオレの…

74

ご清聴ありがとうございました。

底から見上げるデヴ(底から見上げるデヴ(DevDev))

75

おまけ

76

これの延長線上で…

「自分のしたい楽しいことを」

+どうせなら「何かに役立ちたい」

= ?

77

なんかテンション上がっちゃって…

WebラジオのAD…というのを始めてしまいました。

http://www.agileradio.info

78

いつのまにやら知らぬ間に…

自分

プロジェ

クト

会社

チ ム

自分

気がつきゃ“外”に居てました…

79

いつのまにやら知らぬ間に…

自分

プロジェ

クト

会社

チ ム

自分

気がつきゃ“外”に居てました…

この考え方は、

「行動範囲を

広げてくれるモノ」

かもしれません…

80

その話も聞ける!…かも?

聞いてくださいね♪

http://www.agileradio.info

81

今度こそ、最後です♪

ご清聴

ありがとう 

ございました。

82

ボツ稿&

その場稿

開発現場における責任と貢献

開発者たるもの…

● たとえ「現場の一プログラマー」でも

–何を貢献できるかを考え

– プロとしての自覚を持ち

–品行方正、常に正しくあろうと心がけ

–奉仕の精神で

● 事に当たっていくのを至上として…

85

…とか言うと思った?

残念!

ミウラさん

でした〜