2008-01-01から1年間の記事一覧

とりあえず・・・。

今日は、今年の出社最終日。 ま、いろいろあったけど、それなりに良い出会いもあり、会社のあれにいろいろいえたし、それなりに面白かった1年だったんじゃないかな。で、今日の納会?で今作ってるやつの話をしたので、ちゃんとしなきゃと思った。多分、当分…

shutdown

完全に私の備忘録となってます・・・。ずっとshutdownについて悩んでました。stage->queue->stage->queue-stageとあって、stageがスレッドです。最初のStageが終了したら、毒薬を流して次々に停止します。ただ、停止の要求をどのようにするか、うまい方法が…

Stageのライフサイクル

Stageのライフサイクルというよりスレッドの管理。一度プロトタイプで作っては見たが、捨てることにした。 とりあえず、このバッチの考えがうまく動作するかを確認する程度だったからね。そんなこんなで、今ちゃんと考えてるところ。 ライフサイクルを考える…

洗濯機

10年くらい使っていた洗濯機を買い換えました。最初ドラム式で選んでたけど、見積もり(自宅で洗濯機をおくことができるかを確認)をしてもらってNGだったので、縦型のやつにしました。そしたら、以前と比べてすごく静か! え、動いてるのって感じで。とても満…

volatileって

enumなフィールドにvolatileってOKなのかな? 不可変なオブジェクトならOKだと思うんだけど。わからないからTODOに残して、安全なほうに倒しておくか。

お!

id:AWAWAな人に見つかった?!w

ベッド到着

無印良品週間中に買ったベッドが到着しました。買ったのはタモ材のベッド(http://www.muji.net/store/cmdty/detail/4547315939596)と超高密度マットレス(http://www.muji.net/store/cmdty/detail/4945247245592)。当初タモ材の新しいやつにしようと思ったけ…

Jung

まったく後回しにする気でいるのですが、jobManager.graph()とかやるとグラフを出せればいいなーと思っています。そのとき使えそうなのが、Jung。 有向グラフができるらしいです。http://www.techscore.com/tech/Others/Jung/index.html

Lang-8

一応登録だけしてみた。

JavaEE勉強会(DDD読書会)

行ってきました。Layered Architecture、Entities、Value Objects、Servicesを飛ばして、Modules。レイヤはそれほど違和感なし。それほど厳密にやる必要はないんじゃないとのこと。 ただ気になるのはインフラ。こいつだけはできる限り分けたいなー。UIとアプ…

こういう年表もありだねー。

About | Google

ウイルス

JavaEE勉強会のGoogle Groupをのぞいたらファイルが2つアップロードされていた。 「なんだこれ?」ってのぞいたらウイルスが降ってきた。LANケーブル抜いて、ウイルス駆除して、全体チェックとかかった時間200分。さらに報告書を書いて・・・。散々な日だっ…

自分へのメモ

同じ名前のステージを登録した場合の名前の整理をしないとね。

実行時にパラメータを渡すには

JobManagerのコンストラクタで渡せるようにする。 public JobManager(String diconFile){} public JobManager(String diconFile, JobEnvironment env){} 指定なしの場合は、VM引数を利用できるようにする。 指定した場合、JobManagerを呼ぶ処理で実装者が適…

名前

Spritesにしよっかなー。

トランザクションは

今のところStageをまたいだトランザクションは考えてません。Stageの開始、終了をトランザクション境界にしたり、Stageの一処理がトランザクション境界だったり、n回処理したらコミットしたりできるようにはしようと思います。例外発生時(一意制約違反など)…

Ivy

Ivyを使ってみました。私はmavenよりこちらのほうが好きかな。 もう少し様子見ます。Seasarのモジュールを取得する場合は、こんな感じ?build.xml <project name="sprites" default="all" xmlns:ivy="antlib:org.apache.ivy.ant"> <path id="ivy.lib.path"> <fileset dir="ivy" includes="*.jar" /> </path> </project>

バッチフレームワークの需要

どれくらいあるんだろう?よく聞くフレームワークだと、Spring Batch、TERASOLUNA Batchくらいなのかな? JSUGのほうでは、Maiaという日本ユニシスさんのがあるらしい。SpringとTERASOLUNAについては一通り?見て今作ってるのとは思想が違うような気がする。…

Stageは基本1スレッドで動きますが・・・

Stageはそのままでは1スレッドで動きます。 JobManager jobManager = new JobManager("hoge.dicon"); jobManager.stage("firstStage").stage("secondStage").stage("thirdStage").execute(); この例だと3スレッド起動することになります。(自身を合わせると4…

バッチの記述

バッチの記述はグラフのような形なので、どういう記述がわかりやすいか、作りやすいかと悩みました。 今のところはこんな風に記述仕様と思ってます。 JobManager jobManager = new JobManager("hoge.dicon"); jobManager.addStage("firstStage").addStage("s…

バッチのイメージ

基本的なバッチはこんな感じまずステージ1でデータを読んで、読んだデータを次々にキューに入れます。ステージ2ではキューにたまったデータを次々に取得し、処理を行います。例えば、ステージ1はCSVファイルからデータを読み込むステージ。ステージ2は決めら…

地道に

作ってます。バッチオブジェクトのコンテナを自作しようと思ったのですが、やっぱり面倒なのでS2にしようかと思ってます。でも、そんなに機能は豊富でなくてもいいので、Slim3を見てそのうちかえるかもしれません。あと、名前どうしよう・・・。今は仮なので…

Google Code

Google Codeを使ってみました。http://code.google.com/p/u1hoshino/とりあえず、作っているバッチフレームワーク?の一部をおいてみました。 Google Codeは何もかなえずにつかえますね。まずは、バックアップも何もなかったので一安心です。

ステージ

ステージはパイプライン中に現れる各処理としています。 ステージにはいくつかの種類に分けられます。 データを抽出するステージ データを登録するステージ データを加工するステージ ソート マージ フィルタ その他特殊なステージ ロードバランス ステージ…

パイプライン並列バッチの仕組み

具体的な例で仕組みを書いてみたいと思います。 CSVでデータを取得(処理A) 必要なデータだけを選択する(処理B) データをデータベースへ登録する(処理C) これをそれぞれ独立したスレッドで動かすことを考えます。 処理AではCSVから1行取り出したら、処理Bへ渡…

考えていること

並列プログラムに興味があるんですよ。せっかくJava並行処理プログラミングとかもってるんだから、 少しくらい並行プログラミングでもできないとね。じゃ、ねたはというとバッチ処理です。 数ヶ月前は、なんだかSpringバッチとか話題となりましたが、すっご…

最近

会社でプログラム書いてないせいか、どうもおいてかれてるような気がしてなりません・・・。で、最近考えているものでも自宅で作って、リハビリでもはじめてみようかなと思っています。