社内SEの徒然なる日記

リアップX5のオマケのお手入れセット

■ オマケ

薄くなっている頭髪を何とかしようと悪あがきをしています。具体的にはリアップを使っているのですが、先日購入したら「身だしなみキット」とやらが付いてきました。

こんなのです。
リアップ身だしなみキット - 1

左には「爪切り」「先丸ハサミ」。右には「爪ヤスリ」「毛抜き」「耳かき」です。作りはちょっと荒くて安っぽいのですが、このシルバーに統一されたセットは見ていて良い気分です。

期間限定&数量限定だったようなのですが、気がついたら手元に2つ存在しています。リアップって1月くらいで無くなるのですが、買い直そうと思ったら、まだオマケ付きが残っていまして。

外出先で便利なので、通勤用のコートのポケットと、私用外出用のカバンに1個ずつ入れておくことにしました。これで、外出先でのメンテナンスもバッチリです。

■ 後書き

ところで「先丸ハサミ」ですが、見た瞬間に私の脳裏に走った名称は「鼻毛切り」でした。正直、鼻毛切り以外に用途が思いつかないです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

俺の貧乏ゆすりスゲェって思ったら普通に地震だった

■ なんか揺れる

膝を組んだ状態で椅子に座っていて、上半身を微妙にぶらぶらさせながらキーボードを叩いていたら、なんだか揺れを感じます。

「おぉ、俺の貧乏ゆすりスゲェ」とか自分でも良く分からないことを考えていたら、周りの人たちから「地震だ」って声が聞こえてきます。

うん、地震でした(Yahooの地震情報)。
俺の貧乏ゆすりスゲェって思ったら普通に地震だった - 1

■ 後書き

恥ずかしくて黙っていた。何て可愛げのある性格ではありません。堂々と胸を張って「俺の貧乏ゆすりスゲェと思ってた」って宣言してみました。

うん、みんな笑ってました。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end ---
スポンサードリンク

PageTop

初めてのApplePayは出前館の

■ ApplePay

土曜日にいつものように筋トレに向かおうと思ったのですが、何やら目眩がします。それに、背中にピシッと痛みも走るので、ちょっと考えもの。ということで、この土日は家でゆっくりと休んでいました。

一応、篭れるだけの食べ物はあったのですが、ちょっと心もとないし、口寂しかったので出前を頼むことにしました。

iPhoneから出前館というアプリを立ち上げて注文したのですが、清算方法にApplePayがあります。少し前に登録した(意味なくApplePayを登録してみた)のですが、我がiPhone6はハード面で対応していないので使ったことがありません。

どうなるのかと思ったら、指紋認証だけで清算が完了しました。

・・・・・・・うわぁ、便利。

クレジットカードも便利なのですが、指紋認証だけで完了するApplePayの方に軍杯が上がりそうです。これでVisaのカードが使えれば、愛用のカードを登録できるのでもっといいのですが、ままならないものです。

■ 後書き

頼んだのは、VivaPaella(ビバパエリア)です。「濃厚!7種のチーズと生ハムのドリア風パエリア」をお願いしました。ビザも心惹かれたのですが、ご飯ものが食べたかったのです。
VIVA - 1

VIVA - 2

そして、宅配に訪れた人の服とかにはピザーラの文字が。なんだろ?資本関係でもあるんでしょうか?

一瞬、配達先を間違えたのかと思っちゃいました。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

アサヒの発芽玄米入りダイエットケア雑炊が美味い!

■ ダイエット

ここ数年、継続的にダイエットを続けているのですが、そんな時の食事にはお湯で溶かすタイプの雑炊とかが便利です。その手の商品は色々と出ているのですが、問題なのは基本的に美味しくないこと。

何というか、食感が悪いので食べていて飽きるんです。

そこで、色々なメーカーの商品を食べ比べて見たのですが、最終的にはコレに落ち着きました。アサヒの「発芽玄米入りダイエットケア雑炊」です。
ダイエット雑炊 - 1

良くあるのは、米を乾燥させたようなツブが入っている商品なのですが、雑炊にしたものから液体を完全に抜いて固めたような作りになっています。

その工夫もあってか、食感も悪くないし、味もまぁまぁ。何よりも全種類味が違うので、なかなか飽きないのが良い所です。

うん、美味しいので、しばらくはコレで行きましょう。

■ 後書き

少し前までは、同じシリーズの鯛と松茸の2種類の味が入った商品を食べていたのですが、調べてみるともっと味の種類が多い商品を売っていたので、こちらに変えたのです。味の種類が多いのは良いことです。

ちなみに、同様の商品で同じレベルで美味しいと思ったのは永谷園の「大人御膳 とり雑炊」です。これもシリーズらしく、「さけ」「かに」という味もあるようです。

こちらも、結構美味しかったのですが、6個入りで同じ味がずっと続くかと思うと、ちょっと、ね。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

設計書の作成ツールが欲しいけど・・・

■ SI Object Browser

データベースの管理に「SI Object Browser」というソフトを使っています。と言っても、実際にはSQLの実行がメインなので、フリーのツールでも代替できるのですが、その筋では有名なソフトらしく、そこそこ使いやすいので愛用しています。

値段も、そんなに高くないですしね。

さて、実は基幹システムの移行作業をしていて、その過程でOracleのVer.が11gから12cに変わります。そして、今使っている「SI Object Browser」のVer.だと12cに対応していないらしいので、買い直しになりそうです。

ってことで、インターネットで「SI Object Browser」の情報を集めていたら、検索サイトとかに出てくる広告に「SI Object Browser Designer」とかが出てくるようになりました。

■ 設計書の作成ソフト

この「SI Object Browser Designer」って何かと思ったら、設計書を作成するソフトらしいです。

ホームページ(http://www.sint.co.jp/products/obdz/)の説明を引用させて頂きます。


SI Object Browser Designer(OBDZ)はソフトウェア開発の上流工程である基本設計・詳細設計をシステム化し、合理化・標準化を実現するアプリケーションです。現状はExcelやWordによる基本設計書・詳細設計書の作成が主流ですが、「修正箇所が複数にわたり不整合が発生する」、「設計書の記述ルールや フォーマットを統一できない」、「変更管理ができない」など、多くの課題を抱えています。


確かに、その通り。非常に困っています。Excelで作っているのですが、フォーマットを整えるのも面倒だし、不整合は起きるし、変更が重なった処理だと設計書がグチャグチャになって、もうソース追った方が早いという有様です。

後、せっかく設計書を作っても、それを、後追いが出来ないのも不便です(例えば、あるテーブルを使用している処理を洗い出すなど)。それようの資料を別に用意すると、今度はそっちの修正を忘れて実体と乖離するし。

どこでも、困っていることは同じなんですね。

■ 欲しいけど・・・

さて、色々と出来そうなのですが、私が良いと思ったのは「単体テストの仕様書作成の自動化」と「モックアップ(HTML)出力」。どちらも手間が掛かる部分なので、これだけでも欲しいと思っちゃいました。

ソースの自動作成は出来ないようだけど、その手の機能で出来るソースって大抵色々とアレなので、別になくても良いしね。

問題があるとしたら、自社で管理しているのが基幹システムの一つだけなのと、設計者が私しかいないって点でしょうか。設計書が云々と言っても、誰も必要性を理解してくれないだろうし。

ま、もうちょっと開発者が増えて、仕事に余裕が出来たら考えてみようかな?

■ 後書き

「SI Object Browser」を買い直しと書きましたが、実際にはどうなんでしょうね?

費用を払って保守契約を結んでいればバージョンアップは無料と書いていましたが、保守契約が無い場合は別の料金体系があるのか、買い直す以外に方法がないのか、どちらかでしょうか。

ホームページには、保守契約が無い場合のバージョンアップについては記載が見当たらないですし、これは素直に聞いてみるしかないですね。

購入時に保守契約を結ぶのが筋なのでしょうが、基本はSQLの実行と実行結果のExcel出力だけなので、無駄と判断して保守契約は結んでないんです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

ASTERIAで変数を使ってみたNo3 外部変数セット(全フロー共通の変数・定数)

ASTERIAのパブリック変数

前回、前々回の実験で、ASTERIAの変数は定数とか、パラメータとか、広い意味があるというのは理解できました。

今回は、複数のフローで共有できる定数を作成してみます。

■ 外部変数セット

フローをまたぐ定数や変数を作る場合、「外部変数セット」なるものを使うようです。

画面左上のツリーから、外部変数セットのアイコンをクリックします(右クリックメニューでも選択できます)。
ASTERIAで変数を使ってみたNo3 - 1

作成画面が表示されたので、定数に「testTeisu」という変数を作って、初期値を「base」にします。
ASTERIAで変数を使ってみたNo3 - 2

すると、こんな感じで表示されました。
ASTERIAで変数を使ってみたNo3 - 3

■ 外部変数セットの使い方

これで使えるかと思いました。フローを作って、いつものMapperから値を引っ張ろうと思ったのですが、外部変数セットというものは出てくるのですが、肝心の値が見つかりません。
ASTERIAで変数を使ってみたNo3 - 4

しばらく迷ったのですが、どうやらフローで使用する外部変数セットを設定しないとダメらしいです。具体的には、フロー画面上に外部変数セットをドラッグ&ドロップします。
ASTERIAで変数を使ってみたNo3 - 5

改めて、Mapperを見ると外部変数セットの値を選択できるようになっていました。定数「testTeisu」を出力ストリームに設定します。
ASTERIAで変数を使ってみたNo3 - 6

これを実行すると、出力ストリームに定数「testTeisu」に設定していた初期値「base」が出力されました。
ASTERIAで変数を使ってみたNo3 - 7

■ 後書き

外部変数セットは「定数」として明示されていますが、これまでの経緯を考えると思うところがあります。

まぁ、リクエスト変数、セッション変数、アプリケーション変数と色々とあるので、チェックボックスで制御するのもどうかってことなんでしょうが。

なお、この辺りについては触れません。どうも、私が利用する用途では使いそうにないし、ヘルプを見ても今一つ理解できませんでした。

前回:ASTERIAで変数を使ってみたNo2 フロー変数公開(パラメータ)

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

ASTERIAで変数を使ってみたNo2 フロー変数公開(パラメータ)

■ ASTERIAで変数の公開

前回、ASTERIAで変数を作ってみたのですが、その中の「公開」というチェックボックスについて触ってみようと思います。

これ、何でしょうね?

どうやら、「公開」をONにすることでサブフローのパラメータとして使用できるようなのですが、今一つ使い方が・・・

■ サブフロー

色々とやっていて分かったのですが、この「公開」という設定は、呼び出される側のフロー(つまり、サブフロー)で定義する必要があるようです。

実際に作ってみます。変数「testHensu」を作って「公開」をONにします。さらにMapperで変数「testHensu」と文字列「b」結合して、ストリームとして返却するようにします。
ASTERIAで変数を使ってみたNo2 - 1

新しくフローを作って、上記のフローをSubFlowコンポーネントで呼び出します。すると、パラメータに上記で公開をONとした変数が表示されました。
ASTERIAで変数を使ってみたNo2 - 2

サブフローの呼び出しで直接値も設定できそうでしたが、それもどうかと思ってサブフローの直前にMapperを挟みました。まさにパラメータという項目が表示されていたので、文字列「a」を「testHensu」に渡します。
ASTERIAで変数を使ってみたNo2 - 3

これでフローを実行すると、こうなりました。パラメータとして渡した「a」と、サブフローで結合した「b」が合わさって「ab」というストリームが作成されました。
ASTERIAで変数を使ってみたNo2 - 4

■ 後書き

フローを、プログラムのメソッドとして考えるとして、「公開」をONとした変数はメソッドの引数(パラメータ)となる。こういう考え方なんでしょうか。

確かに、メソッドの引数も変数の一種といえなくもないのでしょうが、この概念が理解できなくてしばらく悩みました。

ASTERIAから入った人はスムーズに理解できそうですが、長年にわたるプログラマーとしての経験が理解の足をひっぱている気がしてなりません。

前回:ASTERIAで変数を使ってみたNo1 変数の定義と定数
次回:ASTERIAで変数を使ってみたNo3 外部変数セット(全フロー共通の変数・定数)

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

ASTERIAで変数を使ってみたNo1 変数の定義と定数

ASTERIAで変数

ASTERIAで色々と処理を作っていると、どうしても変数を使いたくなります。

基本的に、ASTERIAの処理って前後のコンポーネントで値の受け渡しをするって考え方みたいなので、処理の最初の方で設定した値を使い続けるっていうような処理を作ろうとすると、変数が必要になるわけです。

ASTERIAの変数って色々と種類があるようですが、基本的にはフロー変数というものになるようです。これはフロー中でのみ有効な変数で、javaで言えば private を付けた変数ってことみたいです。

ってことは、ASTERIAのフローって、Javaのクラスに該当するんだろうか・・・

閑話休題、フロー変数は、画面右下の方にある場所から定義します。
ASTERIAで変数を使ってみたNo1 - 1

とりあえず「公開」をOFF、変更を「ON」にしてみます。

■ 値の設定と参照

変数への値の設定は、Mapperを使用します。「設定した!」って文字を、フロー変数「testHensu」に設定しています。
ASTERIAで変数を使ってみたNo1 - 2

今度は、フロー変数から値を引っ張ります。Mapperで「変数Val」という1項目のみのcsvを作って、そこにフロー変数「testHensu」の値を突っ込みます。
ASTERIAで変数を使ってみたNo1 - 3

これを実行すると、実行結果には変数に設定した値が出力されているのが読み取れます。
ASTERIAで変数を使ってみたNo1 - 4

うん、ここまでは簡単でした。

■ 定数

変数を定義する時に「変更」というチェックがありましたが、これをOFFにすると定数のような使い方が出来るようです。

・・・っていうか、定数として使用する以外に使い道が思いつかない。

先ほど作ったフロー変数「testHensu」の初期値を「ぐぁ」、変更をOFFにします。
ASTERIAで変数を使ってみたNo1 - 5

値を設定していた最初のMapperを開くと、変数への値の設定がエラーになっています。
ASTERIAで変数を使ってみたNo1 - 6

constを消すと、フロー変数「testHensu」が見えなくなりました。「変更」をOFFにすると、Mapperの右に出なくなるようです。
ASTERIAで変数を使ってみたNo1 - 7

そのままフローを実行すると、初期値に設定した「ぐぁ」が出力されました。
ASTERIAで変数を使ってみたNo1 - 8

ASTERIAで定数を使う場合、定数として定義するのではなく、変数として定義して、変更不可とすることで定数のような使い方をするようです。

■ 後書き

変数という概念を導入したのは悪いことではないと思うのですが、別のコンポーネントの値を引っ張ってくるって考え方があっても面白と思います。

たとえば、最初の方でデータを読込んで加工して別のデータにするとして、処理の最後の方で最初に読込んだデータ上にしか保持していない値を取得して何らかの制御をするとします。

そうなると、変数に値を設定しておけば良いのですが、別のコンポーネントで読込んだストリームから直接値を引っ張るようなことが出来ても面白い気がします。

まぁ、これは私がプログラムを書くときに変数の使用を抑えるようにしているから、自然とそういう考えになっているだけです。

・・・妙に変数を多用する人がいるので、後でプログラムを追うと苦労するんですよね。

次回:ASTERIAで変数を使ってみたNo2 フロー変数公開(パラメータ)

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

ブログやホームページ中にタグを書き込みたい!


この前、ASTERIAでxml文書を扱う記事を書いていましたが、その中でテストデータとして使用したxml文を掲載していました。

こんな感じです。
<?xml version="1.0" encoding="utf-8"?>
<root>
<record>
<field1>あ</field1>
<field2>い</field2>
<field3>う</field3>
</record>
<record>
<field1>か</field1>
<field2>き</field2>
<field3>く</field3>
</record>
</root>


これ、マウスで選択(左クリックしながらグイッと動かす)すると、文章として選択できてコピーも出来ます。

それで?って思うかもしれませんが、実は少し工夫しています。ブログだろうとホームページだろうと、結局はHTML。HTMLはxmlと同じくタグ区切りの文章構造なので、xmlをそのまま書くと上手いこと反映されません。

■ 実体参照

ではどうするかというと、タグの部分、つまり < と > を実体参照で記述すれば良いらしいです。

< は &lt;
> は &gt;

なので、ブログ本文にはこのように書きました。
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;root&gt;
&lt;record&gt;
&lt;field1&gt;あ&lt;/field1&gt;
&lt;field2&gt;い&lt;/field2&gt;
&lt;field3&gt;う&lt;/field3&gt;
&lt;/record&gt;
&lt;record&gt;
&lt;field1&gt;か&lt;/field1&gt;
&lt;field2&gt;き&lt;/field2&gt;
&lt;field3&gt;く&lt;/field3&gt;
&lt;/record&gt;
&lt;/root&gt;


■ 実体参照そのものを表示

なお、実体参照自体を表示する場合は、&(アンパサント)の部分を実体参照してやれば良いようです。「&で始まる特定の文字列の場合、表示時に別の値に置き換える」と言うのであれば、その形を壊してやれば良いってことですね。

例えば、アンパサントの実体参照は、&amp; なので、 &lt; を表現する時には、&amp;lt; と書けば良い訳です。

■ 後書き

もう少し手間なくやるなら、画像にして貼り付けるっていう手もあります。実際、他の方のブログやホームページでそうなっているものも結構見かけます。

ただ、その方法だとコピペが出来なくて苦労(と言うほどのことでもないが)したので、自分のブログではコピペ可能にしておこうかと思いまして。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

地ウィスキーのあかしを飲んでみた

■ あかし

普段は行かないスーパーに行った時に、お酒売り場で変わったウィスキーを見つけました。どうやら地ウィスキーらしく、あまり見かけないボトルです。

明石の地ウイスキーだそうです。
あかし - 1

製造は、江井ヶ島酒造株式会社。
あかし - 2

ホームページがあったので除いてみたのですが、ウィスキー以外に日本酒、焼酎、ワインと何でも作っている感じ。設立100年以上と歴史のある会社みたいです。

さて、とりあえずロックで、続けてハイボールにして飲んでみたのですが、何だろうか?あんまり美味しいと感じません。

これが何かと聞かれればウィスキーだと答えます。でも、何というかウィスキーなんだけど、洗練された感じがしないというか・・・

■ 後書き

考えてみれば、地ビールも似たようなものですね。やっぱり餅は餅屋で、それ専門でやっている所には敵わないのかなと思うところです。ま、商品としては面白ですけど。

ちなみに、普段行かないスーパーに寄った理由は、唐突にケーキを食べたくなったからです。それもチョコケーキ。それを買いに行くために普段通らない道を通ったのです。

ここ最近、週の行動が定型化していたので、ちょっとだけ新鮮でした。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

Oracleの圧縮テーブルの一覧取得方法(Advanced Compression)

■ 普通のテーブル

Oracleで圧縮(Advanced Compression)されているテーブル一覧を取得しようと思います。

圧縮の有無は、USER_TABLESで確認できるようです。

/*
* 圧縮(Advanced Compression)テーブルの一覧
*/

SELECT
TABLE_NAME
,COMPRESSION
FROM
USER_TABLES
WHERE
COMPRESSION = 'ENABLED'
ORDER BY
TABLE_NAME


COMPRESSION列の値が ENABLED であれば、圧縮されているってことらしいです。

なお、DISABLED は圧縮されていないということなのですが、上記のSQL文からWHERE条件を消すと、COMPRESSION列の値が NULL になっているテーブルが存在します。

■ パーティションテーブル

OMPRESSION列の値が NULL になっているのは、パーティションで分割しているテーブルでした。パーティションテーブルは特性上、分割した単位で色々と設定できます。

例えば、実績系のテーブルで年度で分割して、アクセス頻度の少ない古い年度のパーティションだけ圧縮するってことも出来るのでしょうね。

そこで、パーティションの情報が格納されている DBA_TAB_PARTITIONS から COMPRESSION列の値が ENABLED となっているデータを取得すればOKです。
/*
* 圧縮(Advanced Compression)テーブルの一覧
* パーティションテーブル
*/

SELECT
TABLE_OWNER
,TABLE_NAME
,PARTITION_NAME
,COMPRESSION
,COMPRESS_FOR
FROM
DBA_TAB_PARTITIONS
WHERE
COMPRESSION = 'ENABLED'
ORDER BY
TABLE_OWNER
,TABLE_NAME
,PARTITION_NAME


■ 後書き

システムの移行のため、Oracle11g → Oracle12c へ移行することになりました。その移行確認のために、色々と設定に差異が無いか確認するために必要になったのです。

正直、適当に「Oracle 圧縮 テーブル 一覧」とかで検索すればサクッと見つかると思ったのですが、出てくるのは圧縮の設定方法や、圧縮した結果の検証とかばかり。

結局、Oracleのマニュアルを見ることになりました。

・・・簡単すぎて、誰もネットに情報をあげようと思わなかったってことかな?

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

炭酸泉を自宅で偽装。のためのHotTab(ホットタブ)

■ 炭酸泉

高血圧の治療目的で炭酸泉(がある銭湯)に通っていたのですが、ここ最近は帰宅時間が遅くなっているのと、冬道で行き来に時間がかかるので辛くなってきました。

・・・往復するだけで1時間は辛い。

ってことで、何とかならないかと思っていたのですが、何でも自宅で炭酸泉を味わうことができる商品があるそうです。

うーん、前に調べた時には実用レベルではなかったような気がするのですが。

■ HotTab

少し調べてみると、HotTabという良さそうな商品を見つけました。
HotTab - 1

HotTab - 2

この味も素っ気もない外観と、重炭酸湯という言葉が気に入りました。なお、購入先はヨドバシカメラ(正確には、ヨドバシ.com)。いつもはLOHACOなのですが、そっちだと取り扱ってないみたいでして。

中には、かなり大きめの錠剤が入っています。1回に3錠使うそうです。
HotTab - 3

ってことで、投入!ブクブク泡が吹いてきました。
HotTab - 4

大きいだけあって、結構溶けきるまでに時間がかかりました。5分経過後でも、ちょっと形が残っています。

何となく気がついていましたが、特に水の色が変わったりはしないようです。浸かってみましたが、炭酸泉のように特に体に気泡が付くような感じもありません(若干はつくけど、誤差の範囲)。

・・・うーん、これはどうなんだ?

とりあえず、炭酸泉と同様に15分くらい浸かるらしいので、ジッとしていました。結果、体がポカポカして熱が引かない感じがします。ただ、これも単に暖かめの湯に15分浸かったら同じようにならないかと言われると、どうだろうか?

炭酸泉の場合、湯に浸かっている間は湯の温度よりも暖かく感じるのですが、こっちの方はそういうわけでもありません。湯がぬるければ、普通にぬるい。

うーむ、やっぱり炭酸泉とは違うものみたいです。

ただ、効果の方はどうなんでしょうか?そもそも炭酸泉自体の効果も何となくだし、これはこれで本人が気がつかないだけで良い効果があるのかもしれません。

そういうわけで、この記事を書いた時は30錠の商品を買ったのですが、それが無くなってから100錠の商品を購入しました。とりあえず、今年の冬はこれを使ってみることにします。

■ 後書き

同じような話を少し前に書きましたね(自宅で炭酸系の入浴剤を試してみた)。

あの後、もうちょっといい感じの商品はないのかと調べた結果が、今回のHotTabでした。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

今回の投資は泰平航路!

■ 泰平航路

年が改まったので、去年作ったNISAの枠がまた使えるようになりました。冬のボーナスと毎月の貯蓄である程度まとまった額になってきたので、また何かを買おうと思います。

そして、コレになりました。
泰平航路 - 1

泰平航路 - 2

三井住友アセットマネジメントが運用するコーポレート・ボンド・インカム(為替ノーヘッジ型)です。愛称の泰平航路っていうのが、心をくすぐります。

投資信託の商品名が長いからって、無理に愛称を付けなくても良いと思ってたのですが、考えたら販売用なんでしょうね。口頭で話すときに長い商品名を言うのも大変だし。

購入したのはいつもの北海道銀行。これまでは株とかが多かったから、今回は債権を勧められました。本当は前に購入した円奏会(円奏会&ひふみプラス(道銀積立投信))あたりを買い増せば良いのかもしれませんが、あれは月の配当額が少ないので、せっかくのNISAの非課税の恩恵が少ない気がするので、今回は配合額の大きなものを希望しました。

毎月配当は避けた方がトータルの利益は良いのでしょうが、もうちょっと月の収入額を増やしたいのです(配当だけで食べていけるようになったら最高です)。

いつものパターンだと暫くは基準価格の下落に足を引っ張られてマイナスになるのでしょうが、長期的に見るとどうなるか楽しみです。

■ 備品

なお、今回はタオル、洗剤、ウェットティッシュを頂きました。
泰平航路 - 3

どれも有り難いです。人によってはタオルは要らないと言うかもですが、私は風呂好きで、かつバスタオルを使わない人間なので、普通のタオルは助かります。

■ 後書き

本当は、そろそろネットで購入しても良いかと思っていたのですが、店舗から案内もきましたので何となく行ってみました。消耗品を頂けるのも地味に嬉しいし、色々と話を聞けるのも楽しいですし、まぁ、これはこれで良いかと思ってます。

ところで、今回は全て普通預金から取り崩して購入したのですが、その結果、普通預金の残高が酷いことになりました。計算すると、次の大きな支払いの前に給与の振込が入るのでギリギリ大丈夫な筈なのですが、もしかすると面白いことになるかもしれません。


最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

Oracleのimpdp&expdpで統計情報が壊れたので再取得

■ impdp&expdp

Oracleの本番環境からexpdpで取得したdmpファイルを、開発環境にimpdpでインポート。さらに開発環境からexpdpでダンプファイルを取得という操作を行っていました。

作業終了後、開発環境の使用を再開したのですが、異様に処理が遅い。何だろうと思って色々と調べてみると、開発環境の統計情報がどうやら壊れている気配です。

何をもって壊れていると言えるのか分かりませんが、PrimaryKeyだけを条件とするSELECT文の実行計画が全く関係ないインデックスを使っているので、統計情報が変になっているのは間違いないと思います。

なお、環境はOracle11gです。

■ 統計情報の取得(テーブル)

そもそも、統計情報の取得は手動にしていたという認識だったのですが、USER_TABLESを引っこ抜いてLAST_ANALYZEDを確認すると、impdpを実行した辺りの日付情報が設定されていました。ふむ、動的に変わるようになっていたんですね。

とりあえず、統計情報が変だという想定のもとに1テーブルだけ統計情報を再取得してみます。

スキーマ:HARIKOFU、テーブル:TERA に対して統計情報の再取得を実行します。


-- テーブル単位の取得
EXECUTE DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => 'HARIKOFU', TABNAME => 'TERA');


処理は、SQL*Plusから実行です。

処理の終了後、TERAテーブルをPrimaryKeyで検索すると、きちんとPrimaryKeyを使用する実行計画になっていました。

■ 統計情報の取得(スキーマ)

これに気を良くして、スキーマ全体の統計情報取得を実行します。構文はさっきとほぼ同じですが、OPTIONS何たらの部分がちょっと変わります。


-- スキーマ単位の統計情報の取得
EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS (OWNNAME => 'HARIKOFU', OPTIONS => 'GATHER');


この辺りの処理の詳細はOracleのマニュアルに書いてあったのですが、色々とオプションを設定できるようです。ようですが、サラッと見た感じ、特に付ける必要があるオプションがなさそうな感じ。

例えば、OPTIONS => 'GATHER' とした部分は、スキーマ内のすべてのオブジェクトに関する統計情報を収集するという定義です。他に6つほど選択肢があるようですが、何のために設定するのか良く分かりませんでしたので、まぁ、これで良いでしょう。

■ 余談

統計情報の取得日時は、テーブルは「USER_TABLES」、インデックスは「USER_INDEXES」のLAST_ANALYZEDから取得できました。

テーブルなら、こんなSQLで確認出来ます。

SELECT TABLE_NAME NAME
,LAST_ANALYZED
FROM USER_TABLES


ところで、SQL*PlusでEXECUTEを実行する時って改行出来ないんでしたっけ?

テキストエディタに下記のように記述して、それをコピペでSQL*Plusに貼り付けて実行したのですが、1行目の部分で処理が実行された感じになって上手く行きませんでした。

-- テキストエディタに書いた文
EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS (
OWNNAME => 'HARIKOFU'
,OPTIONS => 'GATHER');


普段、Object Browser とか使っているから、SQL*Plusを使おうとするとちょっと戸惑っちゃいます。

■ 後書き

本番環境から開発環境にデータを移すまでは良くあるでしょうが、その直後に開発環境から引っこ抜くのは何でだろうと思った方もいるかと思います。

かなり迂遠なことをやっているのは事実ですが、本番環境のストレージの容量が足りないので、他に良い手段が思いつかなかったのです。

つまり、本番環境ではexpdpをテーブル単位に実行。作成したdmpファイルを開発環境にコピー。んで、本番環境でexpdpで別のテーブルを取得・・・という処理を繰り返しました。

んで、開発環境には十分な容量があったので、impdpで登録後にexpdpでスキーマ全体のdmpファイルを取得した訳です。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

iPhoneの写真を整理してたら色々と出てきた

■ 写真整理

ここ最近、ずっと仕事が忙しくて時間がなかったのですが、色々とあって少し余裕が出てきました。なので、iPhoneに撮りためた写真を整理していたのですが、うん、なんだか色々と出てきました。

2016年4月の通勤途中の写真です。何かの記事にしようと思ったのか、綺麗だと思って撮ったのか、すでに記憶の彼方です。
iPhone写真整理a - 1

iPhone写真整理a - 2

iPhone写真整理a - 3

2016年7月のカラスが着地する瞬間。
iPhone写真整理d - 1

2016年7月のJRタワーの空のガーデン。生憎の大雨でした。天気が良ければ、良い感じの場所なのかと思います。・・・いや、その時には混んでいて結局使えないかな。
iPhone写真整理g - 1

iPhone写真整理g - 2

2016年8月。北広島の湯処ほのかで食べたイカ酒盗(しゅとう)。うん、これは美味しかったなぁ。
iPhone写真整理e - 1

同じく、2016年8月の出光のガソリンスタンドで始まった車のリースの案内です。次はリースにしようか検討中。お得かどうかは微妙ですが、色々と手間が掛からなそうなのは魅力です。
iPhone写真整理f - 1

2016年9月。なか卯のカレー。これも記事にしようと思ってたけど、書かないうちに忘れてしまった。今では味も思い出せません。
iPhone写真整理h - 1

2016年12月の、「さんぱち」というラーメン屋で撮ったものです。しらたき麺とか面白そうですが、100円増しでしらたきとか訳がわからない・・・
iPhone写真整理b - 1

同じく、12月29日の通勤途中です。狙いはカラス。時々、動物を見かけたら写真撮ってるのですが、深い意味はないです。
iPhone写真整理c - 1

■ 後書き

遡って見ていくと、2015年頃の写真がポロポロと出てきました。そのうち記事にしようと思って撮りためていたのですが、流石にここまで昔になると思い出すのも一苦労です。

写真は単純に削除しないで我が愛機(Mac)に取り込んで分類しているのですが、区分けに困ったのが食べ物だけ写した写真です。

前後にメニューや店舗でも撮影していた写真があれば思い出せるのですが、ただカレーだけ、寿司だけ。かつ最近足を運んでいない店となると、なかなか思い出せません。

何にせよ、2時間ほど頑張って綺麗になりました。スッキリです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

万葉の湯のポイントカードランクアップ

■ 

大体月に1回くらい、万葉の湯に足を運びます。ここは施設自体も良いのですが、私の狙いは散髪。顔剃りまでやってくれるのに、カット専門店よりちょっと高いくらいで、腕も良い感じです。

ってことで、1月下旬に行ったのですが、フロントで受付をしているとカードがランクアップしたと言っています。年間1000ポイント以上でシルバーになるらしいので、そのくらいは貯めていた気がします。

さて、こんなカードに変わりました。
万葉の湯ポイントカードシルバー - 2

今まではブルーだった(ふとみ銘泉万葉の湯で休日(ポイントカードと串))のがシルバーです。

・・・なんだか、地味になってランクアップしたって気にならない。

■ 後書き

なお、これまでは100円で1ポイントだったのが、100円で2ポイントになるそうです。このポイント、還元率があまり良くないと思っていたのですが、入館ポイントとかあって意外と貯まるようです。

ちなみに、この日はこんな感じの食事でした。
万葉の湯ポイントカードシルバー - 1

そういえば、一部の飲み物については自分で注げるような機械が設置されていました。自分で汲んで、カウンターみたいなところで清算するって感じです。最初は戸惑ったのですが、自分の好きなように調整できるのは良いですね。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

蜘蛛が猿になってネズミが人で人体の皮を剥ぐ

■ 夢

書こうとしたことを要約したら、訳の分からないホラーになっていました。ひとつ確かなのは、意味が通らないってことですね。

さて、唐突に何かと言うと、妙な夢を見て色々とこたえたので書き残して置こうかと思っただけです。

まず、建物の角の部分にLANケーブルを通すモールのようなものが貼ってあって、私は下からそれを見上げています。すると、そのモールの中から蜘蛛が1匹、2匹、3匹、4匹と出てきます。しかも、少しずつ大きくなっていきます。

何を思ったのか、私は蜘蛛の餌を用意しようとして、迷った末にネズミを差し出しました。すると蜘蛛が小さな手乗り猿に姿を変えています。1匹が親で2匹が子供の計3匹。そいつらは、ネズミの皮を剥ぐようにしながら食べていきます。

・・・この時点で、グロいです。

ふと見ると、ネズミが人間(成人男性)に変わっています。猿の大きさも動物園で見かけるようなサイズになっています。そして猿は、人間の頭の後ろから、こう顔の皮を引っ張るような感じで皮を剥いで行っています。

顔から上の皮が剥がれたと思ったら、いつのまにか全身の皮が剥がされて、筋肉むき出しの人体標本のような有様。

生き絶えたほうが幸せなんじゃないだろうかと思いながら見ていると、すっくと立ち上がって背中を向けて歩み去って行きました。

■ 後書き

気がついたら、朝の5時でした。

・・・・・・・・・・・・・・・・・・・・・そんな夢を見るような生活はしていないよ。

改めて自分の文章を読んで見ると、やっぱり訳が分からないし気持ち悪いです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

EclipseでTODOを一覧表示したい

■ TODO

数名でJavaのシステムを修正しているのですが、相手の作業待ちの部分とかに仮のソースを突っ込んでおいて、後でソースをマージする時に正しく書き換えようと思いました。

そこで、後で場所が分かるように、コメントにTODOを埋めておきました。こんな感じですね。
/**
* <B>****コード取得処理</B>BR>
*
* <PRE>
* TODO ソースのマージ時に、上位クラスに移動する。
* </PRE>
*
* @param makerCode メーカーコード
*/
private void makerSet(String makerCode) {


さて、いざ直そうと思ったら結構な数になっていて探すのが面倒です。TODOを付けた場所、一覧で表示できないでしょうか?

■ タスクビュー

どうやら、タスクビューに表示されるらしいのですが、Eclipse上でタスクビューが見当たりません。

そこで、「ウィンドウ」→「ビューの表示」→「その他」をクリック。
EclipseでTODOを一覧表示したい - 1

「一般」→「タスク」を選択して「OK]をクリック。
EclipseでTODOを一覧表示したい - 2

これで、タスクビューが表示されました。確かに、TODOって表示されれますね。
EclipseでTODOを一覧表示したい - 3

■ 後書き

開発を担当してから10年ほどたちますが、タスクビュー(というかTODO)を使ったのは初めてです。表示された一覧を眺めていると、私が設定した以外にも表示されています。

何かと思ったら「 ****をしている、要検証 」とかコメントが・・・

要検証ですか、運用中のシステムなのに要検証ですか。いや、うん、消すの忘れただけだろうけどね。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

ローソンの冷しうどん風こんにゃく麺でダイエット

■ ローソン

ここ最近、帰りが遅いので帰宅途中にローソンで夕食(というか、時間的には夜食)を購入しています。さて、何にしようかと見ていると変わった商品を見つけました。

冷しうどん風こんにゃく麺だそうです。別に珍しいものではないですが、コンビニで売っているとは思いませんでした。
冷しうどん風こんにゃく麺 - 1

絵を見ると具がついてるように見えたので買って見たのですが、実際には麺とタレだけでした。てっきり、何らかの具材がセットになっていると思っていたので拍子抜けです。
冷しうどん風こんにゃく麺 - 2

まぁ、コンビニ商品だけあって良いところもあります。麺の袋に斜めの切り込みがあってハサミがなくても綺麗に麺を取り出せました。
冷しうどん風こんにゃく麺 - 3

さて、出来上がりです。
冷しうどん風こんにゃく麺 - 4

・・・寂しい。

■ 後書き

ん、味ですか。そりゃ、こんにゃく麺の味ですよ。こればかりは工夫も何もないですからね。

ローソンセレクトでの販売なので、スーパーで売っているようなものと違って具がついていると思って買ったのに、何だか騙された気分です。おそらく、良く読めば具はついてませんとか書いてるのでしょうが、今ひとつ納得できないような・・・

何にせよ、これはもう良いです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

たまゆらの杜がいつの間にやら変わってた(2017年2月5日)

■ たまゆらの杜

それなりに愛用している「たまゆらの杜」。ここ最近は温泉施設に行くのも少なくなっていて、久しく行っていませんでしたが、少し時間ができたので行ってみることにしました。

全体的な雰囲気は、これまでと変わりません。ロッカーから風呂までも特に違和感を感じません。なのですが、2階に上がったあたりから何やら違和感を感じます。

まず、軽食の方に新メニューが登場していました。
たまゆらの杜 - 1

他にも、色々とメニューが変更されています。お茶漬けは前に来た時にもあった気がしますが、蕎麦と丼モノのセットってありましたっけ?それに半チャーハンとか記憶にありません。

ここまでは、へぇ、変わったんだって思いながら見ていたのですが、何やら凄い違和感。よくよく見てみると、私が好きだった名物の唐揚げが見当たりません。

・・・どうやら、廃止になったようです。

■ 四季

もう一つの、やや本格的な食事処の四季の方ですが、こちらのメニューは大きく変わっていないように見えます。ただし、冬季限定メニューという形で少し変わったメニューを出して・・・あれ?ザンギがあります。

確か、ザンギってメインメニューにあったはずなのですが、限定メニューの方にひっそりと存在しています。なんでしょうか?ザンギは仕込みが面倒だから排除したとか?

・・・うーん、私は好きでよく頼んでいたのですが、あまり売れ行きが良くなかったのでしょうか。

他は変わっていないと思ったのですが、野菜サラダを頼んで見たら、前と違う気がします。
たまゆらの杜 - 2

確か、前にブログに写真を投稿したはずだと探したのですが、こちらの記事(たまゆらの杜で創業祭!(タオル貰った))に貼っていました。

うん、ぜんぜん違う!なんか雑になってる!

■ 後書き

もう一つ、アレって思ったのは、水素水の購入機があったこと。
たまゆらの杜 - 3

これは前からあったのかも知れませんが、ふと気がつきました。面白そうなので使って見たかったのですが、どうやら別にボトルが必要なようで、どうして良いのかわからなくて断念しました。

効果が疑問視されている、というか、政府機関から正式に効果ないというような結果が出された商品ですが、まぁ、この手の商売って大体いつも同じ流れですから、そろそろブームが終わっても当然のような気がします。

しかし、たまゆらの杜は風呂や休憩コーナーは気に入っているのですが、食事が一つ落ちると思っていたのですが、今回行って見たら更にランクが落ちている気がします。良い風呂、良い休憩、良い食事と、重要な要素の3つめが弱いのですが、更に弱体化させてどうするんだか。

ちと残念です。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

有給を使ってさっぽろ雪まつりを見学して来ました

■ 有給

有給です、今日は有給でお休みです。平日のお休みは貴重なので、何をしようかと思っていたのですが、そういえば「さっぽろ雪まつり」がそろそろ開催のはず。ホームーページを見ると、私の休みの日が大通り会場の開始日でした。

家でじっとしていてもしょうがない(それはそれで良いんだけど)ので、出て見ることにしました。

■ 雪まつり

これが土日ならバスか札幌駅の周辺に止めて歩いたのでしょうが、平日なら大丈夫だろうと思って車で大通りまで来ました。北海道銀行の裏手にある駐車場に停めて、出発です。
さっぽろ雪まつり - 1

さっぽろ雪まつり - 2

さっぽろ雪まつり - 3

さっぽろ雪まつり - 4

さっぽろ雪まつり - 5

さっぽろ雪まつり - 6

さっぽろ雪まつり - 7

さっぽろ雪まつり - 8

さっぽろ雪まつり - 9

さっぽろ雪まつり - 10

さっぽろ雪まつり - 11

さっぽろ雪まつり - 12

さっぽろ雪まつり - 13

さっぽろ雪まつり - 14

さっぽろ雪まつり - 19

うん、立派立派。毎年のことなので当たり前に感じて来ていますが、これを作るとなると大変です。

■ 飲食

こういうイベントに行くと、どうしても飲食店が気になります。ある程度はまとまっていましたが、結構分散して店舗が出店していたので、目移りします。いつもなら牡蠣とかツブを狙うのですが、今回は別なものにしました。

包み焼きピッツァ(マルゲリータ)。本当は開封した写真も撮りたかったのですが、中に入っているピザが熱くて溢れ出して来て余裕がありませんでした。
さっぽろ雪まつり - 15

そして、ラーメン。
さっぽろ雪まつり - 17

さっぽろ雪まつり - 18

シンプルイズベストというべき味噌ラーメンですが、美味しかったです。ただ、寒空の下で食べるのは辛かった・・・

最後にクレープ。ここでクレープかと言いたいのですが、甘いものが食べたくなったので頂きました。
さっぽろ雪まつり - 20

■ 後書き

なお、今回一番目を引いた雪像はコレです。
さっぽろ雪まつり - 16

・・・うん、誰かが遊び半分で作ったのは分かっていますが、この微妙な感じが愛らしい。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

1月の雨によってドロドロ、洗車ぁ・・・

■ 雨

場所によりますが、北海道では1月を過ぎると雨が降ることはまずありません。かなり暖かい日でも、みぞれが精一杯で、雨なんで冗談とした思えません。

・・・冗談ではありませんでした。
1月の雨 - 1

雪道って結構辛いのですが、1月、2月には降った雪が固まって動きやすくなります。なのですが、この雨で雪が半端に溶けて路面はデロデロ。最悪ですよ。

本当は洗車したかったのですが、この状態では洗った直後に汚れるのが見えているので、また今度ですね。雪が解けるのは3月になってからで十分です。

■ 後書き

そういえば、本州の人が北海道に出張に来る時って、こちらで冬靴を買う人がいるらしいです。最初は冗談かと思ったのですが、そういう人が2人も出てくると本気らしいです。確かに、夏靴だと滑りますからね。

なお、その方は冬靴に油断して転んだらしいです。

・・・・・・・・うん、普通に滑りますから、気をつけましょう。

そして、2月に入ってから1月の話を出してきたのは、この前まで投稿していたASTERIAのシリーズ(ASTERIAでxml文書を扱ってみたNo1 初めに)の投稿中だったからです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

移行データ取得のための徹夜が辛い

■ 移行データ

今、基幹システムの移行プロジェクトを進めているのですが、それも大分良い感じで進んできました。つまり、そろそろテスト工程に入りそうです。

そういうことで、テスト工程で使うための移行データを準備することにしました。取得したいのは、月次処理(夜間処理)の直前のデータ。これを移行して月次処理を実行すれば、新旧の比較テストができます。

このデータなのですが、日々の運用で取得しているバックアップが使えれば良かったのですが、そうも行きません。

■ 徹夜

日々のシステムのバックアップは、夜間処理の直前と直後の2回取得しています。直前の方は、ストレージの機能を使用したバックアップ。直後の方は、Oracleexpdpです。

移行で使いたいのはexpdpの方なのですが、月次処理が終わった後のデータでは意味がないので、手動でバックアップを取得することにしました。

・・・徹夜だよ。

■ 調整

流石に辛いので、夕方から出勤させてもらいました。本当は、もっと遅い時間に出勤したかったのですが、夕方に会議が入っていたので断念しました。

さて、手動でバックアップといっても、これが意外と手間です。夜間帯って結構色々な処理が動いているので、その順番を変えると辻褄が合わなくなって処理が異常終了したりします。

下手にスケジュール自体を止めると、後で戻し忘れるっていうオチが付きそうなので、当日のみ起動しないように調整します。この辺りは、やっぱりジョブの運用監視ソフトは設定が楽で良いです。Windowsのタスクスケジューラでも多少は出来ますが、やっぱりちょっと不便です。

■ 辛い

そんなこんなで処理を調整しているうちに、あっという間に深夜に到達。遅出だったので日中はゆっくりと休んでいた(というか、寝ていた)のですが、やっぱり深夜になると眠いです。

なんだか頭も回らなくなってくるし、コーヒーを飲んでも頭にモヤが掛かった感じだし、色々と宜しくないです。

・・・うーん、私も歳ですかね?

ま、ある程度は体が辛いだろうと思っていたので、月曜日は有給を取得しているので、ゆっくりさせてもらいましょうか。

■ 後書き

実際には色々と問題が出ました。肝心の移行データの取得処理が異常終了。なんだろうと思ったら、バックアップ処理が日付を跨いだことが原因でした。

処理の開始時点で当日の日付でフォルダを作成します(20170203とか)。そして、処理の最後でログの解析をするために作成したフォルダにアクセスするのですが、その時のアクセスの仕方が当日の日付のフォルダを探すというもの。

この場合、開始時点は2月3日ですが、終了時点では2月4日なので見事にフォルダ存在エラーとして異常終了しました。

その他、まぁ、色々と軽微な問題に気がついてしまいまして、ちと考えものでした。移行前に、夜間処理を色々と見直さないとマズそうです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

ASTERIAでxml文書を扱ってみたNo9 配列の定義3

■ ASTERIAxmlファイルの配列

今回は成功事例。前回のお話(ASTERIAでxml文書を扱ってみたNo8 配列の定義2)で間違った配列の定義方法を書いた結果、妙な出力結果になってしまいました。

今回は、配列(繰返し)があるデータの正しい(と思う)定義方法を書いていきます。テストデータは前回の記事と同じものなので、今回は省略します。

■ フロー(正解)

テストデータをFileGetで読み込んで、Mapperで同じレイアウトに転記するだけのフローを作ります。レイアウト上、record、繰返、field1が全て繰返し項目なのですが、ASTERIA側では1行を表すrecordのみを配列として、繰返とfield1は最大要素数の2件を個別に定義します。
ASTERIAでxml文書を扱ってみたNo9 - 1

Mapperコンポーネントのマッピングは、データが入っているfield1を最大数(繰返タグ2件 × field1タグ2 = 4)の数だけ全て連結します。
ASTERIAでxml文書を扱ってみたNo9 - 2

これで、入力データと同じ状態のストリームが作成されました。
ASTERIAでxml文書を扱ってみたNo9 - 3

ということで、ASTERIAでxmlファイルの配列(繰返し項目)を定義する場合は、データ1行を表すタグだけを配列にして、それ以外は最大要素分定義した方が良さそうです。

記述が冗長になるのが気になりますが、まぁ仕方ないです。

■ 補足

xmlファイルについて先入観というか、ちょっと特殊なものって思い込みがあったせいで嵌ったのですが、MapperコンポーネントをCSVにでもして実験していたら分かった話だった気がします。

Mapperのストリーム型をCSVにして、xmlファイルと同じようにレイアウトを作ります。1レコードの項目数の最大となる4項目ですね。
ASTERIAでxml文書を扱ってみたNo9 - 4

そして、それをMapperで連結します。
ASTERIAでxml文書を扱ってみたNo9 - 5

そう、xmlで 繰返、field1 を配列にしていると、このマッピングが出来ないんです。つまり、これを可能にする書き方をしないとダメだったってことのようです。

実行結果はこんな感じ。テストデータをCSVにするならこうなりますよね。
ASTERIAでxml文書を扱ってみたNo9 - 6

■ 後書き

ASTERIAの考え方は「1レコード内に同じ名称で複数の項目があった場合、最大要素数の数だけ同じ名前で項目を用意する」ということは理解しました。

まぁ、確かに他の形式への変換とか、実際の取り扱いを考えるとレコード以外の単位で同じ項目が何十何百と繰り返されることは考えにくいし、そんなデータ構造になっているなら、データベースでいう正規化をするべきでしょうね。

それにしても、ASTERIAで配列の定義ができるのだから、その要素数の範囲を指定できても良い気がします。最少1、最大4とかって定義にして、Mapperのレイヤー画面では最大の値の件数分の項目が表示されるとか。

1レコード内に10程度の配列はあっても不思議じゃないし、そっちの方が記述がスッキリすると思うのですが。

前回:ASTERIAでxml文書を扱ってみたNo8 配列の定義2

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop

ASTERIAでxml文書を扱ってみたNo8 配列の定義2

■ ASTERIAxmlファイルの配列

今回は失敗事例。前回のお話(ASTERIAでxml文書を扱ってみたNo7 配列の定義1)で配列の定義方法を書いていましたが、実際にやってみると思ったような結果になりません。

xmlファイルを読込んで、同じレイアウトのストリームにマッピングするだけの処理を作ったのですが、入力ファイルと出力結果の内容が一致しません。なんだか、妙なところで改行されるというか・・・

なので、動作検証してみようと思います。

■ テストデータ

テスト用の入力ファイルは、こんな感じです。
<?xml version="1.0" encoding="utf-8"?>
<root>
<record>
<繰返>
<field1>きくの</field1>
</繰返>
<繰返>
<field1>sakura</field1>
<field1>とう</field1>
</繰返>
</record>
<record>
<繰返>
<field1>無花果</field1>
</繰返>
</record>
</root>


上記のデータをExcelで表現するとこうなります。
ASTERIAでxml文書を扱ってみたNo8 - 1

recordタグがデータ1行を表し、その中に繰返という繰り返し項目があって、さらにその中でfield1という項目が最大2件定義されています。

これをファイルレイアウトとして表現すると、こんな感じでしょうか。
ASTERIAでxml文書を扱ってみたNo8 - 2

■ フロー(失敗)

テストデータをFileGetで読み込んで、Mapperで同じレイアウトに転記するだけのフローを作ります。レイアウト上、record、繰返、field1が全て繰返し項目なので、それに合わせてASTERIA側のフローを作ります。
ASTERIAでxml文書を扱ってみたNo8 - 3

Mapperコンポーネントのマッピングは、実際にデータが入っているfield1の配列を連結します。
ASTERIAでxml文書を扱ってみたNo8 - 4

これで、入力データと同じ形式でストリームが作成されると思ったのですが、実際の結果はこんな感じ。
ASTERIAでxml文書を扱ってみたNo8 - 5

入力データでは2つしかない recordタグが4つに増殖してしまいました。見た感じ。field1 の単位で改行というか、1レコードが終わったというか、そういう認識をされているように見えます。

・・・なんでだ?

■ 後書き

なんでもなにも、定義が間違ってるからに決まっています。冷静に考えれば分かりそうなものでした。

煮詰まっている時は分からなかったのですが、諦めて帰宅中にふと「あれ?もしかして・・・」と答えが思い浮かびました。

画面とかで少し長くなったので、正解は次回にします。

前回:ASTERIAでxml文書を扱ってみたNo7 配列の定義1
次回:ASTERIAでxml文書を扱ってみたNo9 配列の定義3

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end --- スポンサードリンク

PageTop