SlideShare uma empresa Scribd logo
1 de 80
2014-05-01
Yu ISHIKAWA
+ 知っている単語はいくつありますか?
– 単体テスト or TDD (Test Driven
Development)
– 継続的インテグレーション
– 継続的デリバリー
– Git
– Jenkins
+ タイトル:チーム開発実践入
門
+ 発行所:技術評論社
+ 内容:“複数の人たちでチーム
を組んで開発を進めていく際
に必要な考え方や使用する
ツール、またそれらをうまく
使いこなすためのノウハウを
まとめて”ある
+ 世の中こんなに便利になっているんだ,
モダンな開発ってこういう風なんだとい
うのを知ってください
– 細かいツールの使い方や運用フローの解説は
しません
+ チーム開発に役立つツールや方法論に唯
一絶対の正解はありません
+ 企業規模,製品規模,チーム規模によっ
て最適な解決策はことなります
+ しかし,紹介する内容には,効率的に仕
事をする上で様々なヒントを与えてくれ
ると思います
+ ケーススタディ
+ バージョン管理
+ チケット管理
+ (5〜10分休憩)
+ 継続的インテグレーション
+ 継続的デリバリー
+ まとめ
+ ケーススタディ
+ バージョン管理
+ チケット管理
+ 継続的インテグレーション
+ 継続的デリバリー
+ まとめ
+ デスマーチになっている Web アプリ開発
プロジェクトに途中でアサインされた A
さんの話
+ プロジェクトの前提
– システム
 Web アプリケーション
 DB
– 開発のみならずリリース後のバージョンアッ
プや運用なども継続的に行う
Aさん
ほかの開発者
タスク管理はメー
ルやエクセル
テスト担当者
本番サーバ
ソースコード用
共有フォルダ
ソースコードはフォ
ルダ名を変えるこ
とで管理
各自の環境は
バラバラに構築
検証用のステージン
グ環境はない
手作業でリリース
知識の共有が
行われていない
バグ報告者
+ 1日目重たい気持ちで出社したAさんが早速メールを開
くとつぎのような4件のメールが…
– 【重要】エラーが出ています.すぐに対応してください!
– 【至急】本番環境で重大な障害が発生!対応お願いします
– 【依頼】軽微のレイアウトズレが起きているようです
– 【本番障害】【重要】【至急】【即対応】お客様からクレームを頂いています.
いますぐ対応してください
+ しかし,アサインされたばかりのAさんどれから対応す
べきかの優先度が付けられません
+ 周りの人に聞きつつ,全部読んで対応することにします
+ 報告されたエラーが本当に発生するのかを試そうとしま
すが,本番での検証をするのには重大な障害もありまし
た
+ しかし検証環境がないためすぐに試すことができません
+ しかたがないので,手元の自分のマシンに検証用の環境
を構築することにしました
+ 残念ながら,環境を構築するための手順がまとまってい
ません!
+ しかたがないのでほかのメンバーにひとつひとつ聞きな
がら構築します
+ なんとかサーバ構築が終わり,要約アプリのソースコー
ドとDBの構築をしようとします
+ ソースコードがディレクトリ名を変えることで管理され
ているため,いま本番で動いているのがどのソースコー
ドなのかわかりません
– app_latest
– app_new
– app_current
– app_lastest2
+ DB の構築を試みるもスキーマが管理されていないので,
本番サーバのスキーマを調べて自分で再構築しました
+ アプリの起動とDBの構築が終わるもうまく再現するこ
とができません
+ ようやく本番と「同じと思われる」環境を構築して,バ
グの修正に入ります
+ Aさん一人では対応できないので,それぞれ4件のバグ
を4人で手分けして行うことにしました
+ 急いで対応している中,バグ報告者から電話での状況確
認の問い合わせが頻繁に来て,作業に集中できません
+ なんとか,それぞれの環境でなんとか各自担当したエ
ラーを修正して,手作業で再現しないことを確認し,共
有フォルダに各自同期をとって1日目を終えました
+ 2日目の朝,テスト担当者からAさんに4件の修正のう
ち3件しか直っておらず,昔直したはずのバグも発生し
ているという連絡が入りました
+ 調べてみると,4件のバグで手分けした修正でお互いの
変更を上書きしてしまったようでした
+ またテスト担当者の環境とAさんの環境が違うため発生
している問題もあったようです
+ 問題の箇所を修正しなおし,1日目に報告されたバグの
対応を終えました
+ 昔直されたバグについての修正をしようとします
+ しかし,途中からアサインされたAさんには昔どのよう
なやりとりがなされて,どのように修正されたのかを
メールでタスク管理されていたため追跡することができ
ません
+ ほかの人に調べてもらい,どういう経緯かの把握をすま
せ,要約バグ対応に入ります
+ まずバグが再現するのかを手元のマシンで確認をし,
ソースコードのどこに問題があるのか調査をはじめます
+ ソースコードがバージョン管理されていないので昔の修
正を確認することができないため,自分なりに変更を加
えバグが再現しないことを確認しました
+ なんとかテストもクリアし,修正したものをリリースし
ます
+ いつもリリースしている人が休みなので,手順書にした
がって手作業で行います
+ ソースコードのデプロイだけでなく,DDLや依存するラ
イブラリ,設定ファイルの反映など複雑なようです
+ リリースしてみるも,作業にもんだいがあったのか本番
環境にうまく反映することができません
+ デプロイする前の状態に戻すやり方がわかりません
+ 参考にしている手順書のバージョンが古かったらしく,
なんとか最新の手順書を確認しながら無事リリースがで
きました
+ メールでのタスク管理
– タスクの優先順位がわからないため,どれから対応すべきかが
わからない
– タスクのステータス管理ができないため,いちいち問い合わせ
に対応しないといけない
– ほかのメールと交じるため一覧性が悪い
– 途中から加わったメンバーが過去の状況を確認できないなど検
索性が悪い
+ 検証環境(ステージング環境)がない
– 報告されたバグを速やかに検証する環境がないため,ことある
ごとに手元に環境を構築する必要がある
+ メンバーそれぞれがバラバラに環境を構築している
– 統一した環境を構築する仕組みが無いために,お互いの環境を
都度揃えるためのコストがかかる
+ ソースコードがバージョン管理されていない
– 互いの変更を上書きしてしまう
– お互いの差分が衝突したときの解決ができない
– 過去のバグ修正の履歴が負えない
+ DBの再生成が困難
– アプリを起動するために必要な DDL やデータがきちんと管理さ
れていないため,都度本番のデータをダンプして持ってくるな
どの無駄が発生
+ 自動テストがないためデグレーションを検知できない
– 既存の昨日に影響を与えていないかなどのチェックを手作業でやったりしてい
ると,抜け漏れが発生するし,コストが高い
+ リリース手順が手作業あるいは複雑
– リリース作業を手作業でやるとそのための修
正コスト,メンテナンスコストが高くなる
+ 本番環境で動かない
– 設定の反映を間違えるなどにより,本番で動
かないリスクが伴う
+ タスクの管理は,タスク管理用ツールを活用されている
– バグ報告者はタスクのステータスを確認することで問い合わせコストがなくな
るなど
+ ナレッジは wiki にまとまっている
– 新しいメンバーも簡単に検索することができて,スムーズにプロ
ジェクトに必要な知識を身につけられる
– ひとの時間を奪わない
+ 検証環境が用意されている
– 報告されたバグをすみやかに再現できる
+ 確認作業,テストがすべて自動化されている
+ 各自の環境を自動的に整える仕組みがある
– 各自の環境が異なっているために起きる問題がない
+ ソースコードは適切にバージョン管理されている
– 過去の履歴を追跡できる
– 互いに上書きするリスクを抑えられる
+ 自動的にリリースする仕組みがある
– 間違えたり忘れたり,また属人性を排除するために手作業はなくす
+ 自動化
+ 追跡可能性
+ 再現性
+ {属人性,暗黙知}の排除
+ 人間は間違えかつ忘れる
+ ケーススタディ
+ バージョン管理
+ チケット管理
+ 継続的インテグレーション
+ 継続的デリバリー
+ まとめ
+ あるファイルをいつ,だれが,なにを,どのよう
に変更したかの履歴を記録として管理するシステ
ム
+ 導入メリット
– 変更内容という最も基本的な記録が残る
– バージョン間の差分が簡単に確認できる
– 間違って他の人の変更を上書きしないで住む仕組み
がある
– 任意の時点まで巻き戻すことができる
+ ツール例(SVN の時代は終了しました)
– Git(分散管理), Github などが有名
– SVN: Subversion (中央管理)
+ 「管理できるものはすべて VCS で管理すべき」
– ソースコード
– テストコード
– 要件書,設計書などのドキュメント
– データベーススキーマ,システムを構築するのに必要な
データ
– ミドルウェアなどの設定ファイル
– ライブラリなどの依存関係の定義
+ 注意:VCS 管理者によっては Excel などの
バイナリファイルはコミットされたくない人
もいるのでルールに合わせる
+ 一時的な作業の履歴管理が容易
– 中央管理型と異なり,全体に影響を与えないままローカルマシ
ンでのコミットをすることが可能なため,一時的な作業の保存
も容易で開発効率が向上
+ 場所を選ばないコラボレーションが可能
– すべてのコピーをローカルマシンに持つため,リポジトリと
ネットワーク通信ができない環境でもローカルマシンにコミッ
トを残せる
+ バージョン管理システムのモデル
– ロックモデル
– マージモデル
+ バージョン管理システムの移り変わり
+ Git を使ったスムーズな並行開発
+ Git を使った開発フロー
+ ソースコードと異なる管理の難しさ
– 複数人でDB変更を行うと,SQLの適応漏れや順
番の違いなどによって容易にDBの整合性が損な
われる可能性
+ 考えつく案
– データベース管理者に変更管理を任せる
 作業のボトルネックになってスピードが損なわれる
 属人性が高くなる
– 共有データベースでスキーマを変更する場合
 開発のために変更を加えるとほかの人に影響
+ データベースの変更を管理するツール
+ ツールの発想
– SQL の適用順とどこまで適用したかを管理
– スキーマ定義編集の衝突を管理
– ロールバックの仕組みを用意
– データのロードもできる
+ 具体的なツール例
– Migration: Ruby on Rails
– south: Django
– Migrations Plugin: CakePHP
– Evollution
– Play Framework
1.sql 2.sql
• 適応順をファイル名で管理
• ロールバックのための処理と
アノテーション
+ 構築された DB は本当に正しいでしょう
か?
+ 正しいかどうかを自分で手作業で確認し
ますか?
+ NO:DB 整合性チェクは自動で行えます
+ 設定ファイルもバージョン管理
– すべてがバージョン管理システムにあって,そこにある
ファイルだけでアプリケーションの構築から起動まで,い
つでもだれでも自動でできるようにしておかないと,高い
品質とスピードを維持した開発はできない
+ 依存関係解決システム
– ある程度の規模のアプリケーション開発をするときは,何
らかのライブラリを利用
– アプリケーションが管理している依存関係の定義もバー
ジョン管理
– 依存関係解決システム
 Apache Ant (Apache Ivy)
 Maven
 Sbt
 Gradle
+ 「管理できるものはすべて VCS で管理すべき」
+ 使うなら SVN じゃなくて Git
– Git の運用方法に興味ある人は本読んで下さい
– Github を試してみてください
+ 自動化のためのツールを活用
– DB のバージョンごとの管理には,データベースマイ
グレーションツールがある
– 依存関係解決システムで,プロジェクトに必要なラ
イブラリを管理
– サーバ構築やプロビジョニングの話は後ほど
+ ケーススタディ
+ バージョン管理
+ チケット管理
+ 継続的インテグレーション
+ 継続的デリバリー
+ まとめ
+ プロジェクトの見える化
+ タスクの整理,進捗の管理,情報の共有
– タスクの定義:なにをするのか?
– 期限:いつまでにするのか?
– 担当者:だれがするのか?
– ステータス:いまどうなっているのか?
+ 情報の一元管理と検索性が重要
+ 代替はできるが,人数が多くなって,タスクが増
えると破綻する
+ メールで管理
– 途中からアサインされた人は過去の情報がわからな
い
– ほかのメールに埋もれる
– ステータスがわからない
– 担当者がわからない
+ 共有フォルダで管理
– 複数に編集でファイルが壊れる可能性
– だれかが誤って削除する可能性
– 検索性が低いためドキュメントを探しにくい
タスクタイトル
サブタスク
報告者と担当者
ステータス
期限
+ タスクを管理するための基本機能がある
– 「なにをしなければいけないのか」というタスクの定義
– 「誰がするのか」という担当者のアサイン
– 「いつまでにするのか」という期限の管理
– 「いまどうなっているのか」というステータスの管理
+ 一覧性,検索性が高い
+ 情報の一元管理と共有が可能
– 過去のやりとりやそこから得られた知見,プログラムの仕様
– タスク管理だけでなく,ナレッジデータベースとしての側面も持てる
+ レポーティングに利用できる
– バーンダウンチャートなどのレポーティング機能
+ ほかのシステムとの連携が可能であり,拡張性を高める
– バージョン管理システムや Continuous Integration システムとの連携を深めることで,
問題の発生からコードの修正内容やテスト結果,リリース状況まですべてを関連付け
て管理することができる
+ 追跡可能性が高まる
– 例:「昔のバグ修正ってどういう経緯だったけ?」
– 例:チケットIDとバージョン管理の関連付け
対応
チケット ソースコードの変更差分
【チケットID】
FUNC-123
【チケットタイトル】
ユーザのお問い合わせフォームの変更
【内容】
ユーザのお問い合わせフォームのデザイン
と問い合わせ内容にカテゴリを追加
【コミットメッセージ】
FUNC-123 ユーザのお問い合わせフォーム
を変更した
+ OSS
– Trac
– Redmine
– Bugzilla
+ 商用
– JIRA
 個人のプライベートタスクにも便利
 クラウド版は 10 Users $10/month
– Backlog
– Github
+ ツール選定のポイント
– 拡張性の高さと容易さがどこまで提供されているか
– エンジニア以外のステークホルダーも触れるので,業務フロー
に合わせて柔軟に拡張できるかが重要
+ チームのプロジェクト管理だけでなく,他部署への作業
依頼
– 「サーバにこのソフトウェアをインストールしてください」
– 「こことあそこの通信の疎通をしてください」
+ カスタマーサポートの管理
+ メールやエクセルでの管理はやめましょう
+ タスク管理ツールと wiki を使って,タスクと情
報共有を一元管理しましょう
+ チケット駆動開発という方法もあります
+ ケーススタディ
+ バージョン管理
+ チケット管理
+ 継続的インテグレーション
+ 継続的デリバリー
+ まとめ
+ 各人のソースコード成果物を1箇所に集める
+ 依存するライブラリなどを解決
+ 必要であればコンパイル
+ データベースの構築と必要なデータのロード
+ 必要であればミドルウェアの設定や起動
+ 単体テストと結合テスト,ユーザ受け入れテス
トなどを実施
+ インテグレーションを絶え間なく短時間で自動的
に実行できる仕組み
+ メリット
– ソースコードの修正をコミットしたすぐに問題ない
かどうかを調べることができる
+ アジャイル開発手法の1つであるエクストリーム
プログラミング(XP)のプラクティスとして提唱
+ 価値のあるソフトウェアを高品質かつ迅速に提供
することを目指すアジャイル開発の中でも,最も
基本的で重要なプラクティス
要件
設計
開発 ユニットテスト
結合テスト
ユーザ受け入れ
テスト
30 日〜半年
時間が経過すればするほど,修正・変更のコストが増す
レビュー 開発
2週間
レビュー 開発
2週間
レビュー 開発
2週間
• 短い期間で要件自体の修正,要件とのズレを検出し調整できる
• アジャイルを実施するためには継続的インテグレーションが必要
+ ウォーターフォール
– インテグレーションは開発作業がすべて完了したあとのテスト
フェースに入って初めて行う
– テストフェーズになって,ライブラリの漏れやコンパイルができな
いなどの問題が発生
– コード量が増えれば増えるほど,修正が困難になる
– プロジェクト終盤になってすべてやり直しになるリスクがある
+ Scrum(アジャイル開発)
– スプリントという2週間程度の短いサイクルで設計開発と単体テス
ト,結合テスト,ユーザ受け入れテストを複数回実施
– スプリントごとに成果物を出し,スプリントレビューというプロセ
スで成果物をレビュー,フィードバックし,つぎのスプリントに反
映するということを繰り返す
– 要件の変更への柔軟な対応やズレをできるだけ早く検出して調整す
る回数を増やしていこうというアプローチ
+ コストメリット
– バグの修正コストはバグが生み出された瞬間から時
間が経過するごとに増加していく
– テストをせずに,昨日生み出されたバグより3ヶ月
たったバグを修正するのは困難
– ビルドとテストを自動化して,CI を実施できればコ
ミット後にバグの発生に気づける
+ 市場の変化のスピード
– 1つの製品に1年も2年もかけていたら市場が変化
してしまい,リリースしたころには市場にマッチし
ない可能性
– たとえ会計システムのような業務システムでも,急
な法改正などで外的環境が変化
+ ソースコード
+ テストコード
+ バージョン管理システム
– Git
+ ビルドツール
– Maven
– Sbt
– Gradle
+ CI ツール
– Jenkins
 CIツールのデファクトスタンダード
– TravisCI
 Github のプロジェクトのみ利用可能
+ ソフトウェアのビルドやcronで起動するジョブ
などの繰り返しのジョブの実行を監視
– 継続的なソフトウェアプロジェクトのビルドとテス
ト
 ソースコードのデプロイもできる
– 外部で起動するジョブの実行監視
+ なんのためにテストを書くのか?
– 機能を担保するため
– のちのち修正変更をしやすくするため
– 自分を守るため
+ 単体テストの種類
– TDD (Test Driven Development)
– BDD (Behavior Driven Development)
+ テストと開発を平行して実施
public class User {
}
@RunWith(JUnit4.class)
public class UserTest {
}
ソースコード テストコード
+ 失敗する機能要件のテストを書く
public class User {
}
@RunWith(JUnit4.class)
public class UserTest {
@Test
public void testCreateInstance() {
User bob = new User(“Bob”);
}
}
ソースコード テストコード
+ テストをクリアするコードを書く
public class User {
private String name;
public User(String name) {
this.name = name;
}
}
@RunWith(JUnit4.class)
public class UserTest {
@Test
public void testCreateInstance() {
User bob = new User(“Bob”);
}
}
ソースコード テストコード
+ 失敗する機能要件のテストを書く
public class User {
private String name;
public User(String name) {
this.name = name;
}
}
@RunWith(JUnit4.class)
public class UserTest {
@Test
public void testCreateInstance() {
User bob = new User(“Bob”);
}
@Test
public void testGetName() {
User bob = new User(“Bob”);
assertEquals(“Bob”,bob.getName() );
}
}
ソースコード テストコード
+ テストをクリアするコードを書く
public class User {
private String name;
public User(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
@RunWith(JUnit4.class)
public class UserTest {
@Test
public void testCreateInstance() {
User bob = new User(“Bob”);
}
@Test
public void testGetName() {
User bob = new User(“Bob”);
assertEquals(“Bob”,bob.getName() );
}
}
ソースコード テストコード
+ コードの問題点が狭い範囲に絞られやす
くなる
+ プログラムを書くのに前進感がでて楽し
い
+ 常にビルド,常にテストを回すことで,加え
た修正それ自体が問題ないか,既存の機能を
壊していないかをすぐに知れる
– 要件定義・開発からテストまどの期間が長くなれ
ばなるほど,修正・変更コストが増大
+ CIツールを導入することで,ビルドやテスト
に問題が発生したときに追跡可能
+ Jenkins がデファクトスタンダード
+ TDDは楽しいし,コードの問題点を局所的に
できる
+ ケーススタディ
+ バージョン管理
+ チケット管理
+ 継続的インテグレーション
+ 継続的デリバリー
+ まとめ
+ 「デプロイに関わる作業はすべて自動化すべきである」
– デプロイ:開発したソースコードを利用可能な状態でサーバに
配布する一連の行為
+ コミットして問題なければ自動的にデプロイ
+ ポチッと1クリックでだれでも簡単にデプロイ
+ とにかく,だれでも簡単にデプロイできることが重要!
+ 細かく頻繁にデプロイできればリスクをコントロールしやす
くなる
– 何ヶ月に1回の大きな変更のデプロイをすると,不具合が起きた時
の被害をコントロールするのが難しくなる
– こまめに変更をデプロイすることで,不具合の規模感をコントロー
ルできる
+ フィードバックを早く得られる
– 新しく開発した機能をいちはやく試してもらい,そのフィードバッ
クをつぎの開発サイクルに反映
– 短期間のPDCA サイクルを実現
+ 組織がスケールする
– たとえば 10 個のプロダクトがあり,10 通りのデプロイ方法を手動
で延々と行い続けるのは得策ではない
– だれでも簡単にデプロイできるようにすることでメンテナンスコス
トを低くし,新しいことにチャレンジしていける組織になれる
– 属人性の排除
+ プロビジョニング
– 利用可能なサーバに、適切なOS, ミドルウェア,アプリケー
ションをロードし、システムを適切に設定したり、サーバ固有
の設定(IPアドレスなど)をしたり、といった作業
+ プロビジョニングツールチェーン
– ブートストラッピング
 サーバの OS 設定や仮想マシンによるサーバ立ち上げの自動化ツール
– コンフィギュレーション
 サーバやミドルウェアの設定の自動化ツール
– オーケストレーション
 ソースコードのデプロイやリリースに関わるサーバの操作の自動化ツール
+ Vagrant
– 仮想マシン作成やその環境設定などを自動化するツール
+ Chef
– 物理、仮想、クラウドといったさまざまな大きさのインフラに対して、
サーバやアプリケーションの展開を容易にするための自動化フレーム
ワーク
– 自動でミドルウェアをインストールするためのツール
+ Serverspec
– サーバの状態をテストするためのフレームワーク
+ サーバ構築要件
– CentOS 6.5
– MySQL 5.1, Apache 2.3
– Port は 80 を開ける
Vagrantfile
Chef cookbook
specfile
CentOS6.5 で
仮想マシンの作成
Vagrant
Chef
MySQL 5.1, Apache 2.3
のインストール
serverspec
80 番ポート開いてる?
MySQL 5.1 入ってる?
Apache 2.3 入ってる?
ビジネス
アイディア
ビジネス
ゴール
開発
環境
の構築
開発 コミット ビルド
テスト
環境
構築
自動
テスト
本番
環境
構築
リリース
コンフィ
グレー
ション
継続的インテグレーション
継続的デリバリー
Chef
serverspec
Kickstart
Vagrant
AWS
Git
Jenkins
Chef
serverspec
Kickstart
Vagrant
AWS
Selenium
Chef
serverspec
Kickstart
AWS
Capisrano
Fablic
Chef
serverspec
デプロイ
+ 「デプロイに関わる作業はすべて自動化すべきである」
– {開発,ビルド}環境の構築
– ビルド
– テスト環境の構築
– テスト
– リリース
– コンフィギュレーション
+ モダンな開発では環境構築やサーバ構築テストも自動化
– Vagrant + Chef + serverspec
+ ケーススタディ
+ バージョン管理
+ チケット管理
+ 継続的インテグレーション
+ 継続的デリバリー
+ まとめ
Aさん
ほかの開発者
タスク管理はメー
ルやエクセル
テスト担当者
本番サーバ
ソースコード用
共有フォルダ
ソースコードはフォ
ルダ名を変えるこ
とで管理
各自の環境は
バラバラに構築
検証用のステージン
グ環境はない
手作業でリリース
知識の共有が
行われていない
バグ報告者
+ タスクの管理は,タスク管理用ツールを活用されている
– バグ報告者はタスクのステータスを確認することで問い合わせコストがなくな
るなど
+ ナレッジは wiki にまとまっている
– 新しいメンバーも簡単に検索することができて,スムーズにプロ
ジェクトに必要な知識を身につけられる
– ひとの時間を奪わない
+ 検証環境が用意されている
– 報告されたバグをすみやかに再現できる
+ 確認作業,テストがすべて自動化されている
+ 各自の環境を自動的に整える仕組みがある
– 各自の環境が異なっているために起きる問題がない
+ ソースコードは適切にバージョン管理されている
– 過去の履歴を追跡できる
– 互いに上書きするリスクを抑えられる
+ 自動的にリリースする仕組みがある
– 間違えたり忘れたり,また属人性を排除するために手作業はなくす
バグ報告者 ほかの開発者
タスクは
タスク管理ツール
で管理
業務知識は
Wiki に一元管理
各自の開発環境は
自動プロビジョニン
グで統一
Git による適切な
バージョン管理
ビルド,テスト
リリースなどデプロイ
の自動化
ステージング環境
(自動構築)
継続的
インテグレーション
継続的デリバリー
本番環境
リリース
+ 世の中こんなに便利になっているんだ,
モダンな開発ってこういう風なんだとい
うのを知ってください
– 細かいツールの使い方や運用フローの解説は
しません
+ 自動化
+ 追跡可能性
+ 再現性
+ {属人性,暗黙知}の排除
+ 人間は間違えかつ忘れる
「チーム開発実践入門」勉強会

Mais conteúdo relacionado

Mais procurados

情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。Narichika Kajihara
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーSaeko Yamamoto
 
コミュニケーション戦略を前提にしたOutlookやTeams活用
コミュニケーション戦略を前提にしたOutlookやTeams活用コミュニケーション戦略を前提にしたOutlookやTeams活用
コミュニケーション戦略を前提にしたOutlookやTeams活用Daiyu Hatakeyama
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道nishio
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドktateish
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページCLARA ONLINE, Inc.
 
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話yaegashi
 
衝突判定
衝突判定衝突判定
衝突判定Moto Yan
 
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことエスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことYoshitaka Kawashima
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説増田 亨
 
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanフロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanItsuki Kuroda
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]DeNA
 
通信対戦ゲームを作った話
通信対戦ゲームを作った話通信対戦ゲームを作った話
通信対戦ゲームを作った話mipsparc
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜Unity Technologies Japan K.K.
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 

Mais procurados (20)

情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
 
Tackling Complexity
Tackling ComplexityTackling Complexity
Tackling Complexity
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
 
コミュニケーション戦略を前提にしたOutlookやTeams活用
コミュニケーション戦略を前提にしたOutlookやTeams活用コミュニケーション戦略を前提にしたOutlookやTeams活用
コミュニケーション戦略を前提にしたOutlookやTeams活用
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
 
いつやるの?Git入門
いつやるの?Git入門いつやるの?Git入門
いつやるの?Git入門
 
Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話Raspberry Pi + Go で IoT した話
Raspberry Pi + Go で IoT した話
 
衝突判定
衝突判定衝突判定
衝突判定
 
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことエスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanフロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
 
通信対戦ゲームを作った話
通信対戦ゲームを作った話通信対戦ゲームを作った話
通信対戦ゲームを作った話
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 

Semelhante a 「チーム開発実践入門」勉強会

アジャイルマネジメントとは?
アジャイルマネジメントとは?アジャイルマネジメントとは?
アジャイルマネジメントとは?Kiro Harada
 
ぶーすか道具箱を作ろう
ぶーすか道具箱を作ろうぶーすか道具箱を作ろう
ぶーすか道具箱を作ろうboostuposaka
 
ぶーすか道具箱を作ろう
ぶーすか道具箱を作ろうぶーすか道具箱を作ろう
ぶーすか道具箱を作ろうkomeshogu n
 
【視座】 “テーマの知恵から方法の知恵へ”  -それはWhatから始まる
【視座】 “テーマの知恵から方法の知恵へ”  -それはWhatから始まる 【視座】 “テーマの知恵から方法の知恵へ”  -それはWhatから始まる
【視座】 “テーマの知恵から方法の知恵へ”  -それはWhatから始まる Sapporo Sparkle k.k.
 
[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料Deep Learning JP
 
20120721_RxTstury05-LT
20120721_RxTstury05-LT20120721_RxTstury05-LT
20120721_RxTstury05-LTChiaki Nishi
 
DevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーション
DevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーションDevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーション
DevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーションRochelle Kopp
 
クラスメソッドから学ぶDevRel
クラスメソッドから学ぶDevRelクラスメソッドから学ぶDevRel
クラスメソッドから学ぶDevRelHoshitoNakamura1
 
Google BigQueryを使ってみた!
Google BigQueryを使ってみた!Google BigQueryを使ってみた!
Google BigQueryを使ってみた!Yusuke Wada
 
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』Insight Technology, Inc.
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方hibiki443
 
Treasure Agent Monitoring Service (ベータ)
Treasure Agent Monitoring Service (ベータ)Treasure Agent Monitoring Service (ベータ)
Treasure Agent Monitoring Service (ベータ)Treasure Data, Inc.
 
Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界Takahiro Inoue
 
超フランクにスクラムの大事なことの話をする
超フランクにスクラムの大事なことの話をする超フランクにスクラムの大事なことの話をする
超フランクにスクラムの大事なことの話をするYoichi Toyota
 
Itca yammer提案110615
Itca yammer提案110615Itca yammer提案110615
Itca yammer提案110615伸夫 森本
 
20140709 アジャイル開発勉強会
20140709 アジャイル開発勉強会20140709 アジャイル開発勉強会
20140709 アジャイル開発勉強会Katsunobu Harada
 
スモールリーダーシップ読書会ワークショップ
スモールリーダーシップ読書会ワークショップスモールリーダーシップ読書会ワークショップ
スモールリーダーシップ読書会ワークショップYukei Wachi
 
[DL Hacks]Visdomを使ったデータ可視化
[DL Hacks]Visdomを使ったデータ可視化[DL Hacks]Visdomを使ったデータ可視化
[DL Hacks]Visdomを使ったデータ可視化Deep Learning JP
 

Semelhante a 「チーム開発実践入門」勉強会 (20)

アジャイルマネジメントとは?
アジャイルマネジメントとは?アジャイルマネジメントとは?
アジャイルマネジメントとは?
 
ぶーすか道具箱を作ろう
ぶーすか道具箱を作ろうぶーすか道具箱を作ろう
ぶーすか道具箱を作ろう
 
ぶーすか道具箱を作ろう
ぶーすか道具箱を作ろうぶーすか道具箱を作ろう
ぶーすか道具箱を作ろう
 
社内勉強会(Git)
社内勉強会(Git)社内勉強会(Git)
社内勉強会(Git)
 
20050809
2005080920050809
20050809
 
【視座】 “テーマの知恵から方法の知恵へ”  -それはWhatから始まる
【視座】 “テーマの知恵から方法の知恵へ”  -それはWhatから始まる 【視座】 “テーマの知恵から方法の知恵へ”  -それはWhatから始まる
【視座】 “テーマの知恵から方法の知恵へ”  -それはWhatから始まる
 
[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料
 
20120721_RxTstury05-LT
20120721_RxTstury05-LT20120721_RxTstury05-LT
20120721_RxTstury05-LT
 
DevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーション
DevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーションDevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーション
DevLOVE関西 2017年3月25日 ロッシェル・カップのプレゼンテーション
 
クラスメソッドから学ぶDevRel
クラスメソッドから学ぶDevRelクラスメソッドから学ぶDevRel
クラスメソッドから学ぶDevRel
 
Google BigQueryを使ってみた!
Google BigQueryを使ってみた!Google BigQueryを使ってみた!
Google BigQueryを使ってみた!
 
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
[db tech showcase Tokyo 2018] #dbts2018 #D1L 『"何が必要?どう実現?"~異種DB間データリアルタイム連携』
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
 
Treasure Agent Monitoring Service (ベータ)
Treasure Agent Monitoring Service (ベータ)Treasure Agent Monitoring Service (ベータ)
Treasure Agent Monitoring Service (ベータ)
 
Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界
 
超フランクにスクラムの大事なことの話をする
超フランクにスクラムの大事なことの話をする超フランクにスクラムの大事なことの話をする
超フランクにスクラムの大事なことの話をする
 
Itca yammer提案110615
Itca yammer提案110615Itca yammer提案110615
Itca yammer提案110615
 
20140709 アジャイル開発勉強会
20140709 アジャイル開発勉強会20140709 アジャイル開発勉強会
20140709 アジャイル開発勉強会
 
スモールリーダーシップ読書会ワークショップ
スモールリーダーシップ読書会ワークショップスモールリーダーシップ読書会ワークショップ
スモールリーダーシップ読書会ワークショップ
 
[DL Hacks]Visdomを使ったデータ可視化
[DL Hacks]Visdomを使ったデータ可視化[DL Hacks]Visdomを使ったデータ可視化
[DL Hacks]Visdomを使ったデータ可視化
 

Mais de Yu Ishikawa

Introduction to Polyaxon
Introduction to PolyaxonIntroduction to Polyaxon
Introduction to PolyaxonYu Ishikawa
 
2017 09-27 democratize data products with SQL
2017 09-27 democratize data products with SQL2017 09-27 democratize data products with SQL
2017 09-27 democratize data products with SQLYu Ishikawa
 
2016-06-15 Sparkの機械学習の開発と活用の動向
2016-06-15 Sparkの機械学習の開発と活用の動向2016-06-15 Sparkの機械学習の開発と活用の動向
2016-06-15 Sparkの機械学習の開発と活用の動向Yu Ishikawa
 
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016Yu Ishikawa
 
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群Yu Ishikawa
 
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame IntroductionYu Ishikawa
 
2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indixYu Ishikawa
 
BdasとSpark概要
BdasとSpark概要BdasとSpark概要
BdasとSpark概要Yu Ishikawa
 
Hadoop conference 2013winter_for_slideshare
Hadoop conference 2013winter_for_slideshareHadoop conference 2013winter_for_slideshare
Hadoop conference 2013winter_for_slideshareYu Ishikawa
 
2012 02-02 mixi engineer's seminor #3
2012 02-02  mixi engineer's seminor #32012 02-02  mixi engineer's seminor #3
2012 02-02 mixi engineer's seminor #3Yu Ishikawa
 

Mais de Yu Ishikawa (10)

Introduction to Polyaxon
Introduction to PolyaxonIntroduction to Polyaxon
Introduction to Polyaxon
 
2017 09-27 democratize data products with SQL
2017 09-27 democratize data products with SQL2017 09-27 democratize data products with SQL
2017 09-27 democratize data products with SQL
 
2016-06-15 Sparkの機械学習の開発と活用の動向
2016-06-15 Sparkの機械学習の開発と活用の動向2016-06-15 Sparkの機械学習の開発と活用の動向
2016-06-15 Sparkの機械学習の開発と活用の動向
 
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 20162016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
2016-02-08 Spark MLlib Now and Beyond@Spark Conference Japan 2016
 
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
2015-11-17 きちんと知りたいApache Spark ~機械学習とさまざまな機能群
 
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
2015 03-12 道玄坂LT祭り第2回 Spark DataFrame Introduction
 
2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix
 
BdasとSpark概要
BdasとSpark概要BdasとSpark概要
BdasとSpark概要
 
Hadoop conference 2013winter_for_slideshare
Hadoop conference 2013winter_for_slideshareHadoop conference 2013winter_for_slideshare
Hadoop conference 2013winter_for_slideshare
 
2012 02-02 mixi engineer's seminor #3
2012 02-02  mixi engineer's seminor #32012 02-02  mixi engineer's seminor #3
2012 02-02 mixi engineer's seminor #3
 

Último

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Último (8)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

「チーム開発実践入門」勉強会