カタカタブログ

SIerで働くITエンジニアがカタカタした記録を残す技術ブログ。Java, Oracle Database, Linuxが中心です。たまにRuby on Railsなども。

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で管理しておけばどの環境でも仮想マシンがすぐに上…

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

今さら感もあるものの、最近流行りのChef + Vagrantでのプロビジョニングをようやく試す時間ができたのでやってみた。とりあえず練習として、Mac OS XにChefとVagrantを入れ、vagrantbox.esから入手したCent OS7の仮想マシンをVirtual Boxで起動しApacheイン…

会社のWindowsマシンに最初に入れるソフトウェア達

私の会社では、Windowsマシンが一人一台支給され、それを持って仕事をしています。クライアント先に常駐する場合、クライアントによってはまたさらに端末を支給される場合もありますが、基本的にはこの会社支給のマシンで開発を行うこともあります。うちの会…

JD-EclipseでJavaのclassファイルをデコンパイルする

Javaプロジェクトでは、既存のライブラリや独自フレームワークを使わされることがある。こういうとき、classファイルのみでソースが見れずにデバッグが不便!ソースが見たい!と思うことがよくあるが、そういうときはデコンパイルツールを使うとclassファイ…

Windows7でのOracle Database Client 12c インストール時にINS-30131エラーが出たときの対処法

Windows7にOracle Client 12c (12.1.0.2.0)をインストールしたときにINS-30131というエラーが出たので対処法をメモ。原因としては、一時領域にインストーラがアクセスできなかったためで、対処法としてはC:¥トップをc$という共有設定することで解消した。 イ…

Windowsで時刻表示+ping監視するスクリプトを仕込む

Windows環境からある特定のサーバへのネットワークが不安定だったので、pingを実行しつづけてその結果をファイル出力するスクリプトを仕込んでみた。以下のような10回pingをうち30秒スリープする、を無限に繰り返すバッチファイルを作り、リダイレクトすると…

Jenkins ユーザ・カンファレンス 2015 東京に行ってきた

今日はJenkinsのユーザカンファレンスに行ってきました。2012のときにも行ったのですが、約2年半ぶりですね。場所は前回同様、法政大学でした。とりあえず業務でもJenkinsを使っていますが、ここまで使いこなしていないな−と思う内容が多くて勉強になりまし…

Oracle Database 12c (12.1.0.2.0) で遊んでみた(その3) 〜インメモリ有効化〜

前回、前々回とOracle Database 12cの構築まわりをやってきた。Oracle Database 12cからインメモリオプション(In-Memory Option)がついたと話題になっていたので試してみる。まず、機能を有効化し、テーブル検索時の実行計画にインメモリの計画が表示される…

Oracle Database 12c (12.1.0.2.0) で遊んでみた(その2) 〜プラガブル・データベース〜

前回、Oracle Database 12cをインストールし11gR2と同じ感覚でsysでログインできるところまで見た。Oracle Database 12c (12.1.0.2.0) で遊んでみた(その1) 〜インストール〜 - カタカタブログこのまま続けて、DBスキーマ(ユーザ)を作成してみるが、11gまで…

Oracle Database 12c (12.1.0.2.0) で遊んでみた(その1) 〜インストール〜

やっと会社が終わり休みに入ったので、冬休みの自由研究として、Oracle DB 12cを検証環境にインストールして遊んでみることに。12cはプラガブルデータベースとかインメモリオプションとか、新しい概念も多いのでその辺を触ってみようと思います。まずは、い…

macでのOracleクライアントはSQL Developerがおすすめ

普段はWindowsで仕事をしているので、Oracleクライアントツールはosqleditを使っているのだが、普段使いのmacではいいクライアントツールがないかなと思っていた。探してみたがあまりよさそうなのが見つからないので、Oracle純正のSQL Developerがmac版もあ…

ローカルリポジトリをgithubにPushしたときのメモ

git

ローカルのgitリポジトリで作っていたRuby on Rails 4のアプリを、バックアップの意味も含めてgithubにアップしたくなったので、そのときの作業をメモ。アプリ自体はすでに作っており、ローカルのgitリポジトリにコミットされている状態から作業する。もちろ…

いつも作るシェルスクリプトをテンプレート化してみた(オプション、引数チェック)

いつも作るシェルスクリプトをテンプレート化してみた(オプション、引数チェック)bashでシェルスクリプトを書くと、オプションや引数チェックのロジックはいつもお決まりになるので、今回テンプレート化してみた。オプションと引数を解析して変数に格納、も…

Evernote mac版をバージョン6.0.3にアップデートするとノートが表示されない

mac版Evernoteをバージョン6.0.3にアップデートしたところ、ノートを開くと以下のように表示されなくなってしまった。。これまでのノートも見れないし、新しいノートも作成できずとても不便! この問題はEvernoteサポートの方でも認識しているようで、以下の…

シェルで0始まり整数の演算をすると8進数演算になるので注意

シェルスクリプトで外部からデータを受け取り、簡単な四則演算をする処理があったのだが、特殊な数値の場合のみエラーとなる問題が発生した。よくよくデータを見ると、受け取る数値は”01”, “02”のように0始まりの固定2桁の数値フォーマットで、かつ数字が”08…

D3.js Force Layoutのノードを画像に変えてみる

前回、前々回とD3.jsのForce Layoutで簡単なネットワークを表現したが、ノードにただのcircleを使っていたので、今回はこれを画像に変えてみた。画像にすることで、ノードの意味をより明確に視覚化することができる。過去記事: D3.jsのForce Layout (力学モ…

D3.js Force Layoutのパラメータについて調べてみた

前回、D3.jsのForce Layoutで簡単なネットワークを描いてみた。 D3.jsのForce Layout (力学モデルでグラフ描画するレイアウト)を動かしてみた - カタカタブログそのときは、Force Layoutの各種パラメータを全てデフォルトのまま使っていたが、実際は描画した…

Oracle トリガーイベント時にDDL操作情報を取得する

久々にOracle Databaseの記事を。 Oracle Databaseのトリガーを使っていて、トリガー発生の原因となったイベントに関する情報を取得したいということがあった。例えば、CREATE TABLE文などのDDL発行を起因するシステム・トリガー内で、作成しようとしたテー…

D3.jsのForce Layout (力学モデルでグラフ描画するレイアウト)を動かしてみた

D3.jsのForce Layout (力学モデルでグラフ描画するレイアウト)を動かしてみた D3.jsというJavaScriptでデータをきれいに可視化するライブラリに、グラフ(棒グラフとか折れ線グラフではなく、グラフ理論のグラフ。ネットワークと同義)をきれいに描画する機能…

Amazon Product Advertising API を使ってみた2 (Rubyから実行)

前回の記事で、AmazonのProduct Advertising APIを使ってみた。Amazon Product Advertising API を使ってみた - カタカタブログリクエストには署名が必要で署名にはRequest Helperというページで生成したが、これだとプログラムから使えないので、プログラム…

Amazon Product Advertising API を使ってみた

AWS

Amazonのアフィリエイトに参加しているので、製品検索やらができるProduct Advertising APIを使ってみた。4年ほど前にも触ったことがあったが、まったく覚えていなかったのでいろいろなサイトを見ながらなんとかURLで製品検索ができるところまで確認できたの…

Cent OS 6.4にRuby on Rails 4環境を構築してみる

前回、MacにVagrantをインストールし、Cent OS 6.4の仮想マシン環境を構築した。 MacにVagrant (1.6.5) でCent OS(6.4)をインストールしてみた - カタカタブログ今回は、その環境にRuby on Rails 4の開発環境を構築する。ネットでググればこの手の記事は山ほ…

MacにVagrant (1.6.5) でCent OS(6.4)をインストールしてみる

1年ほど(?)前にVagrantを少し触ってみて放置していたが、Macにまた仮想マシンを入れたくなって、せっかくなので最新のVagrantで入れてみることにした。当時はVagrant 1.0.7をgemでインストールしていたが、今はインストーラがあるよう(当時からもあったのか…

PL/SQLで文字列をbase64でエンコード/デコードする方法

Oracle PL/SQLではbase64エンコード/デコードは標準のutl_encodeというパッケージにてbase64_encodeやbase64_decode関数で簡単にエンコード/デコードすることができる。 ただし、base64は本質的にバイナリ(バイト列)とテキストの可逆変換なので、RAW型のデー…

Linux上でシェルスクリプトをSJISで実行する

Linux上でシェルスクリプトをSJISを文字化けなく実行・表示するためには以下の点に注意する。※この注意点はSJISに限らず、他の文字コードであっても統一しておく必要がある。 ソースコードの文字コードをSJISにする LANG環境変数をSJISにする。 端末(Windows…

Windowsでzip化したファイルをLinuxで展開すると文字化け

Windowsで日本語を含むフォルダやファイルをzipし、それをLinux上のunzipコマンドで展開すると日本語が文字化けした。 ググると、結構情報がヒットするので、割とメジャーな問題のよう。Webを参考にしつつ、対応方法をまとめてみた。なお当環境はCent OS 6.5…

APEX4.2.4 日本語で文字化けを解消したときのメモ

APEX4.2.4インストール時に日本語対応を入れたものの、画面を開くと、日本語が「?」と化けてしまい、正しく表示されなかった。原因はDB側のキャラクタセットの問題だったので、インスタンスを再作成して解消した。以下、そのときのメモ。以下のように日本語…

bash/cshでSQL*PLUS実行結果をシェル変数に格納する方法

シェルスクリプトでSQL*PLUSを実行して、その結果をシェル変数に格納したいことがよくある。テーブルのデータ件数やマスタテーブルから特定のデータを引っ張りたいときなどなど。 こういうとき、sqlplusコマンドに対しSQLコードをヒアドキュメントで囲って渡…

Ruby 配列の中の数値の文字列を全て数値に一括で変換する

配列の中に数値が文字列で格納されている場合に、要素を一括で数値に変換する方法。以下のようにmap(&:to_i)メソッドを使用すれば良い。 irb(main):002:0> list = ["1", "23", "456", "7890"] => ["1", "23", "456", "7890"] irb(main):003:0> list.map(&:to…

VMware EXSiからエクスポートしたOVFファイルをVirtual Boxにインポート後にX server起動エラーが発生したときの解決方法

VMware ESXi(5.1)で稼働していたLinuxサーバ(Oracle Linux 5)をOVF形式にエクスポートして、Windows7上のVirtual Boxにインポートしたところ、 OSインポート自体は正常に完了したものの、起動時にX serverの起動に失敗し、GUIでの画面が上がらなくなったので…

VirtualBoxでホストオンリーアダプタが「無効な設定が見つかりました」となり有効化できない

Mac OSをアップデート(10.9.4)したせいか、Mac OS X上のVirtualBoxでホストオンリーアダプタを有効化しようとすると、「無効な設定が見つかりました」と出て有効化できなくなってしまった。 解消方法をまとめたので、メモ。 まず症状は以下。 ネットワークか…

YAMAHA RTX-810ルータを使った自宅VPNを構成してみる

YAMAHAのRTX-810ルータが手に入ったので、自宅サーバ環境にインターネット経由でVPNを構成してみた。ヤマハ ギガアクセスVPNルーター RTX810出版社/メーカー: ヤマハ発売日: 2011/11/05メディア: Personal Computers購入: 2人 クリック: 6回この商品を含むブ…

CPUの仮想化機構を有効化しないとVirtual Box で64bit OSが選択できない

Virtual Box(4.3.12)で新規仮想マシンを作成しようとしたところ、64bitマシンが選択肢に現れなかった。 原因は、物理マシンのCPUの仮想化機能が有効になっていないためだった。 今回使用したマシンのCPU製品は「AMD Phenom II X4 945 BOX」。 以下を見るとAM…

Oracle 表関数(table関数)を使ってテーブルオブジェクトを作成する

実際のテーブルは存在しないけど、プログラム上で二次元配列構造を定義し、 それをテーブルのように扱うために表関数(table()関数)というものがある。 PL/SQLプログラム上で配列の配列を定義する場合にも使えるので、使用方法をまとめてみた。今回は例として…

VMwareで仮想OSをovfエクスポートしてOSクローンしてみる

VMwareで仮想OSをovfエクスポートしてOSクローンしてみた。 VMwareの仮想OSをクローンしたいとき、ovfエクスポート -> インポートの手順でクローンするのがもっとも簡単なよう。 エクスポートとデプロイ(インポート)の順で手順をまとめる。 エクスポート 仮…

超交流会2014に参加してみたが、Oracle系技術はやはり今後廃れるらしい。。

京大の情報学同窓会としてやっている超交流会2014というのに参加してみた。 この中で以下のセッションを聞いていた。ベンチャーやるなら「企業向け」でヨロ! ~法人向けITビジネスが熱い理由(ワケ)~ http://www.johogaku.net/sn2014/sn2014s4テーマは、B…

VMwareで追加したディスク領域にユーザを作成しようとするとcopydir()エラー

VMware ESXiに仮想OS(CentOS 5)を入れて、ディスクを追加した後、ユーザを作成しようとするとエラーになった。 以下、/u01というパスには追加したハードディスクをフォーマットしたディレクトリをマウントしており、そのディレクトリをホームディレクトリと…

chcsvをコンパイルしたときのメモ

Oracle DBにSQLを投げて検索結果をCSVやTSV等のフォーマットで標準出力してくれるchcsvというツールがある。 Pro*Cのソースからコンパイルが必要なため、そのときの手順をまとめてみる。 環境はCentOS6.5で、Oracle Database11gR2が入っている。公式サイト =…

AWSの料金を確認する

AWS

AWSの月額料金は以下の方法で確認できる。 ヘッダーメニューの[アカウント名] > Billing & Cost Management 料金が確認できる

PL/SQLからOSコマンド・シェルスクリプトを実行する

PL/SQLでアプリを書いていると、たまにOSコマンドやシェルスクリプトを実行したくなる。 まあOracle DB上からJavaを実行することはできるので、どうにかできるかなあとは思っていると、 すでにPLSQL_OSCOMMANDなるものがあるらしい。Oracle PL/SQL executing…