LIPCレベル1試験から学んだ事(Part3)

ファイルの個数やサイズ、メモリ使用量を制限(ulimit) メモリ割り当て不可、など、とりあえず何でもいいからコマンドを失敗させたい時とかのテストに使えるかも。 user@ubuntu:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlim…

LIPCレベル1試験から学んだ事(Part2)

screen で画面共有 端末1 user@ubuntu:~$ screen -S session1 端末2 user@ubuntu:~$ screen -x session1 screenを終了するには Ctrl-d

LIPCレベル1試験から学んだ事(Part1)

実行環境はこちら user@ubuntu:~$ uname -a Linux ubuntu 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux user@ubuntu:~$ 環境変数の表示(env, printenv) 普段 echo $[変数名] しか使わないので、今後は env …

ホームディレクトリ以外の .vimrc を常に読み込む

Vim

同一ユーザを複数人で共有していて、ホームディレクトリに自分専用の .vimrc を置けない場合は、環境変数 VIMINIT または EXINIT を設定して自分専用の .vimrc を読み込めばよい。 ubuntu@ubuntu-14:~/vim$ set |grep VIM VIMINIT='so ~/vim/.vimrc' ubuntu@…

バックグラウンドで実行した処理が全て完了するまで待つ

$ cat 20150906.sh #!/bin/bash --norc # 引数で指定された秒数バックグラウンドでSLEEPする function _sleep() { sleep $1 & # バックグラウンドで実行されたプロセスのPIDを設定 PID=$! echo "sleep $1 seconds; pid=${PID}" } # 10〜20秒バックグラウンド…

ファイルを1行1行を読みこんで処理する

$ cat foo.sh #!/bin/bash --norc cat infile | grep -v "^[[:space:]]*$" | # 空行をSKIP grep -v "^[[:space:]]*#" | # #で始まる行をSKIP while read LINE do LINE=`echo ${LINE} |sed 's/[[:space:]]*#.*//g'` # #以降はコメント扱い echo ":${LINE}:" d…

WinSCPでLinux上のファイルを自動でWindowsにバックアップする

LinuxサーバのファイルをWindowsにバックアップする場合、WinSCPをバッチモードで実行するのが手っ取り早い。WinSCP用のスクリプトファイルとWindowsのバッチファイルの2種類用意すれば良い。WinSCP用のスクリプトファイル(rsync-ubuntu-14.04-server-amd64.…

UNIXコマンドのソースを見る方法

ubuntu@ubuntu-14:~$ uname -a Linux ubuntu-14 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux ## 前準備 #apt-fileをインストールする ubuntu@ubuntu-14:~$ sudo apt-get install apt-file #データベース…

CVSのインストール

## cvsのインストール ubuntu@ubuntu-14:~$ sudo apt-get install cvs ## xinetdのインストール ubuntu@ubuntu-14:~$ sudo apt-get install xinetd ## リポジトリの作成 ubuntu@ubuntu-14:~$ cvs -d /home/ubuntu/cvsroot init ## xinetdの起動設定 ubuntu@u…

ssh-agentの注意点

ssh-agentを一度起動すると、ログアウトしてもプロセスが残ったままになるので要注意。 ######################################################################## ## 実証 : ssh-agentを一度起動するとログアウトしてもプロセスは残ったまま ############…

ssh設定メモ

ssh、scp、rsyncなどでパスワード、パスフレーズ入力不要とする設定。バッチで作業を自動化したいとか、単にパスワード入力が面倒といった場合に使える。まずはsshの公開鍵、秘密鍵を作成する。公開鍵はファイル名に.pubが付いている方。 この時、パスフレー…

Apache Batik を使って SVG 画像を PNG/GIF/JPEG に変換する

ベクタ形式の画像を手作りする方法としてはSVGが手っ取り早い。 まずは SVG 画像を用意し foo.svg として保存する。 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <circle cx="100" cy="100" r="100" fill="red" /> </svg> 次に Batik のラスタライザを使って PNG に変換する(上記画像のサイズ 200×200 を指定)。 C:\batik-1.7>java -jar batik-rasterizer.jar…

UbuntuにEmacs24をインストールした時のログとinit.elの備忘録

インストール ubuntu@ubuntu-14:~/c++/2.2$ sudo apt-get install emacs24-nox [sudo] password for ubuntu: パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインス…

scp

別のサーバからパスフレーズ認証なしでファイル転送する方法。id_rsa(秘密鍵)をリモートのサーバからコピー、scpのオプションに指定すればそれでいい。

VMWare 上の Ubuntu を固定IPにする方法

ubuntu-14.04-server-amd64 を VMWare Player 上にインストールした時のメモ。インストール自体は何事も無く終了。OpenSSH Server だけインストールし、Windows からは rlogin/telnet/ssh(クライアント)ターミナルソフト (←ファイル転送も簡単にできるのでこ…

読書録『知識ゼロから学ぶソフトウェアテスト 【改訂版】』

知識ゼロから学ぶソフトウェアテスト 【改訂版】作者: 高橋寿一出版社/メーカー: 翔泳社発売日: 2013/12/10メディア: 単行本(ソフトカバー)この商品を含むブログ (7件) を見る読んで大事だと思った箇所を、業務SE視点で解釈する。 テスト計画 テストでも何…

SELECT結果の操作(変数宣言、カーソル、配列)

最もシンプルなPL/SQLのプログラム BEGIN NULL; END; 変数と定数 DECLARE a VARCHAR2(10); b VARCHAR2(10) := 'bbb'; c VARCHAR2(10) NOT NULL := 'ccc'; d CONSTANT VARCHAR2(10) := 'ddd'; BEGIN dbms_output.put_line('a : ' || a); dbms_output.put_line…

血の報い

(新共同訳) 42:21 互に言った。 「ああ、我々は弟のことで罰を受けているのだ。弟が我々に助けを求めたとき、あれほどの苦しみを見ながら、耳を貸そうともしなかった。それで、この苦しみが我々にふりかかった。」 42:22 するとルベンが答えた。 「あのとき…

ねたみ

(新共同訳) 26:14 多くの羊や牛の群れ、それに多くの召し使いを持つようになると、ペリシテ人はイサクをねたむようになった。(TEV) 26:14 Because he had many herds of sheep and cattle and many servants, the Philistines were jealous of him.(KJV) 26:…

スレッドセーフではないコード(4回目)

今回はsynchronizedメソッドの話。「synchronizedが付いているメソッドは同時に実行されない」と思っていたら大まちがい。下記に4種類のコード例のうち、System.out.println()が排他的に実行されるのは2つだけ。 System.outする箇所にブレークポイントを設定…

スレッドセーフではないコード(2回目)

前回(1回目)はサーブレットを例にスレッドセーフではないコードを考えてみたが、スレッドセーフではないことを目に見えるかたちで実証するのが難しかった。 今回はJava SEの環境で動かせるクラスでスレッドセーフではないことを実証してみる。まずは、カウン…

スレッドセーフではないコード(3回目)

他人が書いたコードがマルチスレッド下で正しく動くかどうか検証するのは骨の折れる作業と実感する。テスト時になるべくバグが出やすくするコツとしてClient VMではなくServer VMで動かすとよいそうだ。ServerVMの方がClientVMにくらべてより最適化しようと…

スレッドセーフではないコード(1回目)

書いてはいけないコードの例。アクセスカウント(requestCount)を表示するサーブレットを考える。サーブレット自体はシングルトンなので、ブラウザからアクセスするとrequestCountの値がインクリメントされ、正しく動くかのように見える。しかし、++のインク…

Sambaとネットワーク設定

Ubuntuの初期設定では、NATのポートフォワーディングを利用してホストOSのWindows7からゲストOSのUbuntuにSSH接続した。また、WindowsとUbuntuのファイル共有はVirtualBoxの共有フォルダーを利用した。VirtualBoxのファイル共有だけでは今後何かと不便だろう…

Windows7に仮想環境を作ってUbuntuをインストールする(デスクトップEditionとサーバーEdition の両方)

前々からcoLinuxでWindowsとLinuxを共存させたいと考えていたが、いざやってみるとcoLinuxが64bitのWindowsに対応していないことが判明。そこで、VirtualBoxを使って仮想環境を作成してUbuntuのインストールにトライする。仮想環境 : VirtualBox 4.2.6 for W…

今さらながらStruts1系のActionやFormをJUnitでテストする方法

StrutsのActionやFormをJUnitでテストするには StrutsTestCase http://strutstestcase.sourceforge.net/ を使う。設定ファイルを置く場所は厄介。次のようにマニュアル通り記述しても public void setUp() throws Exception { super.setUp(); // コンテキス…

Mavenのディレクトリ構成を変更(+Mockitoを使ってサーブレットをJUnitでテスト)する方法

Mavenで決まっているディレクトリの構成を変えるのは公式サイトを見ても「推奨しない」だの「考え直せ」だの書かれているが、それでも変更しなければならない状況におちいることがあろうかと思います。例えば下図のような構成のプロジェクトで試しにMavenを…

Jenkinsの使い方+MavenやSonarとの連携

Jenkinsの導入〜MavenやSonarとの連携方法までを紹介します。SubversionやGitとの連携は次回以降に紹介したいと思います。まずはJenkinsの準備。 http://jenkins-ci.org/ からWARファイルをダウンロードし、javaコマンドでサーバを起動します。 C:\root\usr\…

SonarとMavenでJavaソースコードのメトリクスを収集する

Javaソースコードのカバレッジツールを探していたらSonarというJavaソースコードのメトリクス収集ツールに行き当たりました。 これまでソースをWebで見れるようにするツール等は様々出回っていましたが、総合的にメトリクスを収集してくれるツールは、多くは…

SpringのDI(Dependency Injection)のサンプルを作りました

Springフレームワークが提供するDI(Dependency Injection)を理解するためのサンプルプログラムを作りました。 『Spring3入門』の 第2章 SpringのDI を参考にしています。初版の第一刷を買ったせいか、それじゃ動かないだろ、というサンプルソースもあるが許…