カタカタブログ

SIerで働くITエンジニアがカタカタした記録を残す技術ブログ。Java, Oracle Database, Linuxが中心です。たまに数学やデータ分析なども。

2015-01-01から1年間の記事一覧

Rails 4.2 URLにid以外のカラム値を使う

Railsはroutes.rbでresourcesメソッドを使うことで、複数リソースに対するRESTfulインタフェースを定義できる。このとき、一つのリソースを特定するためには通常:idパラメータがデフォルトで使われるが、このidはRailsが自動採番しているため、場合によって…

Rails 4.2  ActiveRecord enumsを使って列挙型を扱ってみる

Rails 4.1からActiveRecordでenumが扱えるようになったので、今さらながら試してみた。 enum型あるいは列挙型は、あるカラムが取りうる固定値がいくつかに決まっている場合にDB上は数値型で保持することで効率よくデータを格納したり検索できるようにする一…

ZaimのAPIをRuby on RailsからOAuthを使って叩いてみる

普段は会計簿をつけているZaimというお気に入りのWebサービスがあるのだが、標準で用意されている分析がいまいち細かいところまで見れないので、自分でデータを取得してみることにした。 https://zaim.netZaimは開発者向けのAPIが提供されているようだが、OA…

IntelliJ IDEAでgroovyプロジェクトをgradleでビルドする

IntelliJ IDEAで開発したgroovyプロジェクトをgradleを使ってjarにビルドする方法をまとめてみる。 groovyだと簡単なライブラリや実行可能なスクリプトとして作ることが多い。そのため、IDE上でしか実行できないのはいろいろと不便なので、IntelliJ上でビビ…

dateコマンドで前月を計算する時の注意(前月に基準日の日付がない場合)

dateコマンドで日付計算するときに、「1ヶ月前」「1日後」といった構文は便利なのでよく使うのだが、今回この「1ヶ月前」指定をなんとなく使っていて、まずい動きをすることがあったのでメモ。どういうときにまずいかというと、「日付を比較する基準日が前月…

Java初心者がエンタープライズJava業務をこなすために読んだ本たち

私はJava言語は前々からある程度触っており、基本的な文法やデザインパターンなどは理解していましたが、今回業務で初めてサーバサイドJavaを扱うことになり、そのときに読んだ本についてまとめました。Javaでの簡単なプログラミングはできるレベル、つまり…

dnsmasqでRaspberry Pi 2をプライベートDNSサーバにしてみた

自宅LAN内にサーバが増えてくると、いちいちIPアドレスでアクセスするのが面倒なので名前解決したいが、/etc/hostsをサーバごとに個別に用意するのも面倒、ということで、Raspberry Pi 2を今回は自宅LAN内のプライベートDNSサーバにしてみた。インターネット…

BUFFALO WHR-300HP2ルータで自宅VPNを構築してみた

自宅で無線LANルータとして使っていた、BUFFALO WHR-300HP2 ルータがVPN(PPTP)サーバとして使えることを知り、自宅VPNを構築してみた。BUFFALO QRsetup 11n/g/b 300Mbps 無線LAN親機 WHR-300HP2/N (ワンルームマンションの一人暮らし向け)出版社/メーカー: …

Cent OSのVirtualBox仮想マシンでホスト名が解決できない

昔作ったCent OS 6.4のVirtualBox仮想マシンを久しぶりに起動したところ、外部ホストが解決できなかった。当時どうやって作ったかは全く覚えていないが、ネットワーク設定はホストオンリーアダプタとNATだけだったので、DNSにGoogleのPublic DNSを設定してや…

Raspberry Pi 2 にRuby on Rails 4 環境を構築してみた

Raspberry Pi 2にRuby on Rails 4の環境を作ってみたので、構築手順をメモ。まあ例によってRaspberry Pi 特有の事情はほとんどなく、Rubyのインストール(ビルド)には結構時間がかかった以外は、普通のサーバにRails環境を構築するのとほとんど変わらなかった…

Raspberry Pi 2 をプリントサーバ化しようとしたが失敗したときのメモ

Raspberry Piをホームネットワーク上のプリントサーバとして使うやり方がいろいろなところで解説されているので、試してみた。自宅のプリンタはUSBプリンタなので、いつもプリンタのある部屋に移動してUSBを接続して印刷しないといけないところが面倒だった…

Raspberry Pi 2 IPアドレスを固定(有線LAN)にする

(2016/1/27追記 本記事の手順でうまく行かなかったので、新しい手順を記事にしました) Raspberry PiのIPアドレスはDHCPで自動で振られるので、固定化させておくと別マシンからssh等で接続する上で便利。 そのため、今回はIPアドレスを固定化したときの設定手…

Raspberry Pi 2を買ってきたので遊んでみる 〜購入からOSインストールまで〜

前から遊んでみたいと思っていた、Raspberry Pi 2を買ってきた!とりあえずOSインストールまで辿り着いたので、入門記事として、やったことをまとめてみる。 まずは買ってくる Raspberry Pi 2はネットで買うのが普通のようで、ググるとAmazonでも買えるみた…

groovyで文字列の先頭大文字/小文字変換

groovyでテキスト処理していて文字列の先頭1文字を大文字/小文字に変換する方法をメモ。 先頭大文字は標準のcapitalizeメソッドで 先頭大文字化は標準でcapitalize()というメソッドがStringクラスに用意されているので、簡単に実現できる。 println "upperCa…

WebLogic 12c(12.1.3)にantでアプリケーションをデプロイしてみる

WebLogicサーバにアプリケーションをantでデプロイしてみた。 wldeployというantタスクが標準で用意されているのでそれを使う。以下を参考に。 http://docs.oracle.com/cd/E24329_01/web.1211/e24368/wldeploy.htm#WLPRG437 環境準備 まず、WebLogicの環境変…

WebLogic 12c(12.1.3)でJMSキューを試す

WebLogic 12c上にJMSキューを作成し、キューとのメッセージ送受信を試してみたのでメモ。キューのエンキュー・デキューのプログラムはJNDIでキューにアクセスしているので、WebLogicのキューであることは特に意識していない。 JMSキュー作成 まずWebLogic管…

【Java】Metroのwsimport時に「GLib-GIO-ERROR **: Settings schema 'org.gnome.system.proxy' is not installed」エラー

以前、MetroでWSDLからJavaクライアントソースコードを自動生成する検証する記事を書いた。【Java】MetroでWSDLからSOAPクライアントのJavaソースコードを自動生成する - カタカタブログ今日、前回とは別の環境でwsimport.shを実行したところ、「GLib-GIO-ER…

FTPとのファイル連携はcurlコマンドが便利

未だにFTPサーバとファイルのやりとりをせざるを得ない場合は(それほど多くはないが、残念ながら)まだある。しかし、ftpコマンドは対話式のコマンドでやりとりするため使いづらい。特にシェルスクリプトでやろうとすると、コマンドを流し込んだり、エラー…

Java Day Tokyo 2015に行ってきました

今日は4月上旬なのに真冬並の寒さという中、東京国際フォーラムで開催された、Java Day Tokyo 2015に参加してきました。Javaのイベントに参加するのは初めてだったのですが、詳しく知りたいと思っていたJava EE周りの最新動向や方法論について、いろいろ知る…

ApacheでSELinuxが原因で403 Forbiddenエラー

Cent OS 7でapacheを使っていて、以下のようなForbiddenエラーが出たときの対処法をメモ。 ちなみに前回のitamaeでのapache起動検証中に発生したエラーで、SELinuxのせいだと気づくのにちょっと時間がかかったので改めて検証した。 Macにitamaeを入れて、Vag…

Macにitamaeを入れて、Vagrant仮想マシンのプロビジョニングをしてみる

以前、Chefを使ってVagrantの仮想マシンをプロビジョニングする方法を検証したが、かなり複雑だった。今回、軽量Chefという位置づけのitamaeというツールが最近熱いらしく、試してみることにした。 環境情報 当環境の情報は以下の通り。 ホストOS: Mac OS X …

【Java】MetroでWSDLからSOAPクライアントのJavaソースコードを自動生成する

前回、WebLogic上で簡単にSOAPのWebサービスを公開する方法を検証した。【Java】WebLogicでのSOAPサービス公開方法が意外と簡単だった - カタカタブログ今回は公開されたWSDLだけから、そのSOAPサービスを利用するためのJavaクライアントコードを実装してみ…

【Java】WebLogicでのSOAPサービス公開方法が意外と簡単だった

今回、SOAPのWebサービスについて調べる機会があったので検証結果をメモ。今どきWebサービスと聞いてSOAPをイメージする人はほとんどいないと思われる。RESTと比べると重厚で使いにくいイメージもあるが、それでも一部のパッケージ製品などやエンタープライ…

【Java】StringBuilderとStringBufferの違いをスレッドセーフの観点で検証してみた

Javaで文字列連結をする場合に「String同士の足し算は効率が悪いのでやめましょう!」というよくある話とともに名前が挙がるStringBufferクラスとStringBuilderクラス。最近だと「StringBufferクラスよりStringBuilderクラスの方が効率的!」というのも同じ…

lessでzipファイルの中身が見えるわけ 〜LESSOPENとlesspipe.sh〜

前回、zipファイルを展開せず中身を見るにはlessコマンドを使うのがよいという記事を書いたが、そもそもなぜlessでzipファイルの中が見れるのか調べてみた。 ※前回記事: Linuxでzipファイルの中身を展開せずに見るにはlessがおすすめ - カタカタブログ less…

Linuxでzipファイルの中身を展開せずに見るにはlessがおすすめ

(※2015/3/10追記 本記事の続きの検証記事を書きました) lessでzipファイルの中身が見えるわけ 〜LESSOPENとlesspipe.sh〜 - カタカタブログLinux上でzipファイルの中身を見たいとき、いちいち解凍・展開するのは面倒。そんなときはlessコマンドを使うのが…

WebLogic 12c(12.1.3)に最初のWebアプリをデプロイしてみる

前回、Cent OS 7にWebLogic 12c(12.1.3)のインストールを行った。 Cent OS 7にWebLogic Server 12c(12.1.3)をインストールしてみた - カタカタブログ今回は最も単純な構成のJava Webアプリケーションをデプロイして、ブラウザからアクセスしてみる。JavaはMa…

Cent OS 7にWebLogic Server 12c(12.1.3)をインストールしてみた

前にCent OS 7.0の環境を作ったので、Javaでも動かしてみることにした。そういえばWebLogic 12cがずいぶん前に出ていたものの最新版を試していなかったので、開発者向けの12.1.3をインストールしてみる。今回はインストール方法についてまとめた。 インスト…

Cent OS 7にalternativesを使ってOracle JDK7をインストールしたときのメモ

Cent OS 7.0のJavaはデフォルトだとOpen JDK 7が入っているが、これをOracle JDK 7に切り替えたときのメモ。といっても公式サイトからOracle JDKのtar.zipを落としてalternativesで切り替えただけなので、Cent OS 7に限った話ではないはず。ちなみにこのCent…

Windows7にChef(11.6.0)とVagrant(1.7.2)を入れてプロビジョニングしてみた

前回MacにChefとVagrantを入れてプロビジョニングしてみた。 Mac(Yosemite)にChef(12.0.3)とVagrant(1.7.2)を入れてプロビジョニングしてみた - カタカタブログせっかくVagrantfileとChefクックブックをgitで管理しておけばどの環境でも仮想マシンがすぐに上…