情報メディア専門ユニット2 KinectとC#を用いた 実践的VRアプリ開発 第2回 神奈川工科大学 情報学部 情報メディア学科 白井研究室 白井暁彦 准教授
情報メディア専門ユニット2KinectとC#を用いた実践的VRアプリ開発
第2回
神奈川工科大学情報学部
情報メディア学科 白井研究室
白井暁彦准教授
Kinect演習用FaceBookページへの参加申請
https://www.facebook.com/groups/media.kinect/members/
Githubへの登録
Kinect SDK for Windows 1.8 , Developer Toolkitのインストール
演習を開始する前に
バージョン管理システム「GitHub」
KinectSDK v1.8, Developer Toolkit v1.8をインストール
Kinect SDK v1.8を紐解こう
C# ウォーミングアップ
C# WPFを使ってアプリケーションを制作しよう(課題)
制作したシステムをGitHubを利用して提出(課題)
10/7 #1 講義内容
プログラム開発のこんな場面で
ソースコードの状態をひとつ前に戻したい
一部仕様を変えて試したいけど,今の状態を壊したくない
今までどんな実装を加えて追加してきたのかを振り返りたい
プロジェクトの改変履歴を管理できる
記録された任意のバージョンにいつでも戻れる
今の状況を壊さずに,試行錯誤ができる
ログを見ることで,作業内容を見直せる
バージョン管理システムではこれらのことが可能
バージョン管理システムとは
ソフトウェア開発プロジェクトのために共有Webサービス
バージョン管理システム“Git”を使用
リポジトリ(データを格納する容器・場所)単位でプロジェクトを管理
GitHub書類選考
ポートフォリオとしての活用
本講義はGitHubを活用して,プロジェクト進行,課題提出を行う
GitHubとは
その後のMicroプラン申請のために学籍番号メール(~ac.jp)で,
登録すると便利.
Microプランを申請すると,有料会員でないと持つことができない機能(非公開リポジトリの所有)が一部無料で使用可能になる.
GitHubのアカウント作成
以下のURLからMicroプランを申請する
https://github.com/edu
I’m a studentを選択し,フォームに「大学名」「学年」「申請理由」を英語で記入する.
Microプランを申請することで、無料で公開可能なプライベートリポジトリを5つまで持つことができる.
運営側で認証後,メールが届き,Microプランにアップグレードがされる.
Microプランの申請
Microプランの申請
選択
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プランの申請
Microプラン申請
GitHub for Windows
https://windows.github.com/
上記のURLから,GitHub for Windowsのインストーラー(GitHubSetup.exe)をダウンロード
ここから
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などを試してみて
初回でやってほしいこと
“Git Shell”,“GitHub”の2種類がインストールされる.
Git Shell:Git操作用シェル(CUI)
GitHub:GUIによるクライアントソフト
リポジトリの作成は,“GitHub”を
その後の更新などは“GitShell”利用します.
GitShellのCUIコマンドは,Linux,Unix,MacOSXで共通.
慣れるとGUIより早い.
GitHub for Windows
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に複製)
コマンドライン入門編
リポジトリとは,ファイルやディレクトリの状態を記録する場所.
内容や変更履歴を記録
変更履歴を管理をしたいディレクトリをリポジトリに置くことで
そのディレクトリ内のファイルやディレクトリの変更履歴を記録し
管理することが可能
リポジトリとは①
リポジトリは2種類存在する
リモートリポジトリ 専用のサーバーに配置して複数人で共有するためのリポジトリ
ローカルリポジトリ ユーザーひとりひとりが開発するために,自分のPC上に配置するリポジトリ(つまり自分のPCにあるソースのコピー)
ローカルリポジトリの操作(crate/add/remove/commit)
リモートリポジトリへの操作(clone/pull/push) リモートの内容をローカルへコピー(clone/pull)
ローカルで担当箇所を開発⇒リモートに変更を反映(push)
Github上の「Pull Request」で本家に吸い上げてもらう
リポジトリとは②
ローカルリポジトリで実験①左上の“+”から“Create”を選択し新規リポジトリを作成Nameはフォルダ名であり,プロジェクト名などにするとよいファイルの保管場所はデフォルトではDocuments/GitHub/に
ローカルリポジトリで実験②
以下の図のようにリポジトリができていることを確認
ローカルリポジトリで実験③
ドキュメントにGitHubが追加され,その中に作成したリポジトリがあることを確認
ディレクトリ内にある,“.git~”で始まるファイルは削除しないこと
設定ファイルがなくなりリポジトリが機能しなくなるGitignoreで管理しないファイルを設定
ファイルやディレクトリの追加・変更を,リポジトリに記録する操作
コミットをすると,前回コミットした時の状態と現在の状態の差分を記録したコミットと呼ばれるものが作成される
コミットは時系列順にリポジトリに格納される
時系列を追うことで,過去の変更履歴やその内容を知ることができる.
コミット(commit)
ローカルリポジトリ コミットされた,変更履歴や追加・変更を保存する場所
ファイル形式のデータベースになっている(.gitフォルダ)
ワークツリー Gitの管理化におかれた,実際に個人のPCで作業するディレクトリ
インデックス
ワークツリーで変更・更新したファイル・ディレクトリをリポジトリにコミットする準備をするための場所
GUI版もあるが、GitShellやCUIを使うほうが覚えやすい
ワークツリーとインデックス
CUIでの操作
コマンドはLinux,
Unix, Mac OSX共通
GitShell
Git command
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
学内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
1. まずClone
2. ファイル修正
3. Sync (リモートとの差分確認)
4. Commit Changes + コミットメッセージ, 詳細これはローカルリポジトリへの変更の反映であってGithub(リモート)への変更ではない
5. うまくCommitできたら、SyncこれはGithubサーバーへのコミットを意味する。結構時間がかかるし、ステータスが見えないので事故がおきやすい
6. Github Web版で確認
☆すべてのGUIでの操作はCUI(GitShell)で行えるわかりづらいGUIは頼りにすべきではない.
GUIでの流れ
1. git pull
リモートリポジトリ内のファイル・ディレクトリをローカルリポジトリへ追加
つまり自分が修正している間に加わった最新のファイルも追加される
2. git add [ファイル・ディレクトリ名]
指定したファイル・ディレクトリをインデックスに登録
普通は git add . で現在のリポジトリの修正ファイルを自動登録
3. git commit –m “メッセージ”
登録されたファイル・フォルダをローカルリポジトリにコミット
☆この時点ではまだリモートリポジトリには反映されていない.
4. git push
ローカルリポジトリ内のコミット情報をリモートリポジトリへ追加する
5. GithubのWebで確認
引く(pull) →足す(add)→コミット→押す(push)!!
超基本Gitコマンドと流れ(CloneもCUIでできるが、それ以降の流れ)
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
実際に使ってみよう
git push
ローカルリポジトリのデータをリモートリポジトリに反映
[master]が青色に変わるローカルリポジトリとリモートリポジトリで差分がないことを示している.
GithubのWebで見て確認
リモートリポジトリで共有
git pull リモートリポジトリ内のファイル・ディレクトリをローカルリポジトリへ追加
git status 現在のGitの情報を表示
git config ユーザー設定などを表示
git clone [cloneしたいリポジトリのURL] 個人のPCにリモートリポジトリをローカルリポジトリとしてコピーを生成
URLはGithubのリポジトリのトップページ、右下から取得できる。
他にもよく使うGitコマンド
念のため git pull この瞬間にも誰かがコミット→pushしているかもしれないので最新をWebから取得し、結合しよう。
git commit –m “学籍番号” メッセージはこの場合は学籍番号だが、変更点などを示すとよい
[master]が緑色に変わる ローカルリポジトリ内での変更は完了しているがまだリモートリポジトリには反映されていない状態
ファイルの削除を反映させたい
git add –u git add . では追加と変更しかできないことに注意
TIPS
今回作成した課題1~3のプログラミング技術を応用して「クッキークリッカー」を作成せよhttp://orteil.dashnet.org/cookieclicker/
<必須>
グラフィックスは不要(ババア不要)
アイテムも凝る必要はない(3段目程度でよし)
すっげーたくさんの数字を扱うにはどうしたらいいか!!?
Save, Load
<上を目指す人>
・実績管理などもあるとよし ・クッキーやアイテムのグラフィックス
Kinect2015/CookieClicker/(学籍番号) で提出
10/13(第2回)の課題