三流プログラマの雑記

プログラム、ゲーム、株、その他雑記など書いてます。

【mybatis】autoMapping を取得してネストしたオブジェクトのマッピングを行う

morio.hateblo.jp

前回の記事だと、カラムを追加した時、毎回mapperファイルを修正する必要が出てきます。
それだと運用していくのが困難になるので、autoMapping を用いる方法を模索してみました。
取得用のソースは前回の記事を参考にしてみてください。



autoMapping を 有効にした場合のデータの取得方法

前回書き忘れましたが、前回の記事+上記を実装するに辺り以下の記事を参考にさせていただきました。

MyBatis 使い方メモ - Qiita
ネストしたオブジェクトのマッピングする #MyBatis - ジムには乗りたい

ありがとうございますm(_ _)m

【mybatis】 ネストしたオブジェクトのマッピングを行う

今更ながらですが、mybatis を触っているときにハマってしまった|||orz|||

https://github.com/rararamorio/mybatis_sample

と言いながら、まとめるのがめんどいのちほど見直せるようにとりあえず解消時のソースをgithubに登録してみた。

表題にもあるように、ネストしたオブジェクトを取得する際の処理でハマっていました(^^;)

ネストしたオブジェクトってどういうの?ってな話だと思うのですが、以下のようなデータを想定しています。

person -- 1:多 -- book -- 1:1 -- category

mybatis の 設定ファイルを以下として実行していると、 categoryがnullとなって取得出来ない状態でした。


categoryが取得できない

うーん、、、と思いながらもひらめき試したら動いた版のソース


categoryが取得できる

bookを取得するときは、b_、categoryを取得するときは、c_ というような columnPrefix を指定した場合、
categoryを取得するときのカラム名は b_c_ としないといけなかったんですね。

きっとほかに良い方法があると思うのですが、第一段階としてはこのような感じになりました(^^;)

あと、オプションで autoMapping というのがあるので試してみようかと思います。
きっと上記の設定をもうちょっと短縮できそうな、、、そんな気がします。

Eclipse上でTomcatアプリケーションのカバレッジを取得する

EclEmma がEclipse4.7に標準装備されたようです。
とはいえ EclEmma のことをあまり知らなかったのですが、カバレッジを取得してくれるツールらしいです!

JUnitと組み合わせて使うのが一般的?らしいですが、Tomcat上でWEBアプリケーションを動かしてカバレッジ取得できると「作ったコード通ってるよね?」っていうのが簡単に確認できる=個々人の開発時の品質向上に繋がるのでは?なんて話。

しかし、WTPでサクッとは出来なさそうな予感、、、
そして「カバレッジの構成」にTomcatを指定する方法がない( ゚Д゚)<なんだってー!?

何かしらいい方法はないかと思って、カバレッジの構成内に Javaアプリケーション があるのであれば、
なにかしら設定を追加すればTomcatアプリケーションとして動くのではないかと模索してみた話。

結果、それっぽいことが出来たのでまとめてみました。

模索するにあたり、下記の記事がとても参考になりました。
“使える”Eclipseプラグイン徹底攻略 - (3/3)第7回 単体テストを楽にするプラグイン:ITpro

内容は Tomcat5 の内容なので、そっくり真似てもうまくいかなかったので、Eclipse4.7バージョンでまとめてみようと思います。

f:id:morio_1101:20180121134040p:plain
まずはWTPのサーバー起動コマンドを丸パクリします。

f:id:morio_1101:20180121135842p:plain
次に画面の赤枠から「カバレッジの構成」を選択して、Javaアプリケーションから新規作成します。
Tomcatで実行したいプロジェクトを選択して、メイン・クラスに「org.apache.catalina.startup.Bootstrap」と記述します。

f:id:morio_1101:20180121134606p:plain
プログラムの引数に「start」、VM引数にWTPで指定した引数を貼り付けます。

f:id:morio_1101:20180121134706p:plain
Tomcatとして動かすので、クラスパスにTomcatのライブラリを外部JARの追加で追加します。

あとは上記の設定を複製して、プログラムの引数を「stop」にしたバージョンを作成しておきましょう。
※ stopで停止しないとカバレッジが取得できないみたいです。

では、カバレッジを取得するとどうなるか、適当に作られたサンプルプロジェクトで見てみましょう。。。

f:id:morio_1101:20180121135253p:plain

とても残念なソースコードですが、わかりやすいのでそのままで、Tomcatカバレッジ構成で作成した「start」の設定で立ち上げた後、
画面から上記showを呼び出し、「stop」をした後のカバレッジ結果になります。
if文は通ることがないので、赤色の背景色になっていて実行された箇所が碧背景になります。
自動テストではないですが、サクッと動かして確認するにはいいかもしれないですね!

30歳になったので資産運用を考えてみた

と、本題に入る前に、マネーフォワードの連携項目にねんきんネットがあったので連携してみた。

んで、連携が完了したので資産構成を見る( ^ω^)・・・

f:id:morio_1101:20171111125424p:plain

うん、きっと支払った年金の合計金額が比率として出てるんだろうけど、この構成比率はなんか見にくい。
というか、支払った年金=資産という考え方でいいのだろうか(-ω-;)ウーン

とモヤッとする部分はあったものの、連携項目に楽天証券確定拠出年金を連携できるようにして欲しい。
これが出来るとほぼほぼ連携完了状態で管理出来て(゚д゚)ウマー

マネーフォワードネタは以上で、ここから表題

30歳からの資産運用について

最初の構成比率の画像を見たらわかるように私の資産の大半は、現金&株式(国内)オンリーで成り立ってます。

これが悪いわけではないのですが、今後のことを考えると安定感に欠けてしまっているのも事実。

なので、現行の運用を見直していこうと思ってます。

上記の比率に反映されていない確定拠出年金では、投資信託初心者だったこともあり、アクティブ、インデックス混ざりまくってよくわからないまま国内外株の投資信託を購入してました。
今はプラスを維持してますが、訳が分からないまま運用すると、多分失敗する可能性が高いため、長期的に見て堅実と言われるインデックス投資にシフトして見ようと思います。

商品にはREITとかもあるにはあるんですが、月1.2万しか積み立てることが出来ないので、分散しすぎると上手くいかないと感じ3つに絞ってみました。
とりあえずものは試しに、日本株式30%、先進国株式40%、新興国株式30% の割合で信託報酬の低いファンドで組んでおきました。
ひとまず年間12万積み立てていく確定拠出年金の運用方針としては間違ってないと思いたい( ^ω^)・・・

◆ それ以外の投資として

ソーシャルレンディング
去年から今年にかけて資産運用の一環で頭金25万ぐらいから取り組んでみました。
どんなものかというと個人がお金が必要な人に、お金を貸して利息を貰うイメージです。

サイトによって特色があったので、利用していたのは以下のサイト
・ラッキーバンク:10万
 ・不動産関係だいたい10万~の投資が多い。
  申し込み開始から終了までが1時間ぐらいで終わるので申し込む競争率は高い
  大体税引き後利回り5%以上になる。
  まとまったお金があればおススメ出来る?
・mineo:5万
 ・1万から気軽に投資が出来る。
  利回りは他に比べるとマイルド(税引き後3%前後)
  ただ投資の敷居も低いので、再投資しやすいように思う。
クラウドクレジット:10万
 ・1万から気軽に投資が出来る。
  為替が絡むので実際プラスを維持できているか、たまに不安になる場合がある。(為替ヘッジしろよというだけ?)

とはいえ約2年の運用から年利3%~4%以上の利回りは確保出来ているのでいいのではないでしょうか?

最初:250,000円
現在:269,648円

  1. 1,9648円

もう少し続けていけば、得た利益から再投資とか検討出来るようになりそうですね。
初期投資の敷居が低いmineoに資産をもう少し分配するのもありかもしれないですが、
とりあえず、現状を維持しつつどこかで検討しようかと思います。

サイト的には、mineo が初心者おススメな気がしました。

【仮想通貨】
興味は持ったものの、リスクの幅が許容出来ずちょっとだけ試して現在は撤退しました。

◆ 今後の投資に関して

【ロボアドバイザー】

分散投資を自動で行うということから、ロボアドバイザーの運用を少し前から試してみたいと思ってました。
色々調べて、テオとウェルスナビが最終候補に残り、初期費用からテオによる運用を行ってみようと思っています。
長期運用になるので、頭金10万、毎月1万積み立てで、年ペースで様子を見ようと思っています。
35歳になるぐらいで、投資を継続するか判断してみるのもいいかもしれないですね。
(元本の半値を割るようだと運用自体中断しそうですが…)
ウェルスナビもVTIをベースとした運用ということで、気になるのは気になるのですが、頭金30万の余力資産は今時点では厳しい|||orz|||

【米国ETF

VTI or VT、VYM、PFF に興味が出てきました。
海外の株を色々手を出すのは自分には厳しいと感じたのでETFで運用しようかと思ったのがきっかけ。
つみたてNISAにして楽天バンガードがいいのかな?と思ってましたが、NISA枠を利用してETF手数料無料の状態で買うのもありか?と思ったので、今年から来年にかけてゆっくり仕込みを行っていきたいと思います。

購入時は手数料無料だけど、NISA枠で買うにはもうちょっと調べてからチャレンジするか決めた方が良さそう。

株収支のまとめサボってました10月〆なので色々書いてみた

気付いたらクラウドクレジットがマネーフォワード対応していた(すばら!)
これで、ソーシャルレンディング登録しているラッキーバンクとmaneoもすべて管理できるようになりました!
なんだけど、なぜか10月28日分がすっからかん(0円)の状態に…うーんデータの連携出来なかったのか?
履歴がまともでないとデータを見た時、情報に落とし込みにくくて辛い|||orz|||

さてここ最近サボりがちだった手持ち株の管理の前によくある現金と資産とかっていう比率を久々に出してみると…
f:id:morio_1101:20171029181119p:plain
現金を全く保持する気がないなーと常々思います。

とはいえ、今月中旬から入院することになったので、ある程度は手元に残しておかないと首が閉まり切って大変だったりします。
個人的には現金は100~200万ぐらい、手元に残すか、すぐ手元に戻せるようにしておけば一安心できるのではないかと思っています。

f:id:morio_1101:20171029181638p:plain

さて10月終わり、手持ち株の中で燃え尽き症候群の株が出てきています。
って前からかと思うとなんか切ない。
しかし、ジワジワとシンポとテノックスの株価が上がって驚いてます。
山田コンサルに至っては優待目的の1株が分割したのか4株になってました。
まあもうよくわからないS株なので放置です。過去の俺もっと買っておけばよかった|||orz|||
今のところ宇徳も気付けば株価が上昇してきましたね。
ひっそりとしている株は保有しててもまったりとしているので安心出来ていいです。

さて、収益に関しては大雑把な計算なので、若干誤差がありそうですが本年度の収益が+234,550円になりました。
源泉徴収を差っ引いた収益は+206,833円位になりそうです。(貸し株やら色々あるので20.315%になってません)
目標は30万でしたがやっぱり実現は厳しくなってきました。配当ラッシュあるか?ないか、、、|||orz|||

今年はIPOは一度も当たらなかったので、SBIのIPOポイントだけが着実に貯まってます。
来年あたりS級株狙えたらいいなー…
今のポイントだと再来年になるかな?とびっきりの収益を上げたい!

とりあえず、今のところ安定して株の収益が年間15~20万ありますが、サラリーマンとしても年間100万は貯蓄を増やしていきたいところです。
色々あって独身のまま過ごすことになるのであれば、35歳ぐらいまでには貯蓄1,000万円はないと独身の平均値を大幅に下回りそうなので、頑張らんといかんとです。
来月30歳になるので結構タイムリミット迫ってるんですけどね!
ただ、年間100万ペースで貯められれば一応34歳にはこの目標は実現出来るはずなので、実現させたいところです!
バブル崩壊で手持ち資産が半分ぐらいにっていうのも十分にあり得るので、そこは想定が出来なくて難しい(^^;)

あとは確定拠出年金
これは情勢が味方して、ちょっとだけプラスが出てます。
投資信託はぶっちゃけわからないので、インデックスファンドをメインにコツコツ定年まで運用したいと考えてます。
インデックスファンドはつまらないと言われてますが、地道な一歩としては確実ですからね(^^;)

7月終了のお知らせ

7月が終わりました。

ということで今月はプラマイゼロでした。

f:id:morio_1101:20170801223301p:plain

ただ、ボーナス月ということもあり、株を購入しました。

大研医器

テクノ菱和

ネタ枠

いちご

値動きは穏やかですが、ちょっと怪しいニュースが、、、
菊水化学工業がちょっと危険な空気、、、

ということで、ここ数ヶ月は株を増やすことを目標に株の入れ替えしてませんでしたが、
流石にリスクをそのままにしておくのは怖いので、株の入れ替えしようか考え中、、、
とはいえ、最近は株自体放置気味なので、入れ替える気になったら対応する感じにはなりそうですが、、、(^^;)

ただ個人的には、ウィルは買い時のように思います。
とはいえ、優待関係ない銘柄なので、増やしても200~300株かな、、、

※ と色々書いてますが、、、投資は自己判断で

Highcharts のX軸で時間単位のグラフを作成する

f:id:morio_1101:20170704074959p:plain

x軸をdatetimeで表示するためのテスト

X軸を時間単位として出したい。でも表示は日単位とか良しなにしてくれると助かるんだけど、、、
を叶える方法はないかと模索してみました。

デモだとData.UTCを用いているケースが多すぎるんですが、残念ながら日本はJSTなので、その点注意しないといけません。
で、Data.UTCって結局ミリ秒返してるんでしょ?ってことなので、Data.parseでなんとかなんじゃね?
ってやってみたんですが、それはそれでミリ秒は返すけど描画は、UTC、、、

Highcharts.setOptions({
global: {
useUTC: false
}
});

※ コード形式で書きたいけど、朝時間がないので取りあえず引用で

highchartsにoptionがあるみたいで、これを設定するとUTCに変換されずに表示できるらしい。

あとは、dataの1つのカラムがどの単位かを指定してやればおけという感じ

pointStart: Date.parse('2017-07-03 00:00:00'),
pointInterval: 3600 * 1000

今回の場合は、07/03 00時~1時間単位という感じですね。

とりあえず、朝30分でサクッとと思ったんだけど、予想以上に時間が掛かったorz

放射線量可視化(4):Highcharts JSのグラフによる可視化 : 不定期性写真日記 (2011/12/04 自宅(2))
こちらのサイトを参考にさせていただきました!ありがとうございます。