DebianBanner no

DebianBannerとは、Debian系ディストリのSSHD設定オプション。初めて知りましたが、SSHの接続時にOSの情報が漏れている見たいですね。積極的に漏らす必要は無いので、しっかり消しましょう。ApacheでいうServerTokens的な感じですかね。man sshd_config にDe…

PostgreSQLの認証方式について

PostgreSQLの標準では、認証にIdent認証を利用している場合がある。これは、DBに接続させるユーザとOSのユーザ名を一致させなければならないというものである。クライアントの認証は、pg_hba.conf の中で定義してある。 # /var/lib/pgsql/data/pg_hba.conf #…

RAID1+ホットスペアとRADI1ADMの違い

hw

RAID1+ホットスペアとは、3台のHDを以下のように使用することである。 HD1 ミラーリング HD2 ミラーリング HD3 通電状態で待機(ホットスペア) ホットスペアでは、HD1かHD2のどちらか故障した場合、待機中のHD3(ホットスペア)の再構築を直ぐに行い、HD1…

DMZ(非武装地帯)とは?

nw

DMZ(非武装地帯)。公開用のサーバを設置する専用の場所。DMZは、ファイアウォールを利用することで作成できる。ファイアウォールの役割 社内ネットワーク→外部ネットワーク 社内で許可されているパケットのみ通す。 外部ネットワーク→社内ネットワーク 社…

拡張をインストールする(9.1編)

PostgreSQLでは、拡張機能を利用することにより、機能を追加できる。利用出来る機能は下記の通り(他にも有るのかもしれないが)。これらの拡張機能を利用可能にする方法が、PostgreSQLのバージョンによって異なる。今回は、簡単な方、つまりPostgreSQL9.1以…

コマンドラインでメールを送信

よく忘れるのでメモ echo "body........." | mail -s "Subject here." foobar@example.com

uniqコマンドで重複行をカウントしてランキングを求める

下記のようなテキストを考える。誰が最もログインしているか知りたい。 $ cat test.txt "login"=>"admin" "login"=>"guest" "login"=>"guest" "login"=>"mike" "login"=>"admin" "login"=>"" "login"=>"" "login"=>"" "login"=>"" "login"=>"taro" "login"=>…

ヒュベニの公式で地図上の2地点間の距離を求める

地図上の2点間の距離を求めるのはやっかいな問題だ。地球は丸いため、ピタゴラスの定理で求めることは出来ず、難しい計算を要するためだ。今回、数ある計算式の中から、比較的簡単なヒュベニの公式を挙げておく。ただ、この公式、カシミール 3Dで利用されて…

yumとwgetでproxy超え

yumの場合 # /etc/yum.conf proxy=http://your.proxy.server:8080wgetの場合 # /etc/wgetrc、または~/.wgetrc http_proxy=http://your.proxy.server:8080 ftp_proxy=http://your.proxy.server:8080どちらもhttp_proxyと書いて上手く行かなかった。bashの環境…

サーバ初回接続時の公開鍵のfingerprint確認方法について

[~/.ssh@rish]ssh root@hostname The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established. RSA key fingerprint is 51:92:03:78:03:a7:8b:9f:27:95:75:96:89:5a:8b:f7. Are you sure you want to continue connecting (yes/no)?…

PostgreSQLで連番付与(PostgreSQLでもROWNUM使いたい)

SELECTした順番に連番付けたいときありますよね。OracleだとROWNUMというものがあるらしいです。PostgreSQLでは、Ver8.4以降に実装されたWindows関数を利用するのが簡単だと思います。Window関数ってのは、GROUP BYを集約せず、それぞれのROWに対して関数を…

proxy環境でのgem

下記のようなエラーが出て困る。どうやらproxy環境では下記のようになるようだ。ということで、gemからの接続時にproxyを挟む必要がある。 # gem install rails ERROR: Could not find a valid gem 'rails' (>= 0) in any repository ~/.gemrc *1に下記のよ…

LinuxでCVS処理

サンプルは以下。 20130201070000,91.699 20130201070100,91.690 # yyyymmddhhmmss, price cutコマンドを利用する。cutコマンドは、ファイルの各行に対して指定した部分の文字列を切り出すコマンド。カンマで分割し、左から2列目を切り出す。 $ head USDJPY_…

KoboのAndroidアプリは基本機能にはもう少し頑張って欲しいが、挑戦的な作り

電子書籍体験したいなと思い、AndroidのKobo使ってます。KindleはAmazon.com利用なので、アカウント統合すると色々不都合なのでKoboにしました。全く期待していなかったのですが、これが面白い作りです。ただ、基本機能はイマイチなところが多いので、これか…

達人に学ぶ SQL徹底指南書

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)作者: ミック出版社/メーカー: 翔泳社発売日: 2008/02/07メディア: 単行本(ソフトカバー)購入: 54人 クリック: 1,004回この商品を含むブログ (76件) を見るSQLは一通り書けるけど、RDBMSがまだ"表"モデルだと思…

RailsでKWIC

KWICと言っていいのか悩ましいところだが、検索結果で下記のようなことを行いたいケースは一般的だと思う。 検索語の前後x文字を表示 検索語を強調させたいときがある これをRailsで実現するには、viewに以下のように書く。 highlight(excerpt(article_body,…

RubyGemsでRIとRDocを作成しない

~/.gemrc に以下のように書く。 gem: --no-ri --no-rdoc または、 install: --no-rdoc --no-ri update: --no-rdoc --no-ri

Macでファイル名に濁音、半濁音を利用したらハマった。

Ruby1.9で文字列比較していたら、同じ文字列のはずなのに一致しなくて悩んでいた。なので、String#dumpしてみると… >> puts filname.inspect => "うぃきぺいじ.md" >> p filname.dump => "\"\\u{3046}\\u{3043}\\u{304d}\\u{3078}\\u{309a}\\u{3044}\\u{3057…

Postgresql で null を 0 で返す方法

select price + tax from mytable; みたいなことをしようとしたら、taxにnullが入っていて計算が上手く行かなかった。ということで、nullを0に変えてやる必要がある。 select coalesce(column, 0) from mytable; ここではPostgresのcoalesce関数を利用した。…

ダウンロードが途中で止まった

ブラウザで大きいファイルをダウンロードしていて途中で止まってしまった。再開ボタンを押しても新しいダウンロードが始まってしまうだけ。また最初からダウンロードするのも疲れた…という時に思い出したいtips.前提としては、途中までダウンロードしたファ…

Ruby1.9でUTF-8の漢字だけ正規表現でヒットさせる

1.9.2 :001 > "隣の客は良く柿食う客だ".each_char do |c| 1.9.2 :002 > if c =~ /\p{Han}/ 1.9.2 :003?> puts $& 1.9.2 :004?> end 1.9.2 :005?> end 隣 客 良 柿 食 客 => "隣の客は良く柿食う客だ" Ruby1.9では正規表現のエンジンがonigurumaに変更になっ…

コピーした記号がどういう意味か知りたい場合

` とか ¶ どういう意味だろう。どうやって調べればいいのだろうという時はWikipediaで調べましょう。http://ja.wikipedia.org/wiki/` http://ja.wikipedia.org/wiki/¶みたいにURLの http://ja.wikipedia.org/wiki/ の後に続けて記号を入れれば調べられます。

必要のないコードはしっかり消しましょう

直していたコードが実は使われていなかった件。コードを直すもなかなか上手くいかず。そこは運悪くメール送信処理。自分が悪いにも関わらずメールサーバーを疑うはめに。真に疑うべきは、別の場所にあったとさ。教訓。いらないコードはいらないと思った時に…

CakePHPでAppControllerのbeforeFilter()が呼び出されない時

AppControllerのbeforeFilter()に処理を書けば、それぞれのメソッドに共通する処理を書けるのだが、個別のControllerにてbeforeFilter()を設定してしまった場合、親(要するにAppController)のbeforeFilter()を呼び出す必要がある。かなりハマった。またCak…

Google IMEアップデートした

1.05くらいなのが、1.4くらいになってた。まだ違いはよくわからないが、機能が色々と追加されているみたい。忘れがちだと思われるので是非アップデートしてみてください。

HTMLにおける強調にはemとstrongがある

HTMLにはemとstrongという要素型があり、それぞれ強調とより強い強調を示すものとされています。これらの要素については、強調の強弱を示すためなら要素を多重に入れ子にすればよい(例えば、強調 のように)との考えから、強調を表す要素は2つも必要無いと…

カゴヤ・クラウド/VPSにプラン変更機能キター

仮想専用サーバー・VPS | スケールアップ | オプション | カゴヤ・クラウド/VPSカゴヤ・クラウド/VPSにスケールアップ機能が追加された模様。今回の仕様変更で、サーバーのリソースが柔軟に変更できるようになりました。また、今気づきましたが、サーバーの…

seam-carving という新しい画像リサイズ方法

前から知っていたんだけど、いざ利用する際に名前が分からず何時間も探していたので個人的にメモしておく。画像の縮小を行う際、原則的には、画像の比率は変わらずに小さくなる。ところが、seam-carvingでは、面白いことが起きる。これを言葉で説明するのは…

CakePHP2でBASIC認証

事情がありCakePHPでBASIC認証に挑戦。ところがPHPもCakePHPもあまり詳しくなく、さらにネット転がっている情報のほとんどがCakePHP1の情報で動くまで大変苦労しました。その試行錯誤の結果を記しておきます。まず、データベースにテーブルを作成します。今…

Rails3.2でRails.logger.debug効かない…

Rails.logger.debug { "message" } # 何も表示されない Rails.logger.debug "message" # ブロック渡しやめる。表示される。 便利に使っていたのですが、Rails2.3にアップグレードしてからログに何も表示されなくなりました。ブロック渡しをやめたら動きまし…