「Elixir Report」をWebアプリケーション向けのクエリ/レポートツールとして活用する

app02

 帳票ツール「Elixir Report」を利用することで、GUIツールでデータベースへのクエリを作成したり、クエリ結果の編集や加工が簡単に行えるようになる。今回はWebアプリケーションからElixir Reportを利用してさまざまなデータに対しクエリを実行したり、それらを元にしたレポートを出力する方法を紹介する。

「Elixir Report」を使ってクラウド上のデータをグラフ化してみよう

 最近では、Google DocsやSalesforceといったクラウドサービスを使ってさまざまなデータを管理しているケースも少なくない。今回は「Elixir Report」を使って、このようなクラウド上にあるデータを表やグラフといった形で出力する方法を紹介する。

コードを記述することなしにデータを表やグラフとして出力できる帳票ツール「Elixir Report」

 さまざまなデータをドキュメント化するに当たって、面倒なのがデータを表やグラフといった形に整形する作業だ。特に印刷に向けたPDFなどを作成する場合、そのジェネレータ側で図や表のレイアウトなどを細かく制御する必要がある。そこで活用したいのが、図表のレイアウトや出力機能を持つツールだ。

さまざまなログをまとめて集中管理できるログ記録/管理ツール「fluentd」

図2 fluendのアーキテクチャ。ファイルやアプリケーションなどのイベントソースから受け取ったイベントが集約され、条件に応じてさまざまな出力先に出力される

 大規模なサービスを運用する場合、それらのログ管理をどうするか、というのが1つの問題となる。複数のマシンにログが分散すると、その管理や活用が面倒になるからだ。また、クラウド環境ではサーバーのリブートによってローカルのストレージが失われる場合がある。このような場合、別のマシンにログを転送するような仕組みが求められる。今回はこういった場合に有用なログ記録・管理ツール「fluentdを紹介する。

Rubyから「さくらのクラウド」を操ろう

図1 さくらのクラウド API v1.1 ドキュメント

 さくらのクラウドでは、公開されているAPIを利用することでサーバーの作成や各種設定などを自動処理できる。今回はこのAPIをRubyを使って操作する例を紹介する。

コマンドラインツール「sacloud」でさくらのクラウドを操作する

図1 さくらのクラウドAPIを使った処理の流れ

 「さくらのクラウド」では、HTTPベースで外部からクラウドの操作を行えるAPIが提供されている。APIを利用することで、スクリプトなどで仮想サーバーの作成を自動化したり、監視・管理といった用途を行うカスタムツールを作成できる。今回はこのさくらのクラウドAPIの概要と、さくらインターネットが提供しているコマンドラインクライアント「sacloud CLI」を使ってさくらのクラウドAPIを利用する例を紹介する。

SSDやioDriveといった高速ストレージの性能をチェック――はじめての「さくらの専用サーバ」(4)

図1 Fusion-ioの「ioDrive2」。PCI Express接続の拡張カード上にフラッシュメモリ素子が配置されている

 現在多くのサーバーではストレージとして安価かつ大容量なHDDが採用されているが、さくらの専用サーバでは、ストレージとしてSSDやフラッシュメモリベースの高速ストレージと「Fusion-io ioDrive」なども選択可能だ。今回はこれらストレージの特徴と、その性能についてチェックしていこう。

CPUやメモリなどのシステム性能を比較するベンチマークツール

pts_result

 最近のサーバーではネットワークやストレージの性能が最重要視され、CPUやメモリの性能についてはあまり重視されない傾向がある。とはいえ、CPUやメモリの処理能力が重要となる場合もまだ一定数ある。今回はそのような用途に向け、CPUやメモリ、システム全体の処理能力を調査するためのベンチマークツールを紹介する。

SourceForge.JP ブログ

swift: SEGVに遭遇

swiftは言語的には素晴らしくて気に入っている。でも開発環境はまだまだヘロヘロでHeaderDoc的なのがまだないし、ソース補完は相変わらずクラッシュしまくりである。 そしてついにコンパイラがSEGV。IR生成までいってるので文法的には正しいコードを書いてると思うのだが・・・。 While emitting IR SIL function XX...

ボーナス制度追加

昨夜、遅くまで起きててボーナス制度を追加した。隊列を組んだ敵を最初に現れた時に全滅させると50点。 結構、この判定が難しかった。色々試した挙句落ち着いた。(つまりはちゃんと論理があるわけではなく何と無く適当に判定しててうまくいってるからオッケーってなノリ) 今朝はそれに音を追加した。

改造。しかし見た目は変わらない。

今日は休みだったのでシューティングゲームを改造。敵グループのクラスと敵のクラスを改造した。実行しても何が変わったのかはわからないw 敵を発生させるためだけにグループのクラスを利用していた。例えば隊列を組んで出現するときは一定の出現場所やベクトルが必要だった。ところがそのままだと隊列が一旦、画面...

swift: array for-each

Swiftにはfor-eachがあるから古典for文のようにindexで回すよりはずっといいが、せっかくなのでRubyよろしくeachでブロックを渡すような文法もあればいいのにと思ったりする。 そこで演算子オーバーロードだ。 infix operator / { associativity left precedence 95 } func / (lhs:Array<T>, rhs: T->Void...

シューティングゲーム詳細

  「動作確認環境」 Windows7 64bit LinuxMint 64bit いずれもJRE(JAVA実行環境)が必要です。 MacOSXや他のWindows、Linux、32bit、それぞれテストはしてないんですが多分動きますww(一応、ネイティブライブラリーは追加してある) 「ダウンロードと起動とアンインストール」 こち...

SENNHEISER IE 80

外出時の移動メインのモバイル音楽環境に続いて、移動先を含む室内用環境メインのポータブル音楽環境を新たに構築することにしました。 購入したイヤフォンはSENNHEISERのIE 80。現在はフルタイムのエージング中です。 事前のリサーチで本来の音質を発揮させるには長時間のエージングが必要で、音質がエージングで...

swift: protocolとGenerics関数

次のコードは違法。 protocol Metric { var width: Double { get } var height: Double { get } } func area<T:Metric>(obj:T) -> Double { return obj.width * obj.height } class X: Metric { var width = 0.0 var height = 0.0 } let obj: Metric = X() // protocolで型...

swift: class-onlyプロトコルとsetter

以下の単純なプロトコルがあったとして、これをGenerics関数と組み合わせた時valの値を変更する関数を書くことは文法違反となる。 protocol P { var val:Int { get set } } func updateVal<T:P>(item:T, v:Int) { item.val = v // 代入は違反 } なぜならプロトコルはstructにも適用可能であり、stru...

Heroku で bash を使う&Python の urllib.urlretrieve() を使う (ファイルのダウンロード)

Heroku で Python を使ってファイルのダウンロードを実現する際の動作や注意点をまとめた。また動作を確認するにあたって、heroku の実行環境がどのような構成となっているか、bash を使って調べてみた。 なお Python でファイルをダウンロードする際は urllib モジュールの urlretrieve() 関数を使用することを想定...

javaを実行中にどこから起動してるのかを知る

表題のように、例えばeclipseから実行している場合、完成してjarファイルをダブルクリックして実行されている場合…などなどそのプログラムの中で知ることはできるんだろうか? eclipse環境下の時とjarファイルの時とではリソース読み込む時のエラーの出方が違うんだよな。 例外処理で良さそうなんだけどもっとスマ...

Eclipseでのlwjglプロジェクト作成

JAVAの開発環境といえばEclipse。そしてJAVAでOpenGLやらOpenALを使ったアプリを作るならlwjgl。備忘録としてlwjglを使うプロジェクトの作り方を記しておく。 普通にEclipseで新規プロジェクトを作成する。プロジェクト名を決めておく。後から変更もできる。 ライブラリタブを選択し、「外部JARを追加」する。あら...

いろいろ参考にさせていただいたところ

JAVA自体は一昨年かじった感じだった。 どうしてこんなものをつくろうと思ったのかもう覚えてない。 で、いろいろ調べるとjavaでゲームを作るならlwjglなるライブラリを使うといいらしい、ということがわかった。 検索してみるとほとんど英文のサイトだったが多少日本語のサイトもあったのでよく読ませて...

習作のシューティングゲームを公開しました。

さて?ブログにリンクを貼るにはどうしたらよかんべ? https://sourceforge.jp/users/yosimasa4403/pf/yosimasa4403_java_room/wiki/FrontPage これでいいのかな?

Python で URL 内のファイル名を取得するイディオム

Python 2.x で URL 内のファイル名を取得するイディオム。下記のサイトを参考に、少し拡張してみた。 ファン猛のブログ - PythonでURL文字列からファイル名を1行で取り出す http://fantakeshi.blog50.fc2.com/blog-entry-32.html リクエストパラメータが含まれている場合は、それを取り除くことも考慮。 >&gt...

Visual Studio 2010でテストに時間がかかる

Windows8.1でVisual Studio 2010でテストを実行すると、ものすごい時間がかかる。 というより、終わらない。 解決方法はViual Studio Service pack 1を入れるといい。 しかし、Web版のインストーラーだとインストール失敗する。 http://support.microsoft.com/kb/2600847 を参照するように言われるのだが...