SlideShare a Scribd company logo
1 of 41
Download to read offline
16-C-3
Gitで安定マスターブランチを手に入れる
株式会社ワークスアプリケーションズ
井上 誠一郎、三宅 泰裕
#devsumiC
自己紹介 その1
井上 誠一郎(いのうえ せいいちろう)
HUE & ATE Div. Partner
主な著書
- Perfect Java
- Perfect Java EE
- Perfect JavaScript
- ITは本当に世界をより良くするのか?IT屋全力反省会 (翔泳社)
自己紹介 その2
三宅 泰裕 (みやけ やすひろ)
Platform Dept. Manager
主なお仕事
- 日々、開発者のために汗水垂らして地盤整備
規模感
開発人員
数千人(日本・中国・シンガポール・インド)
開発規模
- Gitレポジトリ数: 数千
- トピックブランチ: 星の数ほど
まぁ、超大規模開発ですよ...
今日、お話したいこと
我々の環境安定化の為の闘争の歴史。
涙なしでは語れないあの日々のことを...
全ての問題を解決できたわけではありませんが、
超大規模開発の中で何を考えどのように変革をしていったのか。
その中で得られた知見を皆さんにお話します。
簡単にいうと、こういうことです
さて…
インフラのお守りをしていると、トラブルに見舞われない日はないですよね?
フルマネージドで
洗練されたパイプラインが存在して
コード書いたら、テストもされて、すっとプロダクションまで伝搬される。
こんな世界は神話の世界かなぁと思ってました。
実際、今も思っています...。
現実問題として
多種多様な検査ロジック
機能 * 機能で生み出される機能
イントラネットからSaaS への転換
世の中の変革、スマートデバイスの対応 etc...
当然、我々もそこに追従することを余儀なくされました
誤解と混乱...、いやぁ阿鼻叫喚っす
山に登る理由?そこに山があるからだよね?
ガムシャラに走ります。分からなくても走ります。
ふと、後ろを眺めると....
モノリス !!
この時の記憶... (遠い目)
開発規模 :数百人
ビルド時間 :30時間+
ランタイム : r3.16xLarge * いっぱい
+ =
教訓めいた会話
Aさん「ビルドの待ち時間長過ぎて、脳内デバッカーが進化しました」
Bさん「僕たち、Jenkinsの奴隷じゃないんですけど?」
Cさん「ピリオドの向こうが見えてきました...」
Dさん「細かくすれば、良いんじゃね?」
それや!!
そうだ、マイクロサービスになろう!!
下記の作戦でとりあえずやってみる
・ 共通部分(ライブラリ)をとにかく外出しする = jarにする
・ 細切れになった共通部分のビルドをバラバラにして、バージョン振る
・ 残りの巨大モノリスを、「どうしようもないもの」と「分かれそうなもの」
・ 「分かれそうなもの」をとりあえず細かく砕いてみる
◆
こんなイメージ:業務ドメイン + ライブラリ
モノ
ライブラリ
カネ
ヒト
ライブラリ
ライブラリ
ライブラリ
ヒト
カネ
カネ
土台はKubernetes、 Prometheusも参戦
モノ
ライブラリ
カネヒト
ライブラリ
ライブラリ
ライブラリ
ヒト
カネ
カネ
デプロイしやすくしてみると、重複に気づく
モノ
ライブラリ
カネ
ヒト
ライブラリ
ライブラリ
ライブラリ
ヒト
カネ
カネ
◆
全然、おいしくない...
美味しい
● 各warは異なるjarのバージョンをもてる
● ビルドの単位もバラバラ
美味しくない
● 後方互換性を保ててない
● 業務ドメイン単位でのバージョンアップ
● そもそも、業務ドメインの境目はとても曖昧
結果として、ビルドは速くなる。単体でデプロイも出来る。でも、動かないし、結局高いし...
どうしよう...
よく考えてみることにした
バージョン違いのライブラリが存在する +1
ビルドの単位もバラバラ +1
後方互換性... -10
業務ドメイン単位でのバージョンアップ -100
そもそも、業務ドメインの境目はとても曖昧 -1000 これってもしかして...
みんな、テストできてな
くない?
それや!!
あれ?なんか足りなくない??
お金も安くないので、「テスト出来ない」問題を解決に走ることにする
なんで出来ないんだろう...
- 「メモリのことを気にするなんて...」ニュータイプすぎる議論
- 「クラウドなんて、ブラックボックス」なナウでヤングな感覚
- 「必要ならたてるまで、ですよ」開発元気玉をしようとする◯空
- 「いいか、更新は慎重にするんだぞ、赤い線を切れ、切るんだ !!」
開発環境がナイ !!
ありがちな構成
とりあえず、データベースがあればいいだろう構成
DB
Micro Service Architecureなら当然、APも必要
DBAP
共有すればするだけ足を引っ張る
DBAP
更新の競合、適用による破壊
幸せな世界は、こんな感じ
環境も「疎」にする
DBAP DBAP
これ、どこに作るの?
クラウドに作りまくると、それなりにお金がかかる
弊社の場合は、埋蔵サーバ(PC)が転がっていた
じゃあ、使っちゃおう
救世主OpenStack + k8s
ステートフル担当 = DB ステートレス担当 = AP
結果、こんな感じになる
この環境の副次的な効果
いくら壊しても文句言われない(世界中からヘイトを集めるとかない)
慎重派なあなたも大胆なことが出来るようになる
依存関係(重複部分の解消)
ビルドのスクリプトの改善
なんなら、俺も今日からCIやるぜという気概と気合
結果的にどんどん欲が出てくる=これは凄くいいこと
更なる挑戦が出来るようになる
もっと早期段階でテストしたいYo !!
ベースはk8s, これならトピックブランチからそのまま環境作ってみる?
ここからdeployする
これが出来るのは開発環境ならでは
QEがテストを続けているような環境では心理的障壁もあり厳しい
しかし、人手で見るしかない部分
・ UI/UXの確認
・ 機能の概要を確認する
を先に行えるなら、手戻り少なく開発も出来る
結果的には、マスターブランチが不安定になりにくい
壊してもいつでも戻せる「安心感」は大事
QEがテストしている環境を適用によって破壊すると、鬼の様にヘイトが飛んでくる
それが例えSlack越しにBotが呟くことだとしても
人は弱いので傷付くものです...
自身のチームで「やっちまったー!」は、きっと許されますよね?
この安心感の中でのびのびやるのが、モノリシックから脱却しようとしている
サービスには大事なことなのかもしれません…。
次なる挑戦(予告)
この手法はステートレスな層にのみ適用できます
が、永続層はどうでしょうか?
まだまだ、問題がありそうです…。
次に攻めるのは、当然データなので…。
ユニットテストをリッチにしようと企んでいます。
実値でテストするテストを当たり前に
昔懐かしのDBUnitにはトランザクションを頑張ってコントロールする機能が
ありました。DDLなどRollBackが効かないものには無力さを覚えるものです
OpenStackの機能を有効利用することで美味いこと料理できそうです
テスト前につけて、終わったら破棄
volume
テスト
volume
完全な確証はまだないですが、仕組みの検証段階での効果は抜群です
まとめ
安定化の肝は「開発環境」
- 心理的障壁を下げる効果も
再利用・破棄可能な形にして、早い段階からデプロイする
- コストメリット
- 生産性の向上
規模的な制約もあってCloudを選ばなかっただけで、Cloudでも勿論構わない
ご静聴ありがとうございました

More Related Content

What's hot

プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬
プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬
プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬Mizuki Tanno
 
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)Developers Summit
 
スクリプトエンジン作って 無双する
スクリプトエンジン作って 無双するスクリプトエンジン作って 無双する
スクリプトエンジン作って 無双するKLab Inc. / Tech
 
NoOps?よろしいならば戦争だ
NoOps?よろしいならば戦争だNoOps?よろしいならば戦争だ
NoOps?よろしいならば戦争だToru Makabe
 
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -和樹 川端
 
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 智治 長沢
 
夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOpsDevelopers Summit
 
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例Takashi Suzuki
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
 
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)Masataka Sato
 
Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋智啓 出川
 
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Naoki Umehara
 
社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しようShinya Nakajima
 
エクストリーム・プログラミング開発におけるUIテスト #yjbonfire
エクストリーム・プログラミング開発におけるUIテスト #yjbonfireエクストリーム・プログラミング開発におけるUIテスト #yjbonfire
エクストリーム・プログラミング開発におけるUIテスト #yjbonfireYahoo!デベロッパーネットワーク
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeKLab Inc. / Tech
 
自チームのLychee redmine活用例
自チームのLychee redmine活用例自チームのLychee redmine活用例
自チームのLychee redmine活用例agileware_jp
 
モバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsモバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsKLab Inc. / Tech
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!デベロッパーネットワーク
 
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるリコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるYohei Yamamoto
 

What's hot (20)

プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬
プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬
プロダクト開発におけるプロダクトマネージャーの役割とは #‎devsumi‬
 
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
 
スクリプトエンジン作って 無双する
スクリプトエンジン作って 無双するスクリプトエンジン作って 無双する
スクリプトエンジン作って 無双する
 
NoOps?よろしいならば戦争だ
NoOps?よろしいならば戦争だNoOps?よろしいならば戦争だ
NoOps?よろしいならば戦争だ
 
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
 
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2 夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
 
夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps
 
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
 
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
 
Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋Fortranが拓く世界、VSCodeが架ける橋
Fortranが拓く世界、VSCodeが架ける橋
 
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
 
社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう
 
DevOps at ChatWork
DevOps at ChatWorkDevOps at ChatWork
DevOps at ChatWork
 
エクストリーム・プログラミング開発におけるUIテスト #yjbonfire
エクストリーム・プログラミング開発におけるUIテスト #yjbonfireエクストリーム・プログラミング開発におけるUIテスト #yjbonfire
エクストリーム・プログラミング開発におけるUIテスト #yjbonfire
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
 
自チームのLychee redmine活用例
自チームのLychee redmine活用例自チームのLychee redmine活用例
自チームのLychee redmine活用例
 
モバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOpsモバイルゲームビルドパイプラインとChatOps
モバイルゲームビルドパイプラインとChatOps
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
 
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるリコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
 

Similar to Gitで安定マスターブランチを手に入れる

アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile DevelopmentGo2GroupJapan
 
Android最新動向
Android最新動向Android最新動向
Android最新動向Akira Sasaki
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術dena_study
 
TFUG#3 Retty流 「2200万ユーザさんを支える機械学習基盤」 の作り方
TFUG#3  Retty流 「2200万ユーザさんを支える機械学習基盤」 の作り方TFUG#3  Retty流 「2200万ユーザさんを支える機械学習基盤」 の作り方
TFUG#3 Retty流 「2200万ユーザさんを支える機械学習基盤」 の作り方Masato Taruishi
 
Android 10 dec, 2012
Android 10 dec, 2012Android 10 dec, 2012
Android 10 dec, 2012Akira Sasaki
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話y-uti
 
ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発Masaru Nagaku
 
RTC2023_ChatGPT_YukiTsukamae.pdf
RTC2023_ChatGPT_YukiTsukamae.pdfRTC2023_ChatGPT_YukiTsukamae.pdf
RTC2023_ChatGPT_YukiTsukamae.pdfhossenkamal2
 
RTC2023_ChatGPT_YukiTsukamae.pptx
RTC2023_ChatGPT_YukiTsukamae.pptxRTC2023_ChatGPT_YukiTsukamae.pptx
RTC2023_ChatGPT_YukiTsukamae.pptxhossenkamal2
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechconDeNA
 
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものJun Hosokawa
 
デジタル時代の企業変革 - 2020
デジタル時代の企業変革 - 2020デジタル時代の企業変革 - 2020
デジタル時代の企業変革 - 2020Ikuo Misao
 
ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~Ken Azuma
 
XPと環境の微妙な関係夜LT版
XPと環境の微妙な関係夜LT版XPと環境の微妙な関係夜LT版
XPと環境の微妙な関係夜LT版Takeshi Kakeda
 
Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)Kazushi Kamegawa
 
海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみる海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみるfumoto kazuhiro
 
20230206_SD輪読&座談会#41_kitazaki.pdf
20230206_SD輪読&座談会#41_kitazaki.pdf20230206_SD輪読&座談会#41_kitazaki.pdf
20230206_SD輪読&座談会#41_kitazaki.pdfAyachika Kitazaki
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Atsushi Takayasu
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景Koichi ITO
 

Similar to Gitで安定マスターブランチを手に入れる (20)

アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
 
Android最新動向
Android最新動向Android最新動向
Android最新動向
 
アンラーニング
アンラーニングアンラーニング
アンラーニング
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
 
TFUG#3 Retty流 「2200万ユーザさんを支える機械学習基盤」 の作り方
TFUG#3  Retty流 「2200万ユーザさんを支える機械学習基盤」 の作り方TFUG#3  Retty流 「2200万ユーザさんを支える機械学習基盤」 の作り方
TFUG#3 Retty流 「2200万ユーザさんを支える機械学習基盤」 の作り方
 
Android 10 dec, 2012
Android 10 dec, 2012Android 10 dec, 2012
Android 10 dec, 2012
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
 
ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発
 
RTC2023_ChatGPT_YukiTsukamae.pdf
RTC2023_ChatGPT_YukiTsukamae.pdfRTC2023_ChatGPT_YukiTsukamae.pdf
RTC2023_ChatGPT_YukiTsukamae.pdf
 
RTC2023_ChatGPT_YukiTsukamae.pptx
RTC2023_ChatGPT_YukiTsukamae.pptxRTC2023_ChatGPT_YukiTsukamae.pptx
RTC2023_ChatGPT_YukiTsukamae.pptx
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
 
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないものソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの
 
デジタル時代の企業変革 - 2020
デジタル時代の企業変革 - 2020デジタル時代の企業変革 - 2020
デジタル時代の企業変革 - 2020
 
ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~ビジネスとデザイン ~ビジネスは悪くない~
ビジネスとデザイン ~ビジネスは悪くない~
 
XPと環境の微妙な関係夜LT版
XPと環境の微妙な関係夜LT版XPと環境の微妙な関係夜LT版
XPと環境の微妙な関係夜LT版
 
Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)
 
海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみる海外Ta事情から日本のta像について考えてみる
海外Ta事情から日本のta像について考えてみる
 
20230206_SD輪読&座談会#41_kitazaki.pdf
20230206_SD輪読&座談会#41_kitazaki.pdf20230206_SD輪読&座談会#41_kitazaki.pdf
20230206_SD輪読&座談会#41_kitazaki.pdf
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
 

More from Works Applications

Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器Works Applications
 
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫Works Applications
 
RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to a...
RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to a...RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to a...
RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to a...Works Applications
 
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak pointCassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak pointWorks Applications
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 
Enterprise UI/UX - design as code
Enterprise UI/UX - design as codeEnterprise UI/UX - design as code
Enterprise UI/UX - design as codeWorks Applications
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Works Applications
 
Global Innovation Nights - Spark
Global Innovation Nights - SparkGlobal Innovation Nights - Spark
Global Innovation Nights - SparkWorks Applications
 

More from Works Applications (11)

Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器Javaでつくる本格形態素解析器
Javaでつくる本格形態素解析器
 
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
新入社員が多い中で効果的なレビューを行うための方法 レビューの準備からフィードバックまでの工夫
 
RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to a...
RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to a...RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to a...
RDB脳でCassandra / MSAを始めた僕達が、分散Drivenなトランザクション管理にたどり着くまで / A journey to a...
 
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak pointCassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
Cassandraに不向きなcassandraデータモデリング基礎 / Data Modeling concepts for NoSQL weak point
 
形態素解析
形態素解析形態素解析
形態素解析
 
Erpと自然言語処理
Erpと自然言語処理Erpと自然言語処理
Erpと自然言語処理
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
Enterprise UI/UX - design as code
Enterprise UI/UX - design as codeEnterprise UI/UX - design as code
Enterprise UI/UX - design as code
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)
 
Demystifying kubernetes
Demystifying kubernetesDemystifying kubernetes
Demystifying kubernetes
 
Global Innovation Nights - Spark
Global Innovation Nights - SparkGlobal Innovation Nights - Spark
Global Innovation Nights - Spark
 

Gitで安定マスターブランチを手に入れる