2015年09月11日
Facebook ではデータセンターにおいて Kea DHCP サーバーをどのように活用しているか?
Kea を使うのはまだずっと先の話だろ?って考えていたんですが、「How Facebook is using Kea in the datacenter」によれば何と Facebook では既にバックエンド・テクノロジとして活用されているみたいです。 ISC(Internet Systems Consortium)社の Vicky Risk さんが書いたこの大変興味深い記事を勝手に日本語訳しつつ、僕の感じたことを付け足してみます。
続きを読む
続きを読む
2015年07月08日
RPi - Raspberry Pi 2 で周波数変調してミニ FM 局を楽しむ方法
ミニ FM 局を作って遊ぶ。 実用的かは大いに疑問でも科学が大好きな男の子にはたまらないハックですよね。 今日ご紹介するのはジャンパーワイヤと Raspberry Pi 2 さえあれば FM 電波で興奮することができるぜってハックです。
続きを読む
2015年02月12日
ISC DHCP サーバーの IP アドレス・リース履歴を DB 化するプロトタイプ的実装
通信事業者にとって DHCP を使って配布した IP アドレスとクライアントを指し示す物理アドレスを管理することは重要な意味があります。 例えば、不正アクセスがあればアクセス元 IP アドレスをスタート地点として、そのような行いをした個人・集団まで特定・追跡する必要があるからです。 ISC-DHCP でこのような要件を満たすシステムを構築するにはどんな方法があるのでしょうか? ここ数日、思考設計していたんですが今日は具体的なプロトタイプを実装してみますよ。
続きを読む
続きを読む
2014年12月26日
後編:Vagrant(+ VirtualBox/Ubuntu Server 14.04)環境で Appium(Node.js)と Cucumber(Ruby)を組み合わせて Android デバイス上のアプリケーションを BDD する方法
前編:Vagrant(+ VirtualBox/Ubuntu Server 14.04)環境で Appium(Node.js)と Cucumber(Ruby)を組み合わせて Android デバイス上のアプリケーションを BDD する方法
考えるのが面倒になりキーワードだけを組み合わせたらよくわからないタイトルになりましたが、シュミレーターでは無く複数の実機上で Android アプリケーションの動作検証(受け入れ試験)をすると聞き、物理サーバー上にテスト環境をセットアップ・テスト自動化要素を評価しようと考えたけど仮想環境として作った方がチームでも共有できるし絶対に便利だよな、と思い Vagrant(VirtualBox)上でどこまで出来るか調べて見たよ、というお話です。
続きを読む
続きを読む
2014年06月10日
NoSQL - SQL も使えるドキュメント指向データベース CRATE 入門
NoSQL でドキュメント指向データベースといえば MongoDB が有名・話題ですが、今日は同じドキュメント指向データベースでも SQL インタフェースのサポートによる既存資産・知識とのシームレスな統合、NO DATABASE ADMINISTRATION が売り文句の CRATE を実践してみますよ!
続きを読む
続きを読む
2013年09月24日
RPi - Raspberry Pi と Google Coder で作る Web プログラミング学習環境
Coder は Google がオープンソースとして公開した教育目的の Web サービス、プログラミング実行環境です。
大人が目的も無く遊んで楽しいものかと言えば・・・なんですが、これから Web アプリケーションの基礎を学んでみたい人・手軽に使える学習教材・環境を探している人にはオススメの Raspberry Pi パッケージです。
続きを読む2013年08月12日
DBCP より 50倍早い!? BoneCP を使って高速コネクション・プーリングを実現する方法
DB 殺すにゃ刃物はいらぬ、Connection の3つも短時間で get すれば良い、なんて言ったか言わないかはわかりませんが DB サーバーにとってコネクションの生成はコストの掛かる処理で、この負荷を軽減する為にアプリケーション側で DB コネクションのプーリングを実装することは多々あります。
このコネクション・プーリングは JDBC ドライバの一部として提供されることもありますが一般的には依存性を回避する為に DBCP , C3PO などのミドルウェアを利用しますよね。
今日ご紹介するのは高速、ハイ・パフォーマンスを特徴とする第三の JDBC コネクション・プーリング実装 - BoneCP です。
2013年07月19日
Webcam Capture を使って Java から Webカメラ を簡単制御(キャプチャ・動体検知)する
PCにバンドルされていながら使う頻度が低い・割高なデバイスといえば Webカメラ(独自算出)。 でも、プログラムから自由に使えるとなればその評価も変わってきます。 今日は Java でWebカメラを簡単に操作できる Webcam Capture / Java Webcam API をご紹介しますよ。
続きを読む
続きを読む
2013年07月17日
Java cron 実装 - cron4j ライブラリでタスクのスケジュール実行を簡単実装する
cron は cron を使えばいい、Java に cron 実装を求めるなんて不思議に思うかもしれませんね。
が、もし Java で実装できればアプリケーションから OS 固有の仕組みを削除でき、より WORA (Write One Run Anyware)なアプリケーションを実現出来る、タスクの実行結果を簡単に他の Java オブジェクトと共有可能といったメリットもありますよ。
今日 はQuartz よりも簡単・手軽にタスクのスケジュール管理・実行が出来る cron4j をご紹介します。
続きを読む
が、もし Java で実装できればアプリケーションから OS 固有の仕組みを削除でき、より WORA (Write One Run Anyware)なアプリケーションを実現出来る、タスクの実行結果を簡単に他の Java オブジェクトと共有可能といったメリットもありますよ。
今日 はQuartz よりも簡単・手軽にタスクのスケジュール管理・実行が出来る cron4j をご紹介します。
続きを読む
2013年05月16日
SLF4J - Javaロギング実装・ライブラリの柔軟な切り替え・効率化を実現するロギング Facade
僕の中では、 Java でロギングするなら log4j 1.2 系で必要十分。 それ以外、最新のトレンドについて考えることなんて数年前から無くなっていたんです。 だって、ライブラリの性能、機能(出力先の種類)が多少増えても現場のロギング要件はそんなには変わりませんから。 でも、今日ご紹介する SLF4J (Simple Logging Facade For Java) は大変興味深いロギングAPIなんですよ。 SLF4J は各種ロギング・ライブラリのアダブタAPIと言ってもよく、これによってロギング・ライブラリの実装を開発フォーズと綺麗に分離することが出来るんです(実装の遅延評価)。 さらに、このアダプタとしての役割を使えば開発者の負担も減らすことが事が出来るんですよ。
Posted by netbuffalo at
19:30
│Comments(0)
│
2013年05月13日
Commons CLI vs. args4 - Java コマンドライン オプション・パーサー比較
2013年04月26日
Java RMI ConnectException: Connection refused to host: 127.0.0.1 エラーの正しい理解と対策
Java RMI による分散オブジェクト開発の経験があれば一度は目にする・躓くエラーが Connection refused to host: 127.0.0.1 じゃないでしょうか(特にLinuxサーバー上でRMIサーバー・アプリケーションを利用する場合に)。 勿論、僕も経験して解決したクチなんですが、その時からずーっと気になっている事があったんです。 それは、この例外の発生メカニズム・対策に関する体系的な説明が見当たらないこと。
良質かはわかりませんが、今日は Java RMI, Connection refused to host 127.0.0.1 エラーの原因と対策について全体像も含めて紐解いてみます。
続きを読む2013年03月27日
JavaオブジェクトをXMLへシリアライズ, デシリアライズする時に知っておきたいライブラリ2選 - Simple & XStream
データベースを使う程では無いがオブジェクの状態を保存しておきたい、そんな時にはJavaオブジェクトのシリアライズ(直列化)、デシリアライズ(非直列化)が頭に浮かびます。この方法には幾つかありますが、シリアライズされたデータを人が理解・編集出来る、外部システム/他言語間でのデータ交換にも利用することを望むのであればXMLフォーマットは大変便利です。
僕はアプリケーションの設定ファイル <-> Java オブジェクト変換に使うことが多いですね。
今日は Simple/XStream という2つのJavaライブラリの使い方・特徴を紹介します。
続きを読むPosted by netbuffalo at
08:00
│Comments(0)
│
2013年03月08日
Log5j (Not Log4j) - Java High Performance Logging Library
アプリケーション開発においてハイ・パフォーマンス・ロギングへの注意は必要でしょうか?
大部分のアプリケーションでは必要無いかもしれません。しかし、もし貴方のアプリケーションがロギング要件は出来るだけ変更せずに秒オーダーで数千~数万トランザクション/セッションを管理し、なおかつタイムアウトの発生を極力避け無ければならない状況になったらどうでしょうか?
log5j を利用すれば log4j で実装したロギング処理をとても簡単にハイ・パフォーマンス化することが可能です。
続きを読む