茶トラ猫エンジニア

フリーランスとして働く、先が見えないエンジニアのメモ帳

Java

オライリーの「Web API」に特化した本です。最近の多くの Web サービスは API が活用されていますが、その技術はこれまでの Web サイトとそれほど大きく変わりません。

今後、マイクロサービス化が進む中で知っておいて損はない内容が詰め込まれており、現場のエンジニアやこれから Web 系のエンジニアを目指す人にもオススメの一冊です。

AmazonLinuxにJenkinsをインストールする

CI ツールとして一世を風靡した Jenkins。 今では、CircleCI や Docker に置き換えられつつありますが、私は PHP で作った Web サイトのデプロイツールとして利用しています。 と言っても、実際にデプロイするのはシェルプログラムなのですが、ブラウザから…

CentOS7にGlassFish4.1をインストールする

Java のアプリケーションサーバは Tomcat が馴染み深いのですが、今回は初めて GlassFish を触ったので、備忘録としてインストール手順を残しておこうと思います。 でも、今回の仕事以外で使うことあるのかな・・・。 そもそも、Java は 3 年くらい前に触っ…

AmazonLinuxにmavenをインストールする

Java でプログラムを書いたのはいいのですが、手元の環境に maven が入っていなかったので、AmazonLinux の Java のインストールと合わせて書き残しておきます。 ビルドの構成管理は Gradle にトレンドが変わりつつありますが、だからといって maven がすぐ…

CentOS6.5にJava1.7をインストールする

今回は Web アプリケーションではないのですが、Java アプリケーションを実行する環境が必要になったので「さくらのVPS」に Java1.7 の実行環境を用意してみました。 Java については、1.8 のバージョンを新たにインストールする手順も「AmazonLinuxにJenkin…

CentOS5.5にJava環境(JDK)を構築する

Java からは数年間遠ざかっていましたが、久しぶりに CentOS5.5 に最新の JDK を入れてみる。 今回は下記の Oracle(Sun)サイトで提供されている Linux 用の rpm 向けバイナリパッケージを利用します。 JDKのダウンロード JDKのインストール 環境変数の設定 J…

Tomcat停止時にSESSIONS.serが見つからないエラーが発生した時の対応方法

突然 Tomcat の catalina.out にエラーが出力され始めたので調査しました。 どうやら、エラーになっているのは AXIS2 の Web アプリ。 Tomcat 停止時に SESSIONS.ser が見つからないと言っています。 今まで意識してませんでしたが、通常は work ディレクト…

Javaでファイル読み込みをする方法

Java を使った Web アプリケーション(Servletなど)で、設定ファイルを使うシーンは多いと思います。 今まではライブラリを使用するときに設定ファイルを作成する機会が多かったので、オリジナルな設定ファイルはあまり読み込みをしたことがありません。 そこ…

ApacheAXISとJAX-WSでデータバインディング

Java で SOAP 通信を簡単に実装しようとすると、Apache AXIS2 か JAX-WS(Java API for XML Web Services)が思い付く。 この 2 つで大きく違うのは、JAX-WS が J2EE を使うので、Tomcat 上では動かせないということ。 JAX-WSを利用する スタブコード スタブコ…

Javaのコンパイル時の警告の対応

Java のコンパイル時において警告が出ることがありますが、警告レベルは意外と無視してしまう場合があります。今回はその辺に注目して警告の詳細を見てみたいと思います。 まずは、サンプルで表示された警告です。ビルドは Ant の javac タスクで実行します…

SpringFrameworkでDIコンテナを試す

いまさらながら DI(Dependency Injection)コンテナに注目して Spring Framework を使ってみることにしました。 Spring Framework は何年か前に仕事で目にしたことはあったのですが、自分で使うのは初めてです。 今回は初めての人向けに書かれた @IT の記事を…

antでJavadocを生成する

Ant を使って Javadoc を生成したことがなかったので試す。 基本的には javadoc コマンドを実行するだけです。 注意するところは、必要に応じてクラスパスを通すのと対象となるエンコードを指定するところ。(javac と同じです) あとは、ちゃんと各クラスやメ…

JavaのgetRemoteAddrでIPv4とIPv6のアドレスを取得する

Java の HttpServletRequest#getRemoteAddr() で、リモートの IP アドレスが取得できるのですが、クライアントの OS 環境によってはIPv6 のアドレスが返されます。 ループバックアドレスを例にすると下記のような違いです。 [IPv4] 127.0.0.1 [IPv6] 0:0:0:0…

JavaでJNIを使ってみる

ふと、Java からネイティブコードの呼び出し方法を調べてみました。 今回はネイティブコードとして、Windows の DLL、Linux の so、Mac の jnilib を Call する方法を調査してみます。 Java には標準で JNI(Java Native Interface)という機能があり、Java で…

JavaとC#でJSONを使う

Java と C# でソケット通信をするのは簡単ですが、クライアントとサーバ間で、どのような形式でデータを渡すかのプロトコルが重要になってきます。 そこで、今回は JSON(JavaScript Object Notation)の形式でデータの受け渡しをやってみたいと思います。 JSO…

古いJDKのモジュールを探す

JDK(J2SE)をダウンロードしようとしたら、公式サイトからは最新版へのリンクしか見当たらない。 というか、古いモジュールのダウンロード先が見つけれなかった・・・。 時代的に、もう Sun ではなく Oracle ですしね。 Oracle Software Downloads 今回、JDK …

TomcatとApacheの連携(Windows編)

前回、「Tomcatのインストール(Windows編)」では、Windows 上で Tomcat を単独で動かす方法をまとめました。 www.saratoga.jp 今回は Apache と連携させて、80 番ポートで Tomcat にアクセスします。 Apache との連携には mod_jk というモジュールを使用しま…

JAXBでデータバインディング

Java で XML モデルからオブジェクトモデルへのマッピングをする技術として JAXB(The Java Architecture for XML Binding)があります。 以前、JAX-WS についても調べましたが、その時の記事は以下になります。 www.saratoga.jp JDK1.6(J2SE1.6)からは JAXB2.…

Tomcatのインストール(Windows編)

Tomcat は Eclipse の Tomcat プラグインでしか動かしたことがなかったので単体で動かしてみます。 まず、下記のサイトから Tomcat の最新版をダウンロードします。 Apache Download Mirrors # 解凍、コピー apache-tomcat-5.5.25.zip を解凍して、C ドライ…