Thu May 01 16:24:52 JST 2014

Firefox 29 …わぉ、変わりすぎだ。びっくり。


Fri May 02 09:17:07 JST 2014

会社 Windows マシンの Flash のアップデートでいろいろと疑問がある。 前提として、制御できないタイミングで通信が発生するのが嫌なので、 Flash の自動更新は切ってある。

  • コンパネから Flash Player 設定マネージャの「高度な設定」で「今すぐチェック」。 すると、デフォルトブラウザが起動し、Adobe のサイトに接続し、 「現在のバージョンがわかるページ」が開かれる。
  • 自分の端末側のバージョンと最新版のバージョンに差異があるかどうかは 目視で人間が判断する必要がある。まじか。
  • 「ダウンロードセンター」に行くと、デフォルトで McAfee のチェックが付いており、 外しても外しても再度ページを開くとチェックが付いている。要らねぇんだよ。
  • 「今すぐインストール」は「インストーラのダウンロード」をするものである。 インストールじゃない。
  • インストーラを保存し、起動すると、インストーラは削除される。まじか。
  • インストーラを起動すると、インストーラのダウンロードが始まる。馬鹿か。
  • コンパネの Flash Player 設定マネージャ が開かれていると、 インストールに失敗する。馬鹿か。
  • インストーラはインストーラが削除してしまうので、リトライするには 最初からやり直す必要がある。

Sat May 10 21:00:35 JST 2014

Redis を入れてみた。

# cd /usr/ports/databases/redis
# make
# make install
# echo 'redis_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/redis start
Starting redis.
# netstat -na | grep 6379
tcp4       0      0 *.6379                 *.*                    LISTEN
tcp6       0      0 *.6379                 *.*                    LISTEN

あっさり動いた。同梱の CUI クライアントで接続してみよう。

% redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set hoge moge
OK
127.0.0.1:6379> get hoge
"moge"
127.0.0.1:6379> quit
% redis-cli get hoge

ping を打つと pong と返してくれるのが可愛い。 文字列戻りのクォーテーションは要らないんだけどな。

止めて、覗いてみよう。

# /usr/local/etc/rc.d/redis stop
Stopping redis.
Waiting for PIDS: 72642.
# cd /var/db/redis
# ls -l
total 4
-rw-r--r--  1 redis  redis  31 May 10 21:04 dump.rdb
# od -ch dump.rdb
0000000    R   E   D   I   S   0   0   0   6 376  \0  \0 004   h   o   g
             4552    4944    3053    3030    fe36    0000    6804    676f
0000020    e 004   m   o   g   e 377   w 200 033   w  \f   / 222   h
             0465    6f6d    6567    77ff    1b80    0c77    922f    0068
0000037

かなり好感の持てるデータ形式のようだ。

127.0.0.1:6379> keys *
1) "hoge"
127.0.0.1:6379> del hoge
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)

コマンド一覧は redis.io にあった。

こそこそと使ってみよう。


Sun May 11 13:17:48 JST 2014

redis-cli が kterm でまともに動かなくて哀しい。 具体的には、1文字打鍵ごとにプロンプトが出るのでうざい。 ちなみに mlterm と roxterm と xfce-terminal は問題なし。


Sun May 11 13:30:42 JST 2014

手元の PostgreSQL を 8.4.17 から 9.3.4 に上げたい。手順は以下の通りでどうだ。

  • バックアップ対象のデータベースを列挙する。psql -l でいける。
  • pg_dump でバックアップする。pg_dump dbname > dbname.dump でいける。
  • サーバを止める。/usr/local/etc/rc.d/postgresql stop で大丈夫。
  • ファイルのバックアップを取っておく。pgsql ユーザの $PGDATA をコピる。
  • ports データベースの整合性かくにん。pkgdb -Ff で。
  • アンインストール。pkg_delte -f で。
  • インストール。portinstall で。
  • ports データベースの整合性かくにん。pkgdb -Ff で。
  • ああっ、依存くんたちが irrelevant って言われて消えた。
  • まぁいいか。

消された依存は php53-pgsql-5.3.25、py27-django-1.5.1、py27-psycopg2-2.4.6、 redmine-1.3.1_1、rubygem-pg-0.13.0 の5つ。手動で回復しよう。portupgrade で。

  • su してからの su - pgsql して、 initdb -E UTF8 でデータベース作り直し。
  • リストア。
    • pgsql$ createuser --superuser redmine
    • pgsql$ createdb --owner=redmine redmine
    • pgsql$ psql redmine < pg_dump.redmine.20140511

で、ここまでやってから /etc/rc.conf に redmine_enable が無いって気付くとか。


Sun May 11 14:42:31 JST 2014

json データを出し入れしてみる。

% createdb x
% env LANG=C psql x
x=# create table jsonsample (col json);
CREATE TABLE
x=# insert into jsonsample (col) values
x-# ('{"key1":"value-a", "key2":"value-b"}');
INSERT 0 1
x=# insert into jsonsample (col) values
x-# ('{"key1":"value-c", "key2":"value-b"}');
INSERT 0 1
x=# insert into jsonsample (col) values
x-# ('{"key1":"value-a", "key2":"value-d"}');
INSERT 0 1
x=# select * from jsonsample;
                 col                  
--------------------------------------
 {"key1":"value-a", "key2":"value-b"}
 {"key1":"value-c", "key2":"value-b"}
 {"key1":"value-a", "key2":"value-d"}
(3 rows)

x=# select col->'key1', col->'key2' from jsonsample;
 ?column?  | ?column?  
-----------+-----------
 "value-a" | "value-b"
 "value-c" | "value-b"
 "value-a" | "value-d"
(3 rows)

x=# select * from jsonsample where col->>'key1' = 'value-a';
                 col                  
--------------------------------------
 {"key1":"value-a", "key2":"value-b"}
 {"key1":"value-a", "key2":"value-d"}
(2 rows)

ああ、こんな感じこんな感じ。where が書けるので、単純な kvs よりはるかに使える。


Sat May 24 22:59:17 JST 2014

会社の FreeBSD 9.2 amd64 環境で、 OpenJDK 7 で platform not recognized と怒られてびっくりした。 あちこち見てみた結果、既知の事象だった。 http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2013-October/264918.html
openjdk-7.25.15_2,1 に上げて解決した。 パッケージが提供されてて助かった。


HOME | index | prev | next
[Rev: --not under control--]
[EOF]