[読書メーター]2010年1月読書まとめ

2010/02/02 投稿者 callas 0 コメント
あー、これだけ見るとラノベしか読んでない人になってしまうなぁ・・
仕事本、勉強本も読んでるんだが、
読み終わるって本が少ないのだ。

必要なトピックスだけ読んだり、
読むのに時間がかかったり。

だから決してラノベしか読んでないわけじゃないんだああ

それはさておき今月読んだ本は見事にゼロ魔一色。
図書館でまとめ借りしたから仕方ないんだけどね。
大体通勤電車の行き帰りで1冊読むってペースで読んでました。
さっくり読めるのがよいね。

1月の読書メーター
読んだ本の数:15冊
読んだページ数:3932ページ

ゼロの使い魔(7) (MF文庫J)ゼロの使い魔(7) (MF文庫J)
読了日:01月30日 著者:ヤマグチ ノボル



ゼロの使い魔〈11〉追憶の二重奏 (MF文庫J)ゼロの使い魔〈11〉追憶の二重奏 (MF文庫J)
読了日:01月28日 著者:ヤマグチ ノボル



ゼロの使い魔〈10〉イーヴァルディの勇者 (MF文庫J)ゼロの使い魔〈10〉イーヴァルディの勇者 (MF文庫J)
読了日:01月26日 著者:ヤマグチ ノボル,兎塚 エイジ



ゼロの使い魔 16 (16) (MF文庫 J や 1-19)ゼロの使い魔 16 (16) (MF文庫 J や 1-19)
読了日:01月21日 著者:ヤマグチ ノボル



ゼロの使い魔 15 (15) (MF文庫 J や 1-18)ゼロの使い魔 15 (15) (MF文庫 J や 1-18)
読了日:01月20日 著者:ヤマグチ ノボル



ゼロの使い魔14 (MF文庫 J や)ゼロの使い魔14 (MF文庫 J や)
読了日:01月20日 著者:ヤマグチノボル



ゼロの使い魔13 (MF文庫 J や 1-16)ゼロの使い魔13 (MF文庫 J や 1-16)
メールが届いたのは無線LANかな?認証を叩いている描写はないから垂れ流し回線近くにたまたま世界扉が開いたとか?
読了日:01月19日 著者:ヤマグチノボル


ゼロの使い魔(7) (MF文庫J)ゼロの使い魔(7) (MF文庫J)
読了日:01月18日 著者:ヤマグチ ノボル



【MF文庫J】ゼロの使い魔12 (MF文庫J)【MF文庫J】ゼロの使い魔12 (MF文庫J)
読了日:01月16日 著者:ヤマグチノボル



ゼロの使い魔〈11〉追憶の二重奏 (MF文庫J)ゼロの使い魔〈11〉追憶の二重奏 (MF文庫J)
読了日:01月15日 著者:ヤマグチ ノボル



ゼロの使い魔〈10〉イーヴァルディの勇者 (MF文庫J)ゼロの使い魔〈10〉イーヴァルディの勇者 (MF文庫J)
イーヴァルディの台詞の中の町娘を助ける動機を語るくだりを見ていると、修羅の刻の陸奥 雷を思い出した。
読了日:01月15日 著者:ヤマグチ ノボル,兎塚 エイジ


ゼロの使い魔〈9〉双月の舞踏会 (MF文庫J)ゼロの使い魔〈9〉双月の舞踏会 (MF文庫J)
通勤時暇だったので再読 やはり読みやすい
読了日:01月14日 著者:ヤマグチ ノボル,兎塚 エイジ


ゼロの使い魔〈9〉双月の舞踏会 (MF文庫J)ゼロの使い魔〈9〉双月の舞踏会 (MF文庫J)
読了日:01月13日 著者:ヤマグチ ノボル,兎塚 エイジ



ゼロの使い魔 (5) トリスタニアの休日 (MF文庫J)ゼロの使い魔 (5) トリスタニアの休日 (MF文庫J)
読了日:01月13日 著者:兎塚 エイジ



ゼロの使い魔(2) 風のアルビオン (MF文庫)ゼロの使い魔(2) 風のアルビオン (MF文庫)
読了日:01月12日 著者:ヤマグチ ノボル



読書メーター
ラベル:

[JavaScript]BookMarklet覚書

2010/01/30 投稿者 callas 0 コメント
BookMarkletはJavaScriptで作られた一行のプログラムです。
javaScriptで書いたものを一行にすればとりあえず動くと思って下さい。

サンプル実行方法はブラウザのURL入力欄に張り付けとシンプルなものです。


もっとも単純なHello,world!

javascript:alert('Hello,world!'); 

上記コードをブラウザのURL入力欄に入れてみてください。
Hello, world!とポップアップウィンドウが表示されるはずです。

処理を関数化したHello,world!

javascript:(function(){function%20helloWorld(){alert('Hello,world!');}helloWorld();})(); 


先程までとまったく同じ動きをするプログラムですが、

javascript:(function(){
//スクリプト内容
})(); 
というフォーマットに従って書いています。

通常BookMarkletの変数はvar宣言してもグローバル変数になってしまうのですが、
このように無名ファンクションのインスタンス呼び出しにすることで変数をローカル扱いすることができます。


また関数を内部で定義し、後に呼び出すといったことも出来ます。

javascript:(function(){function%20msgAlert(msg){alert(msg);}
var%20txt;txt='Hello,world!';msgAlert(txt);})(); 

時々出てくる'%20'は半角スペースのURLエンコードです。
これ以外にも日本語を使用するためにはURLエンコードが必要になります。
URLエンコードはサイトを探せばなんなりと出てきますのでGoogle先生にでもお尋ねください。



ラベル:

[DynamicsAX2009]AIFの実行環境設定

2010/01/21 投稿者 callas 0 コメント

AIFの実行環境設定


AXのBasicメニューより以下を設定する。




Local endpoints設定


会社毎にLocal endpointsを設定する。
Local endpointsはI/Oを許可した会社の別名と考えれられる。

Newボタンを押し以下項目を設定する。


Company  セレクトボックスより設定したい会社名
Local endpoint 任意の名前


Transport adapters設定


どのアダプターを使用するかを決定する。

通常はFile System Adapterを使用するが、
BizTalk Adapter等の特殊な設定も存在する。



Adapter class セレクトボックスより設定したいAdapterClass名称を選択。
Name Adapter classより自動設定される。
Active チェックを入れる。
Direction Adapter classより自動設定される。


Channels設定

AIFで使用するXMLファイルのI/Oの場所設定を行う。

File System Adapter

Outboundを作成してから、Inbound作成すること
そうしなければResponse channelの設定で少しつまる。

Response channelの設定は、
Inboundの場合は対応するOutboundを、
Outboundの場合はブランク、
Bothの場合は自信の設定を入力する。

BizTalk Adapter

DirectionがBothになることと、
Response channelが自分自身になること、
それからConfigureボタンでサーバー名称の設定をすることを忘れない。

※他環境から設定をインポートする際にここの変更を忘れることが多い。



Channel ID 任意のID
Name 任意の名前
Active チェックを入れる
Adapter Transport adapters設定で作成したAdapter
Direction Inbound(入力)
Outbound(出力)
Both(両方)
Parallel processing チェックを入れなくてもよい
Address File System Adapterの場合はサーバーのフォルダ。
BizTalk Adapter等の場合はIPアドレス等
Response channel ※上記参照


Endpoints設定

Endpoint追加
まずはNewボタンで新規設定を追加



次にGeneralタブに切り替えEndpoint IDNameを任意の名称で追加。
Outbound channel IDにChannels設定で追加したものを設定。
Local endpoint IDにLocal endpoints設定で追加したものを設定。



Constraintsタブに切り替えてNo constraintsチェックボックスを有効にしておく。


Usersタブに切り替えてNewボタンを押し、
AIFを許可するユーザーもしくはユーザーグループの設定を追加し、保存する。


例では
User type User group
Application user or group Admin
Name 自動設定


Action policy設定
次にAction policiesボタンを押し
(保存ボタンを押していないとエラーが出るので注意)

Action IDをセレクトボタンより設定する。

ここで[サービス名称.アクション名称]を選択し設定するのだが、
この一覧にサービスを表示させるためには、

Setup > Services の中でEnableチェックボックスを有効にする必要がある

選択したらStatusをEnabledにしておく。


Data policies設定

次にData policiesボタンを押し、ポップアップしたウィンドウの中のData policiesボタンを押す。
公開したいField項目にEnabledを設定する。



Endpoint有効化

Endpointウィンドウに戻り、
Overviewタブで作成したEndpointのActiveチェックボックスにチェックを入れる。


以上。


ラベル:

[DynamicsAX2009]X++でよく使う型とそのスコープのまとめ

2010/01/16 投稿者 callas 0 コメント

X++でよく使う型とそのスコープのまとめ

時々質問が飛んでくるので、メモ。

標準的な型



スコープ
Deault
int
-2,147,483,648 ~ 2,147,483,647
0
int64
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,808
0
real
]-(10)127(10)127 [,      

16桁の精度を守りつつ。

0.00
String
Unlimited
""
TimeOfDay
0~86400(32bit)
0
date
1/1/1900 ~ 31/12/2154
1/1/1900
utcdatetime
1900-01-01T00:00:00 ~ 2154-12-31T23:59:59

この値の最小と最大がtimeOfDay型とdate型でも最小最大である。

1900-01-01T00:00:00

realはBCD-encoding: 64 bitとあるので  (※BCD=binary coded decimals=二進化十進数)
16桁の精度を持ったDecimal型である。

Boolean

表示
Bool値
1
True
0
False
true
True
false
False
44
True

Default : false


X++データ型とXSD型のマッピング
ついでにAIF使ってたらよく出てくるのでXSD型とのマッピングも書いておく。

X++データ型
XSD型
String
xsd:string,maxLength=StringSize
Integer
xsd:time , ISO format:HH:MM:SS

(global::isTypeTime が True の場合はタイムスタンプ
Int64
xsd:long
real
xsd:decimal , fractionDigits=NoOfDecimals
date
xsd:date , ISO format:YYYY-MM-DD
Enum
xsd:string , enumeration=<EnumName>,...
GUID
xsd:string , pattern='[0-9A-Fa-f]{8}...'
BLOB
xsd:string , Base64 encoded


ラベル:

[DynamicsAX2009]DynamicsAXの用語整理

2010/01/14 投稿者 callas 0 コメント
Dynamics AXのお仕事の最初の頃の、
皆がAXって何よ?って感じだったころ、
打ち合わせの会話は適度にカオスっていた。

Axapterで作るんだよね?」
「え?X++で実装するんじゃないの?」
「え?え?MorphXって名前じゃなかったっけ?」
AIFでやらなきゃいけないとか聞いたけど?」
「ところでAXって何?」

うーん、燃え上がる雰囲気が漂っていますね。
楽しそう。

で、以下整理整頓


Dynamics AX

元の製品名はAxapter。
Dynamics製品群はMicrosfot社が持っているERPとCRMの製品群のことで、
Dynamics AXはその中にある4本のERPパッケージのうちのひとつ。

ちなみに2バイト文字に対応しているのはDynamics AXとDynamics NAVだけ。

Dynamics NAV

元の製品名はNavision。
AXとNAVは両方ともERPパッケージであるが、差異は以下の通り。


AX
NAV
対象企業
50億〜500億円の企業
(中堅規模以上)
数十億〜200億円
(中小・中堅企業)
導入要件
独自要件あり
シンプルに


NAVは日本でも導入が行われていたらしいが、
AXに関してはほぼゼロ。

ただ、欧州では活発に使われている製品らしいです。
ちなみに今回のお仕事も海外への導入でした。

Axapter

昔のAXの名前。
Damgaard社が作成。
この会社が2002年MSに買収され、
製品名がAxapterからDynamics AXに変更された。

MorphX

AXにくっついてくる拡張機能実装用IDE

X++

MorphXでコーディングをする際に使われる言語。
C言語のようなC++のような。
C#のようなどっちつかずなインタプリタ言語。
C言語の遺物マクロが跋扈しているので注意が必要。
ガベコレありなので、慣れれば生産性はそこそこ。

なんでX?ってのは、元々Axapter時代に使われていた拡張用言語がXALだったからとか
(Dynamics AX 4.0 開発ガイドの前書きより)

AIF

Appication Integration Framework : アプリケーション統合フレームワーク

Dynamics AXが他のアプリケーションとやりとりをするためのサービス群
インターフェースにはXMLドキュメントを使用する。
ラベル: