カタカタブログ

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

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…

AWS EC2でインスタンスを作成してみる

AWS

amazon web serviceでサーバをたててみた。EC2インスタンスを作成したので、そのときの手順をメモ。なおAWSのアカウントはあらかじめ取得しておくこと。 AWS EC2インスタンス作成手順 AWSコンソールにログイン EC2をクリック Regionを Asia Pacific (Tokyo) …

/bin/bash^M: bad interpreter: そのようなファイルやディレクトリはありません (No such file or directory)

Windows環境で保存したシェルスクリプトをLinux環境で実行すると /bin/bash^M: bad interpreter: そのようなファイルやディレクトリはありません /bin/bash^M: bad interpreter: No such file or directoryのエラー。 改行コードが\r\nで保存されてしまった…

Oracle Application Express(APEX 4.2.4) インストール手順

以前インストールしたOracle DBにApexをインストールしてみた。 Apex(Oracle Application Express)とはOracle DB上で動くWebアプリケーションのことで、SQLとGUI操作だけで簡単にWebアプリが作れるものである。 以下の資料が詳しいので、こちらの手順に従っ…

Oracle SQL実行計画でヒントの一覧を表示するためのDBMS_XPLAN.display(format=>'ADVANCED')オプションが便利

SQLの実行計画を見るためによく使うDBMS_XPLAN.display。 ここに'OUTLINE'または'ADVANCED'オプションを渡すと、実際に付与されるヒント句が表示されるようになる。 これは'ALL'オプションでは表示されず、ドキュメントにも記載がないが、以下の本に詳細が書…

サクラエディタ マクロを開発してみる

サクラエディタのマクロを書いてみたので、開発方法をメモしておく。 サクラエディタはjavascriptでマクロが書けるので、ここではキーボード操作を記録して再現させるマクロの作り方ではなく、プログラミングによってテキスト変換処理を実装し、サクラエディ…

Selenium 2をセットアップしSubversion - Jenkinsと連携させて自動テストさせてみる

Selenium2をセットアップし、Selenium IDEで作成したテストスクリプトを Jenkinsと連携し、自動テストするための設定手順をまとめてみる。 なお、Selenium IDEを使ったテストスクリプトの作成方法の詳細については本記事では述べない。[環境] Cent OS6.5 セ…

DBを落とさずOSを落とすとORA-27154エラーが出てDBが起動しなくなったときの対処法

Oracle DBのインスタンスを落とさずにOSをshutdownすると 次回OS起動時にDBが上がらなくなった。。 セマフォのカーネルパラメータを増やすと解消できたので、対処法をメモ。[環境] DB: Oracle DB 11gR2 OS: CentOS6.3OSシャットダウン後にDBスタートアップし…

SQL 外部結合と等価なスカラサブクエリについて

SQLの外部結合とスカラサブクエリの等価性について調べてみたので結果をまとめてみる。 スカラサブクエリとは スカラサブクエリとはスカラ値(つまり単一値)を返すクエリのことである。 SQLにおけるスカラ値を返すとは、単一列の値を1行だけ返すようなクエリ…