Entries from 2010-01-01 to 1 year
Javaでバッチ開発をしていると、OSのコマンドを使いたくなるシーンがあります。例えば、以下のような場合などです。 ls コマンドで対象ディレクトリのファイル一覧を取得したい ping コマンドで、通信先サーバの状況確認をしたい そのような時に用いられるの…
JavaScriptの「setTimeout」は、(ミリ秒で)指定した時間後に、指定した関数を実行してくれるのですが、実は実行タイミングがややこしい!のです。私も誤解していました。 例えば、下記を実行すると、どうなるでしょうか? document.write("hoge\n"); setTi…
J2SE 5.0の新機能として追加された、「可変長引数」は普段あまり利用しませんが、共通メソッドに、任意の数のオプションを引数として渡せるようにしたい場合などに便利だと思います。 まず、「可変長引数」とは何かという話ですが、文字通り、あるメソッドの…
Slony-Iを用いた非同期レプリケーションを構築している環境で、テーブル追加をする場合、やや面倒な手順を踏まないといけません。このあたりはMySQLのレプリケーションに劣るところですね。 手順の概要 Slony-I環境にテーブルを追加するには、以下の手順を実…
数年前から、PJリーダーとして仕事をすることが多くなり、「進捗管理」で悩むことが多かったのですが、以下の記事を読んで、少し光明が見えた気がしたので、忘れないように書いておこうと思います。 SEの残業しない仕事術 : モニタリング&コントロール(1…
今まで、MySQLのクエリキャッシュを利用することに何の懸念も持っていなかったのだけど、以下のような意見があり、今後は少し気をつけようと思っています。 確かにヒット率という観点でみると、エンドユーザ向けのWebサービスでは、意味が無さそう。 今までM…
FTP用のユーザを作成する時に考慮すべきポイントは、以下の2つです。 シェルログインを不可に設定 homeディレクトリをFTP用ディレクトリに変更 シェルログインを不可に設定 この設定は、セキュリティの観点で必要な設定です。 FTP用ユーザにまで、ログインさ…
Pgpool(ver 2.3.3)を使っていて、たまにDEALLOCATE*1に関するエラーが発生するので調査していました。 状況 Pgpoolログに、「DEALLOCATE pdo_stmt_00000001 message: prepared statement "pdo_stmt_00000001" does not exist」とエラー出力される PostgreSQL…
最近、スマートフォン向けのサイトなどが多くなりつつありますが、スマートフォンの場合、「(携帯キャリアの3G回線などの)細い回線」かつ「(JavaScriptなどを含んだ)リッチコンテンツ」という事情から、コンテンツのダウンロードが重く感じるということ…
CakePHPでトランザクションを使用する必要があったのですが、一般的に用いられている方法だと、複数のテーブルを1つのトランザクションとして更新したい場合、コントローラ内での実装がとても分かりにくくなると感じ、異なる実装方法をとってみたので、ご紹…
プロセス確認する時、こんな感じでgrepしたりしますよね。でも若干面倒ですね。 [root]# ps -aef | grep httpd | grep -v grep そこで、「pgrep」コマンドを使います。 [root]# pgrep -lf httpd 1890 /usr/local/apache2/bin/httpd -f /usr/local/apache2/co…
以下の例のように「nonstandard use of \\ in a string literal」とかログに出ててビビッた。 SELECT position ( 'C:\\\\aaa/bbb/sample.txt' in '\\\\' ) FROM hoge message: nonstandard use of \\ in a string literal 下記、引用の通り、エスケープ文字…
今、仕事で使っているパッケージ製品で、どうにもまったりと遅い画面操作があることに気付いたので、調査していました。今後の自分の参考情報として、作業記録を残しておくことにしました。 まずはtopコマンドで確認 OSのリソース状況確認をすれば、およそ検…
重い集計SQLなんかを実行したけど、いつまでたっても帰ってこない時の対処についてです。 まずは、topコマンドで確認します。大抵、以下の例のように、mysqldがリソースを使い切っています。 [root]# top top - 16:20:17 up 15 days, 6:50, 1 user, load ave…
バッチなどの自動実行でよく使うcronですが、実行ユーザ単位で設定すると思います。それらの情報は、下記のように「/var/spool/cron」配下にユーザ単位で保存されています。中身はcronの設定内容が記述されたテキストファイルです。 [root]# cd /var/spool/c…
個人的によく使う、PHPのコマンドラインオプションをまとめておきます。参考URL:サービス終了のお知らせ PHPのバージョンを確認 (php -v, php --version) [実行例] [root]# php -v PHP 5.2.9 (cli) (built: May 14 2009 20:58:31) Copyright (c) 1997-200…
MySQLのレプリケーションのように、ステートメントベースのレプリケーションの場合には、auto_incrementなどの実行時に値が不定な関数は利用が推奨されません。従って、プログラム側で、一意となる値を生成する必要があります。そのような場合、PHPでは、以…
PostgreSQLのログに、下記のエラーが出たので、調査してました。 ERROR: canceling autovacuum taskでも、「エラーではなく、あくまでキャンセル」とのことなので、気にすることはなさそう。*1原因としては、以下が想定できますが、頻繁に監視にひっかかると…
こちら 「画像上の自由な位置に文字を重ねる方法 [ホームページ作成] All About」 を参考にまとめてみます。 実現方法のポイント スタイルシートの positionプロパティを利用 画像には、「position: relative;」を指定*1 文字には、「position: absolute;」…
vi 実行中に以下の設定を行うと、行番号が表示されるようになります。 :set number 以下、実行結果の例です。 1 # 2 # This is the main Apache HTTP server configuration file. It contains the 3 # configuration directives that give the server its in…
基本 wget の構文は以下のようになっています。 wget -コマンドオプション (オプション引数) URL 基本の使い方はとても簡単で、wgetの後にURLを書けばいいだけです。以下のコマンドで、カレントディレクトリに index.html というファイルがダウンロードされ…
.htaccessとは Apacheの設定ファイルであるhttpd.confファイルとは親子関係 httpd.confが親で、.htaccessが子 特定のディレクトリだけの設定を行いたい場合に利用できる .htaccessを配置したディレクトリだけの設定が可能 共有サーバなどではhttpd.confは触…
WEBサイトへのリクエストがタイムアウトし、ブラウザがデータを受信できなくても、アクセスログ上は、HTTPのステータスコード200となります。Apacheは、ブラウザからの接続が切断されても、気にせずレスポンスを返して、ステータスコード200が記録されるよう…
Linuxのhistoryコマンドで、実際にそれらのコマンドが実行された日時がわかればいいのになあと思っていたら、あったので方法を書いておきます。 まず、使用するためには、bash 3.0以降である必要がありますので、確認しておいてください。 [root]# bash -ver…
Slony-Iは、意外と運用が難しいので、構築時、または運用時における、注意点をまとめておきます。 ロードバランス機能は提供されない 複数のノードに対してデータの検索を振り分けたり、データの更新をマスタのみに送信したりするには、基本的にクライアント…
Pgpoolには、以下のような動作モードがあり、用途によって使い分けることができます。それぞれの特徴やメリットをまとめた上で、各動作モードの使いどころを整理してみたいと思います。特にレプリケーション機能に関する違いがポイントとなります。 ここでは…
方法1.cat config.nice コンパイルした(はずの)ディレクトリに移動して「config.nice」ファイルの中身を確認します。 以下、コマンド実行例。 [root]# cat config.nice #! /bin/sh # # Created by configure './configure' \ '--with-apxs2=/usr/local/a…
ソースをgrepを使って調査していると、改行の影響で本当に見たいところが見えず、結局、view,lessなどで中身を確認するという手間が発生することが多いです。 [root]# grep useTable users.php var $useTable = array( そこで、便利なのが「-表示したい行数…
CakePHPで画面を開発しているのですが、開発環境で画面に「Warning (2): Illegal offset type・・・」なんて出てるみたいだったので、ちょっと見てた。 原因 このメッセージは何かというと、PHPの配列に関するエラーで、連想配列のキーに「配列」を指定した…
PostgreSQL 8.3 からは、自動キャストがなくなり、SQLにおける型チェックが厳密化されたようです。 理由は、下記のように説明されています。 この変更の理由は自動キャストによって驚くような振舞いを引き起していたためです。 http://osb.sra.co.jp/technol…