Home › Category Archives › 開発

最近の開発事情

普通に仕事が忙しいんですけどもね。そのくせUDPWrapperとか作ったり、ミニゲーム用のWEBアプリ土台作ったりしてるんですけども。
いやまあ、両方とも仕事で得た知識を有効活用しようとして生まれたものなわけですけども。技術ってのは使って馴染ませないと最適化できませんから。
UDPWrapperは仕事でUDP通信を習熟する必要が出て来て、その過程で得た「UDPホールパンチング」という技術を活かしたものになります。具体的にどんなことが出来るかっていうと、花映塚とか緋想天とか非想天則とかのネット対戦をファイアウォールの解除抜きに行えるようになります。
ミニゲームの方はStruts2を使ってます。前々から試してみたいとは思ってましたが、よもや仕事で組むことの方が先になるとは……。ともかく、perlとは比べ物にならんほど使いやすいっすね。さすがJava。それでもperlの方が楽なときは多いけど。
さらにはUDPWrapperを実際に使えるものをうちでも用意しようと思って、DxLibを使ったミニゲームを現在開発中。今モチベ下がって止まってますけども。
大体そんな感じ。

開発以外の創作に関しては、気が向いた時にやってるって感じです。GMDも久々に二話ほど進められたし、作曲の方も動画一本分の曲が集まりました。相変わらず歌の曲は出てこんけど。
「もっとGMD書けよ」とか「カンナギさんの続きどうしたんだよ」とか色々あるかと思いますが、気が乗らんときに書いても納得いくものは出来ないんすよ。別にプロで期限内に仕上げなきゃいかんとかいうわけでもないし、マイペースにノロノロと更新していくつもりです。
つーか俺以外の投稿作者投稿しろってヴぁ。最近の履歴ほとんど俺じゃねえか。ベネさん年末に上げたのの続きまだー?

次の人? ダイス振るのもめんどくせえ!
というわけでベネさんにブーメランします。一週間以内に次の作品あげられるならうふふんにします。
じゃあの。

POI

って知ってますかPOI。多分大半の人は「何ぞそれ?」の世界だと思いますが。Javaやってる人なら「そんなもんジョーシキだろ」と言いそうな気もする。
POIとは「Poor Obfuscation Implementation」という意味で、これだけだと何を差してるのかさっぱり分かりません。なのでぶっちゃけて言うと、JavaでMicrosoft Officeのデータを扱えるようにするライブラリのことです。
今仕事でログファイル(テキスト形式)からエクセルファイルを吐き出すスクリプトを作ってるんですが、所与の条件によってJavaで作らなくてはならなくなりました。
最初はC#で作ろうとしてたんですよ。けどどうやらC#でどうにかしようとすると、マシンにOfficeが入ってないといけないようで、今回スクリプトを動かすマシンにはOfficeが入っていないそうなのです。
サーバー用のOfficeって高いそうで、俺もたかだかログを処理するためのスクリプトのためにクライアントに無駄なお金使って欲しくないので、Officeが入ってなくても動くPOIを使うことにしたのでした。
業務用のスクリプトをJavaで一から作るのは何気に初です。しかしまあ、うちにあるお絵かきチャットみたいなのを結構前から作って来ていたので、Javaで作ること自体に問題はありません。
強いて問題があるとすると、起動方法がどうしてもややこしくなってしまうことですかね。皆さんあまり意識されないかもしれませんが、Javaを実行するときって「java -cp Javaクラスファイルが置いてあるフォルダ Javaクラスファイル Javaの引数」ってやらなければならず、結構面倒なのです。しかもこれは一番簡単な例で、色々とオプションがついてきてさらにややこしいです。
今回作るスクリプトはタスクマネージャで定期的に呼び出されても、あるいはデスクトップ上からユーザー呼び出しで起動しても使えるように考えているため、分岐がややこしくなってしまっています。そしてそれが俺の頭を悩ませる。
まあ、この辺は使ってくうちに徐々に何とかなっていくところなので、今気にしてもしょうがないっちゃしょうがないんですが。しかしああ面倒くさい。

そんな感じで最近仕事ばっかです。創作進んでません。めんご。

あ、88HOMENETの方、ユーザー登録しなくてもツイッターアプリ使えるようになりました。
それなりに機能取り揃えてて軽いので、もし本家に辟易しててまだ他のアプリを見つけていない方はどうぞ。
http://88homenet.dip.jp/

つーぎはだーれにしようかな。
1:うふふん、2:燃さん、3:熊、4ベネさん、5:おっきさん、6:まさかの自分、7:その他、8:セカンドチャンス
1 D 8 → { 6 } → 6
……なん……だと……?
いやさすがに回転率悪くなりそうなので6は抜きましょう。その他で。
って今チャットにいるメンツも少なくてどうにもならへん。こうなったらセカンドチャンスで。
1 D 6 → { 5 } → 5
というわけで次はおっきさんお願いします。

システム日和

この間仕事でC言語使ったんですよ。C言語なんて大学時代以来でしたよ。結構忘れてました。
けど、やってるうちに色々と思い出してきて、必要な処理は一通り実装することが出来ました。C言語ではなかったですが、色々な言語で色々なプログラムを組んでいくうちに、基本的な技術は身に着けられて行っていたということなんでしょうね。
で、これは前々から知ってたことなんですが、C言語をCGIとして使うことも可能なんですよね。昨日ちょっと試してみたんですが、出力に関してはperlなんかと同じ感覚で出来るみたいです。
ただ、やはりコンパイル済のものを使うので、ソースをサーバーにアップしてコンパイルをするという一手間が必要になります。そのため、レンタルサーバー向けCGIにはやはり向かないですね。サーバーコンソールが使えるレンタルサーバーなんてそうそうないですから。
あと当然のことながら、テスト段階での修正が非常に面倒です。ソースを書き直して再アクセスという、普段やっている手法が取れないということになりますから。
やはりプレゼンテーション層で扱うならperlやphpに軍配が上がるようです。
しかしながら、88HOMENETでやっているデーモン処理に関しては、C言語を使ってもいいかもしれません。
というのも、C言語は現在普及しているプログラミング言語の中では最高級の動作速度と低メモリ使用度を誇っています。そしてバックグラウンドで流れ続けるデーモンは、速さと軽さが要求されます。
ならば、その処理にperlよりC言語を使った方がいいというのは当然の流れです。単純なデーモンであればあるほど、C言語であることの利点は大きくなります。
とはいえ、やはりC言語のメンテナンス性の低さや前時代性というのは拭えません。たとえば、C言語でXMLを処理するにはどこかからライブラリを取得する必要があります。
いずれデーモンはCで置き換えたいと考えていますが、それはデーモンの処理がそれ以上拡張できなくなったときにしようかと思っています。
perlは一番得意ですが、perlよりも状況に適した言語というものは必ずあります。都度最適な言語を使えるようにしておきたいですね。
あと、たまにはWindowsアプリケーションも作らないといけませんね。腕が鈍ってしまう。

あ、そうそう。もう気付いてると思いますけど、18日にGMD久々にアップしました。一ヶ月ぶりとかなにこれひどい。
次はそんなに開けないように、今週末の例大祭終わったら書き始めます。

次はブーメランベネさん。『甘ぇよ』