<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>sd-senkoさんのﾌﾞﾛｸﾞ</title>
<link>https://ameblo.jp/sd-senko/</link>
<atom:link href="https://rssblog.ameba.jp/sd-senko/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>　</description>
<language>ja</language>
<item>
<title>ゆるぎないアニメ、青い花のBD-BOXが発売決定。それにともなう影響</title>
<description>
<![CDATA[ 2009年に放映していた「青い花」というアニメがあります。<br><br><br>女子高生の登場人物たちによるいわゆる"百合"モノですが、<br>シリーズ序盤で、メインキャラクター同士がキッスをして交際がスタートするなど、<br>同じ百合ジャンルの作品の中でも、恋愛方向に踏み込んだ内容になっています。<br><br><br>同年に話題になっていたアニメには、<br>「けいおん」「戦国BASARA」「涼宮ハルヒの憂鬱(2期)」「化物語」「とある科学の超電磁砲」<br>などがあり、このあたりと作品のカラーを比較すると、キャッチーさに欠けるのは否めず、<br>商業的には「あまり成功しなかった」という評価を受けています。<br><br><br>その一方で、その年の文化庁メディア芸術祭で賞をもらったり、<br>雑誌企画のクリエイター向けアンケートで、一位を取ったりしています。<br><br><a href="http://www.aoihana.tv/news/">http://www.aoihana.tv/news/</a><br>&gt;2009年にリリースされた映画、DVD、ゲーム、ホビーなどから、<br>&gt;本当に良質なコンテンツをエンタメ業界1000人へのアンケートによって選出し、<br>&gt;「ヒット作」というカテゴリーに収まりきらない"掘り出しエンタ"を推薦する巻頭特集を掲載。<br>&gt;そのアニメ部門にて数あるタイトルの中から「青い花」が第1位に選ばれました！<br><br><br>今回は、おもに青い花のソフト販売をとりまく話をしたいと思います。<br>2009年当時は、ブルーレイの発売がまだ本格化しておらず、<br>網羅率としては、上位の作品から50～60%くらいだったでしょうか。<br>地デジ放送ははじまっていましたが、TBSを中心に、まだ多くの作品がSD放送をされていました。<br><br><br>青い花は、ハイビジョン制作・ハイビジョン放送だったのですが、DVD単巻しか発売されず、<br>「テレビ録画したものが、DVDよりもずっときれい」という状況でした。<br>ファンの間では、青い花の商業的不振を説明するのに、<br>「ブルーレイが発売されなかった」という事実は、いつしかスケープゴートのようになっていました。<br><br><br>　ファンA　「全話録画している。BDだったら買ったのに」<br>　ファンB　「俺も全話録画しているが、作品を応援するために買った」<br>　ファンA　「くそー、BDさえ出れば…」<br>　ファンB　「DVDが売れないからBDも出ないんだよ、今からでも遅くないから買え」　<br><br><br>こんなやりとりが、数年続きました。<br><br>「面白い作品は、面白いという事実だけで十分である」<br><br>という時代が、アニメの分野では、この頃、終わりを告げています。<br>（ゲームとかは、もうちょっと早かったかな）<br><br><br>ソフトの売り上げでランキング付けがされ、<br><br>「面白くてもセールスが振るわなかったら失敗」<br><br>と考える視聴者が、目に見えて増えていました。<br>熱心なファンほど、自分が面白いと思っているアニメのセールスが振るわないと、<br>作品が否定されたような気分になるというのですから、深刻です。<br><br><br>言うまでもないですが、作品の評価（自分の感想）と、<br>商業的な成功、失敗は、きっちりきっぱり分けて考えるべきことです。<br><br><br>我々消費者は、売れるアニメを求めるのではなく、<br>面白いアニメを求めることが、本来の姿だからです。<br>ファンが面白さを第一優先とせずに、<br>本来はアニメ制作者が気にするべき商業的成否と、<br>自分の感想をまぜこぜにしてしまっては、<br>いずれ全体が機能不全に陥ってしまうはずです。<br><br><br>（などといいつつ、この「売れなきゃ失敗」という風潮も、<br>　強烈な感情をともなう分、やや飽きられてきたかなという気はします。<br>　あるいはこの数年の間に、誰もが一度<br>　「自分の好きなアニメが売れなかった、それによって目に見えない誰かからバッシングされた」<br>　という経験をして、別の段階へ移行がはじまっているのかもしれません。）<br><br><br>一方、BD-BOXの発売が決まった今だから書ける「たられば」ですが、<br>その当時にブルーレイが出ていれば、「覇権」とまでは言わないまでも、<br>そこそこ売れることで、ある種のレッテル貼りは回避できたかもしれないし、<br>逆に、ブルーレイがそこまで売れなかったにしても、<br>数年にわたって、ファンの間に不満をためることはなかったでしょう。<br><br><br>「結局ブルーレイを出すことになるなら、当時出せば良かったんよ」<br>というのは、客観的事実としてあると思います。<br>ね、メディファクさん。<br><br><br>ともあれ、<a href="http://meister.blu-raydisc.com/jp/vote/wantBD/">旧作アニメのブルーレイ化を求めるサイト</a>の投票で上位になったり、<br>原作の完結という大きな節目があったりで、<br>アニメ「青い花」はついにBD-BOX化の運びとなりました。<br><br><br>ファンの間で行われる、「BDが出ればうんぬん」「BDが出ないのはうんぬん」<br>というやりとりをもう、見なくて済むのです。<br>なんと素晴らしいことだろう。<br><br><br>これから、アニメ「青い花」は、新しい時代を迎えます。<br><br><br>一言で言うと、布教の準備が整いました。<br>何かを目指して、布教するのではありません。<br><br><br>かつて「青い花」という、唯一無二のアニメがあったこと。<br>その事実をまだ知らない人に、ありのままを感じてもらうという、それだけです。<br>そのために、<br>そして布教を阻害する、忌まわしき状況を払しょくするためにも、<br>BD-BOXは必要だったんですね。<br><br><br>あなたの周りで、青い花BD-BOXを持って布教する人を見かけたら、<br>ぜひ、借りて見てあげてください。<br>
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11537980907.html</link>
<pubDate>Sat, 25 May 2013 21:33:56 +0900</pubDate>
</item>
<item>
<title>声優志望者の多さに思うこと</title>
<description>
<![CDATA[ <a href="http://moneyzine.jp/article/detail/208063">芸能人養成サービス市場の実態　お笑い芸人減少も、ダンサー志願者は増加：株／FX・投資と経済がよくわかるMONEYzine</a><br><br>これを読んで色々思うことがありましたので、記事を書こうと思います。<br>（最初にことわっておきますが、自分はアニメ業界とも声優業界とも関係ない、ただのオタクです。）<br><br><br>一年間に声優養成サービスに費やされる金額は、50億円強だそうです。<br>金額ベースでいうと、ボーカリスト養成とほぼ同規模で、お笑い芸人養成の数倍の規模と、<br>リンク先の記事には書いてあります。<br>それなりの養成所に通うとだいたい一年で100万円前後と言われますから、<br>5000人以上の声優志望者がいるようです。<br>そして市場規模は今後も年数パーセントの拡大が見込まれています。<br><br><br>一方で、声優として活躍できている人がいまどのくらいいるか？と言うと、<br>Wikipediaに記事があり、なおかつ声優のテンプレートが貼られている人が5000人ほど<br>なおかつ、それなりに実績があり、英語版にも記事がある人と言うと、1000人ほどです。<br><br>その数字を年間のデビュー数に換算すると、200人～50人以下という感じでしょうか。<br><br><br>声優志望者が、その実在需要に対して数十倍に達する、<br>一言で言えば「声優志望者がとても多く、なお増加傾向にある」ということは、<br>得なことでしょうか。損なことでしょうか。<br>色んな立場から考えてみたいと思います。<br><br><br>１．声優志望者にとって<br>　単純に、競争倍率が上がるので、損なことだと思います。<br>　それでも志望するということは、それだけ声優という職業に高い価値を認めているということですね。<br><br>２．養成所にとって<br>　高い授業料を設定できたり、養成所の規模を大きくできるので、得です。<br>　ただ、デビュー・所属実績を出せないと、<br>　養成所の競争力が下がるので、安穏とはしていられません。<br><br>３．事務所（プロダクション）にとって<br>　より多くの声優志望者の中から、新たに所属させる人材を選べるので、得です。<br>　ただ、新人を選ぶ条件は他の事務所も同じなので、<br>　やはり安穏とはしていられません。<br><br>４．デビュー済みの声優にとって<br>　声優志望者が増えても、有力な事務所は一定の数しか新人を取らないことや、　<br>　正直なところ事務所の力や本人の持つコネクションの影響の方が大きいので、<br>　数自体はどうでもいいと感じているはずです。<br>　むしろ声優志望者が多いということは声優という職業の価値が高まるので、得かもしれません。<br>　将来現役から退いて、講師をやるのも良いでしょう。<br><br>５．アニメ制作者にとって<br>　彼らは基本的にプロダクションとしか関わりませんから、直接的には関係がありません。<br>　ただ、優れた新人を安価で使いやすいというメリットは生じています。<br>　現状は、制作者自体にそこまでの審美眼（あるいはこだわり）がないので、<br>　プロダクションや音響監督まかせです。<br>　強いてオーダーがあるなら「若いのがいい」とか「ルックスが良いのがいい」、<br>　あるいは「あえて棒なのがいい」とか、<br>　そのレベルだと思います。<br><br>６．視聴者にとって<br>　現状、我々が感じ取れるのは、<br>　「年齢が若くて」<br>　「ルックスが良くて」<br>　「そこそこ演技ができる」<br>　新人が日々どんどん出てきますよ、ということです。<br>　その源泉が「声優志望者の数がとても多いこと」なわけですね。<br>　これが損か得か素直に考えれば、得じゃないでしょうか。<br>　<br><br>ただ、もう一歩踏み込むと、<br>視聴者サイドとしては、もうちょっとデビューさせる数を絞り込んでもらっても、<br>実はメリットが出ます。<br>なぜなら、より優れた人材には、より長く、より多くのアニメに出演してもらうことが、<br>視聴者にとっては望ましいからです。<br><br><br>「そこそこ良い新人」と、「ある程度の出演実績を持つ声優」のどちらが、<br>よりアニメの質に貢献できるかといえば、後者に決まっています。<br>それでも、同じ人に20年も30年もアニメヒロインをしてもらうわけにはいかないので、<br>新人も業界に入れて、経験を積んでもらわないといけないのです。<br>新人の役目として、「今は未熟かもしれないけど、ちゃんと育ってね」<br>という意味合いを含めると、<br>多すぎる新人の数は、アニメ作品の質や、視聴者の体験にメリットをもたらさないことがわかります。<br><br><br><br>結論として、<br><br>・声優志望者の数が多いことは、素晴らしいことだと思います。<br>・声優志望者の数が多いことで、新人の質が上がります。<br>・そのようにしてデビューさせた新人を、その時々で便利に使うだけでなく、<br>作品を通じて育て、長く活躍させていくことが、視聴者にとってはメリットとなります。<br><br><br>そもそも論で、<br>「なぜ声優志望者が多いのか？」<br>「なぜ声優という職業の価値が高く評価されるのか？」<br>ということも併せて考える必要があると思います。<br><br>それは、端的に言えば、アニメに出て活躍している声優さんや、<br>あるいはアニメ作品そのもの、あるいはその周辺のショービジネスに、<br>声優志望者の規模にふさわしいだけの魅力が宿っているからです。<br>それらの魅力を維持し高めていくことも、俯瞰的に見れば、養成所ビジネスの一端なんではないでしょうか。<br><br><br>※吹き替えブーム・ナレーションブームというのは聞かないので、<br>今回はアニメとその周辺に限って書きましたが、<br>別にアニメ以外の声の仕事をディスっているわけではないので、悪しからず。<br>
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11529391222.html</link>
<pubDate>Sun, 12 May 2013 22:20:19 +0900</pubDate>
</item>
<item>
<title>Wikipediaを声優アンテナ化する</title>
<description>
<![CDATA[ ブログというものが流行り出した頃に、すでに株式会社はてなさんがはじめていたサービスで<br>「はてなアンテナ」というのがあります。<br><a href="http://a.hatena.ne.jp/">http://a.hatena.ne.jp/</a><br><br><br>好きなサイトを登録しておけば、その更新状況を、まとめて監視できるというものです。<br>今も絶賛稼働中で、多分一人前のイベンターには必須じゃね？とか思うのですが<br>自分は活用できてないのでいつも出遅れます。<br><br><br>単に声優さんの出演情報に限って言えば、Wikipediaは多くのケースでベストな選択になりえます。<br>（話数ベースの出演情報が得られないのが最後のネックではあります）<br>たとえば好きな声優さんのWikipedia記事をいくつもはてなアンテナにつっこんでおけば、<br>それはそれで価値を持つと思います。<br><br><br>で、「Wikipediaをアンテナ化する」という意味でもっと便利なものが作れないかな？と<br>自分なりにプログラムを書いてみました。<br>と言いながら、「Wikipediaをアンテナ化する」というのは実は出発点ではなくて<br>そもそも何が知りたかったか？というと<br><br><br>「Wikipediaの記事って、なんか気づいたら更新されてるけど、どこが更新されたのかわかりにくーい」<br><br><br>みたいなことです。編集履歴を見れば済むのだけど、余計めんどくさいですよね？<br>なのでまず時系列で変更箇所を表示できるようにしたいと考えました。<br>かといって編集履歴そのものをプログラムに収集させてもノイズばかりになるので、<br><br><br>「当該記事に含まれている、別の記事へのリンク」<br>「別の記事から当該記事へ張られているリンク（、を当該記事の情報源とする）」<br><br><br>を収集することにしました。<br>上はページをパースすればいいですが、下はどうするんだろう？<br>というと、実はWikipediaにはAPIが用意してあります。<br><br><a target="_blank" href="http://ja.wikipedia.org/w/api.php?action=query&amp;prop=links&amp;plnamespace=0&amp;pllimit=500&amp;redirects=&amp;export=&amp;format=xml&amp;titles=%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E&amp;list=backlinks&amp;bllimit=100000000&amp;blnamespace=0&amp;bltitle=%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%9"><br>http://ja.wikipedia.org/w/api.php?action=query&amp;prop=links&amp;plnamespace=0&amp;pllimit=500&amp;redirects=&amp;export=&amp;format=xml&amp;titles=%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E&amp;list=backlinks&amp;bllimit=100000000&amp;blnamespace=0&amp;bltitle=%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E</a><br><br><br>以下のURLにアクセスすると、記事「大久保瑠美」に含まれる別の記事へのリンクがplタグで、<br>また記事「大久保瑠美」に対してリンクを張っている別の記事がblタグで、表示されます。<br>これをプログラムのデータベースに保存しておいて、<br>プログラムが次にWikipediaにアクセスしたときに変化があれば、<br>それを差分として覚えさせておけばよいのです。<br>そしてユーザーは差分を見て、ページの変更（リンクの変更）を知ることができます。<br><br><br>そうしてできたのが<br><a href="http://kyouen3.appspot.com/ja/%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E" target="_blank">http://kyouen3.appspot.com/ja/%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E</a><br><br><br>こちらです。URLの記事名のところを任意に変えてアクセスすると、プログラムがWikipediaを見に行き、<br>もし過去にページを取得したことがあり、さらに今回差分が見つかれば、<br>それをログとして表示してくれるようになってます。<br>これ実は英語のWikipediaにも対応していまして、<br><br><br><a target="_blank" href="http://kyouen3.appspot.com/en/Rumi_%C5%8Ckubo">http://kyouen3.appspot.com/en/Rumi_%C5%8Ckubo</a><br><br>とやると英語版「大久保瑠美」のリンク差分が表示されます。<br>実はアンサイクロペディアにも対応しています。<br><a href="http://kyouen3.appspot.com/un/%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E" target="_blank">http://kyouen3.appspot.com/un/%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E</a><br>幸か不幸か、まだアンサイクロペディアンには、目をつけられていないるみちゃんです。<br><br><br>中国語版Wikipediaにも対応していますよ。<br><a target="_blank" href="http://kyouen3.appspot.com/zh/%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E">http://kyouen3.appspot.com/zh/%E5%A4%A7%E4%B9%85%E4%BF%9D%E7%91%A0%E7%BE%8E</a><br>「光之美少女」「一起一起這裡那裡」「变身！公主偶像」「星光少女」<br>海外のタイトル訳は、見ているだけで面白いですね。<br>どれが何を指しているかわかりますでしょうか。<br><br><br>これらのページにはcontent-type/jsonが設定されています。<br>JavaScriptからの利用を意図したのですが、クライアントプログラミングが苦手で、まだ実現してません。<br><br><br>で、「任意のページで差分収集ができるなら、声優さん全体に対象を広げられるんじゃん」<br>ということでカタカタ作ったページが、こちらになります。<br><br><br><strike><a target="_blank" href="http://kyouen3.appspot.com/log/ja/seiyu?exclude=1">http://kyouen3.appspot.com/log/ja/seiyu?exclude=1</a></strike><br><a href="http://kyouen3.appspot.com/seiyu">http://kyouen3.appspot.com/seiyu</a>　（パスを変更しました。）<br><br><br>これは、日本語版Wikipediaの記事「Template:声優」のリンクを解釈することで<br>声優さんの記事のリストを作成し、<br>さらにリスト上の記事をプログラムに巡回させることによって、約4000人の声優さんの差分を収集し、<br>それをまとめたものです。<br><br><br>見た目の問題、細かな動作の部分、取り除けるノイズ的なものはまだありますが、<br>「Wikipediaを声優アンテナ化する」という目的はすでに達せられました。<br>自分自身、会社で「あー暇だなー」なんて思った時に、<br>動作監視もかねて頻繁にアクセスしております。<br>るみちゃんの「<a target="_blank" href="http://ameblo.jp/rumiokubo/entry-11486585338.html">ムシブギョー</a>」出演決定を知ったのは仕事中、自分のサイトだったりしました。<br>（ソースはWikipediaなんで、自分のサイトというのは少しあつかましいですが）<br><br><br>これからどうすんお？というのは全く白紙。<br>自分自身が満足しているうちは、これ以上はないのでしょうね。<br><br><br>技術的な話題は、またの機会に。<br>Webスクレイパーとして、またページ処理のメインプロセッサとして、<br>「<a target="_blank" href="https://sites.google.com/site/jaacug/home">Apache Camel</a>」は今回とてもとても大活躍しております。<br>プラットフォームとしての「Google App Engine」にも感謝しなくてはなりません。<br>そしてMediawiki API の存在。<br>多言語対応（＋アンサイクロ対応）があっさりできるのは、<br>各国で共通のAPIを使っているからなのです。<br><br><br>さて、現状で一つ不満なのは<br><br><br>「日がな一日サイトを眺めていても、案外更新が少ない！」<br><br><br>ということです。4000人を監視していても、一日のログとして残るのは200～300くらいでしょうか。<br>なんだか直感的に、実態に則していない気がしてしまいます。<br>まぁ企業系ナレとかボイスオーバーとか、ラジオのゲストとか、<br>Wikipediaに載りくい仕事はあるでしょうが。<br>ボリューム的に、今段階で単独のWebサービスとして育てていくのはちょっと厳しいかなと思います。<br>うーん、どうしよう…。<br>
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11487027942.html</link>
<pubDate>Sat, 09 Mar 2013 22:21:57 +0900</pubDate>
</item>
<item>
<title>GAE/jでシンプルにApache Camelを動かす</title>
<description>
<![CDATA[ Apache Camelの紹介は<a href="https://sites.google.com/site/jaacug/home">こちら</a>から。<br>解説動画:<a target="_blank" href="https://sites.google.com/site/jaacug/camelno-mian-qiang">るみちゃあああああああああああああああああああああああああ</a><br><br><br>■Apache Camelコンテキストをシンプルに書くことで、<br>GAE/jのスピンアップ時間を減らすことができます。<br><br><br>Apache Camel本体に付属のサンプル、camel-example-gaeは、<br>GAE/j本番環境におけるスピンアップ時間が考慮されておらず、<br>スピンアップに30秒前後かかってしまいます。（CPUのグレードで一応短縮可能）<br>しかしこれはspringフレームワークの挙動によるものなので、<br>spring周りの記述をごっそり取り除くことで、スピンアップ時間を1/5程度に短縮できます。<br><br><br>springを抜くので、マッピングやインスタンスの起動時にやってくれる設定関係が弱くなりますが、<br>CamelContextを手動で立ち上げ、ProducerTemplateを使うことで全く同じことが行えます。<br>（逆にこちらの方がわかりやすい方も多いのでは…）<br><br><br>では、サンプルをご覧ください。<br><br><br><font color="#0000FF">public class</font> <b>SampleServlet</b> <font color="#0000FF">extends</font> HttpServlet {<br><br>　　@Override<br><font color="#0000FF">　　protected void</font> <b>doGet</b>(HttpServletRequest req, HttpServletResponse resp)<br><font color="#0000FF">　　　　　　throws</font> IOException {<br><font color="#0000FF">　　　　try</font> {<br>　　　　　　CamelContext context = <br>　　　　　　　　<font color="#0000FF">new</font> DefaultCamelContext(<font color="#0000FF">new</font> SimpleRegistry());<br>　　　　　　context.addRoutes(<font color="#0000FF">new</font> Route());<br>　　　　　　context.disableJMX(); <font color="#999999">// 必須</font><br>　　　　　　context.start();<br>　　　　　　ProducerTemplate pt = context.createProducerTemplate();<br>　　　　　　Exchange e = <font color="#0000FF">new</font> DefaultExchange(context);<br>　　　　　　pt.send(<font color="#FA8072">"direct:start"</font>, e);<br>　　　　　　resp.setContentType(<font color="#FA8072">"text/html;charset=UTF-8"</font>);<br>　　　　　　resp.getWriter().println(e.getIn().getBody(String.<font color="#FA8072">class</font>));<br>　　　　} catch (Exception ex) {<br>　　　　　　Logger.<i>getLogger</i>(SampleServlet.<font color="#0000FF">class</font>.getName())<br>　　　　　　　　.log(Level.<i><font color="#009900">SEVERE</font></i>, <font color="#0000FF">null</font>, ex);<br>　　　　}<br>　　}<br>}<br><br><br><font color="#0000FF">class</font> Route <font color="#0000FF">extends</font> RouteBuilder {<br><br>　　@Override<br>　　<font color="#0000FF">public void</font> configure() <font color="#0000FF">throws</font> Exception {<br>　　　　from(<font color="#FA8072">"direct:start"</font>)<br>　　　　　　　　.process(<font color="#0000FF">new</font> SampleProcessor());<br>　　}<br>}<br><br><br><font color="#0000FF">class</font> SampleProcessor <font color="#0000FF">implements</font> Processor {<br><br><font color="#0000FF">　　public void</font> process(Exchange e) <font color="#0000FF">throws</font> Exception {<br>　　　　e.getIn().setBody(<font color="#FA8072">"オアシス君無限増殖法"</font>);<br>    　　}<br>}<br><br><br>ルーティングルールとして、directコンポーネントではじまるルートを用意しておき、<br>そこへProducerTemplateを使ってExchangeを投げる格好になります。<br>投げる前に、Exchangeのヘッダーやボディに細工をしておくこともできますし、<br>投げた後は、Exchangeがまた返ってきます。それをさらに違うルートへ投げても良いです。<br><br><br>consumerサイドでしか使えないコンポーネント（ローカルだとfileとか）の場合は、<br>ConsumerTemplate#receive("endpointUri") が使えます。こちらもExchangeを生成します。<br><br><br>RestfulなWebサービスでは、サービスへリクエストされたURIを元にページを返します。その場合は<br><br>　　　　exchange.getIn().setHeader(Exchange.<i><font color="#009900">HTTP_URI</font></i>,req.getRequestURI());<br><br>のようにしてやれば、ルーティングルールの方でもリクエストURIを受け取ることができます。<br>クエリパラメータやPOSTメソッドについても同上です。<br><br><br>DefaultCamelContext のコンストラクタに、なぜSimpleRegistryを渡すのかは、<br>こちらのトピックが参考になると思います。（自分は読めてないですが…）<a href="http://stackoverflow.com/questions/14644570/do-camel-routes-not-run-on-google-app-engine"><br>http://stackoverflow.com/questions/14644570/do-camel-routes-not-run-on-google-app-engine</a><br><br><br>最後に、GAE/ｊでApache Camelを動かすメリットについてですが、<br><br><br><b>1.ルーティングルールとプロセッサーによりモジュール化が進むので、読みやすく書きやすい</b><br><br><b>2.httpコンポーネントが勝手にやってくれるコネクション管理が優秀、高速なのでウェブスクレイピングに向く</b><br><br><b>3.全体的なパフォーマンスの良さ</b><br><br><br>（どれもGAE/ｊ上の話に限りませんでした。）<br><br><br>Datastore読み出し一回、外部サイトへアクセスしてXML取得一回、<br>からの差分演算…で300msec(内、CPUは50msec以下)とかです。<br>レスポンスが良くてコードの見通しも良いと、機能をどんどん盛りたくなりますよね。<br><br><br><font size="4"><b>ASF : Apache Camel</b><br><a target="_blank" href="http://camel.apache.org/">http://camel.apache.org/</a></font><br><br><b><font size="3">日本Apache Camelユーザ会<font size="3">(</font></font></b><font size="3"><b><font size="3"><font size="3">JACUG</font>)</font></b><br><a href="http://sourceforge.jp/projects/cameluserjp/">http://sourceforge.jp/projects/cameluserjp/</a></font><br><font size="4"><a href="https://sites.google.com/site/jaacug/home">https://sites.google.com/site/jaacug/home</a></font><br>
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11478638155.html</link>
<pubDate>Mon, 25 Feb 2013 23:09:41 +0900</pubDate>
</item>
<item>
<title>Apache CamelでExcelを読み書きするProcessor</title>
<description>
<![CDATA[ 備忘録ですー<br><br><br><font size="2" color="#0000FF">public class</font><font size="2"> <b>POIProcessor</b> implements Processor {<br><br>　　@Overide<br><font color="#0000FF"><font size="2">&nbsp;</font>　　public void</font> <b>process</b>(Exchange e) <font color="#0000FF">throws</font> Exception {<br>　　　　// <font color="#999999"><i>read</i></font><br>　　　　InputStream is = <font color="#0000FF">new</font> ByteArrayInputStream(e.getIn().getBody(<font color="#0000FF">byte</font>[].<font color="#0000FF">class</font>));<br>　　　　Workbook wb = WorkbookFactory.<i>create</i>(is);<br><br>                <font color="#999999">　　　　//</font> <i><font color="#999999">main</font></i><br>                　　　　Sheet sheet = wb.getSheetAt(0);<br>                　　　　sheet.getRow(1).getCell(1).setCellValue(<font color="#FA8072">"owaaaaa"</font>);<br><br>                　　　　// <font color="#999999"><i>write</i></font><br>　　　　ByteArrayOutputStream baos = <font color="#0000FF">new</font> ByteArrayOutputStream();<br>                　　　　wb.write(baos);<br>                　　　　e.getIn().setHeader(Exchange.<font color="#009900"><i>FILE_NAME</i></font>, <font color="#FA8072">"yay.xlsx"</font>);<br>                　　　　e.getIn().setBody(baos.toByteArray());<br>　　}<br>}</font><br><br><br>Apache POIで編集後のExcelワークブックを保存しようとすると基本<br>wb.write(new FileOutputStream("foo.xlsx")) になります。<br>これだと確かに即ディレクトリに書き出しがされるのですが<br>ルーティング処理と書き出しが切り分けできなくて、Apache Camel的にはいやんな感じなので、<br>ByteArrayOutputStreamを使ってみました。<br>ボディにセットされたバイト配列は、任意のタイミングで任意の場所に、<br>fileコンポーネントで書き出すことができます。<br><br><br>Excel処理がメインになるのなら、read部とwrite部を別プロセッサにして、<br>普段はWorkbookで取り回す方が全然いいと思います。<br><br><br><font size="4"><b>ASF : Apache Camel</b><br><a target="_blank" href="http://camel.apache.org/">http://camel.apache.org/</a></font><br><br><b><font size="3">日本Apache Camelユーザ会<font size="3">(</font></font></b><font size="3"><b><font size="3"><font size="3">JACUG</font>)</font></b><br><a href="http://sourceforge.jp/projects/cameluserjp/">http://sourceforge.jp/projects/cameluserjp/</a></font><br><font size="4"><a href="https://sites.google.com/site/jaacug/home">https://sites.google.com/site/jaacug/home</a></font><br>
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11476620383.html</link>
<pubDate>Sat, 23 Feb 2013 11:28:05 +0900</pubDate>
</item>
<item>
<title>新人声優の頑張ってる感　というエンタテインメント</title>
<description>
<![CDATA[ アニメを見ている時に<br><br><br>「このアニメおもしろーい」<br><br><br>と思う感覚と、<br><br><br>好きな声優さんが出ているアニメを見て、思わず<br><br><br>「がんばれ…！」<br><br><br>と応援してしまう感覚とは、<br>割と遠いものだと思います。<br><br><br>自分自身、「応援」「贔屓目」「声優目当て」っていうのは、<br>アニメを見る上で、本質ではないと思ってました。<br>アニメを見る上では、「見たままを面白いと感じるか、そうでないか」が全てだと。<br><br><br>なので、優れた声優さんというのは、アニメを面白くしてくれる声優さんであり。<br>優れた声優さんを起用することが、アニメ全体にとって、<br>ひいてはアニメというジャンル全体にとってのメリットであり。<br><br><br>その文脈において新人声優さんとは、次の世代を担うための「優れた声優さん」の候補生であり。<br>ですから、アニメを制作する人たちにおかれましては、限られたリソース（アニメの配役）を<br>最大限有効に（有望な新人さんに）割り当ててほしいよね。<br><br><br>くらいのことを思ってました。投資と回収、ですか。<br><br><br>この考えで行くと、<br>「新人声優をアニメに出演させるのはあくまで投資であって、<br>また、新陳代謝のために、必要にかられてであって、<br>作品としては（優れた声優を起用するよりも）メリットが薄い」<br><br><br>ってことになります。<br>感覚的には間違いなんだけど、これまでそれを突き崩す論理が思い浮かばなかった。<br><br><br>で<br><br><br>最近思い至ったのが<br><br><br>「『新人声優の頑張ってる感』こそが新人声優を起用するメリットなんだよ！」<br>「『新人声優の頑張ってる感』こそがエンタメなんだよ。」<br><br><br>ってことでした。<br>（もう結論言ったのでいいかな。）<br><br><br>思い至って見れば、「『頑張ってる感』を楽しむ」というスタイルは割とありふれていて。<br>高校野球や箱根駅伝に代表されるアマチュアスポーツとか。同人作家さんとか。歌い手とか。<br><br><br>「応援すると元気をもらえる」というのは確かにそうですが、<br>ちょっとひねた言い方をすると、我々は「頑張ってる感を楽しみ、消費している」のですね。<br>それは「物語を楽しみ、消費する」行為と、きっとそんなに遠くないはずで。<br>「その種のエンタテインメント」としてとらえることができるのです。<br><br><br>その考えに立つと、「優れた新人声優」なるものが定義できて、それは<br><br><br>「『頑張ってるなぁ～』と思わせる声優」<br><br><br>ってことになります。何をすれば「頑張ってるなぁ～」と思えるのかまでは、<br>今回書きたいことではないので、触れませんが。<br><br><br>なので、投資と回収（つまり、デメリットのあとにメリットがきて、全体でプラスになればよい）<br>というモデルはちょっと修正が必要で、<br><br><br>「新人声優のうちは『頑張ってる感』で視聴者を楽しませ、<br>声優として成熟したらアニメを面白くすることで視聴者を楽しませれば、<br>最初から最後までウハウハ」<br><br><br>ということになりますね。<br><br><br>「この新人声優下手だな」<br>「上手い声優だったらもっと面白くなったのに」<br><br><br>って感想は確かにそのとおりですけど<br><br><br>他の見方をすれば、「本人から醸し出される『頑張ってる感』が足りなかった」<br>ってことも言えるんじゃないでしょうか。<br>頑張ってるなぁ～って思えたら、たとえ下手に感じても、それを楽しめると思うんですよね。<br>何を持って「頑張ってる」とするかは、やっぱり横へ置いておきますけど。<br><br><br>というわけで、本日の謎理論でした。<br>
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11470807468.html</link>
<pubDate>Thu, 14 Feb 2013 22:23:24 +0900</pubDate>
</item>
<item>
<title>間違いなく激動の一年</title>
<description>
<![CDATA[ 今年30になりました<br><br><br>本当に、いろんなことがありました。<br><br><br>ちょっとしたWebサービスを作って、沢山の人に使ってもらえたこと。<br>オープンソースへの誘い。勉強会にも行くようになった。<br>新しい仕事をはじめたこと。<br><br><br>このどれもが、去年の自分にはなくて、<br>去年の自分は一体何を張り合いにしてたのか、謎なくらいですが。<br><br><br>るみちゃんの出てるイベントにもよく行きました。<br><br><br>戦コレ…アニメフェアと、ゲームショウ<br>ゆるゆり…ゆるゆりんぴっくとかとしまえんとか。ライブは行ってないです…次回は行きたい<br>LadyGo…セカンドデート。あとアニメフェアのお渡し会（買えなくて見てただけ）<br>あっちこっち…OPED発売イベント<br>その他…アラタなるセカイの発売イベント<br><br><br>去年行ったので覚えてるのはカッピのイベントとスイートプリキュアの舞台挨拶くらいなので、<br>イベンターとしても一年目だったかもしれないですね～<br><br><br>んで<br><br><br>来年どうなるのっと言うことなのですが<br>おそらく、自分の限界を探る一年になると思います<br>というのもここ最近、新しい案件を頼まれまくっていまして<br>全部応えてたらキャパもスキルも足りないよという状況が現にあります<br><br><br>ただ実際目の前に困っている人がいて　自分に力があれば助けられるという状況で<br>少しずつでも応えていくことが自分の力にもなるという正のスパイラルがあり<br>どうなっていくのかなと言う感じです。<br><br><br>正直な話、自分一人がわかるプログラムであれば、どんな要件にでも応えてみせますが<br>（うちはWebは関係してこないし、GUIを洗練させろとかではないので頼まれることは限られています）<br>透明性と保守性と、ロジックの妥当性という意味では、<br>今までより一段も二段も高いものづくりをしなくてはいけない必要性を感じています<br><br><br>でも、それができたら、正直、受託開発できちゃうよねという感じで、<br>なんだかまた見通しが混沌としてきますが…<br><br><br>なのでまだ2013年は未知数です。<br>本当はプライベートでWebサービスいっぱい作って楽しく暮らせればいいのだけど、<br>そういう実務をこなすことで今は引き上げてもらっている、という感じです。<br>多分、今の状態でベストを尽くしていれば、道は開けるのじゃないかな。<br>ということで。
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11432850020.html</link>
<pubDate>Sat, 22 Dec 2012 23:57:48 +0900</pubDate>
</item>
<item>
<title>ごらく部再考</title>
<description>
<![CDATA[ これまで割と「自分はごらく部の中でもるみちゃん派だ」<br>と言ってはばからないタイプだったのですが<br>（実際それを口にする場があったかは別にして）<br><br><br>なんかうたがっせんのBD繰り返して見てたら、しんみりとしてきた気分になって<br>DTで頑張ってるみかしーとか、プリリズ2でも共演してるだーつーとか<br>キャラクターが受けてるのかいろんなとこに呼ばれてるゆかちんとか<br><br><br>四人がごらく部以外でも頑張ってるのを見てると<br>ごらく部の見方が変わってくる、と思うのです<br><br><br>単純に考えれば、四人で集まることの価値がそれだけ増しているということ<br>あと、ごらく部としての活動が終わっても四人はしっかり声優人生を歩んでいくだろうということ<br><br><br>それって、裏返せばごらく部の終わりのはじまり　なんですよね<br>ネガティブな意味ばかりでなく発展的解散というか<br>そういうことを考えられる時期に入ったというか<br><br><br>実際、アニメ2期も終わり<br>来年2月末にライブ3弾が控えてるとは言え　それが終わると一段落はして<br>アニメ3期はあっても全然不思議じゃないですけど<br>「ま、終わんだよ！いつかは！」という。<br><br><br>これだけイベントを精力的にやっていて<br>支持層がしっかりあって<br>そしてゆるゆりスタッフの普段のスタンスも含めて考えれば<br>きっとごらく部にも、いずれは、何かのイベントをもって、<br>明確に区切りをつけるときが来るのでしょう<br><br><br>もしかしたら、ふぇすてぃばるがその場になる可能性もなくはないのですよね<br>（放送室が続いているうちは発表・即解散は難しいと思いますが）<br><br><br>みたいなことを考えていくと　非常におセンチな気分になって<br>まぁーそれだけ色々やったよねーごらく部ーみたいな感じで<br>過去のイベントの記憶が反芻したりします<br><br><br>四人はきっとごらく部なくても頑張れるのですが<br>ごらく部というつながりが、思い出に変わる時のことを考えたら<br>今をもっと楽しんでおくべきだなぁ　と思いました。<br>
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11415580910.html</link>
<pubDate>Thu, 29 Nov 2012 04:24:15 +0900</pubDate>
</item>
<item>
<title>仕事の近況とか</title>
<description>
<![CDATA[ 昔いた事務の会社に戻って4ヶ月経ちました<br><br><br>趣味の延長でプログラム書いてまったり過ごすという当初の目論見は、<br>半分達成され、半分があらぬ方向へ行っております<br>今日はその辺とかまとめておこうと思います<br><br><br>・別事業所の立ち上げがあったので頑張った（8～10月頃）<br>事業所といってもクライアント企業の一室を借りてそこで仕事するみたいな感じですね<br>人材的に手薄な中、一応経験者で比較的「わかってる」人間ということで割と無理してました<br>一日の半分はA事業所で、もう半分はB事業所で、みたいな生活が結構続きました<br><br><br>・フレックスタイム導入（10月～）<br>元々フレックスという方式にこだわっていたわけでなく<br>「データ処理の仕事なんて、忙しくないときは8時間いても仕方ないからさっさと帰りたい」<br>みたいなことをずーっと言っていたら<br>フレックスがいいんじゃないですかという結論になりました<br>自分の場合はこれとプラスアルファで、入社時の条件として<br>「仕事が落ち着いたら週4にしてください、その分忙しい時は無理しますから」<br>と言ってOKをもらっていたのもありました<br><br>フレックスタイム導入で、8時間勤務、9時～18時の枠組みが取っ払われ<br>「好きな時に来て、好きな時に帰っていい。好きな時に休んでいい」ということに。<br>もちろん自分がいないことで他の人に迷惑がかかってはいけないので、<br>そこは段取りをする必要があります。<br><br>こんなの、普通に考えたらむちゃくちゃなんですが<br>自分の場合は、A事業所とB事業所をまたがって仕事していたせいで<br>「この人は同じところに8時間いないんだな、毎日いないんだな」というのが<br>社内で定着していたので、それに乗っかることになりました。<br>結果的にはラッキーでした。<br><br><br>・後輩が増えた（9月～）<br>うちの会社は、昔から人の定着率が悪い分、人をぽんぽん採ります。<br>気がつけば自分と同じデータ処理の人間が自分含めて4人になりました。<br>（自分が入るまでは0か1）<br>まぁみんな基本的にはOffice系の人材なので、<br>がっつりプログラマーという感じではないので<br>自分としてはJavaとかApache Camelとかには興味を持ってもらうとこからなのですが<br>人手が足りてる分楽になったなぁという実感はあります。<br><br>で、うちの会社のデータ処理がわかってるのは「相対的には」自分ということで<br>データ処理の人材については、面接とか新人研修とかも自分が担当してる形です。<br>A事業所、B事業所ともに…<br><br><br>・真面目に働きたくないのにかえって色々頼まれるジレンマ（11月～）<br>うちの会社の問題点として「勤続年数の長い人が少なくて、管理監督する立場の人間が少ない」<br>というのがあり<br>データ処理に関してはすでに上司が存在しないので（クライアント直です）<br>自由が効く、裁量が与えられているという意味ではいいんですが<br><br>そもそも自分は「トータル時間で週4日分くらいしか働かない、人より働かない」<br>というところを実現するのにモチベーションを置いているはずなので<br>後輩には偉そうに振舞わなくてはいけなくて、上層部には色々申さなくてはいけない、責任のともなうポジションというのは<br>もうそれ自体矛盾をはらんでいまして、さっさとバトンタッチしたいところであります<br><br>ちなみに自分は、新しく来る人来る人に<br>「自分はいっぱい働きたくないんです」「仕切りたいとかじゃ全然ないんです」「現状がそうなってるだけです」「だからよろしくお願いします」<br>と力説することにしているので　彼らがとって代わってくれることを期待しています。<br><br><br>・進まないライブラリ開発（10月～）<br>そんなこんなで「まったりプログラムを書く」みたいな生活からは遠ざかっています。<br>ただ、最初の二ヶ月で作った、Apache Camelを使ったCSV変換アプリケーションの枠組みは試算として持っているので<br>それをフル活用して作業効率を出している感じです。<br>事業所またいで残業しまくっていた時期も、Apache Camelにはだいぶ助けられました。<br>普通にAccessでやってたらミスが避けられないような煩雑な作業が、<br>大幅に軽減できるのですから。<br>この辺は落ち着いたらどんどん記事を書いていきたいと思っています。<br><br><br>ただ、ここへ来て割と毒されてしまった部分というか<br>事務の会社ではあくまでOfficeがデファクトスタンダードなのかなという部分は認めざるを得なくなっていて<br>一度作ったら他の人間に任せてしまうような、ちょっとしたツールを用意するには、<br>保守性も含めて、AccessやExcelでちょろっと書く方が良いのかなと思ってます。<br>不本意ですが。<br>それで対応できない部分だったり、みっともなくなってしまう部分については、<br>どんどんプログラムを書いていきますけど。<br>あと全体最適化という意味ではOfficeでは無理なので、そこも大きな枠組みで。<br><br>「ITは自分を楽にするもの」というのは原理原則だと思います。<br>しかしそれにはイニシャルコストが必要であり、<br>正しく筋道を立て、その時に相応しいものを用意する必要があるというのもまた然りで、<br>それを考えるのが我々の仕事なんだと思います。<br><br><br>まだまだ、これからですねー。ITで人生最適化だ。
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11415575189.html</link>
<pubDate>Thu, 29 Nov 2012 03:10:56 +0900</pubDate>
</item>
<item>
<title>実践Apache Camel:CSVをあやつる（Stub）</title>
<description>
<![CDATA[ 現在、事務系の会社に勤務し、データ操作業務をJava+Accessで行っています。<br>最近は、Apache Camelを使ったコードを書くことが中心になってきました。<br>今回は、Apache CamelでCSVを扱う時のポイントをまとめてみようと思います。<br><br><br><font size="4">1.Apache Camelのスタンドアロンパターン</font><br><br><br>Apache Camelでは、ルーティングルールと呼ばれる処理の手続きをJavaコードに記述します。<br>スタンドアロンの用途においてApache Camelは、<br>プログラム実行とともにローカル内の特定のフォルダを監視をはじめ、<br>そこにファイルが投入されたらルーティングルールに基づいた処理を行い、<br>処理が終了したらファイルをフォルダから消去（あるいは移動）します。<br>ルーティングルールは、一つのJavaソースファイルの中に、並列的に書くことができます。<br><br><br>　public static void main(String[] args) throws Exception{<br>　　　Main main = new Main();<br>　　　main.addRouteBuilder(new RouteBuilder()){<br>　　　　　@Override<br>　　　　　public void <font color="#FF0000">configure()</font> throws Exception{<br>　　　　　　<font color="#00FF00">// prefectureフォルダを監視</font><br>　　　　　　from("file://prefecture")<br>　　　　　　　.process(new PrefectureProcessor())<br>　　　　　　　.to("file://./");<br><br>　　　　　　<font color="#00FF00">// cityフォルダを監視</font><br>　　　　　　from("file://city")<br>　　　　　　　.process(new CityProcessor())<br>　　　　　　　.to("file://./");<br><br>　　　　　　<font color="#00FF00">// houseフォルダを監視</font><br>　　　　　　from("file://house")<br>　　　　　　　.process(new HouseProcessor())<br>　　　　　　　.to("file://./");<br>　　　　　}<br>　　　});<br>　　　main.run();<br>　}<br><br><br>この例では、一つの実行クラスによって、三つのフォルダを監視し、<br>フォルダごとに別の処理を行うよう、記述することができています。<br>エクスプローラー上から、三つのフォルダのいずれかにファイルをドラッグ＆ドロップすると、<br>処理が終わったタイミングで、ファイルがディレクトリに戻ってきます。<br>ですので三つの処理をどの順番でかけてもいいし、何度かけてもいいのです。<br>エクスプローラー上でオペレートが可能になる、という点は、<br>事務系のプログラマから見ると、非常に魅力的です。<br><br><br><font size="4">2.Apache CamelでのCSVの読み込み</font><br><br><br>CSVはそれ自体はプレーンなテキストであり、<br>改行記号とカンマによって行と列を表現した二次元のデータ構造です。<br>CSVのデータ構造をApache Camelに理解させるには、以下のように記述します。<br>※CSVコンポーネントを利用するためのライブラリ、camel-csvのロードが必要です。<br><br><br>　　public void configure() throws Exception{<br>　　　　from("file://foo").<font color="#0000FF">unmarshal("csv")</font>;<br>　　}<br><br><br>CSV形式でunmarshalすることによって、<br>メッセージのペイロードは、List&lt;List&gt;クラスに変換されます。<br><br><br>　　public void configure() throws Exception{<br>　　　　from("file://foo").unmarshal("csv").process(<font color="#0000FF">new Processor(){<br>　　　　　　@Override<br>　　　　　　public void process(Exchange exchange){<br>　　　　　　　　<font color="#66FF00">// unmarshal済みのcsvをList&lt;List&gt;オブジェクトとして取得</font><br>　　　　　　　　List&lt;List&gt; list = exchange.getIn().getBody(List.class);<br>　　　　　　　　System.out.println(list.get(0).get(0));<br>　　　　　　}</font><br>　　　　});<br>　　}<br><br><br>このサンプルでは、csvの先頭セルのデータを読み取って標準出力しています。<br><br><br><font size="4">3.フィールド行の読み込みとMap化</font><br><br><br>CSVでは多くの場合、先頭行にフィールド名の情報が記述されます。<br>これをもとにList&lt;List&gt;クラスからList&lt;Map&gt;クラスへ変換を行い、<br>以降のデータの扱いを容易にするようにします。<br><br><br>　　//ルーティングルールの記述<br>　　from("file://foo").unmarshal("csv").<font color="#0000FF">process(new ToListMapProcessor()</font>);<br>　　<br>　　<br>　　//プロセッサーの記述<br>　　public class ToListMapProcessor implements Processor{<br>　　　　@Override<br>　　　　public void process(Exchange exchange){<br>　　　　　　List&lt;List&gt; list = exchange.getIn().getBody(List.class);<br>　　　　　　List&lt;Map&lt;String,String&gt;&gt; listMap <br>　　　　　　　= new LinkedList&lt;Map&lt;String,String&gt;&gt;();<br>　　　　　　//フィールド名をList&lt;String&gt;として保持<br>　　　　　　<font color="#0000FF">List&lt;String&gt; csvField = list.get(0);</font><br>　　　　　　int size = list.size();<br>　　　　　　for(int row = 1; row &lt; size; row++){<br>　　　　　　　　Map&lt;String,String&gt; map<br>　　　　　　　　　　= new HashMap&lt;String,String&gt;();<br>　　　　　　　　int column = 0;<br>　　　　　　　　for(String field : csvField){<br>　　　　　　　　　map.put(field, (String)list.get(row).get(column));<br>　　　　　　　　　column++;<br>　　　　　　　　}<br>　　　　　　　　listMap.add(map);<br>　　　　　　}<br>　　　　　　<font color="#0000FF">exchange.getIn().setHeader("field",csvField);</font><br>　　　　　　exchange.getIn().setBody(listMap);<br>　　　　}<br>　　}<br><br><br>List&lt;List&gt;からList&lt;Map&gt;に変換するには、<br>列番号⇒値の対応を、列名⇒値の対応に変換してやればよく、<br>そのためにlist&lt;List&gt;の先頭行を、列名として利用しています。<br>また、List&lt;String&gt;オブジェクトのcsvFieldに、"field"という名を付け、<br>メッセージのヘッダーにセットしています。<br>これにより、以降のプロセッサーでもフィールド情報を簡単に呼び出すことができます。<br>このようにオブジェクトを簡単にマッピングできるのも、Apache Camelの魅力の一つです。<br><br><br>(つづく)
]]>
</description>
<link>https://ameblo.jp/sd-senko/entry-11378459726.html</link>
<pubDate>Sat, 13 Oct 2012 12:50:07 +0900</pubDate>
</item>
</channel>
</rss>
