RのPOSIXct的な数値からdate-time objectを作る

どん詰まりしたのでメモ。

> t <- as.POSIXct(<経過秒数>,origin=”<基準にする時間>”);

PHPを使っている場合、time()で1970/01/01から現在までの経過秒数が返ってくる。

私の場合、time()の値をそのまま取り回しているので、これをR上で扱うためには以下のように記述する。

> t  <- as.POSIXct(1323847055,origin=”1970-01-01″);
> t
[1] “2011-12-14 07:17:35 JST”

ちなみにWindowsの場合、シリアル値(だっけ?)というのがあって、これは1900/01/01からの経過秒数のため、excel上などで扱うときは1900-01-01を指定すること。

[PHP] CakePHPの設定

普通にXAMPPとか使ってる人には縁のない話なのだと思うけど、私は時間単位で詰まったのでメモ。

apache2.2.11
WinXP SP3
PHP 5.2.10
MySQL 5.1.35

この環境でCakePHP 2.03を動かしたとき、設定が正しいはずなのにCakePHPがDBに繋がらなかった。

多分設定は皆見る。注意するのは2点。

1、ポート番号を指定すること

$default の設定の部分に”port”を指定して、ポート番号かsockを指定する

‘port’=>” // stringでね

2. php.iniでphp_pdo_mysql.dllを有効にしておくこと

;extension=php_pdo_mysql.dll
という項目があるので頭のセミコロンを外す。

上のextension=php_pdo.dllが有効になってたので油断した…。

lolipop.jp – チカッパプランのsshに公開鍵認証で入る。

はじめに

ロリポップ!レンタルサーバのチカッパプランには、サーバにsshでアクセス可能である。
しかし、このアクセスは2011年12月3日現在、以下に挙げる制約がある。

  • ユーザ名が固定で変えられない
  • パスワード認証のみしか利用できず、しかもパスワードの変更ができない

上記の理由により、通常のアクセスは煩雑な手続きが必要である。
そこで、公開鍵認証を導入した上で、かつ設定ファイルを用意することで面倒なユーザ名入力を省くことを狙いとする。

環境

本記事では、以下の環境が用意されていることを前提とする。

linux環境は不要である。
また、PuttyはOpenSSH2鍵に対応していないようで使用不可能ではないかと考えている (少なくとも、私は出来なかった)。

手順

鍵の作成

まず用意されているはずのアカウントでパスワードでログインする。

$ ssh [lolipopのユーザ名]@[sshサーバ名] -p

初回はサーバのfingerprintが出てyesした後、パスフレーズを聞かれるので入力。無いとは思うが手入力しないように、cygwinのbashの場合は右クリックでペーストするわけではないが、左上右クリックメニューから編集 -> 貼り付けでやる。

続いて、key-pairを作成する。

$ ssh-keygen -t rsa

パスフレーズを聞かれるので、2回入力を行う。
生成した鍵の公開鍵の方は、authorized_keysとして.sshに置く。

$ cd .ssh
$ mv id_rsa authorized_keys

パーミッションの変更を行う。

$ chmod 600 authorized_keys
$ chmod 700 ../.ssh

秘密鍵の転送方法は、可能な限り暗号路経由でコピーするのが望ましい。私の場合はFTPSで接続してローカルマシンへ転送した。

続いて、cygwinのホームディレクトリに.sshフォルダを作り、そこに秘密鍵を入れる。

$ cd ~
$ mkdir .ssh

続いて設定ファイルを作る。

$ cd .ssh
$ touch config

configを編集する。

Host lolipop.jp
User [lolipopのユーザ名]
Hostname [sshdのサーバ名]
Port [ポート番号]
IdentityFile [秘密鍵へのパス]

この状態から、sshで接続すれば良い。

$ ssh lolipop.jp

このあと、git等を利用する予定があるなら、msysGitを入れておくと便利で、秘密鍵ファイルをホームディレクトリの.sshフォルダに置き、configファイルを設定するとパスフレーズの入力だけで接続可能であり、こちらは非常に(cygwinが)便利である。