2014-01-01から1年間の記事一覧
メソッドの実行時間を取りたいなぁというとき、メソッドの最初と最後でSystem.currentTimeMillis()してその差をログに出す、なんてことをよくやるわけですが(プロファイラ使えばそもそもそんなことやらなくていいんでしょうが)、直接メソッド内に処理を書…
JAX-RSのServiceを、同じ「Service」として例えばJSFのManagedBeanから、EJBでもJAX-WSでも呼べるようにしてみた。 それ自体は別に難しいことではなかったです。 Serviceクラス // for JAX-RS @Path("todo") // for JAX-WS @WebService // for EJB @Stateles…
前回からの続き的内容。 RESTの受け口が作れたので、今度はそれを永続化するところに挑戦。永続化と言えばDBなので、MySQLとかでもいんだけれども、せっかくなのでMongoDBに永続化することにしてみます。 Javaなので、APIは当然JPAです!って、MongoDBとかっ…
前回AngularJS使ってみてて、サーバ側はRESTインタフェースで構えようと思ったらJAX-RSの使い方とかよく知らないのにはたと気づいたので、Wildfly8.2でJAX-RSのhello world的なものを試してみました。 いやほんと、今更ながらそんなレベルです。 Java Javaの…
前回のBootstrapに続き、モダンなUIフレームワークをいじるシリーズで、クライアントMVCのためのJavascriptフレームワーク、AngularJSを触ってみました。 こちらも下記のチュートリアルに従って写経しただけです。 すぐできる AngularJSAngularJSの使い方を…
最近めっきりUI関連の技術に疎くなってしまったところ、ちょいと動かして試せそうな記事があったので触ってみた。 Bootstrapという、レスポンシブWebデザインなライブラリとのこと。 特になんてことはなく、サンプルとして記事に書かれている内容を写経した…
作ろうと思った経緯 昨今、DevOpsの旗印のもと様々なツールが登場しておりますが、その1つにserverspecというサーバ状態をテストするためのツールがあります。 Serverspec - Home僕の中で、このテストツールはインフラテストにプログラムコードを持ち込んだ…
ちょっとAndroidのアプリを書いておりまして少しだけはまりました。とある機能をPCでもAndroidでも使えるように、ライブラリとしてjarでパッケージングをしました。 PCではちゃんと動きました。Androidで使うには、単にlibsの下にそのjarを置けばいい、はず…
RHEL7リリースから1ヶ月遅れくらいでCentOS7がリリースされました。 CentOS7のインストール ミラーサイトからnetinstallのISO落としてきて、VMWare Player上にインストールしました。ごちゃごちゃと入れたくないしISOでかいのが嫌で、6まではminimalを使って…
感想、思いのほか時間がかかった。 初めてやるようなことはなかったのだけれど、ちょっとしたことにはまったり、あとは単純に時間がとれなかったり。はまったりするとなかなかまとまった時間がないと厳しいなぁ。 基本形は今回作れたので、あとはこれを太ら…
前回も書いたけれど、ログは主に調査、解析用のバックアップと、監査用のバックアップの2つがあり、前者は1週間~1ヶ月、後者は1年以上とかになる。昨今のビッグデータ活用により前者も何年とか蓄積するケースもあるけれど、その場合は生ログではなく、それ…
バックアップを取る時に、その目的は大体2つ。 障害復旧用 調査、解析、監査等の保存用 障害復旧の場合は、物理障害対策であれば1世代前まであれば十分で、論理障害対策であれば最大何世代前まで戻したいかによります。 調査、解析、監査用であればそれぞれ…
前回、「次はインフラのITを」と言っていたのですが、気が変わった(というか、パパッとできるインフラITのネタが思い浮かばなかった)ので、次の工程であるZabbixの導入に進みたいと思います。 今回初めて触ったので、ちょっと変なところではまりました。 Z…
Integration Test(以下、IT)は日本語にすると結合テストなんだけれども、何と何を結合するのかでだいぶんテストの内容が変わってきます。 今回は大きくこの2つをITとして取り扱うことにします。 アプリケーションを画面から実行するテスト。だいたい1つの…
CIできるようにJenkinsを導入します。 CIといってもまだIntegration Test(IT)のコード書いてないので、まずはこれまでに書いたテストを順に実行できるようにします。 今のところの対象は下の2つ。 serverspecのテスト util、ejb、webのJUnitテスト(順番は…
画面はJSFで書きます。JavaEE7のJSF2.2では、よりHTMLに近い書き方ができるようになったとか。HTML5との親和性とかそういったことなんでしょうかねぇ。 画面 先に画面を作ります。単純に、名前とパスワードを入力してそれを登録し、登録完了したら完了画面に…
EJBを書きます。正しくは、EJB+JPAです。 サービスとして独立した形を目指して、ロジックとデータアクセス部分をひとまとまりに切り出すことにしました。 画面はアプリケーションごとに、ロジックは共通に、というのは古くからあるパターンなんだろうけど、…
ようやくプログラミングに入ります。 Eclipseを使いますが、細かい設定についてはここでは触れません。 Mavenが使えるようになっていれば最低限ことは足りると思います。 ターゲットはWildflyに固定していることもあり、面倒なのでJBoss Toolsを入れてしまう…
アプリケーションを作る、前に、ライブラリ管理できる仕組みを整えておくことにします。 ライブラリ管理にはMavenを使用し、Mavenリポジトリを管理するために、Sonatype NexusのOSS版を使用します。 Nexusは、Mavenリポジトリのホストと、セントラルリポジト…
アプリケーション実行環境の最後、データストアとあるRDBMSとしてMariaDBをインストールする。せっかくなので、まだ安定はしてないけれど、10.0を入れることにします。 MariaDBのインストール MariadDBのレシピは今のところとても少ない。 # Install package…
JavaEE7実行環境であるWildflyをインストールします。 ApacheとMySQLとの連携に必要な設定も施します。テンプレートも含めるとコード量がそこそこあるので、実物はGithubのほうで参照ください。 https://github.com/nobrooklyn/oneman/tree/master/platform …
今回、Webサーバ兼ロードバランサとしてApacheを選択しました。後段にWildflyを使うので、それとの連携を考えた時に尤もらしい選択肢と言えると思います。 パラメータ関連のチューニングはとりあえず後回しにして、インストールを進めます。 httpdのインスト…
サーバ共通設定としてcookbooks/commonで導入した内容のテストを書きます。 テスト対象はタイムゾーンの設定とNTPの設定の2つです。 テストを書く タイムゾーンのテストはこんな感じ。 # spec/localhost/timezone_spec.rb require 'spec_helper' describe fi…
サーバもプログラムと同じく、設定したらテストすべしというのが最近の流れ。テスト駆動開発の立場からすると「いやいや、設定したらテストではなく、テストを書いてから設定をするのだよ」と言われそうですが、「まず、動く」のが見たいタイプなのでとりあ…
ひとまず簡易的に実行環境を整える作業に入ります。 プラットフォームの環境設定は手で行わず、原則Chefを使って実施します。元のChefリポジトリのcommonクックブックを見直します。 Chefクックブック 以前Oracle12cインストール時に使ったもののうち、時刻…
ものごとを始めるための準備を始めます。 とりあえずローカルにGitリポジトリをクローンするところから。作業環境はCentOS 6.5(不定期にyum -y updateで最新化してます)です。 とりあえず作業は全部rootで行います。 最低限必要なSWの準備 OSのインストール…
断片的で細々とした知識はあるのだけれど、果たして自分一人でWebシステムを作れるだけの能力があるのかというと甚だ疑問なので、試しに取り組んでみたいと思います。 家庭内で、いわゆる「自分の時間」を使ってちょっとずつやっていこうと思うので、いつ終…
JavaEE7で採用されたWebSocketの簡単なプログラムを書いてみました。 chanko/chanko-web at master · nobrooklyn/chanko · GitHub参考にしたのはコチラです。 WebSockets tutorial on Wildfly 8 - WebSockets - JBoss application server tutorials 環境 Wil…