kinectとc#を用いた実践的vrアプリ開発 第2回 2015/10/13 github cli編
TRANSCRIPT
![Page 1: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/1.jpg)
情報メディア専門ユニット2KinectとC#を用いた実践的VRアプリ開発
第2回
神奈川工科大学情報学部
情報メディア学科 白井研究室
白井暁彦准教授
![Page 2: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/2.jpg)
Kinect演習用FaceBookページへの参加申請
https://www.facebook.com/groups/media.kinect/members/
Githubへの登録
Kinect SDK for Windows 1.8 , Developer Toolkitのインストール
演習を開始する前に
![Page 3: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/3.jpg)
バージョン管理システム「GitHub」
KinectSDK v1.8, Developer Toolkit v1.8をインストール
Kinect SDK v1.8を紐解こう
C# ウォーミングアップ
C# WPFを使ってアプリケーションを制作しよう(課題)
制作したシステムをGitHubを利用して提出(課題)
10/7 #1 講義内容
![Page 4: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/4.jpg)
プログラム開発のこんな場面で
ソースコードの状態をひとつ前に戻したい
一部仕様を変えて試したいけど,今の状態を壊したくない
今までどんな実装を加えて追加してきたのかを振り返りたい
プロジェクトの改変履歴を管理できる
記録された任意のバージョンにいつでも戻れる
今の状況を壊さずに,試行錯誤ができる
ログを見ることで,作業内容を見直せる
バージョン管理システムではこれらのことが可能
バージョン管理システムとは
![Page 5: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/5.jpg)
ソフトウェア開発プロジェクトのために共有Webサービス
バージョン管理システム“Git”を使用
リポジトリ(データを格納する容器・場所)単位でプロジェクトを管理
GitHub書類選考
ポートフォリオとしての活用
本講義はGitHubを活用して,プロジェクト進行,課題提出を行う
GitHubとは
![Page 7: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/7.jpg)
その後のMicroプラン申請のために学籍番号メール(~ac.jp)で,
登録すると便利.
Microプランを申請すると,有料会員でないと持つことができない機能(非公開リポジトリの所有)が一部無料で使用可能になる.
GitHubのアカウント作成
![Page 8: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/8.jpg)
以下のURLからMicroプランを申請する
https://github.com/edu
I’m a studentを選択し,フォームに「大学名」「学年」「申請理由」を英語で記入する.
Microプランを申請することで、無料で公開可能なプライベートリポジトリを5つまで持つことができる.
運営側で認証後,メールが届き,Microプランにアップグレードがされる.
Microプランの申請
![Page 9: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/9.jpg)
Microプランの申請
選択
![Page 10: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/10.jpg)
https://edu.github.com※最近変わりました大学のメールアドレスから申請.作文パートの作文例↓
Dear Sir, My name is 自分のフルネーム and I am a student in Kanagawa Institute of Technology.
The reason why I am writing this email to you is I’d like to use Micro plan.I am going to study about Kinect Programming.So, I need private repositories to research and development.
I am looking forward to hearing from you.
Sincerely yours, 自分の名前
Microプランの申請
![Page 11: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/11.jpg)
Microプラン申請
![Page 12: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/12.jpg)
GitHub for Windows
https://windows.github.com/
上記のURLから,GitHub for Windowsのインストーラー(GitHubSetup.exe)をダウンロード
ここから
![Page 13: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/13.jpg)
Facebookの参加、グループへの参加申請
https://www.facebook.com/groups/media.kinect/
Github.comへの登録、education.github.comへの申請
メールアドレスの確認
Kinect SDK 1.8, Toolkitのインストール
Githubアカウントをfacebookの学籍番号ページで伝える
https://github.com/kaitas/kinect2015/にアクセス
KinectSDKとKinect本体をインストールしShapeGameをテスト
音声認識で Pause, Resume, Make biggerなどを試してみて
初回でやってほしいこと
![Page 14: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/14.jpg)
“Git Shell”,“GitHub”の2種類がインストールされる.
Git Shell:Git操作用シェル(CUI)
GitHub:GUIによるクライアントソフト
リポジトリの作成は,“GitHub”を
その後の更新などは“GitShell”利用します.
GitShellのCUIコマンドは,Linux,Unix,MacOSXで共通.
慣れるとGUIより早い.
GitHub for Windows
![Page 15: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/15.jpg)
ls 現在のディレクトリのリストを表示
explorer . (Windowsのファイルエクスプローラをここで起動)
cd change directory, 現在操作するディレクトリの移動
cd Kinect2015
cd .. 上のディレクトリに移動
mkdir (make directory) ディレクトリ作成
mkdir test
pwd現在のパス(位置)を確認する
notepad testfile.txt Windows「メモ帳」を起動して新規ファイル
rm testfile.txt 削除
cp a.txt b.txt (a.txtをb.txtに複製)
コマンドライン入門編
![Page 16: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/16.jpg)
リポジトリとは,ファイルやディレクトリの状態を記録する場所.
内容や変更履歴を記録
変更履歴を管理をしたいディレクトリをリポジトリに置くことで
そのディレクトリ内のファイルやディレクトリの変更履歴を記録し
管理することが可能
リポジトリとは①
![Page 17: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/17.jpg)
リポジトリは2種類存在する
リモートリポジトリ 専用のサーバーに配置して複数人で共有するためのリポジトリ
ローカルリポジトリ ユーザーひとりひとりが開発するために,自分のPC上に配置するリポジトリ(つまり自分のPCにあるソースのコピー)
ローカルリポジトリの操作(crate/add/remove/commit)
リモートリポジトリへの操作(clone/pull/push) リモートの内容をローカルへコピー(clone/pull)
ローカルで担当箇所を開発⇒リモートに変更を反映(push)
Github上の「Pull Request」で本家に吸い上げてもらう
リポジトリとは②
![Page 18: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/18.jpg)
ローカルリポジトリで実験①左上の“+”から“Create”を選択し新規リポジトリを作成Nameはフォルダ名であり,プロジェクト名などにするとよいファイルの保管場所はデフォルトではDocuments/GitHub/に
![Page 19: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/19.jpg)
ローカルリポジトリで実験②
以下の図のようにリポジトリができていることを確認
![Page 20: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/20.jpg)
ローカルリポジトリで実験③
ドキュメントにGitHubが追加され,その中に作成したリポジトリがあることを確認
ディレクトリ内にある,“.git~”で始まるファイルは削除しないこと
設定ファイルがなくなりリポジトリが機能しなくなるGitignoreで管理しないファイルを設定
![Page 21: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/21.jpg)
ファイルやディレクトリの追加・変更を,リポジトリに記録する操作
コミットをすると,前回コミットした時の状態と現在の状態の差分を記録したコミットと呼ばれるものが作成される
コミットは時系列順にリポジトリに格納される
時系列を追うことで,過去の変更履歴やその内容を知ることができる.
コミット(commit)
![Page 22: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/22.jpg)
ローカルリポジトリ コミットされた,変更履歴や追加・変更を保存する場所
ファイル形式のデータベースになっている(.gitフォルダ)
ワークツリー Gitの管理化におかれた,実際に個人のPCで作業するディレクトリ
インデックス
ワークツリーで変更・更新したファイル・ディレクトリをリポジトリにコミットする準備をするための場所
GUI版もあるが、GitShellやCUIを使うほうが覚えやすい
ワークツリーとインデックス
![Page 23: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/23.jpg)
CUIでの操作
コマンドはLinux,
Unix, Mac OSX共通
GitShell
![Page 24: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/24.jpg)
Git command
![Page 25: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/25.jpg)
My1stリポジトリにtest.txtを作成
Git shellを起動
cd My1st
git status
git add . (dot忘れずに!)
git status
git commit –m “my 1st commit”
Text.txtを書き換える
git status, git commit –m “my 2nd commit”
git diff
![Page 26: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/26.jpg)
![Page 27: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/27.jpg)
学内LANから利用するには,GitHub for windows側もproxy設定
をする必要がある.
C:¥Users¥ユーザー名¥.gitconfigに以下の設定を追加し,保存.
GitHub for windowsを再起動後,proxy環境でGitHub for windowsが利用できる ※proxyがない環境では,proxy設定をコメントアウトして使用すること.
先頭行に「#」を入れ無効にした後,アプリを起動しなおせばよい.
(参考)学内LANから利用するには
[http] proxy = http://ccproxyc.kanagawa-it.ac.jp:10080[https] proxy = http://ccproxyc.kanagawa-it.ac.jp:10080
![Page 28: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/28.jpg)
1. まずClone
2. ファイル修正
3. Sync (リモートとの差分確認)
4. Commit Changes + コミットメッセージ, 詳細これはローカルリポジトリへの変更の反映であってGithub(リモート)への変更ではない
5. うまくCommitできたら、SyncこれはGithubサーバーへのコミットを意味する。結構時間がかかるし、ステータスが見えないので事故がおきやすい
6. Github Web版で確認
☆すべてのGUIでの操作はCUI(GitShell)で行えるわかりづらいGUIは頼りにすべきではない.
GUIでの流れ
![Page 29: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/29.jpg)
1. git pull
リモートリポジトリ内のファイル・ディレクトリをローカルリポジトリへ追加
つまり自分が修正している間に加わった最新のファイルも追加される
2. git add [ファイル・ディレクトリ名]
指定したファイル・ディレクトリをインデックスに登録
普通は git add . で現在のリポジトリの修正ファイルを自動登録
3. git commit –m “メッセージ”
登録されたファイル・フォルダをローカルリポジトリにコミット
☆この時点ではまだリモートリポジトリには反映されていない.
4. git push
ローカルリポジトリ内のコミット情報をリモートリポジトリへ追加する
5. GithubのWebで確認
引く(pull) →足す(add)→コミット→押す(push)!!
超基本Gitコマンドと流れ(CloneもCUIでできるが、それ以降の流れ)
![Page 30: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/30.jpg)
1. Git (GUI) で Clone
2. GitShellを起動
3. Git管理下のディレクトリにアクセスcd Kinect2015
4. 念のためここで git pull
5. 新規ファイルをワークツリーに追加Kadai01ディレクトリ内に新規テキストファイルを追加
6. インデックスに登録 git add . ←ドット忘れずに!!
7. ローカルリポジトリへコミットGit commit –m “学籍番号 Kadai02”
8. 念のためここで git pull
9. リモートリポジトリで共有 git push
実際に使ってみよう
![Page 31: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/31.jpg)
git push
ローカルリポジトリのデータをリモートリポジトリに反映
[master]が青色に変わるローカルリポジトリとリモートリポジトリで差分がないことを示している.
GithubのWebで見て確認
リモートリポジトリで共有
![Page 32: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/32.jpg)
git pull リモートリポジトリ内のファイル・ディレクトリをローカルリポジトリへ追加
git status 現在のGitの情報を表示
git config ユーザー設定などを表示
git clone [cloneしたいリポジトリのURL] 個人のPCにリモートリポジトリをローカルリポジトリとしてコピーを生成
URLはGithubのリポジトリのトップページ、右下から取得できる。
他にもよく使うGitコマンド
![Page 33: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/33.jpg)
念のため git pull この瞬間にも誰かがコミット→pushしているかもしれないので最新をWebから取得し、結合しよう。
git commit –m “学籍番号” メッセージはこの場合は学籍番号だが、変更点などを示すとよい
[master]が緑色に変わる ローカルリポジトリ内での変更は完了しているがまだリモートリポジトリには反映されていない状態
ファイルの削除を反映させたい
git add –u git add . では追加と変更しかできないことに注意
TIPS
![Page 34: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編](https://reader034.vdocuments.us/reader034/viewer/2022051502/58efd2c21a28abc1318b4651/html5/thumbnails/34.jpg)
今回作成した課題1~3のプログラミング技術を応用して「クッキークリッカー」を作成せよhttp://orteil.dashnet.org/cookieclicker/
<必須>
グラフィックスは不要(ババア不要)
アイテムも凝る必要はない(3段目程度でよし)
すっげーたくさんの数字を扱うにはどうしたらいいか!!?
Save, Load
<上を目指す人>
・実績管理などもあるとよし ・クッキーやアイテムのグラフィックス
Kinect2015/CookieClicker/(学籍番号) で提出
10/13(第2回)の課題