Suche senden
Hochladen
Aizu.LT16 社会人1年目の失敗とContinuous Integration
•
0 gefällt mir
•
1,032 views
Tomoaki Tamura
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 52
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
Masahiro Nishimi
中の下のエンジニアを脱出するための目標設定
中の下のエンジニアを脱出するための目標設定
空宙 小笠原
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
WebStormでできること
WebStormでできること
kamiyam .
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
Shintaro Kurachi
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
Kiro Harada
Weitere ähnliche Inhalte
Was ist angesagt?
リブセンスのインフラで使ってるAnsibleのお話
リブセンスのインフラで使ってるAnsibleのお話
Shohei Koyama
20131209_buildinsidermeetup
20131209_buildinsidermeetup
kumake
2015-12-16 某S社、出直しDDDってるってよ
2015-12-16 某S社、出直しDDDってるってよ
kumake
株式会社インフィニットループ紹介資料
株式会社インフィニットループ紹介資料
infinite_loop
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Yahoo!デベロッパーネットワーク
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
2014 08-30 life with roslyn
2014 08-30 life with roslyn
shibuki
ひよこテスト駆動開発(PHPカンファレンス2014)
ひよこテスト駆動開発(PHPカンファレンス2014)
Oonishi Keitarou
JJUG Bizreach DBFlute 2014
JJUG Bizreach DBFlute 2014
Masahiko Kubo
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
増田 亨
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
Takuya Kawabe
新・ReVIEWパーサについて
新・ReVIEWパーサについて
masayoshi takahashi
大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術
Daisuke Tamada
DroidKaigi - Welcome talk
DroidKaigi - Welcome talk
Masahiro Hidaka
Rails on Dockerとの戦い
Rails on Dockerとの戦い
Yasutomo Uemori
テストを書くのが嫌いな君へ #m3dev
テストを書くのが嫌いな君へ #m3dev
Kazuhiro Sera
開発者による現実的な自動化テスト及びRubyのテストツールについて
開発者による現実的な自動化テスト及びRubyのテストツールについて
Takaaki Kasai
XP lives, XP dies, XP lives again !!
XP lives, XP dies, XP lives again !!
Masanori Kado
この中に1人、素人がいる!
この中に1人、素人がいる!
infinite_loop
RDRA DDD Agile
RDRA DDD Agile
増田 亨
Was ist angesagt?
(20)
リブセンスのインフラで使ってるAnsibleのお話
リブセンスのインフラで使ってるAnsibleのお話
20131209_buildinsidermeetup
20131209_buildinsidermeetup
2015-12-16 某S社、出直しDDDってるってよ
2015-12-16 某S社、出直しDDDってるってよ
株式会社インフィニットループ紹介資料
株式会社インフィニットループ紹介資料
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
2014 08-30 life with roslyn
2014 08-30 life with roslyn
ひよこテスト駆動開発(PHPカンファレンス2014)
ひよこテスト駆動開発(PHPカンファレンス2014)
JJUG Bizreach DBFlute 2014
JJUG Bizreach DBFlute 2014
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
新・ReVIEWパーサについて
新・ReVIEWパーサについて
大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術
DroidKaigi - Welcome talk
DroidKaigi - Welcome talk
Rails on Dockerとの戦い
Rails on Dockerとの戦い
テストを書くのが嫌いな君へ #m3dev
テストを書くのが嫌いな君へ #m3dev
開発者による現実的な自動化テスト及びRubyのテストツールについて
開発者による現実的な自動化テスト及びRubyのテストツールについて
XP lives, XP dies, XP lives again !!
XP lives, XP dies, XP lives again !!
この中に1人、素人がいる!
この中に1人、素人がいる!
RDRA DDD Agile
RDRA DDD Agile
Andere mochten auch
新入社員研修資料サンプル
新入社員研修資料サンプル
creiajp
スクー「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け)
スクー「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け)
ブレークスルーパートナーズ 赤羽雄二
3分で学べる!上司と部下のトラブルをなくすための叱り方・叱られ方マニュアル from 俺の薬局
3分で学べる!上司と部下のトラブルをなくすための叱り方・叱られ方マニュアル from 俺の薬局
mei_tachibana
3分で学べる!クレーム対応のコツ(クレーム対策マニュアル) from 俺の薬局
3分で学べる!クレーム対応のコツ(クレーム対策マニュアル) from 俺の薬局
mei_tachibana
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
pupupopo88
新人Git/Github研修公開用スライド(その1)
新人Git/Github研修公開用スライド(その1)
pupupopo88
「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け) 先生:赤羽 雄二
「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け) 先生:赤羽 雄二
schoowebcampus
【再放送】成果が上がる!新入社員の仕事術 先生:スクー生徒会
【再放送】成果が上がる!新入社員の仕事術 先生:スクー生徒会
schoowebcampus
0528 kanntigai ui_ux
0528 kanntigai ui_ux
Saori Matsui
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
Shoko Tanaka
Andere mochten auch
(10)
新入社員研修資料サンプル
新入社員研修資料サンプル
スクー「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け)
スクー「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け)
3分で学べる!上司と部下のトラブルをなくすための叱り方・叱られ方マニュアル from 俺の薬局
3分で学べる!上司と部下のトラブルをなくすための叱り方・叱られ方マニュアル from 俺の薬局
3分で学べる!クレーム対応のコツ(クレーム対策マニュアル) from 俺の薬局
3分で学べる!クレーム対応のコツ(クレーム対策マニュアル) from 俺の薬局
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新人Git/Github研修公開用スライド(その1)
新人Git/Github研修公開用スライド(その1)
「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け) 先生:赤羽 雄二
「ゼロ秒思考」のメモ書き実践による、仕事の質とスピードを早く上げる方法(新入社員向け) 先生:赤羽 雄二
【再放送】成果が上がる!新入社員の仕事術 先生:スクー生徒会
【再放送】成果が上がる!新入社員の仕事術 先生:スクー生徒会
0528 kanntigai ui_ux
0528 kanntigai ui_ux
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
Ähnlich wie Aizu.LT16 社会人1年目の失敗とContinuous Integration
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
Makoto Iguchi
センパイ!このプログラムクラッシュするんですけど。。。
センパイ!このプログラムクラッシュするんですけど。。。
yjono Seino
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
Ryohei Kamiya
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
kyon mm
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
俊仁 小林
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Koichi ITO
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フロー
ques_staff
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
Takafumi Ikeda
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Ryo Mitoma
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
Katsuhiro Miura
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
Maehana Tsuyoshi
tsudaりについて
tsudaりについて
Yoshikazu GOTO
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
Hiroyuki Ohnaka
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
Dai FUJIHARA
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
Rakuten Group, Inc.
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
Makoto SAKAI
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
Ähnlich wie Aizu.LT16 社会人1年目の失敗とContinuous Integration
(20)
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
センパイ!このプログラムクラッシュするんですけど。。。
センパイ!このプログラムクラッシュするんですけど。。。
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フロー
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
tsudaりについて
tsudaりについて
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
私とOSSの25年
私とOSSの25年
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
java-ja TDD 2nd
java-ja TDD 2nd
Kürzlich hochgeladen
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
ssuser370dd7
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
Shumpei Kishi
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
arts yokohama
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
Matsushita Laboratory
2024 04 minnanoito
2024 04 minnanoito
arts yokohama
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
Tetsuya Nihonmatsu
2024 03 CTEA
2024 03 CTEA
arts yokohama
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
ssuser539845
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
Sadao Tokuyama
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
arts yokohama
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
Ayachika Kitazaki
Kürzlich hochgeladen
(12)
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
2024 04 minnanoito
2024 04 minnanoito
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
2024 03 CTEA
2024 03 CTEA
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
Aizu.LT16 社会人1年目の失敗とContinuous Integration
1.
CI るーたん
2.
自己紹介 •
HN: 無線LANるーたん 嫁 • Twitter: luxion • 趣味 • ドール • カメラ • 音ゲー(引退) • 前回のスライドが社内で流通したおかげで有名に… (レイプ目
3.
自己紹介 •
見習いサーバサイドエンジニア(仮) • 言語: C++, Java, Perl, PHP, etc... • 主ターゲット: Apache 1.x, 2.x Module • サーバーのログ調査でHadoop回したり • 主にPerlで回す。Javaの方が速いけど書くのが 面倒いため • Q. PythonやRubyの方がよくね? A. Perl使いが多いんやウチ
4.
CIの話の前に
5.
社会人1年目が終わって
6.
失敗を振り返る
7.
失敗1
8.
失敗1 • 同じ案件担当してる同僚も復帰したので 「今週中には行けますよ」と言ったその
日、同僚と入れ違いに自分が交互にイン フル感染 • 結果、2回リスケを発生させた • 連鎖爆発
9.
インフル予防接種 受ければ防げた
10.
失敗2
11.
失敗2 • これまで、 開発環境再現→テスト再現→コードリーディン
グ→開発 ってやってきたのに、その場でテスト再現(単 体テストがないから)できないから後回しに • リーディング後、テスト仕様書通りにやって も動かないことが発覚 • 結果、作業が爆発炎上
12.
テスト再現は優先しろ できなければ 前任者に再現してもらえ
13.
失敗3
14.
失敗3 • 担当したストーリーの内容がやたら短く て、誰のためにやるのか、どこまでや
りゃいいのか、全く把握しないままやっ た • 結果、ライブラリ開発だったので凝り すぎた上、テストコードが盛りだくさ んでどうでもいい人月使った
15.
分かんないときは 聞くしかない 本当に必要かどうかも
16.
実は最初の二つは 最近の失敗
17.
慣れてきたかなと
思ったときが 危険なミスを犯しやすい
18.
2年目は…
19.
2年目は… • パフォーマンステストなどの運用経験値 •
コード <-> パフォーマンス • テストコード化の経験値 • OSの最新化(マイグレーション) • そろそろ社内だけじゃなくて社外勉強 を!→Aizu.Tokyo始動
20.
がんばります
21.
本編へ
22.
CI
23.
しーあい
24.
Continuous Integration
25.
継続的 インテグレーション
26.
それは
27.
黄金の回転の一部
28.
開発プロセスにおける 黄金の回転
29.
黄金の回転とは
テスト駆動開発 チケット駆動開発 継続的 インテグレーション
30.
回転が 回転をもたらす
31.
TiDDの回転 • 作業内容をBTSで管理する • 案件を分割したストーリー毎に管理チケットを
作成 • ストーリーからさらに分割して開発チケット、単 体テストチケットなど妨害チケットを作成する • これによって今何やる、誰が何やるかハッキリす ることによってチームとしての開発が促進される
32.
TDDの回転 • テストコード主体の開発方法 •
テストを書いてプロダクトコードを書く • 汚く動作しないコードから、 動作する汚いコードへ、 そして動作するキレイなコードへ昇華する回転 • 開発者は常にコードクライアントである • cf. [動画で解説]和田卓人の テスト駆動開発 講座
33.
CIの回転 • 自動ビルド • 自動テスト •
カバレッジテスト ここまで • インスペクション 全自動 • 成果物の保存 • 成果物のデプロイ
34.
CIのメリット • 複雑な手順を1コミットで行える • 開発サーバとビルドサーバを分離
• リソースの分散 • 開発者はビルドに注視しなくても良い • SCMと成果物の紐付け • 成果物のバージョニング
35.
CI環境 • Jenkins • Team
Foundation Server • Travis CI • などなど…
36.
自動ビルド • SCMと連携して最新の状態でビルドが 可能 •
シェルスクリプトやMakefile、Maven の設定に従って柔軟にビルドが行える
37.
自動テスト • 設定次第でさまざまな自動テストに対応 できる •
xUnit (CppUnit, PHPUnit, JUnit...) • MSTest • Test::More • Selenium
38.
カバレッジテスト • テストコードがプロダクトコードに対し てどれほどカバーしているか •
Lcov • JUnit
39.
インスペクション • 静的解析(実際の動作でなく、コード単 体から不具合を検証する) •
Gcov • CppCheck • FindBugs
40.
実際の運用 • Subversionをポーリング • コミットしたらJenkinsのタスク始動 •
Jail, Chroot環境作成(FreeBSD, Linuxな ど複数環境を作成)、以降、並列してタスク 継続 • それぞれのJail, Chroot環境で依存ライブラ リの自動構築
41.
実際の運用 • ビルド • カバレッジ(Lcov) •
静的解析(Gcov, Coverity) • 成果物をコミット、インストール可能な 状態へ
42.
残った手動 • 成果物を結合テストサーバに導入 • 結合テスト •
プロダクション環境に成果物を登録 • 登録した成果物の導入
43.
CIによって常に 開発したものが リリース可能な状態
44.
もう リリースなんて 怖くない
45.
黄金の回転を 実現しよう!
46.
ところで…
47.
大学で使えるのこれ
48.
活用次第 でいけるよ!
49.
大学で活用案 • SCM対応 •
独自SCM鯖の作成、あるいはbitbucketで プライベートレポジトリを使う • ビルドプロセス:任意のシェルスクリプトが 実行できる • TeXのコンパイル • 成果物(PDF)を教授にメール
50.
これでコミットする度 教授にメールが
51.
どこの毎回課題の PDFをuuencodeで 送りつけてくるL.S教授だ
52.
ご清聴ありがとう ございました
Hinweis der Redaktion
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Jetzt herunterladen