SlideShare una empresa de Scribd logo
1 de 126
CI Boot Camp
                 ワークショップ1
                       今給黎 隆

http://www.slideshare.net/imagire/cibc-workshop-by-imagire
             今回のワークショップには罠が仕掛けてあります。
             この通り試しても失敗しますので注意してください。
       ま、間違っていたのを直すのが面倒くさいからってわけじゃないんだから!
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
•   アジャイル×チケット駆動×テスト駆動開発
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
•   アジャイル×チケット駆動×テスト駆動開発
ALMiniumの設定
• ALMiniumにadminで入ります




    IPアドレスが変わっていたら、/opt/alminium/config/configuration.ymlを編集
プロジェクト作成
• 左上のプロジェクトを指定します
• 新しいプロジェクトを作成します
プロジェクトの作成
• 名称、識別子を
  設定
• SCMをGitに指定
 – Gitのリモート
   リポジトリが
   作成される
ユーザーの追加
• 管理のページへ飛ぶ
• ユーザの「新しいユーザ」から、ユーザー作成
GitのSSHの無効化(1/2)
• スタートメニューから、Git Bashを立ち上げる
• SSHを使用しない設定を行う
GitのSSHの無効化(2/2)
• 環境変数のシステム変数にも変数を追加
 – Jenkinsの               1
   ユーザー用




                  4

                      5
                              2


              3
Gitリポジトリをローカルにクローン
• Git Extensionsで「リポジトリのクローン」



                  リモートのリポジトリ名

                   ローカルのプロジェクトルート
       プロジェクト名でフォルダ作成
Gitリポジトリをローカルにクローン
• 成功するとその旨表示されます
Gitリポジトリをローカルにクローン
• クローンし終えると、メニューの多くが使える
  ようになります
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
•   アジャイル×チケット駆動×テスト駆動開発
Visual Studio プロジェクトの作成
• 目的:Makefileを用いたプロジェクトを作成
 – 理由:将来的に他のOSでも動かせれば
   • 今回の範囲外
新規プロジェクトの作成
• ファイルメニューから新しいプロジェクトを作成
プロジェクト名の指定
• メイクファイルプロジェクトで作成する




           Gitのローカルリポジトリと同じことを確認
プロジェクトウィーザード (1/3)
• 概要を確認
プロジェクトウィーザード (2/3)
• Nmakeをビルドツールに指定
プロジェクトウィーザード (3/3)
• リリースの構成は、一先ずデバッグと同じに
  する
ソースファイルの追加
• ソリューションエクスプローラーを右クリックし
  て、新しい項目を追加
メインファイルの追加
• C++ファイルとして追加
メイン関数の作成
• メイン関数を追加
makefileの作成
• C++のファイルと同じ場所に「Makefile」という
  名前でテキストファイルを作成
Makefileの作成
• cppファイルからexeファイルが作成されるよう
  にmakefileを作成
 – ネットなどからコピー
• コンパイルする!
アプリらしくしてみる
• Hello worldを表示してみる。
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
•   アジャイル×チケット駆動×テスト駆動開発
Gitリポジトリにpush
• 目的:最低限のファイルが出来たので、リ
  モートリポジトリで管理し始める
コミット
• Git Extensionsで、コミットを押す
コミットするファイルの選択
• Exeファイルの生成に必要なファイルだけ選択
コミットメッセージの作成
• 今回の変更内容を記述してコミット
コミット!
• ローカルのリポジトリでのコミットが行われる
リポジトリの確認
• コミットすると、そのことが画面に記される
Developブランチの作成
• 開発のマスターのdevelopブランチを作成して
  おきましょう
Developブランチの作成
• 派生元とブランチ名を決めて作成
Developブランチの作成
• 作成すると、結果がダイアログ表示されます
Developブランチの完成
• 完成すると、developブランチも表示されます
リモートリポジトリの設定
• コミットする際のパスワードを指定します
 – メニューの「リモート」-「リモートリポジトリの管理」
   を選択
 – URLに「https://ユーザー名:パスワード@gitサー
   バー名/git/プロジェクト名」を設定
リモートリポジトリにpush
• ローカルの変更をリモートに反映させる
push確認
• 更新確認ダイアログを経て更新します
 – (図はdevelopのpush)
Push後
• だいぶ華やかになります
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
•   アジャイル×チケット駆動×テスト駆動開発
Jenkinsによるビルド
• 目的:gitに置かれたプロジェクトをjenkinsでビ
  ルドします
Git pluginのインストール
• Jenkinsの管理から「プラグインの管理」を選択
Git pluginのインストール
• Git pluginを選択してインストール
インストール画面
• 後は、インストールの進捗を待ちます
Git Pluginの設定
• システムの設定に入る、Gitの設定項目のプ
  ログラムパスを指定する必要があります
プロジェクトの作成
• 新規ジョブ作成から、フリースタイルでプロ
  ジェクトを作成します
プロジェクトの設定 (1/2)
• ソースコード管理システムでgitを選択し、リポ
  ジトリとブランチを設定します




           http://ユーザー名:パスワード@サーバー/git/プロジェクト名
プロジェクトの設定 (2/2)
• 設定項目の下の部分でビルドコマンドを指定
  します

             vcvars32.bat: パスなどの指定
プロジェクト完成
• 画面にプロジェクトが表示されます
ビルド
• 「ビルド実行」でビルドを行うことができます
ビルドの確認
• ビルドの履歴を選択すると、ビルド結果の画
  面に飛びます
コンソール出力
• ビルドのページの「コンソール出力」で実行処
  理を確認することができます
成果物
• プロジェクトページに戻り、「ワークスペース」
  を見ると、ローカルのワークスペースの状態
  が確認できます
      Jenkinsでの
         ビルド
       完成です!
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
    –   生成されたファイルを配る
    –   成功したビルドをマスターにコミット
    –   Gitのpushによりjenkinsを走らせる
    –   エラーをメールで通知する
• Unit テスト
• アジャイル×チケット駆動×テスト駆動開発
自動デプロイ
• 目的:ビルドに成功した成果物を所定の場所
  に配布します
 – 今回の配布場所はALMiniumからダウンロードで
   きる場所
SCPプラグインのインストール
• ALMiniumのサーバーにSSHでアクセスするた
  めのプラグインをインストールします
Jenkinsの設定
• 「Jenkinsの管理」-「システムの設定」からSCP
  プラグインの設定をします
プロジェクトの設定 (1/2)
• Jenkinsのプロジェクトページの「設定」から、
  「ビルド後の処理の追加」で、「成果物をSCPリ
  ポジトリに公開」を選択します
プロジェクトの設定 (2/2)
• 成果物(バイナリ)をALMiniumサーバーの
  「/opt/alminium/public/test」以下に置く設定
  をします
フォルダの作成
• ALMiniumサーバーの方では、その場所がな
  いので、ディレクトリを作成して、書き込めるよ
  うにします
ビルドの実行
• 以上で、ビルドを行うと、exeを作成した後に
  ファイルの転送が行われます
ALMiniumの設定
• ALMiniumのプロジェクトのwikiのページに
  リンクを追加します
ALMiniumから取得
• Wikiのページからダウンロードできるように
  なっているはずです!

      Jenkinsでの
      自動デプロイ
       完成です!
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
    –   生成されたファイルを配る
    –   成功したビルドをマスターにコミット
    –   Gitのpushによりjenkinsを走らせる
    –   エラーをメールで通知する
• Unit テスト
• アジャイル×チケット駆動×テスト駆動開発
Jenkinsのビルド時にマージ
• JenkinsのプロジェクトのGitの「高度な設定」
 – Developから
   masterへ
ビルド後の処理の追加
• GitPublisherを追加
  – 成功したら、masterをorigin(CentOSのリポジトリ)へpush
実験:プログラムの拡張
• キーが押されると終了するようにしてみよう
変更をコミット & プッシュ
プッシュ結果
• ローカルとオリジンのdevelopが更新
Jenkinsのビルドを実行
• ビルド前にマスターへのマージ
• ビルド後にリモートへプッシュ
更新の確認
• Pullを実行
origin/masterの更新の確認
• リモートブランチが同じ場所にいる事を確認
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
    –   生成されたファイルを配る
    –   成功したビルドをマスターにコミット
    –   Gitのpushによりjenkinsを走らせる
    –   エラーをメールで通知する
• Unit テスト
• アジャイル×チケット駆動×テスト駆動開発
Gitの変更を監視する
• Jenkinsのプロジェクトの設定のからgitを監視
 – 「SCMをポーリング」にチェック
 – Cronと同じ形式で時間を設定
   • 「分 時 日 月 曜日」の指定
   • 「*/5 * * * *」は5分おき
バックログを使ってみよう
• ALMiniumにバックログを追加
 – 「管理」-「設定」
ストーリーを追加
• プロジェクトの「バックログ」を選択
• プロダクトバックログから新しいストーリーを
  追加
ストーリーの追加
• プロジェクトの「チケット」にも項目が追加
• メールも来る!
実装
• Gitで管理したくないファイルは、右クリックの
  「このファイルを無視」から「.gitignoreに登録」
  します
 – 自動生成されるファイル
 – 自分専用のファイル
作成された.gitignoreをプッシュ
• コメントに「(ref #タスクの番号)」を付ける
Jenkinsの自動更新
• 5分以内にjenkinsがビルドを実行
チケットの確認
• 「リポジトリ」でマスターの更新を確認
• 「#1」のリンクからチケットに飛べる
チケットの終了
• チケットのステータスを
  「終了」に変更
 – メールも飛んでくる
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
    –   生成されたファイルを配る
    –   成功したビルドをマスターにコミット
    –   Gitのpushによりjenkinsを走らせる
    –   エラーをメールで通知する
• Unit テスト
• アジャイル×チケット駆動×テスト駆動開発
エラー時の通知の設定
• Jenkinsの設定からE-mail通知の項目を設定
• 「設定を確認」から正しく送れるか確認
エラー時の通知の設定
• プロジェクトの「設定」の
  ビルド後の処理の追加
 – E-mail通知
• 宛先を設定
エラー通知の検証
• わざとエラーを作成




 エラー作成    コミット&プッシュ   ビルド失敗




              エラー通知
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
    – Unitテスト導入計画
    – Google Testの組み込み
    – Jenkinsでのテストの実行
• アジャイル×チケット駆動×テスト駆動開発
スクラム的なプロジェクト管理
• ALMinium のバックログから、要求のリストを
  をストーリーとして作成する




                   見積もりは今回は適当
スプリントバックログの作成
• 「新しいスプリント」を追加
 – 名前は「Sprint #」と付ける
 – 本当は、固定期間の開始日、終了日を付ける



• ストーリーをD&Dでスプリントに移動
 – 本来は自分で出来ると信じられる限界量を移動
かんばんでタスクを追加
• かんばんを開く
• ストーリーをタスクに分解
かんばん
• タスクの進行に応じて移動させることで
  進捗管理を行う
 – タスクの位置
 – 残っているタスクの数
• 「スプリント障害事項」には、解決すべき問題
  をストーリーとしてタスクを追加し管理する


 チケット番号
Git のブランチ作成
• 分岐したい場所から
  右クリック
• メニューから「ブランチの
  作成」を選択
• 「story/#チケット番号」
  でブランチ作成
• ブランチ作成と共に
  そのブランチに移動
ALMiniumとGitの連動
• ブランチ名をチケット番号に結び付けると
  チケットを見た時に、Gitのコミットが自動表示
Story ブランチでの開発
• 通常はストーリーブランチで開発を行う
 – タスク単位でコミットすると良い
• ストーリーが完成した時にdevelopにマージする
               タスクが出来たらコミット
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
    – Unitテスト導入計画
    – Google Testの組み込み
    – Jenkinsでのテストの実行
• アジャイル×チケット駆動×テスト駆動開発
Google Testのダウンロード
• Google code からgtest-1.6.0.zipをダウンロード
Google Testのインストール
• Program Files等に展開
ファイルの属性の変更
• ライブラリを作成するので、「msvcフォルダ」の
  リードオンリー属性を外す
ライブラリの作成
• 実はそのままでは
  上手くライブラリ
  ファイルが作れな
  いので、ヘッダファ
  イルを修正




   http://srz-zumix.blogspot.jp/2012/03/visual-studio-11-beta-google-test.html
ライブラリ用のプロジェクトファイルの
       読み込み
• 「gtest-1.6.0/msvc/ gtest.sln 」を開く
  – VCのバージョンが古いもので作られているので、
    ソリューションのアップグレードが行われる
ライブラリファイルのビルド
• ビルドを行うと、「 gtest-1.6.0/msvc/gtest」以下
  にターゲットごとにライブラリが作成される



• 「lib」ディレクトリを適当に作って集約しておく
アプリケーションの設定
• アプリケーションのプロパティマネージャーを
  開く
include、libフォルダの設定
• プロパティマネージャーのuserプロパティペー
  ジからインクルード、ライブラリディレクトリを
  指定
ディレクトリの追加の結果
• これにより、ファイル名だけで呼び出しが可能
  になる
テストプログラムの作成
                                      テストを有効にするフラグ

                                       テストを動かすためのヘッダ
• 「UNIT_TEST」というdefineで                   ライブラリをリンクする

  テスト関数か、普通の処理か
  切り替える
• 追加項目
                                           テスト対象の関数




 – main関数でのおまじない
                          グループ名 個別のテスト名
 – テスト関数 TEST              等しい?
                                             テスト関数


   • 呼び出しは、自動で行われる
 – 非テスト関数                               Google testを呼び出す
                                        おまじない

 – ヘッダとライブラリの読み込み                 テストしないときは、その後を実行
実行結果
• わざとエラーを出すようにすると、このような
  結果になる
正常時
• エラーを直して実行するとオールグリーンに
メイクファイルの作成
• 2つのexeが作れるように2つのターゲットを定義

                       Google test以外のインクルード、ライブラリの記述も必要



                     最初に通常アプリケーションを記述




     Dオプションでフラグを定義
アプリケーションのビルド
• プロジェクトディレクトリで引数なしでアプリが
  作成
テストプログラムのビルド
• test の引数のビルドでテストプログラム作成
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
    – Unitテスト導入計画
    – Google Testの組み込み
    – Jenkinsでのテストの実行
• アジャイル×チケット駆動×テスト駆動開発
マージ
• Story ブランチのdevelopへの
  マージは、developブランチに
  移動してから「ブランチのマージ」
  を実行します
  – 今回のようにデプロイの構築を
    する際は、ストーリーが完了して
    いなくてもマージする場合もあります
マージ結果
• マージがoriginに正常にpushされると
  GitExtensionsと同じように、ALMiniumでも
  「リビジョン」を見るとブランチがマージされた
  事が確認できます




                       諸事情により、少し異なる履歴になっております
テストアプリの作成
• バッチコマンドで、testの引数を追加した
  ビルドを加えることで、テストアプリも作成でき
  ます
テストアプリの実行
• 作成したアプリを実行することもできます
テスト結果の出力
• Google testでは、「--gtest_output」で、XML
  ファイルで結果を出力できます。
テスト結果の集計
• 「JUnitテスト結果の集計」がgoogle testでも!
 – プロジェクトの「設定」から「ビルド後の処理の追
   加」でJunitテスト結果の集計を選択
 – 出力したxmlファイルを指定
 – ビルド後に「テスト結果」をみて悦に浸る
ワークショップ課題
•   Gitリポジトリの作成
•   Visual Studio プロジェクトの作成
•   Gitリポジトリにpush
•   Jenkinsによるビルド
•   自動デプロイ
•   Unit テスト
•   アジャイル×チケット駆動×テスト駆動開発
アジャイルな開発
• 小さくリリース出来る単位で分解
 – ストーリー:一日から数日:ブランチの単位
 – タスク:数時間:コミットの単位
• ストーリーは依存性を排除
 – UI、ビジネスロジック等の単位で作らずに成果物
   を単位とする
• ストーリー、タスクに見積もりを立てて、リリー
  ス計画が立てられるようにする
• ストーリーに優先順位を付け、優先順位の高
  いものから実装
チケット駆動開発
• チケットをプロジェクトの情報の中心とする
• チケットによる作業の割り振りと進捗管理
• チケットなしのコミットは禁止とする
  – No Ticket, No Commit!

• ワークフロー
  –   大まかなリリース計画を作る
  –   仕事を細かいタスクに分割し、チケットを発行する
  –   イテレーション単位でタスクをまとめて、イテレーション計画を作る
  –   タスクを一つ選び、実装する
  –   差分をコミットし、完了する。(チケットのクローズ)
  –   イテレーションに紐づくタスクがすべて終了ステータスになるとリリースする。
  –   リリース後、開発チームで作業をふりかえる。
  –   次のイテレーション計画へ顧客の要望やふりかえりの内容を反映する。
テスト駆動開発
• 黄金の回転
 – 失敗するテストを書く
 – テストに合格する実装を書く
 – リファクタリング
           き
           れ
           い




           汚
           い


                   動かない   動く
アジャイル×チケット駆動×テスト駆動開発
1.    ストーリーを書きだす
2.    ストーリーに優先順位を付ける
3.    ストーリーに見積もりを付ける
4.    スプリントで頑張れるストーリー量を推定する
5.    ストーリーをタスクに分解
6.    タスクにかかる時間を付ける
7.    スプリントで頑張れるストーリー量を宣言する
8.    毎日の最初は朝会
     1.   自分が行うタスクを宣言(と、したこと、気になる点の報告)
     2.   残りタスク時間をトラッキング
     3.   改善アクションの確認
9.    タスクのチケットを上から順番に手を付ける
     1.   テストを書く
     2.   実装を書く
     3.   リファクタリングする
     4.   チケットを閉じる
10. 最後に、完成済みのストーリーについてデモ
11. ふりかえりを行い、次のスプリントで実行する改善案を決める
お題
• カレンダーを作成しよう
 – ストーリー案
  •   今月の日数を表示
  •   入力した月の日数を表示
  •   入力した月の曜日を表示
  •   表示をマトリックスで出す
  •   土日は色を変える
  •   祝日も分かるように表示する
  •   (この後は自分達で考えよう!)
タスクの分解
• 今月の日数を表示
 – 日数を表示する
     • 数自体はコードに埋め込む
     • テストは、期待値を文字列として比較
• 月の入力ができるようにする
 –   キーボード入力を受け付ける
 –   受け付けた値を数値として認識する
 –   数値から、月の日数を計算する
 –   年の入力がない時は今年と判定する
 –   閏年も考慮する(グレゴリオ暦の範囲は気にしなくて
     いいか…)
ありがとうございました
• 参考
 – かんばん!~もし女子高生がRedmineで「スクラム」開発をしたら
   • http://www.atmarkit.co.jp/fjava/index/index_scrum.html
 – ブログズミ
   • http://srz-zumix.blogspot.jp/
 – その他、各アプリケーションのページや先人の記録
   で今回のワークは出来上がりました

Más contenido relacionado

Destacado

第11回 scrum boot camp in NII ワークショップ
第11回 scrum boot camp in NII ワークショップ第11回 scrum boot camp in NII ワークショップ
第11回 scrum boot camp in NII ワークショップ
Takashi Imagire
 
ゲーム作りから導くスクラムマネージャー
ゲーム作りから導くスクラムマネージャーゲーム作りから導くスクラムマネージャー
ゲーム作りから導くスクラムマネージャー
Takashi Imagire
 

Destacado (7)

つくる○アジャイル
つくる○アジャイルつくる○アジャイル
つくる○アジャイル
 
The SGGX Microflake Distribution 実装
The SGGX Microflake Distribution 実装The SGGX Microflake Distribution 実装
The SGGX Microflake Distribution 実装
 
第11回 scrum boot camp in NII ワークショップ
第11回 scrum boot camp in NII ワークショップ第11回 scrum boot camp in NII ワークショップ
第11回 scrum boot camp in NII ワークショップ
 
くじびきイテレーション for アジャイルサムライ横浜道場
くじびきイテレーション for アジャイルサムライ横浜道場くじびきイテレーション for アジャイルサムライ横浜道場
くじびきイテレーション for アジャイルサムライ横浜道場
 
GDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスGDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックス
 
ゲーム作りから導くスクラムマネージャー
ゲーム作りから導くスクラムマネージャーゲーム作りから導くスクラムマネージャー
ゲーム作りから導くスクラムマネージャー
 
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
 

Similar a CIBC workshop by imagire

第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会
kunimiya
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
Takashi Imagire
 

Similar a CIBC workshop by imagire (20)

恋するJenkins
恋するJenkins恋するJenkins
恋するJenkins
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
Jenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみようJenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみよう
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
SCM, CI and Maven Repo
SCM, CI and Maven RepoSCM, CI and Maven Repo
SCM, CI and Maven Repo
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Jenkinsstudy#4kokawa
Jenkinsstudy#4kokawaJenkinsstudy#4kokawa
Jenkinsstudy#4kokawa
 
Git 20100724
Git 20100724Git 20100724
Git 20100724
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発 ブラウザだけで学ぶWebアプリ開発
ブラウザだけで学ぶWebアプリ開発
 
今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 

Más de Takashi Imagire

スクラム道場.10 朝会 (Game Community Summit 2013)
スクラム道場.10 朝会 (Game Community Summit 2013)スクラム道場.10 朝会 (Game Community Summit 2013)
スクラム道場.10 朝会 (Game Community Summit 2013)
Takashi Imagire
 
好きなことをしようAction! pub
好きなことをしようAction! pub好きなことをしようAction! pub
好きなことをしようAction! pub
Takashi Imagire
 

Más de Takashi Imagire (20)

『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
 
2件のHPG18 ショートペーパーの説明
2件のHPG18 ショートペーパーの説明2件のHPG18 ショートペーパーの説明
2件のHPG18 ショートペーパーの説明
 
コミケでのゲームエンジン2017
コミケでのゲームエンジン2017コミケでのゲームエンジン2017
コミケでのゲームエンジン2017
 
同人ゲーム開発におけるゲームエンジンの現状
同人ゲーム開発におけるゲームエンジンの現状同人ゲーム開発におけるゲームエンジンの現状
同人ゲーム開発におけるゲームエンジンの現状
 
Chroma blur (日本語での説明)
Chroma blur (日本語での説明)Chroma blur (日本語での説明)
Chroma blur (日本語での説明)
 
ソフトウェアだんどり
ソフトウェアだんどりソフトウェアだんどり
ソフトウェアだんどり
 
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
 
ゲームエンジンの歴史概要
ゲームエンジンの歴史概要ゲームエンジンの歴史概要
ゲームエンジンの歴史概要
 
(人狼知能合宿)ビデオゲームへの人狼知能の応用について
 (人狼知能合宿)ビデオゲームへの人狼知能の応用について (人狼知能合宿)ビデオゲームへの人狼知能の応用について
(人狼知能合宿)ビデオゲームへの人狼知能の応用について
 
ゲームテストへの新しいアプローチ
 ゲームテストへの新しいアプローチ ゲームテストへの新しいアプローチ
ゲームテストへの新しいアプローチ
 
LeSS Study [2015/Dec./16] 資料(公開版)
LeSS Study [2015/Dec./16] 資料(公開版)LeSS Study [2015/Dec./16] 資料(公開版)
LeSS Study [2015/Dec./16] 資料(公開版)
 
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
 
SGGXマイクロフレーク分布
SGGXマイクロフレーク分布SGGXマイクロフレーク分布
SGGXマイクロフレーク分布
 
すべての優先度が1の時の優先順位の決め方
すべての優先度が1の時の優先順位の決め方すべての優先度が1の時の優先順位の決め方
すべての優先度が1の時の優先順位の決め方
 
くじびきイテレーション
くじびきイテレーションくじびきイテレーション
くじびきイテレーション
 
実践的ふりかえり (SAPPORO CEDEC 2014)
実践的ふりかえり (SAPPORO CEDEC 2014)実践的ふりかえり (SAPPORO CEDEC 2014)
実践的ふりかえり (SAPPORO CEDEC 2014)
 
無料な継続的出版システム ~ t-ceremony ~
無料な継続的出版システム ~ t-ceremony ~無料な継続的出版システム ~ t-ceremony ~
無料な継続的出版システム ~ t-ceremony ~
 
TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講
 
スクラム道場.10 朝会 (Game Community Summit 2013)
スクラム道場.10 朝会 (Game Community Summit 2013)スクラム道場.10 朝会 (Game Community Summit 2013)
スクラム道場.10 朝会 (Game Community Summit 2013)
 
好きなことをしようAction! pub
好きなことをしようAction! pub好きなことをしようAction! pub
好きなことをしようAction! pub
 

Último

Último (12)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

CIBC workshop by imagire