Hatena::ブログ(Diary)

130単位

2009-12-28

お世話になりました

タイミングを逃しに逃して、ブログも放置状態になってしまってましたが、ようやく書けました。

※内輪ネタです

続きを読む

2009-12-23

セキュリティ&プログラミングキャンプ キャラバン2009-東京- の感想

セキュリティ&プログラミングキャンプ・キャラバン2009
http://www.jipdec.or.jp/camp/caravan/

参加してきました。

東京行くならついでに何か勉強会も、と思ってIT勉強会カレンダーを見てみて、最も興味を持ったのがこれでした。@hyoshiokさん、@TAKESAKOさん、@amachangさんのお話が聞けるのを楽しみにして。

なぜそのお三方かは、自分の少し偏った「半径」によります。よしおかさんは、エンジニアの未来サミットディスカッションを聞いて以来。たけさこさんは、まだほとんどブックマークのない時期にとあるエントリをブックマークしていただいたことをよく覚えてたりします。あまちゃんさんは、もう、JavaScriptに触れはじめたら自然に認知していったという感じですね。

で、当日。よしおかさんは、「プログラムは書くよりもとにかく読もう」という言葉が印象に残りました。たけさこさんは、ユーモアあるプレゼンや受け答えに笑わせてもらい、とても好感が持てました。あまちゃんさんは、北陸アンカンファレンス開催までのエピソードとかを聞いて、行動力がものすごいと思いました。

勉強会に行こう!」というセッションでは、途中で参加者全員が簡単な自己紹介をする機会がありました。JavaScriptの良エントリをたくさん書かれている@kyo_agoさん、LinuxLinus氏に挨拶してサインをもらったという@na_toiさんなんかも参加されてました。na_toiさんは少し前によしおかさんのプレゼン(no title)で拝見したことがあったばかりでした。

そんなすごい方たちと同じ空間を共有できたのは、ほんとに良い経験でした。また学生の参加者が多く、その意欲の高さに感心しました(研究成果のLTには圧倒されました)。

打ち上げ(懇親会)に参加しなかったのは、少し心残り*1。普段であれば人見知りな上に(技術ネタで)話せる自信がない*2ので躊躇したでしょうが、今回はなんとなく話せそうな気がしたから、です。といっても実際分かりませんが、まぁ技術レベルとか関係なしに、まずは晒してみることが大切なんじゃないかと思ったりしました。

自分の得意分野をしっかり持って、いろいろな人と懇親会などで普通に話せるようになるのが今後1年くらいの目標です。がんばりたいです。


そして。

キャラバン名古屋 | セキュリティ&プログラミングキャンプキャラバン2009
http://www.jipdec.or.jp/camp/caravan/nagoya.html

一ヶ月後の1/23には、名古屋で開催されます。興味持たれた方は、ぜひ行ってみると良いと思います!

*1:買ってた新幹線チケットが18時台だった

*2:さらに酒も飲めない

2009-12-13

AutoSizerでアプリケーションの起動位置を調整

デュアルディスプレイを有効活用しようと思い、デスクトップPCのTwitterクライアントをTwitからTweetDeckにしました。他のクライアントも検討しましたが、List機能にいち早く対応していたのが決め手になりました。

ただ使っていて気づいたのが、ウインドウの位置を記憶してくれないということ。サブディスプレイに表示させておきたいのに、起動時にメインディスプレイのほうにきてしまいます。

ということでそれに対応できるツールをいれてみました。

窓の杜 - 【REVIEW】アプリケーションをいつも決まった同じ位置・サイズで表示できる「AutoSizer」
http://www.forest.impress.co.jp/article/2008/12/24/autosizer.html

TweetDeckの場合の手順

  • AutoSizerをインストール
  • AutoSizerを起動
  • 位置/サイズ調整したいアプリを選択して「AutoSize...」クリック
    f:id:deeeki:20091213235820j:image
  • 「Set position」で起動位置を指定
  • 「Window searching options(対象ウインドウ検索方法)」に「Compare using window title」を指定
    • class nameだとAIRで共通っぽい気がするため
    • さらに「Title must match exactly(完全一致)」を指定
      f:id:deeeki:20091213235819j:image

これで、起動時から常にサブディスプレイに表示されるようになりました。

参考リンク

AutoSizer - k本的に無料ソフト・フリーソフト
http://www.gigafree.net/utility/window/autosizer.html

設定手順が詳しく載っています。

2009-12-11

WordPress .maintenanceファイルでアクセス制限

.htaccessApacheの設定を変更せず、プラグインも使用せずに、WordPressをアクセス制限する方法を調べていました。テストなどの段階で切り替えの頻度が多くなることを想定した場合、より単純な作業で済ませられるようにしたいと思ったのがきっかけです。

プラグインを使わないで、ワードプレスをメンテナンスモードにする方法 - ミショニポー
http://d.hatena.ne.jp/tenman/20090908/p1

こちらを参考に。要は、WordPressの自動アップグレードの処理を利用するかたちです。そのためバージョン2.7以上が対象になります。

アクセス制限のやり方

<?php
$upgrading = time();
  • 上記内容で「.maintenance」という名前のファイルを作成
  • ファイルをWordPressのルートディレクトリに配置

これだけです。

すこし解説

WordPressコアの、該当処理のコードです。

<?php //wp-settings.php L114-143 (※WordPress MU 2.8.6)
if ( file_exists(ABSPATH . '.maintenance') && !defined('WP_INSTALLING') ) {
    include(ABSPATH . '.maintenance');
    // If the $upgrading timestamp is older than 10 minutes, don't die.
    if ( ( time() - $upgrading ) < 600 ) {
        if ( file_exists( WP_CONTENT_DIR . '/maintenance.php' ) ) {
            require_once( WP_CONTENT_DIR . '/maintenance.php' );
            die();
        }

        $protocol = $_SERVER["SERVER_PROTOCOL"];
        if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
            $protocol = 'HTTP/1.0';
        header( "$protocol 503 Service Unavailable", true, 503 );
        header( 'Content-Type: text/html; charset=utf-8' );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Maintenance</title>

</head>
<body>
    <h1>Briefly unavailable for scheduled maintenance. Check back in a minute.</h1>
</body>
</html>
<?php
        die();
    }
}

1つ目のif条件式で.maintenanceというファイルの存在を判別しています。このファイルは自動アップグレード中に生成される仕組みになっているので、手動でつくってしまえばよいことになります。

.maintenanceの中身では、変数$upgradingにタイムスタンプを代入しています(アップグレード時における生成はWP_Upgrader#maintenance_mode()*1に書かれています)。これで2つ目のif条件式が通り、ステータス503のメンテナンス表示になります。

切り替えの際は、.maintenanceファイルを移動するか、ファイル名変更で良いはずです。

でもまぁ結局のところ、作業量的にはわずかに減った程度ですかねー。

関連リンク

メンテナンス中画面を出す正しい作法と.htaccessの書き方 | Web担当者Forum
http://web-tan.forum.impressrd.jp/e/2009/06/16/5880

WordPressメンテナンス中や工事中のページを表示する - ミblog : レビューや日常など
http://www.meblog.info/1073.html

関連記事:
WordPress プログラムからテストデータ作成 - 130単位
WordPress SQLのエラー出力を自動化 - 130単位

*1wp-admin/includes/class-wp-upgrader.php

2009-12-10

Thunderbird3.0でLightningナイトリービルドを利用

Mozilla Thunderbird 3.0 リリースノート
http://mozilla.jp/thunderbird/3.0/releasenotes/

Thunderbird 3.0がリリースされました。

アップグレードしてみたところ、スケジューラのアドオン「Lightning」が対応してなくて使えなくなってました。

てことで、Lightningのベータ版的なものがないか探してみたら、以下のアドオンを発見しました。

Lightning Nightly Updater (Unofficial) :: Add-ons for Thunderbird
https://addons.mozilla.org/ja/thunderbird/addon/4623

ナイトリービルド版のダウンロードをサポートするアドオンのようです。

手順

※非公式のアドオンを利用しますので、以下の手順の実行は各自の責任でご判断ください

Lightning Nightly Updaterのインストール
Lightningナイトリービルドインストール
  • メニューの「ヘルプ」→「Check for Latest Lightning Nightly Builds」クリック
    f:id:deeeki:20091210125702j:image
  • 最新版の情報が表示されるので、問題がなければ「Install」クリック
    f:id:deeeki:20091210125703j:image
  • インストール作業が完了したらThunderbird再起動

タブバーの右側にカレンダーとタスクが追加されています。設定内容も問題なく再現されました。

f:id:deeeki:20091210125704j:image

カレンダーはWeb上に保存して利用しているのですが、読み込み処理が以前よりも高速になっているような気がします。カレンダーの追加などは、まだ試していません。

【追記】カレンダーの追加も問題ありませんでした。あと、アドオンによるメニューなどは英語表記になっていますが、カレンダーやタスクの内容は問題なく日本語表示されます。

2009-12-09

fixdapを使ってみた

screenshot
タスク共有ツールの決定版 - fixdap
http://fixdap.com/ 

TwitterBotの機能追加などをタスク管理したいと思って、Webを巡ってたらここにたどり着きました。2年前にオープンしたサービスで、現在は見た感じそこまで活発ではないようですが。

ユーザー登録して、とりあえず非公開でプロジェクトを作成してみました。

f:id:deeeki:20091210014654j:image

  • 予定日に時間まで入力するのがやや面倒
  • Ajaxで手軽にステータス変更ができない
  • ステータス変更によりメール通知されるが、その設定ができない

と、いくつか気になった点がありましたが、無料のサービスと考えれば全く許容範囲です。Webシステムなのでどこからでもアクセスできるのが最大の利点で、小さめのプロジェクトを管理するのには向いているんじゃないかと思います。また複数人での運用もできるみたいです。

で、タスクを書き出した効用か、簡単なものを一気に消化することができました。

prfm_rmx(@prfm_rmx)さん | Twitter


でもって、連携したWebサイトの作成だったり、やっぱりRedmine使ってみたいだったり、いろいろと前向きな欲が出てきたりしています。

関連リンク

BTS というものを使ってみよう - にぽたん研究所
http://blog.livedoor.jp/nipotan/archives/50899453.html

ASCII.jp:ライブドアの社内事情〜コンペ発の初サービス「fixdap」で得たものとは〜|エンジニア・インタビュー
http://ascii.jp/elem/000/000/109/109491/

2009-12-07

11月分の読書記録

けっこう読みました。先月の倍以上でした。

ホリエモン『夢をかなえる打ち出の小槌』が良かったです。短時間で読めて、かつ著者の処世術的なものがダイレクトに伝わってきた感じがします。

読んだうちの3分の1くらいはkoba氏にお借りしました。ありがとうございます。『はたらきたい。』は、ちょうど就活時にWeb*1で読んでいたりしたので、なつかしさと新たな発見を同時に味わうことになりました。


11月分読書データ

期間 : 2009年11月
読了数 : 13 冊
バクマン。 (05)
大場 つぐみ / 集英社 (2009-11-04)
★★★☆☆ 読了日:2009年11月29日
順位ってのは具体的な数字で説得力があるはずなんだけど、読んでていまいち盛り上がれない
働く理由 99の名言に学ぶシゴト論。
★★★☆☆ 読了日:2009年11月27日
「自分を変えたいと思ったら、思い切って関係のネットワークを切り替えることが必要だ」
はたらきたい。
★★★★☆ 読了日:2009年11月26日
そっと背中を押してくれるような言葉がたくさんあった
ジョブズ VS. 松下幸之助 ”言葉力”で人を動かす (アスキー新書)
★★★☆☆ 読了日:2009年11月24日
「失敗とは、成功する前にあきらめることだ」
御社のトップがダメな理由
藤本 篤志 / 新潮社 (2008-04)
★★★☆☆ 読了日:2009年11月24日
制度や仕組みは、効果や影響をしっかり追究する必要があると感じた
転職は1億円損をする
石渡 嶺司 / 角川グループパブリッシング (2008-10-10)
★★★☆☆ 読了日:2009年11月18日
「自分の強みがどこにあるのか、きちんと棚卸しをして把握する」
もったいない主義―不景気だからアイデアが湧いてくる! (幻冬舎新書 こ 2-2)
小山 薫堂 / 幻冬舎 (2009-03)
★★★☆☆ 読了日:2009年11月16日
「できたのにやらない」ヤツにならないようにする。パン屋の受付は強く印象に残った。
夢をかなえる打ち出の小槌
堀江 貴文 / 青志社 (2009-10)
★★★★☆ 読了日:2009年11月15日
「お金より信用を貯める」「適度なレバレッジをかけて刺激にする」
目立つ力 (小学館101新書 49)
勝間 和代 / 小学館 (2009-10-01)
★★★★☆ 読了日:2009年11月10日
1記事15-30分、週に2回以上更新、継続が重要、戦略を立てて実践
SEM:検索連動型キーワード広告 Googleアドワーズ&Overtureスポンサードサーチ対応 Web担当者が身につけておくべき新・100の法則。
大内 範行 , 岡本 典子 / インプレスジャパン (2008-02-08)
★★★★☆ 読了日:2009年11月9日
具体的な手法が紹介されているので、非常に参考になる
NARUTO (巻ノ48) (ジャンプコミックス)
岸本 斉史 / 集英社 (2009-11-04)
★★★☆☆ 読了日:2009年11月4日
話があまり把握できてないので、まぁ良かったなーという感想
モバイルユーザビリティ・デザイン Web制作者が身につけておくべき新・100の法則。
★★★★☆ 読了日:2009年11月4日
体系的にノウハウがまとめられており、理解しやすかった。
人生を無駄にしない会社の選び方
新田 龍 / 日本実業出版社 (2009-09-26)
★★★☆☆ 読了日:2009年11月3日
社会人(1社目)が読むのが一番リターンが得られるかもしれない。視野が広がったり客観的に見られたり。


メディアマーカー

10月分の読書記録 - 130単位

11月分の読書記録 - 130単位 (※一年前)

2009-12-06

WordPress 記事公開時にメール通知するプラグイン

例えば企業のある部門がブログ(WordPress)を持っていたとして、記事が更新されるたびに社内向けメーリングリストに通知とかできないかなー、と思って調べてみたメモです。

WebTecNote - [WP]メルマガ・メール購読プラグイン比較まとめ
http://tenderfeel.xsrv.jp/wordpress/99/

丁寧にまとめられているこちらを参考に、2種類のプラグインを試してみました。

Subscribe2

f:id:deeeki:20091206205527j:image

  • 送信対象はプラグインによるメールアドレス登録+WPユーザー
  • 記事公開後の送信間隔を設定(投稿ごと/1時間ごと/毎日1回 など)
    • 管理者にもメールが届く(変更不可?)
  • メールテンプレートDBに保存
  • 日本語化ファイルあり(上記記事よりDL可、ただし旧Ver.)
  • DBにテーブル1つ追加
WordPress :  Subscribe2 ≪ WordPress Plugins
http://wordpress.org/extend/plugins/subscribe2/

Post Notification

f:id:deeeki:20091206205526j:image

  • 送信対象はプラグインによるメールアドレス登録のみ
  • 記事公開からメール送信までの待ち時間を設定
    • 待ち時間内であれば下書きに戻して通知しないことが可能
  • メールテンプレートはテキストファイルから読み込み
  • 日本語化ファイルなし
  • DBにテーブル3つ追加
WordPress :  Post Notification ≪ WordPress Plugins
http://wordpress.org/extend/plugins/post-notification/

雑感

(一応)日本語化が可能という点が大きいですが、Subscribe2のほうが使いやすそうな印象です。ダッシュボードですべて設定できるのがいいと思いました。


関連記事:
WordPress Google Analytics解析結果表示プラグイン2種類の比較 - 130単位
WordPress スパム対策にWP-SpamFreeプラグインを導入 - 130単位
Twitter Tools2.0のカスタマイズ - 130単位

2009-12-03

Google 日本語入力に顔文字登録

Google 日本語入力 - ダウンロード
http://www.google.com/intl/ja/ime/ 

GoogleIMEが発表されました。

MS-IMEで登録した単語をGoogle日本語入力に引き継ぐ方法 - IDEA*IDEA百式管理人のライフハックブログ
http://www.ideaxidea.com/archives/2009/12/ime_to_google_inputs.html 

こちらを参考に、顔文字の辞書登録をしてみます。

【※追記 2010/05/19】2010年1月にGoogle日本語入力用の辞書が公開されていたみたいです。

2ちゃんねる顔文字辞書 MatsuCon
http://matsucon.net/material/dic/ 

顔文字辞書はこちらのものを利用させていただきます。今回の例では「MS-IME用[@アットマーク変換辞書](ノーマル版)」を登録します。

辞書登録手順


【追記】

うまく登録できない場合、辞書の品詞をエディタで置換するといいみたいです。下記サイトをご参考ください。

Archives 2009 12 Google_28 に何も見つかりません

2009-12-02

Google App Engineでcron自動実行

Google App Engineのアカウント登録とアプリ作成 - 130単位

続きです。GAEでcronを動かします。

Eclipseインストール

Pleiades - Eclipse プラグイン日本語化プラグイン
http://mergedoc.sourceforge.jp/

自分はpleiades-e3.5-ultimate-jre_20090629の環境で行いました。現在はさらに新しいバージョンがリリースされています。

GAESDKインストール

cron設定

プロジェクト作成
  • ツールバーの青いアイコンクリック
  • プロジェクト名とパッケージを入力
    • Google Web ツールキットを使用」のチェックははずす
      f:id:deeeki:20091202235146j:image
コード編集

下記サイトを参照ください。

ページが見つかりませんでした – 無料サービス、フリーソフトを紹介

  • twittercronServlet.javaを編集
  • cron.xmlを編集
  • コピペする場合はプロジェクト名が間違っていないか注意
デプロイ
動作確認
  • http://[applicationid].appspot.com/で表示確認
    f:id:deeeki:20091202235247j:image
    • ※プロジェクト作成時に「ツールキットを使用」にしていると、「Web Application Starter Project」というサンプルアプリになると思われる
  • https://appengine.google.com/でcron実行確認
    f:id:deeeki:20091202235242j:image

まだ設定してから一週間も経っていないですが、cron-job.orgよりも全然安定しています。

そんなわけで、今のところTwitter Botが1アカウントだけ動いています。

prfm_rmx(@prfm_rmx)さん | Twitter

2009-12-01

Google App Engineのアカウント登録とアプリ作成

Twitter Botを作ってみて、つぶやくスクリプトの定期実行にはcronのWebサービスcron-job.orgを使っていました。が、勝手に設定が無効になったりするので正直使い物になりませんでした。

で、Google App Engineでもcronの実行ができるそうなので、試してみることにしました。

GAEアカウント登録

https://www.google.com/accounts/

  • Googleアカウントログイン
  • 「何か新しいことを始めてみましょう」の「詳細 ≫」クリック
    f:id:deeeki:20091201224706j:image
  • 先進的なサービス」の「Code」クリック
    f:id:deeeki:20091201224705j:image
  • 「ピックアッププロダクト」の「App Engine」クリック
    f:id:deeeki:20091201224704j:image
  • 「スタート ガイド」の「登録」クリック
    f:id:deeeki:20091201224703j:image
  • パスワード確認→登録完了

GAEアプリケーション作成

https://appengine.google.com/start

  • Welcome to Google App Engine
    • 「Create an Application」でスタート
      f:id:deeeki:20091201224702j:image
  • Verify Your Account by SMS
    • 国、キャリア、ユーザー名を入力して「Send」
    • 携帯にメールが送られる
      f:id:deeeki:20091201224701j:image
  • An Authentication Code Has Been Sent to
    • 送られたメールに記載されているアカウントコードを入力して「Send」
      f:id:deeeki:20091201224700j:image
  • Create an Application
  • Application Registered Successfully
    • 作成完了
      f:id:deeeki:20091201224658j:image

認証にSMSを使っているのが個人的には斬新に思えました。

cron実行アプリケーションデプロイは、次回記事で。

参考リンク

Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse(1/5):CodeZine
http://codezine.jp/article/detail/3835