Top Banner
情報メディア専門ユニット2 KinectC#を用いた 実践的VRアプリ開発 2神奈川工科大学 情報学部 情報メディア学科 白井研究室 白井暁彦 准教授
34

KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

Apr 14, 2017

Download

Education

Akihiko Shirai
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

情報メディア専門ユニット2KinectとC#を用いた実践的VRアプリ開発

第2回

神奈川工科大学情報学部

情報メディア学科 白井研究室

白井暁彦准教授

Page 2: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

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編

バージョン管理システム「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編

プログラム開発のこんな場面で

ソースコードの状態をひとつ前に戻したい

一部仕様を変えて試したいけど,今の状態を壊したくない

今までどんな実装を加えて追加してきたのかを振り返りたい

プロジェクトの改変履歴を管理できる

記録された任意のバージョンにいつでも戻れる

今の状況を壊さずに,試行錯誤ができる

ログを見ることで,作業内容を見直せる

バージョン管理システムではこれらのことが可能

バージョン管理システムとは

Page 5: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

ソフトウェア開発プロジェクトのために共有Webサービス

バージョン管理システム“Git”を使用

リポジトリ(データを格納する容器・場所)単位でプロジェクトを管理

GitHub書類選考

ポートフォリオとしての活用

本講義はGitHubを活用して,プロジェクト進行,課題提出を行う

GitHubとは

Page 6: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

https://github.com/

まずは,アカウントを作成しよう

まずはアカウントを作ろう

Page 7: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

その後のMicroプラン申請のために学籍番号メール(~ac.jp)で,

登録すると便利.

Microプランを申請すると,有料会員でないと持つことができない機能(非公開リポジトリの所有)が一部無料で使用可能になる.

GitHubのアカウント作成

Page 8: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

以下の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編

Microプランの申請

選択

Page 10: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

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編

Microプラン申請

Page 12: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

GitHub for Windows

https://windows.github.com/

上記のURLから,GitHub for Windowsのインストーラー(GitHubSetup.exe)をダウンロード

ここから

Page 13: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

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編

“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編

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編

リポジトリとは,ファイルやディレクトリの状態を記録する場所.

内容や変更履歴を記録

変更履歴を管理をしたいディレクトリをリポジトリに置くことで

そのディレクトリ内のファイルやディレクトリの変更履歴を記録し

管理することが可能

リポジトリとは①

Page 17: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

リポジトリは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編

ローカルリポジトリで実験①左上の“+”から“Create”を選択し新規リポジトリを作成Nameはフォルダ名であり,プロジェクト名などにするとよいファイルの保管場所はデフォルトではDocuments/GitHub/に

Page 19: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

ローカルリポジトリで実験②

以下の図のようにリポジトリができていることを確認

Page 20: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

ローカルリポジトリで実験③

ドキュメントにGitHubが追加され,その中に作成したリポジトリがあることを確認

ディレクトリ内にある,“.git~”で始まるファイルは削除しないこと

設定ファイルがなくなりリポジトリが機能しなくなるGitignoreで管理しないファイルを設定

Page 21: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

ファイルやディレクトリの追加・変更を,リポジトリに記録する操作

コミットをすると,前回コミットした時の状態と現在の状態の差分を記録したコミットと呼ばれるものが作成される

コミットは時系列順にリポジトリに格納される

時系列を追うことで,過去の変更履歴やその内容を知ることができる.

コミット(commit)

Page 22: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

ローカルリポジトリ コミットされた,変更履歴や追加・変更を保存する場所

ファイル形式のデータベースになっている(.gitフォルダ)

ワークツリー Gitの管理化におかれた,実際に個人のPCで作業するディレクトリ

インデックス

ワークツリーで変更・更新したファイル・ディレクトリをリポジトリにコミットする準備をするための場所

GUI版もあるが、GitShellやCUIを使うほうが覚えやすい

ワークツリーとインデックス

Page 23: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

CUIでの操作

コマンドはLinux,

Unix, Mac OSX共通

GitShell

Page 24: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

Git command

Page 25: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

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編
Page 27: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

学内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編

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編

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編

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編

git push

ローカルリポジトリのデータをリモートリポジトリに反映

[master]が青色に変わるローカルリポジトリとリモートリポジトリで差分がないことを示している.

GithubのWebで見て確認

リモートリポジトリで共有

Page 32: KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編

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編

念のため 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編

今回作成した課題1~3のプログラミング技術を応用して「クッキークリッカー」を作成せよhttp://orteil.dashnet.org/cookieclicker/

<必須>

グラフィックスは不要(ババア不要)

アイテムも凝る必要はない(3段目程度でよし)

すっげーたくさんの数字を扱うにはどうしたらいいか!!?

Save, Load

<上を目指す人>

・実績管理などもあるとよし ・クッキーやアイテムのグラフィックス

Kinect2015/CookieClicker/(学籍番号) で提出

10/13(第2回)の課題