2013年12月8日日曜日

【PC環境】コタツ、座椅子、ワイヤレスキーボード、ワイヤレストラックボールマウスの組み合わせが最高!

普段PCを利用するのは書斎の普通の机と椅子の環境ですが、
家族で使うリビングのPCはコタツでTVをモニターがわりにしています。
今まではクッションに座って使ってましたが、前屈みになるので腰に負担がかかり
もう少し良い環境にならないかなーと思っていました。

そして購入したのがこれ「KUMO(和楽の雲)」という座椅子です。


タイプはKUMO上、PU(ポリウレタン)のブラウンです。



おっと、失礼

早速コタツにセットしてみます。


私の身長は174cm、体重は68kgです。
普通に腰掛ける 浅めに腰掛ける 深めに腰掛ける
ご覧の通り深めに腰掛けた時は首を支えることはできません。
浅めに座った時に腰が痛くなるという意見もあるそうですが、
私は気になりませんし、クッションを入れるなどして軽減できると思います。



さて、コタツに座椅子という快適な組み合わせが整いましたが、
この通り卓上のキーボードやマウスの操作が不便です。


・・・


ここで活躍するのがワイヤレスキーボードとマウスです。
特にマウスはトラックボールマウス(M570)がオススメです。


このように膝の上でマウスもキーボードも操作可能です。


これからの寒い冬コタツで快適生活!

2013年12月4日水曜日

【LINQ to XML】名前空間の記述でエラー

LINQ to XML でXMLを操作する際に
「System.Xml.XmlException: ':' 文字、16 進数値 0x3A を名前に含むことはできません。」
というエラーが吐出されて困ったのでメモ。

エラーになったのは以下のようなコード(C#)

var xml = new XElement("Root", "Root Value", 
              new XAttribute("xml:lang","ja"));

コードとエラーを見て頂ければ分かると思いますが、
「:」を属性名で使ってはいけないということです。
(要素名にも使ってはいけません)
 「xml:lang」の「xml」の部分は名前空間として記述しなくてはなりません。

以下が修正したコードです。

var xml = new XElement("Root", "Root Value", 
              new XAttribute(XNamespace.Xml + "lang","ja"));

これで以下のようなXMLが作成されます
Root Value 


(参考)
XNamespaceクラス
http://msdn.microsoft.com/ja-jp/library/system.xml.linq.xnamespace(v=vs.110).aspx

2013年11月27日水曜日

docxのバイナリヘッダで疑問

ブラウザからポストされたファイル(docx)の形式をバイナリヘッダでチェックするシステムを扱っているのですが、
ユーザから「ファイルを送信できない」という問い合わせがありました。


通常docxファイルのバイナリヘッダは

50 4B 03 04 14 00 06 00


一方、ユーザから送られてきたファイルのバイナリヘッダは

50 4B 03 04 14 00 08 00


(参考)http://www.garykessler.net/library/file_sigs.html

このためチェックに引っかかって送信することができなかったのですが、
このユーザから送られてきたファイルは確かにWord文書として開くことができるのです。
上記「参考」のページを見るとユーザのファイルはjarファイルみたいですが・・・。
docxはzip圧縮、jar圧縮どちらも取り扱えるということなのでしょうか?

ファイル作成環境などは都合でこれ以上ユーザに突っ込んだ質問出来ないので不明です・・・。

2013年11月26日火曜日

秀丸でバイナリを確認する方法

「その他」→「コマンド一覧」→「ファイル系」→「バイナリモード」

以上メモまで。

2013年11月18日月曜日

【ASP.NET WebForms】aspxファイルとclassファイルの名前衝突

今さらな内容ですが、ASP.NET WebForms で開発する時にaspxファイルとクラスファイルのクラス名が衝突するとエラーになります。
名前空間が違えば衝突は起こりません。
(当然といえば当然ですが)


ただし、どこかでそのクラス(画像では「Sample」)を呼びださなければ、ビルドは通ります。
呼び出すと以下のようなエラーが出ます。



型 'Sample' は 'c:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\root\d4b956ac\5fcc836a\App_Web_rnnubpny.dll' および 'c:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\root\d4b956ac\5fcc836a\App_Code.zs4dnvnx.dll の両方に存在します。
意外とやってしまいがちなミスなので気をつけましょう。
と、自分に言い聞かせるメモ。