foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

2009-07-01から1ヶ月間の記事一覧

はてなダイヤリーのデータの本文を抽出する区切り位置

はてなダイヤリーから livedoor Blog への移行に際して、エクスポートしたデータの本文を抽出する方法を確認した。 開始記号 ^*[^\*] 終了記号 ^*[^\*] または ^<\/body>

livedoor Blog は検索がおかしい

はてなダイヤリーからの移行先を livedoor Blog に決めた矢先に問題が見つかった。 livedoor Blog ではブログ内検索でキーワードがマッチしてくれない場合がある。 例 ページタイトル: 検索文字列に日本語を指定した場合に検索が成功するかテスト。 キーワー…

Subversionをプライベート公開する

Subversion リポジトリをプライベート公開するなら https が最良の方法となる。 方法はいくつかある。 svn で公開。 svn+ssh で公開。 http で公開。 https で公開。 業務で使う場合は暗号化が必要になる場合も多いので svn+ssh か https が候補となる。 svn…

CentOS へ WebDAV svn をインストールする。

環境 CentOS 5.2 Subversion 1.4.2 問題 CentOS で Subversion のリポジトリを SSL 公開したい。 解決方法 以下の手順で作業を進める。 Apache mod_authz_svn のインストール Apache mod_dav_svn のインストール Subversion リポジトリ ユーザーの作成 Subve…

js では文末のセミコロンは省略できる場合がある

js では 1 行に 1 文しか無い場合、セミコロンを省略できる。 つまり以下の 2 つは同じになる。 var a = 1; print(a); var a = 1 print(a)

Google Documents スプレッドシートの権限が委譲できない

Google Documents では文書を作成したユーザーは、文書に対して「オーナー権限」を持つ。 サブアカで作成した文書はオーナー権限をメイン アカウントへ委譲したくなる場合がある。 ところが、スプレッドシートでは権限の委譲が出来ない。 文書やプレゼン文書…

CakePHP Controller::redirect() は文字列を渡す方が簡単

前は Controller::redirect() には、ハッシュで引数を渡してたんだけど、'/controller/action' と文字列で渡す方が簡単だと分かった。 モデルとして扱う場合はハッシュの方が便利だけど、モデルじゃないなら文字列で直接書いちゃった方が簡単。 ルーティング…

CentOS へ Subversion をインストール

以下の方法はオススメしない。 サーバ ローカルで操作する分には問題ないが、リモートで操作しようとするとパスワードの入力が頻発するので使い勝手がよくない。 WebDAV 環境を構築した方がいいかも。 環境 CentOS 5.2 Subversion 1.4.2-2.el5 問題 CentOS …

Google Bookmarks の使い方を改めて考える

Google Bookmarks にブクマしたはずのページが探せなくて困った。 どうも Google Bookmarks について誤解していたみたいだ。 誤: クエリーに対してページ内容は検索する。 正: クエリーに対してページ内容は検索しない。 だから、使う時も単にブクマするので…

ケータイ ブラウザのバイト数と改行コード

エンコーディングに Shift_JIS を使った場合の全角のバイト数と、改行コードのバイト数について調べてみた。 環境 全角の文字数 改行の文字数 windows firefox 全角1文字 改行2文字 docomo 全角2文字 改行2文字 au 全角1文字 改行1文字 softbank 全角1文字 …

技術系メモにはバージョンを書こう

技術系の話はバージョンが違うと役に立たないことがある。 逆にバージョンが明記されていれば「内容が違うのはバージョンが違うからかも」と予想できる。 だから技術系メモにはバージョンを書こう。

Aptana Studio 1.5 をインストールする

環境 Windows XP SP3 Aptana Studio 1.5 ダウンロード 今回は以下から Standalone の zip をダウンロードした。 http://www.aptana.com/studio/download インストール zip なので展開して適当な場所に置くだけ。 初回起動 Firefox のデバッグ環境がないとか…

PHP でフォームの改行コードを統一する

環境 PHP 5.2.9-2 (cli) 問題 クライアントによって改行コードが異なるので、サーバ側で統一する必要がある。 解決方法 PHP 標準の str_replace では $_POST のような連想配列を変換できないので、str_replace() を再帰するようにしてやる必要がある。

CakePHP select のタグに使うデータを生成する

環境 CakePHP 1.2.3 8166 問題 html select タグに使うデータを生成したい。 解決方法 cake 1.1 以前は generateList() を使ったけど、1.2 以降は find() で直接取得する。 Category->find('list'); ?> ここで項目名として取得されるフィールドは、'fields' …

CakePHP 複数レコードを編集する

環境 CakePHP 1.2.3 8166 複数レコードを編集する際の注意点 フィールド名の注意 Model::find() の注意 バリデーションの注意 フィールド名の注意 フィールド名は以下のように定義してはならない。 text($i . '.Product.name'); } ?> 以下のように定義しなく…

Apache で文字化けするのが直せない場合

環境 Apache 2.x 問題 文字化けするのが直せない。 HTML ヘッダの charset とファイルのエンコーディングは一致しているのに文字化けする。 解決方法 エンコーディングの指定ができるポイントをおさらいする。 HTML ファイル内容のエンコーディング指定 HTML…

CORESERVER生ログの取得

CORESERVER 管理画面を表示する。 アクセスログ閲覧をクリックする。 該当するサイトの「本日分の生ログを取得」をクリックする。 5分ほど待つ。 $HOME/log にあるアクセスログを見る。

VirtualBox を入れてみた

以下を読んで気になったので、仮想 PC ソフトの VirtualBox を入れてみた。 http://techtarget.itmedia.co.jp/tt/news/0907/10/news01.html 最初の印象は VMware より軽い感じ。 でも、プロセスの優先度も違うようで VirtualBox をバックグラウンドで動かし…

Google Bookmarks のいい所

Google Bookmaarks のいい所: 軽い。 再ブックマークした時に履歴の直近位置にエントリが移動する。 検索でページ内容まで検索してくれる。 ひらがな、カタカナが違っていても検索でヒットする。 はてなブックマークや delicious を使ってたときは、エントリ…

手放せないウェブサービス

自分が手放せないウェブサービスを列挙してみる。 Google Gmail Google Bookmarks Livedoor Reader 逆に手放したいサービス はてなダイヤリー はてなダイヤリーを手放せない理由 エントリが簡単に書き始められる。 コードが書きやすい。

CakePHP で Model::validates にデータを渡しちゃダメ

環境 CakePHP 1.2.3.8166 問題 Model::validates() で引数で渡したデータをバリデートしない。 解決方法 CakePHP 1.1 以前の場合、validates($this->data) でバリデーションできた。 1.2 以降は Model::set() でデータを予め設定しておく必要がある。 Model-…

CakePHP 複数レコードの更新画面はかなり面倒

環境 CakePHP 1.2.3.8166 問題 バリデーション エラーで自分自身の画面を再表示する際、非入力項目の内容の扱いが面倒。 以下、初期表示時のデータ取得処理。 Product->find('all'); $this->data = $products; ?> 初期表示後、ユーザーがフォームを POST す…

ニコニコ動画のプレミアム会員になってみた

コバヤシさんの生放送で何度もサーバから蹴られたので、プレミアム会員になってみた。 使ってみた最初の印象。 生放送の会場へスムーズに入れる。 画質が綺麗。 エコノミーにならないのはかなり大きい。

ブラウザのホームページを変更してみた

ブラウザのホームページを変更してみた。 旧: http://www.google.com/advanced_search?safe=off&num=30 新: http://www.google.com/bookmarks/Google Bookmarks にすぐにアクセスできるようになった。 2009/07/29 追記 上記設定を元に戻した。 まだ見たこと…

CakePHP find で max や min を使いたい

問題 CakePHP find で SQL の MAX() や MIN() を使いたい。 解決方法 fields に直接記述することで使える。 group を使って、GROUP BY を発行させることを忘れないように注意。 array(...), 'group' => array('MAXで参照するフィールド名'), 'fields' => 'M…

delicious のエントリを(少しだけ)楽に削除する

全てのエントリを一度に削除することはできないみたい。 以下の方法で10件ずつ削除できる。 右上の Bulk edit をクリック。 エントリ一覧の上側にある Select All をクリック。 Delete をクリック。 OK をクリック。

はてブから Google Bookmarks への移行

直接移行はできません。 はてブ→delicious→Google Bookmarks という流れになります。 delicious を空にしておく。 気持ち悪いので delicious のエントリを空にしておきます。 1件ずつ削除するのは面倒なので、別エントリで少しだけ楽に削除できる方法を書き…

Google Bookmarks のブックマークレット

ポップアップ javascript:var u=encodeURI(location.href);var ti=encodeURIComponent(document.title);var te=encodeURIComponent((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection …

Apache SSLでのみ接続を許可する

/etc/httpd/conf/httpd.conf を編集する。 <Directory /home/*/public_html> : SSLRequireSSL </Directory>

CentOS ネットワークの再起動

sudo vi /etc/hosts sudo vi /etc/sysconfig/network sudo service network restart