Hatena::ブログ(Diary)

130単位

2009-09-30

BuddyPress メッセージのフック利用例 その2

BuddyPress メッセージのフック利用例 その1 - 130単位

引き続き簡単なサンプル2つ。連携してます。

メッセージ入力フォームに隠し項目を追加する

  • リクエストパラメータで「hidden_flg」を受け付ける仕様とする
  • パラメータのhidden_flgが有効な場合に「recipient_flg」を隠し項目にセット
<?php
function messages_custom_fields_input_after_ex() {
    if ($_REQUEST['hidden_flg']) {
        echo '<input type="hidden" name="recipient_flg" value="1">';
    }
}
add_action('messages_custom_fields_input_after', 'messages_custom_fields_input_after_ex');

メッセージ送信後に受信者名を出力する

  • リクエストパラメータで「recipient_flg」を受け付ける仕様とする
  • パラメータのrecipient_flgが有効で受信者が1人の場合に受信者名を出力
<?php
function messages_send_message_ex($message_data) {
    global $message;//globalな結果表示メッセージ

    if ($_REQUEST['recipient_flg'] && count($message_data['recipient_ids']) === 1) {
        if ($username = bp_core_get_user_displayname($message_data['recipient_ids'][0]))
            $message .= '<br/>' . $username . ' さんに送信しました';
        }
    }
}
add_action('messages_send_message', 'messages_send_message_ex', 10, 1);

うーん、1人に限定とかしてるのであまり良い例とはいえないかもですね。

2009-09-29

BuddyPress メッセージのフック利用例 その1

BuddyPress メッセージ新規作成時のフック一覧 - 130単位

国際化対応してない非常に簡単なサンプル2つです。

メッセージ入力フォームの上に注意書きを表示する

  • リクエストパラメータで「notice_flg」を受け付ける仕様とする
  • パラメータのnotice_flgが有効な場合に注意書き出力
<?php
function template_notices_ex() {
    if ($_REQUEST['notice_flg']) {
?>
<div class="notice">
    <p>投稿時の注意…</p>
</div>
<?
    }
}
add_action('template_notices', 'template_notices_ex');

メッセージ本文にテンプレートを利用する

<?php
function bp_get_messages_content_value_ex($bp_messages_content) {
    if (!$bp_messages_content && $_REQUEST['template_flg']) {
        $bp_messages_content = 'メッセージ本文のテンプレート…';
    }
    return $bp_messages_content;
}
add_filter('bp_get_messages_content_value', 'bp_get_messages_content_value_ex');

2009-09-28

BuddyPress メッセージ新規作成時のフック一覧

なんとなくメモ。テーマはbpskeletonmemberをベースにしてます。

メッセージ新規作成テンプレート

  • bp-themes/bpskeletonmember/messages/compose.php
    • うちいくつかはplugins/buddypress/bp-messages/bp-messages-templatetags.php
template_notices
  • do_action( 'template_notices' )
  • formタグの前
  • 注意事項の表示とかに使えそう
bp_get_messages_form_action
  • apply_filters( 'bp_get_messages_form_action', $bp->loggedin_user->domain . $bp->messages->slug . '/' . $bp->current_action );
  • formタグのaction属性
  • 遷移先の変更に使えそう
messages_custom_fields_input_before
  • do_action( 'messages_custom_fields_input_before' )
  • form内input要素の前
  • 追加する項目とかに使えそう
bp_get_message_loading_image_src
  • apply_filters( 'bp_get_message_loading_image_src', $bp->messages->image_base . '/ajax-loader.gif' );
  • ローディング画像
bp_get_messages_subject_value
  • apply_filters( 'bp_get_messages_subject_value', $_COOKIE['bp_messages_subject'] );
  • メッセージ件名
  • デフォルトはテキストボックス
  • 件名を変更する場合に使えそう
bp_get_messages_content_value
  • apply_filters( 'bp_get_messages_content_value', $_COOKIE['bp_messages_content'] );
  • メッセージ本文
  • デフォルトはテキストエリア
  • 本文を変更する場合に使えそう
bp_get_message_get_recipient_usernames
  • apply_filters( 'bp_get_message_get_recipient_usernames', $_GET['r'] );
  • 送信先ユーザー名
  • デフォルトは隠し項目
  • 送信先ユーザーを増やしたりする場合に使えそう
messages_custom_fields_input_after
  • do_action( 'messages_custom_fields_input_after' )
  • form内input要素の後
  • 追加する項目とかに使えそう

メッセージ送信

  • plugins/buddypress/bp-messages.php
messages_send_message
  • do_action( 'messages_send_message', array( 'item_id' => $pmessage->id, 'recipient_ids' => $pmessage->recipients, 'thread_id' => $pmessage->thread_id, 'component_name' => $bp->messages->slug, 'component_action' => 'message_sent', 'is_private' => 1 ) );
  • メッセージ送信成功後
  • 引数配列1つ
  • メッセージ送信時になにか処理したい場合に使えそう

2009-09-27

2Days参戦

Perfume Second Tour 2009 直角二等辺三角形TOUR
http://www.amuse.co.jp/perfume/tour2009/

f:id:deeeki:20090927231704j:image

約一年ぶりの生ぱふゅ。燃焼しつくしました。元気もらいました。ありがとう!

2009-09-24

Tumblrの無料iPhoneアプリ 4種類

連休中にはじめてフォロー機能を使ってみたのをきっかけに、Tumblrアプリに手を出してみました。

f:id:deeeki:20090924193542j:image

Tumblr

Tumblr

  • 公式アプリ
  • Post可能
  • ダッシュボードは10ページ毎で固定
  • Like、Reblog対応(何もないところをタップ→ボタン出現)
  • 画像タップで元解像度表示
  • 配布元 (ログインして「Goodies」へ)

f:id:deeeki:20090924193540j:image

tumblr gear

tumblr gear

f:id:deeeki:20090924193539j:image

iview

iview

f:id:deeeki:20090924193538j:image

Tumble

Tumble

  • Post専用
  • 「Pro」とつく有料版もあるらしい

f:id:deeeki:20090924194226j:image:w240


雑感

この中でメインで使っていくことに決めたのは、iviewです。現在の自分の使い方としては画像さえ見られればいいので、最も適していると感じました。QuoteなどテキストもReblogしたりするのであれば、tumblr gearがいいと思います。自らPostをするなら公式のTumblrアプリでしょうか。


おまけ

tubapr - Perfumblr - - パフュヲタ向けオヌヌメTumblrist
http://tubapr.tumblr.com/post/191697160/tumblrist

ちなみにフォローを使うきっかけとなったのはこちらのエントリでした。すばらしいまとめ、ありがとうございます。ぱふゅ好きならチェックしてみるといいんじゃないかと思います。


関連記事:
iPhone 3GS 購入3ヶ月目の利用アプリ一覧 - 130単位
画像加工できる無料iPhoneアプリ 4種類 - 130単位
カメラ関係の無料iPhoneアプリ 3種類 - 130単位

2009-09-23

ツイッターヤムをやってみた

ツイッターヤム
http://twitteryam.com/

つぶやきとフォロワーの数から価値を算出してくれるみたいです。

f:id:deeeki:20090923212010j:image

¥27,568でした。

ツイッター」と「ついったー」の表記揺れがあるのが少し気になったりしました*1

*1:運営は韓国の会社みたいです

2009-09-22

iPhone 3GS 購入3ヶ月目の利用アプリ一覧

前回請求についてまとめてみたわけですが、今回はアプリを晒してみたいと思います。

ホーム画面

1画面目

f:id:deeeki:20090922234137p:image

  • 毎日利用する、もしくは利用頻度の高いアプリ
  • ニュース系アプリは2つか3つに絞ろうと考え中
  • LDRもいまだに決めかねてる
  • 雑誌オンラインは立ち読みで知らない分野に触れられたりするのでおすすめ
2画面目

f:id:deeeki:20090922234136p:image

  • そこそこ利用する(と思っている)アプリ
    • 実際はあまり使っていない
3画面目

f:id:deeeki:20090922234135p:image

  • 新規のアプリ
  • いったんここに置いて試してみることにしている
    • 今後も使うなら頻度に応じてどこかの画面へ
    • 使わないなら削除
4画面目

f:id:deeeki:20090922234133p:image

5画面目

f:id:deeeki:20090922234123p:image


iTunesで並べ替えができない時代に入れすぎてわけわからなくなったので、現在は必要なものだけ入れる、という方針でいます。といってもまだまだ発展途上です。ちなみにほとんどが無料のアプリです。


今後やりたいこと

少し時間をかければできそうな基本的なこととかが、できていなかったりします。

さほど必要と感じていないからでもあるのですが、徐々に理想的な形にしていければと思います。


関連記事:
iPhone 3GS 購入3ヶ月目の請求を確認してみた - 130単位
画像加工できる無料iPhoneアプリ 4種類 - 130単位
カメラ関係の無料iPhoneアプリ 3種類 - 130単位
TwitBird Proを一週間ほど使ってみた - 130単位

2009-09-21

iPhone 3GS 購入3ヶ月目の請求を確認してみた

会社のひとに月々の請求をたずねられたときに答えられなかったので、調べて書き残してみることにしました。

請求内訳

 9月分(〜9/10)8月分(〜8/10)
ホワイトプラン934934
ホワイトプラン通話料160370
Wホワイト934934
パケット定額フル(キャンペーン)4,2004,200
S!ベーシックパック(i)300300
月月割-1,8290
ユニバーサルサービス料88
消費税235336
4,9427,082

6/27購入で、月月割は3ヶ月目の9月分から適用されてます。

気になるのが、8/19には解約したはずのWホワイトがまるごと含まれていること。どうも日割りにはならないみたいです。請求内訳のWホワイトの欄には「定額料」とあって、日割り扱いされた基本オプションパックの「月額料」とは扱いが異なるみたいです。Wホワイトにはとにかく振り回されまくりです。

Wホワイトが含まれないとして請求を見積もると、今後は月々約4,000円くらいになりそうです。もちろん通話をほとんどしないってのが前提ですが。

パケット通信料内訳

 9月分8月分
S!メール4,414 (55,187Pkt)12 (159Pkt)
PCダイレクト193,776 (2,422,205Pkt)153,277 (1,915,971Pkt)
パケット合計198,190153,289

ついでにパケット代もみてみます。さほど使っていないと個人的には思うのですが、iPhoneユーザーの平均はどのくらいなんでしょうか。8月後半から携帯百景を使い始めたこともあって、メールのパケットが増えてます。

iPhoneにいくら使うことになりそうか

月月割を考慮して、26ヶ月使ったとして計算してみます。

iPhone 3GS本体(16GB)64,800
3ヶ月分の請求15,000
4,000×23ヶ月分92,000
171,800

自分の場合はポイントやらの割引が15,000円程あったので、差し引くと160,000円くらいになります。26ヶ月の月々換算すると、月6,000円くらいですかね。もし途中で解約した場合は、その時点で残っている月月割(合計で44,160円)の権利を失うわけですね。

そんなわけで、iPhoneまだ持ってないけど興味があるという方への参考になれば幸いです。

あ、くれぐれもWホワイトには気をつけてください。


関連記事:
iPhone 3GS Wホワイトに加入させられるタイミング - 130単位
iPhone 3GS 契約後にMy Softbankで変更手続き - 130単位
iPhone 3GS 購入した (費用とかメモ) - 130単位

2009-09-20

画像加工できる無料iPhoneアプリ 4種類

カメラで撮った写真や画像の加工ができる無料のアプリを、4種類試してみました。

f:id:deeeki:20090920215607j:image

なんとなく撮ってみた以下の写真を加工してみます。

f:id:deeeki:20090920223640j:image:h300

PhotoCurvesFree

PhotoCurvesFree

  • トーンカーブで加工
  • 明るさ・コントラスト
  • 前回の画像をレジューム可能
  • 768×1024の解像度で保存される(元解像度の半分?)
  • 保存後に広告が表示される
    • 「No Thanks」を1回タップすることになる
  • 参考リンク

トーンカーブ調整画面と、明るくして保存した画像

f:id:deeeki:20090920222925j:image

PhotoFilters

Photo Filters! (Black&White, Sepia, Hue and more!)

保存直後の画面と、Lomographyをかけて保存した画像

f:id:deeeki:20090920222924j:image

SP Photo Fix Lite

SP Photo Fix Lite

画像比較画面と、いろいろ加工して保存した画像

f:id:deeeki:20090920222923j:image

Polarize

Polarize

起動後画面と、キャプション付きで保存した画像

f:id:deeeki:20090920222922j:image

雑感

いちばん多機能なのはSP Photo Fix Liteですが、保存画像の解像度が低いです。PhotoFiltersは機能はシンプルなものの解像度そのままで保存されます。Polarizeは、他にはないユニークさがあります。

ちょっと悩ましいところですが、PhotoCurvesFreeとPolarizeを残して使ってみようかと思います。

ほか参考リンク

[を] iPhoneで使える無料の画像フィルター7つ
http://chalow.net/2009-08-16-1.html

関連記事:
カメラ関係の無料iPhoneアプリ 3種類 - 130単位
TwitBird Proを一週間ほど使ってみた - 130単位

2009-09-19

カメラ関係の無料iPhoneアプリ 3種類

iPhone購入後2ヶ月間は、ひたすらDLしてみて結局使ってないアプリが大半、という感じでした。それにうんざりしたので、いったん常用のアプリ以外はiPhoneから削除してみました。それで今現在は、あるジャンルのアプリに絞って試してみるのを繰り返す、というスタンスに変わっていたりします。

今回はカメラ関係のアプリを取り上げてみます。使い方がわからなかったりしたので、ついさっきググって少し触っただけ、というくらいの状態のメモです。

f:id:deeeki:20090919223444j:image

Koredoko

Koredoko

  • 撮った写真から位置情報を取得して地図を表示
  • あまり写真を撮らない人は使う機会がないかも
  • 位置情報取得を拒否ってる場合も無意味
  • 参考リンク

Cyclops

Cyclops

  • バーコードの写真を撮ってAmazonから商品を検索
  • DLして放置してたらどんなアプリかわからなかった
  • 試しに本のバーコードとか撮ってみた
    • けどうまく結果が表示されなかった
    • 数字は認識できてるみたい
  • 個人的にはあまり使うことはなさそう
  • 参考リンク

Memory Tree

memory tree


関連記事:
TwitBird Proを一週間ほど使ってみた - 130単位
iPhone 無料のTwitterクライアントを5種類比べてみた - 130単位
iPhone 無料のTwitterクライアントを6種類試してみた - 130単位

2009-09-18

外部公開メールサーバー構築 不完全備忘録

とあるプログラムの検証用に「メールサーバー構築してみて」といわれ、ほぼノーヒントでやってみたことの覚え書き。もちろんグーグル先生にはききまくりです。あと別の社内サーバーを覗いてみたりもしました。確認の際に得たヒントというかキーワードは、「Postfix」と「MXレコード」の2つでした。MXレコードは全く意味を知らなかったので、良い勉強になりました。

環境は仮想マシンのCentOS5.3です。試行錯誤と回り道しながらの構築のメモなので、あまり参考にはしないでください(設定の詳細などは下にあるリンク先を見るのがおすすめです)。あと間違いがありましたら遠慮なくご指摘ください。

予備知識

Postfixインストールと設定

Dovecotインストールと設定

ユーザー追加

ポート開放

  • system-config-securitylevel-tui
    • SMTP(25)にチェック
    • ついでにtelnetもチェックしておく
    • POP3(110)はTUIではどうも開かないっぽい?
  • /etc/sysconfig/iptablesを直接編集
  • /etc/init.d/iptables restart

ポート解放確認

外部公開のためのDNS設定

ここ、ドメイン取得経験ゼロの自分にはしんどかったです。

DNS設定確認


ここまでで、外部からメール送信に成功すれば完了です。


ほか気になること(あとで調べる)

  • /etc/hostsの役割
    • DNSよりも優先して名前解決されるもの、という認識でよいのかしら
  • /etc/networkの役割
    • ここにホスト名を記述するとどんな効果があるのだろうか

参考リンク

no title

qmailとPostfixのパフォーマンス比較 - isherの日記

メールサーバー構築(Postfix+Dovecot) - CentOSで自宅サーバー構築

no title

no title

関連記事:
Linux 固定IPの設定とポートの開放手順 - 130単位

2009-09-17

WordPress MU サイト管理者以外は公開記事のみ表示

記事を非公開にしていても、ログイン中だと「非公開:」とされてサイト上で表示されます。この挙動を変えてみます。

  • サイト管理者でない かつ 公開状態がリクエストされてない とき
  • 記事取得条件の公開状態を「publish」にセットする、という関数をつくって
  • リクエストから取得条件を解析する処理の最後にあるdo_action_ref_array('parse_query', array(&$this))にフック
<?php
function parse_query_ex() {
    if (!is_site_admin() && !get_query_var('post_status')) {
        set_query_var('post_status', 'publish');
    }
}
add_action('parse_query', 'parse_query_ex');

公開状態の指定を増やす場合は、set_query_var()の第二引数にカンマ区切りで追加してやればよいはずです。

WordPress MU 2.8.4aで検証


【9/18追記】条件式が間違っていたの修正 「get_query_var('post_status')」→「!get_query_var('post_status')」


関連記事:

WordPress MU サイト管理者以外はダッシュボード非表示にする - 130単位

2009-09-16

WordPress WPliteプラグイン バージョン1.3.1と2.8.4の特徴比較

WordPress ダッシュボードのメニューを制御するWPliteプラグイン すこし修正 - 130単位

前回記事で(古いバージョンですが)取り上げたWPliteプラグイン

バージョンUPによって仕様がけっこう変わっていたりしたので、特徴をまとめてみます。

共通する特徴

  • ダッシュボードのメニューが消せる
    • ただしURLに直接入力するとアクセスできる
  • 同じページ名で複数のメニューを追加するプラグインには非対応

1.3.1の特徴

  • 非表示メニューは全ユーザーに適用される
    • 設定で管理者は除外することが可能
  • WPliteのメニューも非表示にできる
  • 投稿時の各パネルを非表示にできる
  • optionsテーブルに複数のデータが登録される
  • 区切り線が空白表示でわかりづらい

2.8.4の特徴

  • 非表示メニューは管理者以外のユーザーに適用される
    • 管理者にも適用するにはコードの修正が必要
  • WPliteのメニューは非表示にできない
  • 投稿時の各パネルを非表示にできない
  • optionsテーブルにまとめられた一つのデータが登録される
  • 区切り線が「(separator)」と表示される
  • Meta Boxを無効にできる(よくわからない)

ざっとこんなところでしょうか。

2.8.4で管理者にも適用するには、以下のコードをコメントアウトします。

<?php
//	if (current_user_can('manage_options'))
//		return;

あと全体的に配列の扱いが良くないっぽくて、Warningが出たりします。プラグイン有効化時にフックしている関数は以下のようにしたほうがいいと思います。

<?php
function wplite_default_options() {
	$options = array(
		'default_menu_items' => array(),
		'default_meta_boxes' => array(),
		'disabled_menu_items' => array(),
		'disabled_submenu_items' => array(),    //added
		'disabled_meta_boxes' => array()
	);

	return $options;
}

【追記】WPliteのメニューにも非表示を適用するには、以下のコードをコメントアウトします。

<?php
// exclude WPlite itself
//if ($id === basename(__FILE__))
	//continue;

WPliteにアクセスするURL(wp-admin/options-general.php?page=wplite.php)を覚えておく必要があります。

2009-09-15

WordPress ダッシュボードのメニューを制御するWPliteプラグイン すこし修正

【追記】

記事をアップした直後に、公式プラグインサイトとは別のサイトで最新バージョンが配布されていることに気づきました。

Nanogeex.com

以下、バージョン1.3.1への修正情報としてお読みいただければと思います。


f:id:deeeki:20090915202749j:image

WordPress :  WPlite ≪ WordPress Plugins
http://wordpress.org/extend/plugins/wplite/

ダッシュボードの各メニューについて、個別に非表示設定を可能にするプラグインです。

Last Updatedが 2008-7-18 となっており、長いこと更新されていません。それが原因か、うまく動作しない箇所がありましたので、それについて書いてみます。(※環境はWordPress MU 2.8.4a)

プラグイン有効/無効のフック関数を動作させる

対象はwplite.phpのL35-36です。

<?php
//register_activation_hook(basename(__FILE__), 'set_wplite_options');
//register_deactivation_hook(basename(__FILE__), 'unset_wplite_options');
register_activation_hook(__FILE__, 'set_wplite_options');
register_deactivation_hook(__FILE__, 'unset_wplite_options');

register_activation_hook()の中で、第一引数$fileは「$file = plugin_basename($file);」と処理されます。plugin_basename()はディレクトリを含めたパスを返します。元のコードのように「basename(__FILE__)」として渡してしまうと、既にファイル名だけになっているのでうまく動作しません。

この修正を行うと、WPliteプラグインの無効化時に、保存されている非表示設定のデータは消えるようになります。

jQuery1.3以降への対応

既存コードではFirebugでエラーが出ます。「@attr」の「@」を消します。L343、L376、L383の3箇所あります。

//$j("input[@value='"+curGroup[j]+"']").each(function(){
$j("input[value='"+curGroup[j]+"']").each(function(){

レアケースな不具合について

他のプラグインにより追加されるメニューに対して、うまく動かないことがあります。

  • 2種類以上のメニューを追加している
  • 同じページ名(ファイル名)が使われている

以上の条件を満たすプラグインの場合、一部のメニューだけを消す、ということができません。全て表示するか、全て非表示かになります。

WPliteの設定で非表示のチェックを一方のメニューのみに付けたとしても、内部の配列データではそのページ名が使われているため、同じページ名のメニュー全てに適用されてしまいます。データの持ち方的に修正しにくい感じなので、これに関してはあきらめたほうがいいのかもしれません。


関連記事:

WordPress MU サイト管理者以外はダッシュボード非表示にする - 130単位

2009-09-14

TwitBird Proを一週間ほど使ってみた

iPhoneTwitterクライアント、TwitBird Pro。一週間前に無料でDLすることができたので、使ってみてました。

TwitBird Pro

f:id:deeeki:20090914190506j:image

特徴
良い点
  • Reply先Post内容表示
  • ダイレクトメッセージが見やすい
惜しい点
  • 投稿画面までに2回タップが必要
  • ナビゲーションメニュー画面の存在(画面遷移が増える)

雑感

非常に機能が豊富で、特にReply先のPost内容も表示されるのには感動しました。話の流れがわかりやすいです。

それまでメインで使っていたSimplyTweetと比較してみると、

といったところは劣るように感じます。

SimplyTweetからの乗り換えはまだちょっと決めかねていて、もうしばらく使ってみることにします。


関連記事:
iPhone 無料のTwitterクライアントを5種類比べてみた - 130単位
iPhone 無料のTwitterクライアントを6種類試してみた - 130単位

2009-09-12

IETesterのインストールとIE6からIE8へ

My DebugBar | IETester / Browser Compatibility Check for Internet Explorer Versions from 5.5 to 8
http://www.my-debugbar.com/wiki/IETester/HomePage

IE5.5、IE6IE7IE8でのレンダリングを確認できるフリーソフトです。

つい最近まで、会社のPCはIE6のままでした。IE6での表示が問題なければいいだろうという考えでいたためです。が、IE同士でもバージョンの違いで悩まされることが多くなってきたので、効率良く確認するために導入してみました。

インストール後、ひとつ問題点が発覚。選択できるのはIE5.5〜IE7までで、なぜかIE8での確認ができないのです。少し調べてみたところ、デフォルトで低いバージョンのIEを利用していると、IE8は選択できないことがわかりました。

ということで、ようやくIE6からIE8アップグレード。無事、IETesterですべてのIEでの確認ができるようになりました。

参考リンク

| ^^ |秒刊SUNDAY | 一番良いIE6IE8の共存方法はコレだ!
http://www.yukawanet.com/sunday/2008/10/ie6ie8.html

2009-09-11

WordPress MU サイト管理者以外はダッシュボード非表示にする

  1. サイト管理者でなかったらTOPページにリダイレクトする、という関数をつくって
  2. ダッシュボードのphpファイル*1で必ず呼ばれるauth_redirect()内のdo_action('auth_redirect')にフック
<?php
function auth_redirect_ex() {
    if (!is_site_admin()) {
        wp_redirect(site_url());
        exit();
    }
}
add_action('auth_redirect', 'auth_redirect_ex');

これを利用テーマのfunctions.phpに書くか、独自のプラグインにして有効化すれば動作すると思います。

WordPress MU 2.8.4aで検証しました

*1:wp-admin/admin.php

2009-09-10

e-typingをやってみた

e-typing {インターネットタイピング練習}
http://www.e-typing.ne.jp/

via : はてなダイアリー

どんなもんか気になったので、やってみました。真ん中の「腕だめしチェック」から。

f:id:deeeki:20090910080207j:image

ノートPCでのスコア、269pt。

ちょっと不満に思ったので、デスクトップPCでも計測。

f:id:deeeki:20090910080203j:image

340ptでした。

ちなみにe-typingですが、確か5年以上前からある長寿サイトだったと思います。と、会社概要を確認してみたら地元名古屋の会社でした。

2009-09-09

Chat&MessengerとIP Messengerの比較

Chat&Messenger チャットメッセンジャーも!!
http://sattontanabe.blog86.fc2.com/

ほかのひとが使っていて気になったので、試しにインストールして何日間か使ってみました。もともと使ってたのはIP Messengerです。

IP Messenger 開発研究室
http://www.ipmsg.org/

比較

自分が必要なメッセンジャー機能中心の比較です。

【追記】間違っていた使用メモリの単位をKB→MBに修正しました

Chat&Messenger
IP Messenger

雑感

メッセンジャーの機能だけなら、IP Messengerで事足りるかな、と思いました。ショートカットキーも慣れてしまってますし。ということで自分はIP Messengerに戻りましたが、指示を出したりとかコミニュケーションの多い方は、Chat&Messengerのほうがいいのではないでしょうか。

2009-09-08

『組織が大きく変わる「最高の報酬」』読書メモ

4820717464

『組織が大きく変わる「最高の報酬」 トータル・リワードを活用した行動科学マネジメント (単行本)』

  • トータル・リワード(Total Reward)=総合的な「報われ感」
  • 「非金銭的報酬」のABCDEF
    • Acknowledgement…感謝と認知
    • Balance…仕事と私生活の両立
    • Culture…企業文化や組織の体質
    • Development…成長機会の提供
    • Environment…労働環境の整備
    • Frame…具体的行動の明確な指示
  • 感謝を伝える「サンキューカード」
  • チェイニング
    • ゴールまでの段階を一つずつつないでいく
    • ゴールから経験させる逆チェイニングとうまく組み合わせる
  • できるリーダーの二種類の言葉
    • 無条件に承認して、とにかくほめる
    • 人生観や仕事観を聞き出し、会社のビジョンとつなげる
  • 「できない八割の社員」の底上げが利益アップのカギ
  • スモールゴールで小さな達成感を積み上げる
  • 新人に「自分で考えろ」は禁句
  • 「人」を変えずに「行動」を変える
  • 「一回叱ったら四回ほめる」でやっとバランスがとれる
    • 罰だけでは「望ましくない行動を減らす」だけ
    • 「望ましくない行動を望ましい行動に変える」ことが必要
  • 共通言語化、見える化、優先順位化を徹底
    • 雑務に使う道具の収納場所に、その写真を貼る
  • いますぐすべきことは「自分から心を開くこと」
  • 山本五十六の言葉

やってみせ 言って聞かせて させて見せ ほめてやらねば 人は動かじ

話し合い、耳を傾け、承認し、任せてやらねば、人は育たず

やっている、姿を感謝で見守って、信頼せねば、人は実らず

感想すこし

やはり「ほめるのが大事」というのは、あらゆるビジネス書に共通しているところかと思います。ただ実際には、注意や指摘をしなくてはならない状況はいくらでも発生します。そこで、「一回叱ったら四回ほめる」というのはなかなか納得感のある数字のように感じました。普段から意識しておきたいものです。

あと、山本五十六の言葉に続き的なものがあるのは知りませんでした。

2009-09-07

WordPress wp_enqueue_script()によりテーマの一部でjQuery UIを利用する

WordPressにて、jQueryUIライブラリのひとつ、アコーディオンを使いたい。

既に一箇所で実装済みだったのですが、同じインターフェイスを別の画面でも使いたいということになって、リファクタリングも兼ねて実装し直した際のメモ。(※WordPress MU 2.8.4a)

もともと独自プラグインの中で書かれていたのを、ページ描画速度も考慮して、利用するテーマファイルのみに記述することにしました。利用するJSファイルを保持するglobalなオブジェクトに追加登録する関数、wp_enqueue_script()。これをwp_head()の前、つまりはget_header()の前に書けばいいらしいです。利用する各ページのテンプレートの最上部に、以下のように書きました。

<?php
wp_enqueue_script('jquery-ui-core', get_bloginfo('template_url') . '/js/ui.core.js');
wp_enqueue_script('jquery-ui-accordion', get_bloginfo('template_url') . '/js/ui.accordion.js');

しかしなぜか動作しません。htmlのソースを見てみると、ui.core.jsをロードするscriptタグがフッターのあたりに存在していました(アコーディオン処理の実行はそれより前)。どうもデフォルトで読み込むJSファイルに含まれているみたいで、追加が効いてないようです。

wp-includes/script-loader.php (L123)

<?php
$scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui.core.js', array('jquery'), '1.7.1' );
$scripts->add_data( 'jquery-ui-core', 'group', 1 );

ここのadd_data()の影響で、フッターに出力するようなフラグが立ってるみたいです(実際に出力しているのはprint_footer_scripts())。というわけで、追加する前にいったん利用予定のJSファイル群からはずすことにしました。

<?php
wp_deregister_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-core', get_bloginfo('template_url') . '/js/ui.core.js');
wp_enqueue_script('jquery-ui-accordion', get_bloginfo('template_url') . '/js/ui.accordion.js');

これでOKでした。

※挙動を深く追わずに対応したので、よりよいやり方があるということでしたら、ご指摘いただけると助かります。

参考リンク

wp_enqueue_script のススメ : dogmap.jp
http://dogmap.jp/2008/07/12/wp_enqueue_script/

wp_enqueue_scriptを使う(その2) ≪ Waviaei
http://waviaei.com/2009/05/17/wp-enqueue-script-again/

Function Reference/wp enqueue scriptWordPress Codex
http://codex.wordpress.org/Function_Reference/wp_enqueue_script

2009-09-06

『プロジェクトの人間関係構築術』メモ

WEB+DB PRESS Vol.29|gihyo.jp … 技術評論社
http://gihyo.jp/magazine/wdpress/archive/2005/vol29

会社の本棚で見つけて、なんとなく読んでみました。2005年発売ということで既に在庫はないようです。

20ページ程の特集でしたが内容がなかなか膨大で、主に表題と自分が重要と思ったところを中心に書き起こしてみました。表記は一部変えさせていただいてます。

タイプ別攻略法

  • コミュニケーション問題
  • パフォーマンス問題
  • 自己認識問題
  • 現実の「困った人」は、この3タイプの組合せからなる

リーダーの人間関係構築術

  • 周りの人間関係をよく把握する
  • PMと密な関係を作る
    • PMも何らかの「困った人」であることが多い
    • PMへの報連相をこまめに実施
  • 顧客の要求を理解
  • メンバーを理解する
    • リーダーがメンバーよりもすべてにおいて優れているとは限らない
    • リーダーとしてやるべきことはそれぞれのメンバーに適した作業を託すこと
  • 相手を理解し、自分自身を理解する
  • 無理のない自然体な付き合いする

モチベーション鼓舞テクニック

  • リーダー自身が「困った人」にならない
  • やる気を構成するもの
    • プロジェクトを理解している
    • 自己実現との関連を感じることができる
    • 正当な評価を期待できる
  • 何を期待しているのかを明確に伝える
  • 透明性を確保して評価方法をメンバーと合意する
  • 困った人への対応
    • 静かな語り口と上品な物腰は理性と調和をもたらす
      • リーダーの立場は権力者であることを意識する
    • こちらが指摘するより、相手に提案させる
    • 問題が解決したら感謝をする
  • チーム運営のテクニック
    • とにかく笑顔が一番
    • 怒りはぶつけるのではなく感じさせるもの
      • 個人を注意するときには、事前に自分の中から怒りを抜く
    • ネガティブな判断は素早く
    • 公の場では内容を一般化して結論をポジティブな方向へ
    • 意識して良い点をほめてみる
    • 困った人を楽しむくらいの心の余裕を持つ
  • 失敗を繰り返すしか、進歩の道はない

上司に立ち向かう政治力入門

  • 話を聞いてほしいとき
    • 結論を先に言う
    • 論理的に話を構成し、簡潔に伝える
  • 考えを変えさせたいとき
    • 上司の意見をほめる
    • 一部だけについて質問する
    • 謙虚な部下を演出する
    • 先に周囲の人たちを巻き込む
  • (自分にとって)苦手な人が、他の人とどう接しているか観察する

「困った人」への段階的対処

  • みんなで問題を共有する
    • 誰が原因かは問わない
  • 強制的に自己認識させる状況を作る
    • "何が"が原因か?を尋ねる
  • 自覚/無自覚に関係ない状況を作る
    • 「問題の発生」を条件に、非常手段宣言をする
  • 本人に宣告する
    • みんなが問題だと思っている、という総意として告げる

4774130729

『WEB+DB PRESS 総集編 [Vol.1~36] (大型本)』

こちらの総集編にて、PDFファイルで読むことができます。ただし在庫切れのためマーケットプレイスの利用となります。

4774125245

『WEB+DB PRESS Vol.29 (大型本)』

探したらもとの雑誌もあったので追記。

2009-09-05

昼下がりの面接

面接に参加させていただきました。なんとなく文章化しにくいので箇条書きで。

  • ブログを以前から読んでくれていたらしい
  • 素直にうれしく思った
  • 入社前のいきさつを話した
  • 世代が近いのでエンジニアとして共感する面があった
  • 自分のネット依存度に気づかされた
  • 今現在の自分の中でのテーマというか課題を質問という形でぶつけてみた
  • ちょっと変なことも言ってしまった(申し訳ないです)
  • もっと聞いてみたかった、ってことがあとから出てきた
  • (広い意味での)環境について考えたりした
  • もっと動かないとなーと思った

どうなるか、は、会社の状況とかも絡んでくるのでなんともいえません(そもそも決められる立場じゃないですが)。ただ自分としては、良い刺激を受けることができました。ありがとうございます!

2009-09-04

PHPの配列の最後の要素のあとにカンマをつけるかどうか

deeekiPHP配列の最後の要素のあとにカンマをつけるかどうか、というのにちょっと悩んだ。あったほうがコピペしやすいんだよね
deeeki個人的にはありだと思うけど、一般的にはどうなんだろうなー → ウノウラボ Unoh Labs: 配列の要素を区切るカンマ、最後の要素の後に置いたら?

http://labs.unoh.net/2006/04/post_6.html

junyaコーディング規約に含めてるくらいにアリ。 RT @deeeki: 個人的にはありだと思うけど、一般的にはどうなんだろうなー → ウノウラボ Unoh Labs: 配列の要素を区切るカンマ、最後の要素の後に置いたら?

http://bit.ly/2YKdNE

yanchiPHP オンリーの人にはいいかも。俺みたいにいろんな言語使う人間はなるべくどの言語でも通る書き方をして欲しい。 RT @deeeki: 個人的にはありだと思うけど、一般的にはどうなんだろうなー → ウノウラボ Unoh Labs: 配列の要素を区切るカンマ、最後の要素の後に置いた
deeekiJSはどっちだったっけと思ったら、ダメみたいだ → 連想配列の最後にカンマを入れてはいけない言語もある - すぎゃーんメモ

http://d.hatena.ne.jp/sugyan/20090306/1236313928

deeeki正確にはIEだとダメみたい
monjudohRT @deeeki: JSはどっちだったっけと思ったら、ダメみたいだ → 連想配列の最後にカンマを入れてはいけない言語もある - すぎゃーんメモ http://tinyurl.com/clue6f
monjudohIE以外は大丈夫のような
deeekiIEFirefoxの違いがかかれてた → [JavaScript][PHP][Perl] 配列初期化するときの、最後のカンマの扱いについて - DQNEO起業日記

http://dqn.sakusakutto.jp/2008/03/javascriptphpperl.html

omasanoriES5で仕様に入るけどES3では入ってない>末尾のカンマ RT @monjudoh: RT @deeeki: JSはどっちだったっけと思ったら、ダメみたいだ → 連想配列の最後にカンマを入れてはいけない言語もある - すぎゃーんメモ http://tinyurl.com/ ...
omasanori書いてもいいし、書かなくてもいいっていう

By no title


RTしていただきありがとうございます。いろいろと参考になりました。少し考えた結果、「(PHPで)複数行にわたって配列を書くときは、最後にもカンマをつける」という自分ルールを設けてみることにします。しばらくしたらまた変わるかもしれませんが。

2009-09-01

8月分の読書記録

iPhone漬けだった7月よりも、冊数は倍になりました。

が、半分はマンガです。中でも面白かったのは『モテキ』。草食系な方には特におすすめです。ハイリスクハイリターン。8月末に2巻が発売されてて、以下の記事も面白いです(多少ネタバレあり)。

技術系書籍は読みたいところだけ読んだのが多いですが、『まつもとゆきひろ コードの世界』は、プログラマの教養みたいなものが詰まっていて、いろいろと学ぶことができました。

8月分読書データ

f:id:deeeki:20090901193135j:image

8月の読書メーター
読んだ本の数:12冊
読んだページ数:2123ページ

PHPによるデザインパターン入門PHPによるデザインパターン入門
途中まで読んだ。まずはよく使われるパターンをしっかり理解したい
読了日:08月31日 著者:下岡 秀幸,道端 良,畑 勝也
WEB+DB PRESS Vol.52WEB+DB PRESS Vol.52
特集のおかげで委譲やインタフェースとかがようやく理解できてきた
読了日:08月28日 著者:WEB+DB PRESS編集部
3月のライオン 3 (ジェッツコミックス)3月のライオン 3 (ジェッツコミックス)
「一人じゃどうにもならなくなったら誰かに頼れ でないと実は誰もお前にも頼れないんだ」
読了日:08月25日 著者:羽海野 チカ
コミック 銭 1巻コミック 銭 1巻
社会とお金の仕組みを知れる。絵柄が自分とは合わないみたいで感情移入はしにくかった。
読了日:08月16日 著者:鈴木 みそ
マネー力 (PHPビジネス新書)マネー力 (PHPビジネス新書)
「実際にやらなければ力は身につかない」
読了日:08月12日 著者:大前 研一
バクマン。 4 (ジャンプコミックス)バクマン。 4 (ジャンプコミックス)
抜群の安定感。4巻にしてこれだけ登場人物がいてすべてキャラが立っているのがすごい。
読了日:08月11日 著者:大場 つぐみ
NARUTO 巻ノ47 (ジャンプコミックス)NARUTO 巻ノ47 (ジャンプコミックス)
九尾の封印されてる仕組みが複雑でよくわからない。四代目を殴ったシーンが印象的。
読了日:08月09日 著者:岸本 斉史
アイシールド21 36 (ジャンプコミックス)アイシールド21 36 (ジャンプコミックス)
セナとパンサーの駆け引きが見応えあった。ラストの試合が2巻分しかないのは惜しいなぁ。でも期待。
読了日:08月07日 著者:稲垣 理一郎
自然体~自分のサッカーを貫けば、道は開ける自然体~自分のサッカーを貫けば、道は開ける
06W杯の内部事情は興味深く詠めた。あとシャビの評価の高さをあらためて感じた。
読了日:08月06日 著者:遠藤 保仁
WEB+DB PRESS Vol.51WEB+DB PRESS Vol.51
メソッド設計をざっと読んでみた
読了日:08月05日 著者:
まつもとゆきひろ コードの世界‾スーパー・プログラマになる14の思考法まつもとゆきひろ コードの世界‾スーパー・プログラマになる14の思考法
網羅的にエッセンスを学習できた。ところどころでてくる軽快な文章に好感。
読了日:08月04日 著者:まつもとゆきひろ
モテキ (1) (イブニングKC)モテキ (1) (イブニングKC)
心刺されまくり。いろんな女性がいるんですね。
読了日:08月01日 著者:久保 ミツロウ

読書メーター

no title

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