祝 Raspberry Pi 2台目 到着(入手)

不在票がようやく本体になりました。

今回はケースも買いました。

WRITE_0656_01

白い箱がケースの箱です。

ケースは透明です。

WRITE_0656_02

メカメカした中身が見える方が楽しいですよね。

Raspberry Pi を入れるとこんな感じです。
(中に入っているのは Rev.1 の方)

WRITE_0656_03

とりあえず今日はここまで。

情報処理試験 セキュリティスペシャリスト 受験記

今日は 平成 24年度秋期情報処理試験(応用情報技術者・高度試験)の合格発表日でした。 セキュリティスペシャリストに合格していたので、受験記を作成しました。

オンラインツールに「IPアドレス表示」追加

オンラインツールに「IPアドレス表示」を追加しました。

名前の通りの、ただそれだけの機能なんですが 結構使う時があるので自分でも置いてみました。

PostgreSQL の generate_series 関数

PostgreSQL には generate_series という集合を返すことができる すごい便利な関数があります。

[参考サイト]
集合を返す関数 - PostgreSQL 8.4.4文書

次のように使うことができます。

db=# SELECT * FROM generate_series(1, 5);

 generate_series
-----------------
               1
               2
               3
               4
               5

ステップも入れられます。

db=# SELECT * FROM generate_series(1, 5, 2);

 generate_series
-----------------
               1
               3
               5

TIMESTAMP 型もいけます。

db=# SELECT * FROM generate_series(
db-#     '2013/01/01'::TIMESTAMP, '2013/01/03', '1 day');

 generate_series
---------------------
 2013-01-01 00:00:00
 2013-01-02 00:00:00
 2013-01-03 00:00:00

FROM 句に書かない使い方もできます。

db=# SELECT generate_series(1, 3);

 generate_series
-----------------
               1
               2
               3

集合を返す、というところがすごいところで 次のように別の集合と一緒に使えば 直積などの集合の演算結果を簡単に取得することができます。

db=# SELECT f1 FROM tab1;

 f1
----
  1
  2
  3


db=# SELECT f1, generate_series(1, 3) FROM tab1;


 f1 | generate_series
----+-----------------
  1 |               1 
  1 |               2 
  1 |               3 
  2 |               1 
  2 |               2 
  2 |               3 
  3 |               1 
  3 |               2 
  3 |               3  

テストデータを作るときなどかなり役に立ちます。

Google サイト内検索

Amazonアソシエイト