技術

Andoroidアプリケーション技術者

「Andoroidアプリケーション技術者認定試験ベーシック」に合格した。学習期間は約1ヶ月。“ベーシック”とあるだけあって、確かにベーシック。問われるポイントは決まっているし、問われ方も平易(試験特有の“ひっかけ”はあるが)。時間は、見直しまで終えても…

パーフェクトJavaScript・つまずき(プロトタイプチェーン編)

だいぶ時間が経ってしまったが、話題になった「パーフェクトJavaScript」を読み進めている。とてもわかりやすく、かなり詳しく書いてあって、話題になっていたのも納得。パーフェクトJavaScript (PERFECT SERIES 4)作者: 井上誠一郎,土江拓郎,浜辺将太出版社…

JavaScriptで遊ぶ準備

なんとなく、趣向を変えて、こんな本を買ってみた。いつものことながら、きっと長続きはしないと思うが。ゲームアルゴリズムレシピforJavaScript作者: 松浦健一郎,司ゆき出版社/メーカー: 秀和システム発売日: 2008/11/19メディア: 単行本 クリック: 10回こ…

JP1ジョブ管理でのJP1イベント

ジョブ管理(JP1/AJS3)だけを使っていても、JP1イベントはけっこう使う(と思う)。そろそろ自分の理解をまとめておこうかなと。JP1イベントを扱うのは「イベントサーバ」で、通常、JP1/Baseを起動すると、イベントサーバもいっしょに起動する。jevstartコ…

2枚の絵でわかるJP1ジョブ管理の仕組み

JP1ジョブ管理(JP1/AJS3:JP1/Automatic Job Management System 3)を初めて使ったのは、もう何年も前になる*1。その時は、プロダクトのことを何も知らないうちに(けっこう複雑な)ジョブネットの設計をしなければならなくなって、、とにかくアーキテクチ…

(続)JP1ユーザ設計で大事なコト

「JP1ユーザ設計で大事なコト - あしのあしあと」で書いた内容に、2点補足がある。 1. ジョブ実行制御コマンド使用時のユーザ設定 前回引用した次の部分について。 ジョブ実行制御のコマンドを使用してジョブを実行・操作する場合,コマンドを実行するOSユー…

(今さら)Javaで正規表現で部分文字列を取得する

「シェルでログファイル名を操作 - あしのあしあと」でやってたことを、Javaでやらないといけなくなった。要は、ファイル名に含まれる(最後の)8桁の数値を取得するという簡単な処理。 String#substringメソッドのような、char配列の操作だけでは面倒そうな…

「SQLを動的に組み立てる」とは

「「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog」が、とてもためになるエントリだと後輩に紹介したら、夜、飲み屋で「SQLインジェクション対策」の話になった。 で、なんか『SQLを動的に組み立てる』っていう言葉の…

JP1ユーザ設計で大事なコト

業務で、JP1/AJS3(JP1/Automatic Job Management System 3) をよくさわっている。とてもよくさわっている。愛でている(ウソ)。周囲になぜか有識者がいない。まるでいない。で、色々とつまずいているので整理しておく。今回は、JP1ユーザのお話。 JP1ユー…

また grep+while か

なかなかシェルになじめない。せめて例外機能があればなぁと思う。その点、PowerShell は書きやすい。でも、シェルも PowerShell も(特に Java と比べると)ファイルを扱う単体テストコードは、とっても書きやすい。最初にアサートの関数とか書くのがちょっ…

シェルでログファイル名を操作

ログファイルをシェルを使って管理することになっている。このファイル名をいじくりまわす時に色々なやり方があるが、特によく使った2つについてメモ。 ここでは、ローテーションして圧縮したっぽい、次のログファイル名を例として用いる。 _file_full_name=…

lastコマンドの結果がわからない

Linuxでlastコマンドを実行したのだが、、端末が“:0”のレコードがある(“pts/1”とかでなく)。IPアドレスが“:0.0”のレコードがある(“192.168.10.11”とかでなく)。 これらは一体何?何何? 2011/07/13追記 まさきよさんのコメントをヒントに(もしやと思い…

LinuxでUID、GIDを変更する

Linuxのユーザとグループだが、設計および指示段階の考慮不足から、各サーバのユーザID(UID)とグループID(GID)がぐっちゃぐちゃに。。そこで、UID と GID を変更することにした(ユーザ名、グループ名は変えない)。NFSでマウントする時とか便利だし。 …

catalina.sh の主だったところをメモ

仕事で色々問題があって Tomcat の catalina.sh を初めてちゃんと読んだ。で、その時はわかったことをまとめる時間がなかったので、今になって(一応)メモ。まぁ、たいした内容でもない。 仕事では 6.0.x だったが、折角なので最新版をと Tomcat 7.0.16 の …

syslog メッセージのフォーマット

「RHEL の syslog メッセージのフォーマットを自由に変えられたらなぁ」「それがダメでも、ログレベル(プライオリティ)を表示させたいなぁ」と思い、syslog について調べてみる。 システム管理の基礎 syslogdの設定をマスターしよう (1/3):Linux管理者へ…

せっかくだから sar についてもメモ

この時は、結果をファイルに残すために、結局(あきらめて)sar コマンド*1を使うことになった。で、ついでにメモをしておこうかと。 例えば、1秒おきのCPUの情報(-u オプション)を、時間制限なくログファイルに残す場合には、次のように実行する(クーロ…

(今さら) vmstat の結果に時間をつけてファイルに出力する

なんか、以前のプロジェクトでも、同じことをやった。なんで vmstat の結果に時間をつけてファイルに出力しなければならなかったかは忘れたが、、パフォーマンステストのエビデンスに必要だったのだろう。sar*1なんて高級なコマンドは知らなかったし。まぁ、…

で、今度こそシェルでテキストファイルから1行ずつ読み込む

「シェルでテキストファイルから1行ずつ読み込む」シリーズの最終回。これまで、次のような内容で書いてきた。 「シェルで1行ずつファイルから読み込む - あしのあしあと」 ⇒ テキストファイルから1行ずつ読み込むというありふれた処理ではまったこと。具体…

while・read・exec 再入門

「シェルで1行ずつファイルから読み込む - あしのあしあと」、「絵で見てわかるファイルディスクリプタ・パイプ・リダイレクト - あしのあしあと」に引き続き、「シェルで1行ずつファイルから読み込む」シリーズの3回目。今回は、シェルで1行ずつファイルか…

絵で見てわかるファイルディスクリプタ・パイプ・リダイレクト

「シェルで1行ずつファイルから読み込む - あしのあしあと」に引き続き、「シェルで1行ずつファイルから読み込む」シリーズの2回目。今回は、ファイルディスクリプタ(ファイル記述子)、パイプ(パイプライン)、リダイレクト(リダイレクション)のおさら…

シェルで1行ずつファイルから読み込む

スミッコ基盤チームのスミッコで、こっそりとシェルを書いている。最近、仕事で実装することはほとんどなかったため、なかなかにして楽しい。営業利益率は、いったん考えないことにする。 で、(今さら)シェルスクリプトを使って、ファイルから1行ずつテキ…

(今さら)Linuxでサービスを登録する

基盤チームのスミッコメンバとして、プロセスの起動/停止スクリプトまわりの調査タスクがふってきた。とあるサーバプロセスについて、OSを起動した際には自動で起動されるのだが、OSを停止した際に、うまくサービスが停止してくれなかったのだ(OSはRHEL)。…

(今さら)シェルにおける数値チェック

よくある話だが、やり方をうろ覚えだったので、改めて調べてみた。ちょっと検索してみると、大きく2種類の実装方法があった。 数値演算をやってみて、エラーをひろう方法 値が数値のみで構成されているかを調べる方法 なるほど。どちらの方法でもよいと思う…

はじめての“XStream”

今さらながら、XStreamを使ってみた。JavaにおけるXMLの操作は、何年も前にJAXBを使って以来だ。いつの間にやら、JAXBはJava SEにバンドルされ、StAXも加わっていた。ちょっと目を離すと、すぐにおいていかれる。ちなみにStAXについては、櫻庭氏の次の解説が…

(今さら)scriptコマンドで操作ログを取得する

OSの操作ログを取得したい(しなければならない)という要求は、まぁけっこうあるだろう*1。 セキュアOSではない従来のLinuxの機能で、比較的容易に実現可能な典型的な方式として、(1) scriptコマンド、(2) sudoコマンド、(3) acctコマンドを用いる3通りがあ…

Active/Active構成のバッチサーバだって?

非機能要求上、性能も可用性も確保したいのだろう。バッチサーバが、サーバ2台のHA(High Availability)クラスタ構成で、“Active/Standby”ではなく“Active/Active”だという。 もう一度言おう、HAクラスタ構成だが“Active/Standby”ではない。これだけ聞いた…

Javaで乱数を生成しない

ちょっと前に「Javaで乱数を生成する」というタイトルで、Javaで疑似乱数を生成する方法について書いてきた。 Javaで乱数を生成する(1) : 疑似乱数生成器の動作概要 Javaで乱数を生成する(2) : JavaのAPIの紹介 Javaで乱数を生成する(3) : Tomcatのソース…

Javaで乱数を生成する(4)

「Javaで乱数を生成する」というタイトルだが、生成できるのは疑似乱数。疑似乱数生成器の動作概要については「Javaで乱数を生成する(1)」に説明した。また、Javaでどのように実装するかについて「Javaで乱数を生成する(2)」に説明した。「Javaで乱数を生成…

Javaで乱数を生成する(3)

「Javaで乱数を生成する」というタイトルだが、生成できるのは疑似乱数だ。疑似乱数生成器の動作概要については「Javaで乱数を生成する(1)」に説明した。また、Javaでどのように実装するかについて「Javaで乱数を生成する(2)」に説明した。しかし、実用的な…

Javaで乱数を生成する(2)

「Javaで乱数を生成する」というタイトルだが、生成できるのは疑似乱数だ。今日は「Javaで乱数を生成する(1)」で説明した「疑似乱数生成器がどのように疑似乱数を生成するのか」について、Javaではどのように実装すればよいか説明する。 Javaでは、疑似乱数…