POS for .NET のログを出力したいとき・・・

POS for .NETのログを出力したいと思って調べると結構あるのね。

http://msdn.microsoft.com/en-us/library/bb428977(v=winembedded.11).aspx

Regeditかなんかで、\HKLM\SOFTWARE\POSfor.NET以下の値を書き換えればいいっぽい。

Enabled 0 => 1 (これでログ出力が有効になる)

Location %TEMP% => 任意のパス

MaxLogFileSizeMB 10 => 任意のファイルサイズ

Name ログファイル名

Log4Netみたいに日付ごととか、上書きとかないのかな?
試しに使ってみたら、少しなんだけど結構ファイルサイズ大きくなった。
定期的に削除するか、圧縮するとかしないと容量圧迫しそう。

MacでNode.js環境を構築する

・一度、既存のNode.jsを削除する
=> nvm uninstall n.n.n
・nvm install v0.8.8
=> 失敗する。
  【原因】
  インストールしたgccが消えていた!
  http://d.hatena.ne.jp/replication/20110726/1311687382
・zshrcの編集
=> 使用するNodeのバージョンを新しいものに変更する
念のため$ node -vで確認する!

Node.js系エントリー
http://d.hatena.ne.jp/replication/20110225/1298612129

Mac で node.js/express 環境の構築
http://d.hatena.ne.jp/dany1468/20110814/1313327979

node.js向けフレームワークexpressでアプリケーションのひな形をつくる
http://d.hatena.ne.jp/replication/20110403/1301839409

Mac OS Xにnode.js + expressの環境を作る
http://blog.fumiz.me/2012/02/01/mac-os-x%E3%81%ABnode-js-express%E3%81%AE%E7%92%B0%E5%A2%83%E3%82%92%E4%BD%9C%E3%82%8B/

AMIの仮想方式について

AmazonEC2のWebコンソールを使っていて、ふと気になったので調べてみます。AMIの仮想化方式に、「paravirtual」「hvm」と表示されていますが、そもそもこの二つの違いは何なのか?

「hvm」は、Hardware Virtual Machineの略で、「paravirtual」は、Para-Virtualization(準仮想化)の略みたいです。

前者は通常のOSをそのまま稼働させることができ、Windows系OSをゲストOSとして利用できるようです。ただ、後者に比べるとややパフォーマンスが落ちるといったデメリットがあります。

後者に関しては、利用可能なOSがLinux系という制約があるそうですが、小さなオーバーヘッドで済むそうです。

たとえば、Windows Server 2008をAmazonEC2上で起動したい場合、HVMで起動するのがいいってことでいいのかな?

Microsoft Windows Developer Daysに参加してきました!

社用として両日ともに参加できました。
初日はMSの予想を越える来場者数なのか、入場から受付して会場入りまで、30分以上かかりましたw

初日のキーノートセッションは、
"次世代Windowsプラットフォームの可能性"でした。
全体のテーマとして「Windowsの再構築」みたいなものがあるらしいです。


個人的な感想として、
・デバイス単体でソーシャルに接続可能
・強固で堅牢なセキュリティ
がところどころで協調されているのかぁと感じました。


個人的にWin8の機能で気に入っているのは、
Windows To Goとピクチャパスワード、シングルサインインでしょうか。
Windows To GoをインストールできるUSBの容量はどのくらい必要なのかわかりませんが、分かり次第試してみたいです。


Windows8での開発に向けていくつか準備する必要があるみたいです。
1. Windows8 CPインストール
2. Metroスタイルアプリ開発
3. Developerキャンプへの参加
4. サイトやソフトウェアの互換性の確認


一番気になるのはやはり、4.の互換性が気になります。
Win7アプリとの互換性があるみたいですが、自社開発のソフトウェア、ミドルウェアなんかはしっかり調べておいたほうがよさそうですね。

二日目のキーノートセッションは、
"Windows 8クラウドでつくりだす スマートデバイス時代の新しいエコシステム"でした。


大きく分けると、
・開発しやすいMetroスタイルアプリ
・Metroスタイルアプリの可能性
・マルチデバイスクラウド
という内容で、途中ライブコーディング有り、先行してMetroスタイルアプリを開発した企業の話だったりと、VOCALOIDの話だったりといろいろでしたw


Metroスタイルのアプリケーション開発が
何をもたらすのか、かいつまんで書くと、
・新しい技術ですが、既存技術も使えますよ!
・様々なデバイスに対応します
・簡単にクラウドと連携できます
Windows Storeなどの利用により、世界に向けてアプリを公開できます
という感じです。


各セッションの内容も技術というよりは、
「Metroスタイルって何なの?」というプレゼンが多かったです。

Metroスタイル開発概要だったり、タイルと通知の活用だったり、
Metroスタイルではこういう表現ができますという内容でした。

技術的な内容は、後に開催されるDeveloper Campだったり、各種勉強会・セミナーなどで、深く掘り進められると思います。


WDDを機にNode.jsに興味がわいたのでちょっと勉強してみようと思います。

Typesafe Stack 2.0をインストール

HomeBrewでさくさくインストールします。
MacOSの場合、
$ brew install scala sbt maven giter8
Typesafeのサイトを参考にすると上記だけでいいようです。

プロジェクトを作成する際は、適当にフォルダを作成し、
$ g8 typesafehub/play-scala

verbatim [*.html *.js]:
application_secret [CHANGEME12345678]:
application_name [my_app]:
play_version [2.0]:

Applied typesafehub/play-scala.g8 in .

すると諸々フォルダが作成されます。
デフォルトの設定でプロジェクを作成したので、
$ cd my_app
$ sbt

ロードが始まって、
[my_app] $ run

[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.slf4j#slf4j-api;1.6.1: configuration not found in org.slf4j#slf4j-api;1.6.1: 'compile'. It was required from org.hibernate#hibernate-validator;4.2.0.Final compile
[warn] :: commons-codec#commons-codec;1.4: configuration not found in commons-codec#commons-codec;1.4: 'compile'. It was required from org.apache.httpcomponents#httpclient;4.1.2 compile
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[error] {file:/Users/y-inoue/work/test/my_app/}my_app/*:update: sbt.ResolveException: unresolved dependency: org.slf4j#slf4j-api;1.6.1: configuration not found in org.slf4j#slf4j-api;1.6.1: 'compile'. It was required from org.hibernate#hibernate-validator;4.2.0.Final compile
[error] unresolved dependency: commons-codec#commons-codec;1.4: configuration not found in commons-codec#commons-codec;1.4: 'compile'. It was required from org.apache.httpcomponents#httpclient;4.1.2 compile
[error] java.util.NoSuchElementException: Either.right.value on Left
[error] Use 'last' for the full log.

なんてこったい!
調べてみると、~/.ivy/cacheを削除するといいそうです。
色々なライブラリがキャッシュされているそうなので、ここを削除して起動までこぎつけることが出来ました。

[info] play - Listening for HTTP on port 9000...

(Server started, use Ctrl+D to stop and go back to the console...)

キター!

ResolveAssemblyReference.cacheって何?

やたらとビルド後に警告が表示されるので、さすがにこのまま納品はまずいので地道に警告を消していきます。

(ResolveAssemblyReferences ターゲット) ->
c:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets : warning MS
B3088: 状態ファイル "obj\Debug\ResolveAssemblyReference.cache" を読み取れません
でした。 アセンブリ 'Mi
crosoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f
5f7f11d50a3a' が見つかりません。

上記のような警告が消せなかった。
そもそも、ResolveAssemblyReference.cacheって何?ってところから調べてみようかと。

ResolveAssemblyReference クラス
メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

このクラスは、.NET Framework インフラストラクチャをサポートします。独自に作成したコードから直接使用するためのものではありません。

ResolveAssemblyReference タスクを実装します。このタスクを作成して実行するには、プロジェクト ファイルで ResolveAssemblyReference 要素を使用します。使用法とパラメータ情報については、「ResolveAssemblyReference タスク」を参照してください。

・・・

よくわかりませんねw
Microsoft.Build.Tasksに属しているので、MSBuild関連だとは思いますが・・・

該当ディレクトリにResolveAssemblyReference.cacheがないから発生しているものと思われる。

別段なくても問題なさそうに見える。
NUnitのテストは全件通っているし、VSのビルドでも特にエラーや警告が出ているわけでもない。

とりあえずobjディレクトリをすべて削除するか、
ソリューションをクリーンしてから再度ビルドすると、警告文が出力されなくなった。

ALMiniumをUbuntuにインストールした。

一度プロジェクトでRedmineを使用したことがあるんですが、All-in-oneインストーラとしてBitNamiを採用しました。

AmazonEC2を利用するので、OSとしてUbuntuを使おう思います。

https://github.com/alminium/alminium
gitインストールして、クローンして、smeltスクリプトたたいて・・・
と諸々のやり方が載っています。

その際、引っかかったところが何か所かあったので、
備忘録として残そうと思います。

microインスタンスUbuntu Server Cloud Guest 11.10を選択します。
Security Groupsなどは、今回のインスタンス用に新たに作成しました。
とりあえず、SSH、HTTP、HTTPSを追加し適用します。

WindowsからだとPUTTYを使って、SSH接続します。
上記サイトの手順通りに作業を進めると、色々とエラーが出ています。
rakeコマンドがないだの、gemコマンドがないだのとかね。

一通りログを見てみると下記パッケージが必要なようです。
・rake
・apache2
・gem

上記パッケージをインストールし、再度smeltスクリプトを実行しましたが、今度は/opt/alminiumディレクトリがないと言われました。

optディレクトリにとりあえずもう一度クローンし直し、管理者権限でsmeltスクリプトを実行します。

2〜3分ほど待つとapacheの再起動が正常終了し、おそらく出来ているだろうRedmineにアクセスしてみます。

ん〜、alminiumユーザーのアクセス権限がががががが。
/config/database.ymlファイルを見てみると、alminiumデータベースが出来ていないのと、ユーザー作成がうまくいっていないようなので、database.ymlの通り、パスワードを設定し、DBも作成しました。

本来、rootパスワードは空白でいいところを、任意のパスワードを入力してしまったために発生か

四度目の正直・・・、今度こそうまくRedmine環境がうまく構築できたようです。

ただ、ところどころ文字化けがあったりと、まだまだ調整しなければいけないようです。

文字化けに関しては、
http://wota.jp/ac/?date=20061011
こちらを参考にして解決できました。