制約があるユニットテスト方法その2 Java Native Access (JNA) で遊んでみる
Mar 17

どうも初めまして、
3月に入社したてピチピチのnakamura-tです。
みなさま今後とも宜しくお願いします。

さて今回は、日本の大手企業向けERPパッケージ「COMPANY」の開発元である
ワークスアプリケーションズ様と合同勉強会をさせていただきましたので、その様子のレポートさせて頂きます。

まずは弊社の鈴木による発表です。
KLabセッション(その1) :Tokyo Tyrant + Lua Extensionで作るクエリキャッシュサーバ

発表している写真

Tokyo Tyrant(Tokyo Cabinet)の説明と、実験的にLuaで作ったクエリキャッシュサーバのパフォーマンス結果とその考察でした。
パフォーマンスが上がらない原因の一つにLuaの文字列処理系が遅いのかもとのことでした。
僕は以前、iPhoneアプリ開発をしてたのですが一番のネックはファイルアクセスだったので、ファイルシステムにアクセスしてもこの速さでinsert処理が出来るって事は個人的に驚きました。

Tokyo Tyrantは知らなかったのですがBarkleyDBとかSQLiteに比べ比較的パフォーマンスが良いらしく、mixiさんでログイン履歴の保存に使われてるそうです、時には10000QPSを1台のサーバでこなしてるとか。
あと日本からの技術発信というのも嬉しいものです、僕もいつかはと思わされました。

続きまして弊社、竹井による発表です。
KLabセッション(その2):Android時代のミニ四駆考

発表している写真

うおおおおーーーーっい!!
これですよ!これ!!
子供の頃に学研の未来予想図ってのがありましたよね、空飛ぶ車に動く道路、ロボットの友達などなど。
毎日RSSで最新技術の記事は読めど実際に日常で見かける事はないですよね。
どこいったんすか?未来。
なんて事を日々思ってたんですが、。

素直に感動です。
ないなら作ろうよって事なんですよね。
考えさせられる良い刺激でした、ありがとうございます。

最後の電子書籍が読めるミニ四駆とはミニ四駆を転がすことによってPC画面上のスクロールバーがスクロールするというナイスなデモでした。

最後にワークスアプリケーションズ 川中様による発表です。
ワークスアプリケーションズ様セッション:クラウドと並列プログラミング

発表している写真

発表資料はこちら!

昨今のトレンドになってるクラウドコンピューティングについて。MVCにおいてViewのスケールアップは比較的に簡単、Modelも散々語られてきた。
そろそろControllerもスケールの対象にしよう。
しかし、複数のコンピュータでの並列計算となるとプログラミング的にもデバック作業などにおいても色々面倒な処理が必要になる。
ところが最近のプログラミング言語(Google GO, Scala)などではシングルスレッド感覚でマルチスレッドプログラムを書く仕組みが言語仕様として組み込まれていますよという話でした。

デスクトップの世界では随分と前から、CPUは単純にクロックを上げるより複数のコアを搭載するようにシフトしていると思います、でもデスクトップアプリのマルチコア対応があまり積極的ではない様に感じていたのですが、こういう原因も背景にあったのかもしれません。今後はいろんな分野で飛躍的にパフォーマンスのあがる可能性を感じました。

蛇足ですが、僕はobjective-cな人でした。
でMacのcocoaフレームワークにはマルチスレッド処理の為のNSOperationというものがあります。
それは、NSOperationサブクラスを作ってmainメソッドを定義して行いたい処理を記述、そのインスタンスをNSOperationQueueインスタンスに追加するだけで後は勝手にバックグラウンド処理してくれ、スレッドセーフとかロックとかややこしいのは比較的考えなくても良いというものでした。
しかも、Mac OS X. 10.6 Snow LeopardからはNSOperationQueueが内部的にはGrand Central Dispatchで実装されてるようです。
なるほどApple、エレガントです。

勉強会終了後は懇親会に移り、

技術の話や趣味な話を語り合う楽しい夜になりました。

お越しいただいたワークスアプリケーションズの皆様、本当にありがとうございました。

Trackback URL

Leave a Reply