「 日記 」一覧

GitLabを使う


前回までに構築したGitLabにクライアントからアクセスしてみます。
クライアント側は、次のソフトをインストールします。

  • tortoiseGit  1.7.7 (x64)
  • msysgit  (Git-1.7.10-preview20120409)

ちなみに Windows7 x64をクライアントOSとして使用しています。
tortoiseGitをインストールした後で、msysgitをインストールしました。

注意点として、sshクライアントをどうするかという点があります。
今回は TortoisePLink を使う方向で環境を用意してみます。
(msysgitに付属の方を使うと若干環境構築が楽になる…かも.問題が起こったらこちらの方に切り替えてみるといいかも)

基本デフォルトでインストールしていきました。

GitLabでユーザー作成

以前設置したGitLabに管理者としてログインし、普段使うユーザーを作成します。

青丸で囲んでいる部分を押して、ユーザー作成

ユーザーの各種情報を入力していきます。

ここでメールアドレスですが、メールアドレスとして正しい形式ものを要求するようです。
入力が終わったら、Saveボタンを押して終了です。

 

ユーザーが作成されるとこのような画面となります。ユーザーが作成されたら、管理者はログアウトしておき、トップ画面に戻しておきます。

ssh認証キーを作成する

GitLabへのアクセスではssh認証キーを要求するので、これを作成します。

スタートメニューから、”TortoiseGit”/”Puttygen” というプログラムを起動します。
起動させたら、 ウィンドウ中央にある、”Generate”のボタンを押して、ウィンドウ内の空白部分でマウスをぐりぐり動かしてキーを完成させます。

キーが完成したらとりあえずそのウィンドウはそのままにしておきます。またあとで操作します。

先ほど作成したユーザーで、GitLabにログインします。
そして、そのユーザーのプロファイルを開き、 ssh keyの登録画面を表示させておきます。

この画面で、Titleはわかりやすい名前を入力し、Keyの部分で先ほどのキーを生成したウィンドウで表示されているキーをコピー&ペーストします。この部分でペーストするのは、赤枠部分に書かれているテキスト全てです。貼り付けが終わったら、Saveボタンを押して、登録を完了させます。

続いて、キーの秘密鍵を保存します。オレンジ枠の部分の、”Save Private key”のボタンを押して、パスフレーズないよ警告を無視して、保存します。ここでは仮に、gitlab-accesskey として保存しました。これでこのウィンドウはもう閉じても大丈夫です。

GitLabにプロジェクトを作成

GitLabにプロジェクトを作成します。

Dashboardのメニュー画面に戻って(家のアイコンをクリック)、画面下部の方に表示されている、”New Project”をクリックします。

プロジェクトの名前を入力するとPath, Codeなどは自動的に入力されます。基本変更しなくてもよいはずなので、そのままにしておきます。Descriptionには適当にプロジェクトの説明等を入れておきます。入力したら Save を押しておきます。

プロジェクトを作成するとこんな画面が表示されます。


これらはコンソール版Gitを使っているときにはこの通り入力していけばよいのですが、今回はTortoiseGitを用いてと言うことなので眺めるだけにしておきます。

Subversionと違って、リポジトリもまずはユーザーが作ってそれをコミットという形になります。

Gitのリポジトリを作成

さて、Gitのリポジトリを用意します。適当なフォルダを開いて、そこで空のフォルダを用意します。
適当に、HelloGit とフォルダを用意してみました。そのフォルダを右クリックして、
“Git create repository here”を選択します。OKをおして続行するとGitリポジトリができあがります。
(その HelloGitフォルダの中を見てみると、.git フォルダができています。 )

このフォルダに Readme.txt を作成してみます。中身は適当に Hello, git とかしておきます。

ファイルを用意したら、まずGitの管理対象に加えるために、ファイルを選択して右クリック、

“TortoiseGit”/”Add” を選択して(ファイルにチェックを付けて)追加します。その後OKを押してウィンドウを閉じます。
続いて、 ファイルを追加したので “Commit”操作をしておきます。このCommitはまだローカルでの作業になります。同じように右クリックして、”Git Commit -> “master” を選択します。コメントを入力した後、OKを押します。

これでGitLabにこのリポジトリが準備できたのでGitLabのプロジェクトにコミット(Push)を行います。

HelloGitのフォルダを右クリックして、”TortoiseGit”/”Push” を実行します。
初回なので、GitLabへのアクセスの設定を行います。 開いたウィンドウで、”Manage”ボタンがあるので押すと、新しいウィンドウが開きます。ここで以下のように設定します。

  • Remoteには、origin
  • URLには、 git@192.168.142.133:hellogit.git
    (アドレスは、適時修正すること )
  • Putty Key: には、さっき保存した秘密鍵のファイルを設定

これを入力した後、Add New/Save ボタンを押して、OKバタンを押して設定を閉じます。

閉じた後、Push操作のウィンドウでは、”Remote”の部分に、”origin”が入力されていることと思います。この状態で、OKボタンを押すと、GitLabに対してリポジトリのコミットが行われたことになります。
(初回接続なので、Puttyの警告ウィンドウが出てくることと思います、この場合にはOKで実行を継続してください)

どうでしょうか、成功したでしょうか?

GitLabにログインして、今追加したリポジトリ情報を確認してみてください。
Filesを開いてみるとこんな感じになっています。

これでtortoiseGitを用いて、GitLabを使うということができました!
あとは自由に開発を行っていくことができるでしょう。

わかっている問題点

自分で試してみてわかっている不具合として以下のようなものがあります。

  • たまにFilesにアクセスできないコミットがある
  • 日本語はUTF-8エンコードされたものでないと、GitLabの表示上では化けてしまう。
  • ソースコード中のコメントで、Shift-JISのものがある場合、文字化けで表示されるか、そのソースコードファイル全体がGitLab上から表示できない

いろいろとここまでたどり着くまでに Git初心者だったので苦労しました。
でもせっかくなのでしばらくはGitでいろいろとやってみたいかなと思います。

次回は、Redmineとの共存でもやってみようかなと思います。
噂ではそのまま共存はできず、一手間が必要らしいと聞いています。


GitLabのインストール


前回の予告通りGitLabのインストール手順を説明します。

準備

CentOS 6(x64)を
Minimum Server構成でインストールしたものを使用します。

まずこの環境下で以下の設定を行っておきます。

  • 外Webを見れるように環境を設定(ifcfg-eth0の編集)
  • SELinuxの無効化(/etc/sysconfig/selinuxの編集)
  • ファイアウォールの無効化(iptables -Fでクリアして設定保存)

依存関係インストール

GitLabが依存するプログラム群を下記のコマンドでインストールします。

pygmentsのインストール

redisのインストール

サーバーをここで起動させておきます。

ユーザーの追加

ここでいろいろと聞かれるのですが、パスフレーズも含め空Enter連打で設定します。
特に、パスフレーズは設定してはいけません。

gitユーザーとしてログインを試みます。
新規ホストなので、接続に関して問われますが yes と入力します。
gitユーザーにはパスワードを設定していないため、ログインは完了しません。
Permission deniedとなっても以下の処理を続けます。
ちなみに、gitユーザーにパスワード等設定してあってログインできた場合でも特に問題はありません。

ログインしたユーザー(gitlabhqやgitユーザー)を一度抜けて、再びrootで作業します。

gitoliteのインストール

gitoliteはgitlabhqから使用され、gitリポジトリを管理します。

実行すると設定ファイルが開くので下記のように変更を行います。

設定ファイルのセーブして終了は、”:wq” をタイプしてenter
rootユーザーに戻って作業を続けます。

gitlabhq のインストール

Ruby 1.9.2と、passengerをインストールします。

この最後のほうに出てくる Apache2への設定行(LoadModuleの周辺)をメモしておきます。あとで、httpd.confを編集する際に必要となります。

起動していなければ、mysqlサーバーを起動させます。

この時点で後で必要になる管理者ユーザーの情報が出力されるのでメモしておきます。

ホスト名の部分(git_hostセクションの host部)にIPかドメイン名を記述します。

rootユーザーに戻ってApacheの作業を行います。

末尾に以下のように記述を追加します。

LoadModule行がたくさん並んでいるところで、先ほどメモしておいたpassenger関連の記述を追加します。

Apacheを起動します。

ブラウザで “http://(IPアドレス)/gitlabhq/” に アクセスしてみます。

右図のように画面が出てきたら成功しています。ここでのログインのアカウントは先ほど、rake db:seed_fu を実行したときのアカウント情報でログインすることができます。

ログインがうまくできると次に示すような画面が表示されます。

自分が最初よくわからなかったので、ちょっとだけ書き込みを入れてみました。

あまり目立たなさそうですが、管理者メニューのアイコンが出ています。ここから新規のユーザーを追加することができます。また単なる画像に見える右上の部分では、プロフィールの編集ができるようになっています。後日説明しますが、ユーザーがsshキーを登録する際にはここからたどることになります。

ここまででひとまずGitLabの設置は完了です。
次回には、tortoiseGitを使って、このGitLabにリポジトリの登録をゴールにして、環境設定を記事にしたいと思います。


GitLabを試してみた


GitHubクローンである、GitLabを導入して Git+GitHubの操作感を体験してみたいと思います。
詳しい導入方法は次回以降に書くとして、試してみたときの感想を先に書いておきます。

環境

  • CentOS 6(x64) (ただしVM上)
  • GitLab 2.3
  • クライアントは tortoiseGit + msysgit (1.7.10)

感想

GitLabへの登録がsshキーを要求する点でいろいろと大変でした。この部分がSVNと比較してわかりにくい気がする。最初の手順なので、通常運用が始まってしまえばそこまで問題にはならないのだろうけど。

GitHub, GitLabの問題なのだろうけど、ソースコードをWebから確認したい際に、Shift-JISで書かれたソースコードで、日本語コメントが文字化けしてしまう。UTF-8のソースコードであればこれは大丈夫。既存SJISソースでGitへの移行を検討するなど、UTF-8のソースコードが使えない場合はちょっとGitLab使う利点が減る気がする。

それでもGitリポジトリの管理を集約でき、Web上からユーザーの追加やキーの登録ができるという点は魅力。複数ユーザーがいるときには管理者はちょっと楽ができる。SVNのときには、最初のリポジトリはサーバーのコンソールで操作する必要があったし…。

Redmineのリポジトリブラウザのように、優先するエンコーディングを設定する機能がGitLabのプロジェクトごとに設定できるようにならないか、期待していきたいと思います。


VisualStudio11Beta試してみた


Windows8 ConsumerPreviewに続いてVisualStudio11 Betaもちょっと試してみました。
VMware上の仮想マシン と実機とで今回は試してみました。

環境

その1.
VMware Workstation8 の仮想マシン、設定はWindows7(x64)のもので構成.

その2.
実機。Intel Core i3 530 を載せているだけのシンプルな環境.
グラフィックスもCPU内臓のIntel HD Graphicsを使用.

試してみる

VisualStudio 2010のころとまた違った印象を受けるIDEとなっています。 カラーが、ライトグレーで統一されている感じです。
これはVisual C++の新規作成で Windows Metro Style の Direct3Dアプリケーション構成を選んでみたスクリーンショットです。 WindowsLiveなどのアカウント登録をせずにローカルのみのアカウントだったために上記のライセンス取得まではやってみませんでした。

このブログでは、DirectXまわりに関心があるのでそのあたりを見ていこうと思います。

DirectXアプリケーションデバッグ周りの強化

VisualStudioでDirectX10/11アプリケーションを作っている際のデバッグがやりやすくなりました。

  • GRAPHICS EVENT LIST
  • GRAPHICS EVENT CALL STACK
  • GRAPHICS PIPELINE STAGES
  • GRAPHICS PIXEL HISTORY

ざっとみても上記のデバッグ用ウィンドウが増えています。

DirectX APIのコール順序履歴や、そのAPI呼び出し時のコールスタック情報、 各レンダリングステージでどのように描画データが加工されているか、あるピクセルがどのように塗りつぶされたか、という情報をVisualStudio上で確認することができます。

また、PIXEL HISTORYやPIPELINE STAGESのウィンドウからVertexShader, PixleShaderなどのデバッグを開始することができました。デバッグを開始すると各シェーダー内でブレークポイントを設定することができ、入力データや計算結果を変数ウォッチで確認していくことが可能でした!


PIXの機能が単に統合されただけともいえますが、この統合によりデバッグがやりやすくなったことは事実だと思います。
ただ、実機ではPixelShaderの出力の部分でうまく結果が得られていないような感じでしたが、これも製品版では改善されることでしょう。

グラフィックスリソース作成の追加

FBXファイルやシェーダーファイルの作成が新規作成のメニューから行えるようになりました。


FBXの新規作成でteapotを作成してみた図です。簡単なマテリアルの設定も行えるようです。 画面内のphongのEffectプロパティでは描画に使うエフェクトファイル(dgslファイル)を設定できるようで、シェーダーを作成するのがやりやすくなっています。

このdgslファイルもメニューから新規作成で作ることができます。
これはノードベースでシェーダーを作成する機能になります。

このような感じで画面横のノードを追加して、それぞれ連結してシェーダーを作成することができます。こうやってできたシェーダーは更にエクスポートすることができます。
エクスポートした後は プロジェクトにファイルを追加して、アプリケーションのビルド時にシェーダーコンパイルすることもできるようになります。

今まではビルドイベント等を設定しながらやっていたことが、標準でここまでできるようになりました。

DirectX 9.0cのデバッグランタイムが使えなくなりました。

DirectXコントロールパネルで設定しようとしても グレーアウトしていて選択不可能。
もしかしたら、製品では変わるのかもしれませんが今のところダメそうです。
・・・Windows8という新しい環境で DirectX9なんていう古いものを使ってほしくないのかもしれませんね。

まとめ

DirectXアプリケーションを今まで作ってきた人には有難い進化をしていると言えます。
上記で紹介した機能が使えるだけで、VisualStudio 11にもう移行したい気がします。
また、C++/CLIのインテリセンスも有効になっている点はPreviewのときと変わっていなかったので、VisualStudio2010より魅力的になっている面もあります。

気になる点としてはこれらがProfessionalエディションでも提供してくれるかというところでしょうか。それとVS11のExpressはこれらの機能を備えて出てくるか、もしExpressでは無い機能だとしたらPro版の魅力につながりますね。


Windows8 Consumer Preview


つい先日に公開されたWindows8 Consumer Previewを試してみました。
実マシンではなく仮想マシンで動作を見てみました。

Windows8が動く仮想マシン環境は、VMware Workstation8やVMPlayer 4以降となります。
これ以前だと、Windows8でのBSoDがでてインストールができないようです。

戸惑った点

スタートメニューがなくて、Windowsキーを押すとMetroの画面に戻る点。
ちょっと驚きです。Flip 3Dもなくなってしまった模様。

よかった点

エクスプローラーがリボン対応に!そしてファイルコピー操作を複数やっても進行状況を示すウィンドウは1つに集約されました。
あと、タスクマネージャーがわかりやすくなりました。今までのものに比べて優しい印象になったと思います。

 

これからVisualStudio 11のほうを試してみたいと思います。



システムドライブ SSD化するにあたって


はじめに

システムドライブをSSDに移行してみるとかなり快適になるという話を聞きます。
確かに、アクセス速度が高速なSSDなので移行すると快適になりそうなのはわかるのですが、フラッシュである以上書き込み上限数の問題や容量が比較的小さい点から、まだ難しいなと思っていました。
今回実験するのにちょうど良い状況があったので、システムディスクに128GBのパーティションとして、システムをゼロから構築してみました。

収まるかチェック

普段使用している環境はそのままじゃ容量オーバーのため持って行けないので、
何がどのくらい使用しているのかを調べ、プログラマPCとしてツール群をインストールしてみて移行は出来そうなのかを確認してみた。

  • Windows7 Professional with SP1
    • インストール直後状態 およそ 22.5GBを使用.
  • VisualStudio 2008 SP1
    • C#,C++の機能に絞ってインストール.
    • スマートデバイス系,Tools for Officeも削除
    • この様に絞ってインストールした結果、3.1GBほどの占有量.
    • Service Pack1をインストール後は、ディスク使用容量が27.1GBに.
      • この結果からSP1はおよそ2GBほど使用するんだろう.
  • Microsoft Office 2007
    • Word,Excel,PowerPointに絞ってインストール.
    • 1.5GBほど使用するような感じ. ディスク使用容量が28.6GBに.
  • VisualStudio 2010 SP1
    • C#,C++の機能に絞ってインストール.
    • 使用するのは5.5GBほどらしい. ディスク使用容量が35.2GB
    • Service Pack1をインストールしてみる. ディスク使用容量が 38.1GB
  • DirectX SDK 2010 June
    • インストール後は、ディスク使用容量が 40.0GB

この時点でユーザーフォルダをHDDであるDドライブへ移動

  • レジストリを変更してユーザーフォルダはDに配置するように変更
  • 既存のCドライブにあるユーザーフォルダは削除
    • ユーザーフォルダをDにコピーする際には一時的に別ユーザーを作成し、コピー作業を行うこと.

これらの作業をした結果、使用容量は 38.8GBに抑えられた.

まだ余裕がありそうなので、テキストエディタやバイナリエディタなどの細かいツールをシステムドライブ側へインストール

  • ツール例
    • テキストエディタ
    • バイナリエディタ
    • ファイル圧縮展開
    • sshクライアント

ここらでWindows Updateを適用させる.ディスク使用容量は 40.2GBに増加した.
あと20GBほどは使っても問題なさそうと思ったので、さらに下記のソフトウェアを追加でインストールしてみた.

  • VMware Workstation 8.0
  • PhotoshopCS5
  • Chrome
  • Internet Explorer 9
  • Maya 2012
    • 体験版インストール. Mayaのみのコンポーネントでインストール

この時点で 45.8GBの使用量

まとめ

自分にとって必須ツールのインストールでいっぱいいっぱいになってしまうのではと考えていたのですが、意外にそんなこともなかったです。まだ半分までにも余裕があるので128GBのSSDを購入したとしても上記構成ならSSDを割と長く使っても安心できる感じです。


熱暴走?


ThinkPad T420でESXiいれてサーバーにしていたんだけど、
なにやら熱暴走したっぽい。
家中のネットワークが死亡して、ルーターがかなり熱かったから
そちらを疑っていたけど、まさかサーバーだったとは。

とりあえずは再起動して、風通しをもうちょっと気をつけて設置して様子見です。
ひさしぶりにESXiのパープルスクリーンを見ました・・・。


ThinkPadデビュー


ノートPCは今まで数回買ったことがあるのですが、今回初めてThinkPadを買いました。
今回購入したのはSandybridge搭載のT420というやつです。
到着したばかりですがざっとみて個人的に、良かった点をあげてみます。

良かった点

個人的に良かった点をあげておきます。
もともとESXi(VMware vSphere Hypervisor)を動かしたいな、という淡い希望があったので、それに関するところが高ポイントです。

  • 有線LANが 82579LM だった。
    • oem.tgzの適切な交換で、ESXiで使えそう。
  • NVIDIA Optimusテクノロジー搭載
  • BIOSで、VT-dのON/OFF項目があった
    • ノートPCでIntel VT-dが使えるってこと

グラフィックス系でプログラムを書いてみたりしているので、
NVIDIA Optimusテクノロジーが入っていることは結構楽しみですね。
また、ノートPCでIntel VT-d(IOMMU)が使えるって点はかなりすごいかと。
ただデバイスパススルーするデバイスが自在に取り付けられないのでノートでのメリットはデスクトップに比べ低そうではありますが・・・。

悪かった点

  • 標準でIntel VT-xがDisable

もうそろそろ仮想化支援はデフォルトでONにしておいてほしい今日この頃です。


計画停電


計画停電が始まって、自宅サーバーも難しくなってきました。
そのため、当面アクセスできないタイミングが増えてくると思います。
そのときには、また翌日とか、時間を空けてアクセスしてみてください。

なにか方法、考えないとなぁ・・・。

UPSがあっても、3時間とか持たないし。