WordPressの好きなところ | IDEA*IDEA ~ 百式管理人のライフハックブログ ~でWordPressに関して良いところが書かれていたが、俺の思うところを書いてみる。
その場編集が簡単!
IDEA*IDEAでも書かれているのだが、これは確かに良い。でも一番では無いなぁ。
というのも俺は投稿する際にFirefoxの拡張であるScribeFireというブログへの投稿ツールを利用しているため。
ScribeFireがあれば、いちいちログインして投稿しなくても良いし、F8キーで即効投稿できる。

プラグインとスキンが大量に公開されている
個人的にはこれに尽きるのではないかと思う。
ちょっとアレしたいなぁと思ったらGoogle様に聞けば必ず見つかる。そして導入も簡単。
勿論プラグインによる品質のバラツキは当然あるんだけど、でも大量に利用可能なものが存在するというのはそれだけで強みだ。
俺が使っているプラグインは以下の通りだ。
- Akismet
- スパムコメントを振り分けしてくれる。必需品
- All in One SEO Pack
- タイトルをページ名|サイト名に変えたり、その他SEO対策してくれる。定番
- Customizable Post Listings
- 全ページに新着情報を出したりする場合に使える。最近使い始めたが細かい設定ができて良い
- Commented entry list
- コメントがついている記事の一覧を取得する。このサイトの右サイドナビで使っている
- FeedLogger
- RSSフィードを購読してくれている人数をリーダー毎に表示してくれる。定番
- FeedList
- 自分のサイトに外部のRSSを表示させる
- Google XML Sitemaps
- Google Sitemapを作成し、Googleに送信してくれる。必需品
- iG:Syntax Hiliter
- ソースコードを投稿する場合に色分け表示してくれる。IT系のブログには必需品
- iMP Download
- ダウンロードカウンタ
- Ktai Entry
- 記事を携帯電話からメールで投稿できるようにする。定番
- Moose Candy
- 記事の一覧等で指定した順番の投稿のときのみ、部品(広告など)を挿入することができる
- Mobile Eye+
- ブログを携帯電話対応にする。定番
- Manageable
- 管理画面の投稿の一覧で、個別記事を開かずに投稿日、カテゴリ、タグ、タイトル等を書き換えることができる。必須
- Plugins Used Plugin
- どんなプラグインを使っているか一覧表示する
- Post-Plugin Library
- Similar Postsとあわせて動作する
- PHP Exec
- PHPで書かれたソースコードをページ内で実行する
- Similar Posts
- 似たような記事の一覧を表示する。定番
- Search_Hilite
- 検索エンジン経由でサイトにアクセスしてきた際に検索キーワードをハイライトして表示してあげる。定番
- SBM Popular Entry
- はてな等の被ブックマーク数を一覧表示する。定番
- wp-tmkm-amazon
- 記事の中で、Amazonの商品に簡単にリンクを張る。定番
- WP-PostRatings
- 記事のランキング(とても役にたった~まったく役に立たなかった)を選択できる。定番
- WP-DBManager
- データベースのバックアップや最適化等をする。必須
なお、その他
Akismetがやたら強力
→これは激しく同意
トライアンドエラーがストレスフリー!
→これも激しく同意なんだけど、もっと言ってしまえば、再構築不要ってのが最高だよね。もっとも再構築不要=毎回動的生成=性能的に負荷がかかりやすい、ちゅうことだが。
デスマループってこんな感じかな。
(1)要領が悪い、段取りが悪い
↓
(2)必然的に労働時間が長くなる
↓
(3)忙しいのでリファクタリングできない
↓
(4)保守性が悪くて、ちょっとした保守に神経と時間をとられる
↓
(5)さらに労働時間が長くなる
↓
(6)やる気と集中力が落ちて品質が悪くなる
- 上司はプロジェクトの計画と準備等、実稼動に入る前に勝負しておかないといけない。
- 火を噴く前に何とかするのが管理職の仕事の重要なもののひとつ。
- 労働時間が長くなるとある時点から生産性はマイナスとなり、トータルの生産量は変わらなくなる。特にやる気がもてない場合、終わりが見えない場合はこの傾向が顕著である。
- 忙しいからユニットテストも書かない。従ってリファクタリングもできない。ユニットテストのないリファクタリングなんて、自殺同然。
- 忙しい場合は仕様の詰めも甘かったりして後で仕様変更もある。そのたびに手でテストしなおし。時間ばっかり食って仕事は進まずになる。
- 保守性が悪くて、ちょっとした改修でも障害が起こったりして、その度に報告書書いたり、改善策考えたり、時間ばっかり食う。
- 特にConservativeな客だと、チェックリストを増やせ、という要求をしてくることが多い。しかしいくら紙のチェックリストいっぱい作ったところで、そのうちめくら判になる。紙がモジュールのテストするわけでもなければ品質を保証するわけでもない。
- やる気と集中力は一度落ち始めると伝染する。一度組織に広がり始めたら、元に戻すには、そうなるのにかかった時間の何十倍もの時間がかかる。場合によってはメンバーの離脱という痛い代償を払うことになる。こうなる前に手を打て。
- メンバーのモチベーションを維持するのも上司の役目。
- 一回どうにもならない糞システムを作ってしまったら、次回それを流用しようなどと考えず作り直そう。ダメなものを直すより最初からきれいに作るほうが簡単だ。
XML-RPCを使ってごにょごにょするためにDelphi5を使ってWindowsソフト作ろうとしていたんだよ。
#いまさらDelphi5なのは、さておき。
XML-RPCなんて自前で処理書くのバカバカしいから、コンポーネント探してみて、Delphi XML-RPCってのみつけて早速試してみたんだけど、コンパイル通らない・・・。調べてみたら、
IInterface
- COMを使用しない場合のインターフェース
- Delphi 6 で導入された
そういうことか。ということで、IInterfaceをIUnknownに書き換えて・・・以下のように修正
sourceフォルダにVariants.pasを作成する。中身は雛形の通りで良い。
unit Variants;
interface
implementation
end.
その他は3ファイル。BuildXmlRpcLib.dprとXmlRpcTypes.pasとXmlRpcServer.pasを下記のdiffの通り修正する。
基本的には、IInterfaceとIUnknownにすることと、StrToBoolがDelphi5には無いので適当に実装を追加するってことくらい。
Index: lib/dxmlrpc-2.0.0/build/BuildXmlRpcLib.dpr
===================================================================
--- lib/dxmlrpc-2.0.0/build/BuildXmlRpcLib.dpr (リビジョン 49)
+++ lib/dxmlrpc-2.0.0/build/BuildXmlRpcLib.dpr (リビジョン 50)
@@ -10,5 +10,6 @@
XmlRpcTypes in '..\source\XmlRpcTypes.pas',
XmlRpcCommon in '..\source\XmlRpcCommon.pas',
- XmlRpcServer in '..\source\XmlRpcServer.pas';
+ XmlRpcServer in '..\source\XmlRpcServer.pas',
+ Variants in '..\source\Variants.pas';
begin
Index: lib/dxmlrpc-2.0.0/source/XmlRpcTypes.pas
===================================================================
--- lib/dxmlrpc-2.0.0/source/XmlRpcTypes.pas (リビジョン 49)
+++ lib/dxmlrpc-2.0.0/source/XmlRpcTypes.pas (リビジョン 50)
@@ -36,5 +36,5 @@
uses
- SysUtils, Classes, Contnrs, DIMime, XmlRpcCommon;
+ SysUtils, Classes, Contnrs, DIMime, XmlRpcCommon, ActiveX, ComObj;
type
@@ -45,5 +45,5 @@
dtStruct, dtArray, dtError, dtNone, dtName, dtValue);
- IRpcCustomItem = interface(IInterface)
+ IRpcCustomItem = interface(IUnknown)
['{3441C47B-364D-4BE6-834E-E05C4FCAE9A6}']
function GetAsRawString: string;
@@ -196,5 +196,5 @@
end;
- IRpcCustomArray = interface(IInterface)
+ IRpcCustomArray = interface(IUnknown)
['{8177A796-7C3B-4C01-901C-88A13DA61F85}']
function GetItems(Index: Integer): TRpcArrayItem;
@@ -259,5 +259,5 @@
end;
- IRpcStruct = interface(IInterface)
+ IRpcStruct = interface(IUnknown)
['{7527E27A-6B61-41D6-9546-93DC816D8285}']
function InternalAddItem(const Key: string): TRpcStructItem;
@@ -372,5 +372,8 @@
TRpcReturn = TRpcFunction;
+ function strtobool(value : string) : Boolean;
+
implementation
+
{
@@ -839,4 +842,17 @@
end;
+function strToBool(value : String) : Boolean;
+begin
+ if lowercase(value) = 'true' then
+ begin
+ result := true; exit;
+ end;
+ if strtointdef(value, 0) = 1 then
+ begin
+ result := true;
+ exit;
+ end;
+ result := false;
+end;
{
Index: lib/dxmlrpc-2.0.0/source/XmlRpcServer.pas
===================================================================
--- lib/dxmlrpc-2.0.0/source/XmlRpcServer.pas (リビジョン 49)
+++ lib/dxmlrpc-2.0.0/source/XmlRpcServer.pas (リビジョン 50)
@@ -335,5 +335,5 @@
// FMethodList := TList.Create; Take TObjectList instead of TList;
FMethodList := TObjectList.Create;
- FMethodList.OwnsObjects := True;
+ //FMethodList.OwnsObjects := True;
FLock := TCriticalSection.Create;
end;
これで動作するようになった。
ということで今日から2009年。今年もよろしくお願いいたします。
今年の目標は以下の通り。
仕事関連
- 組織のアジャイル化とデスマーチ撲滅活動
→去年はアジャイルに真面目に取り組むきっかけになった年だった。大分考え方は組織内に浸透してきたと思うのだが、表面的なプラクティスのみならずマインドも含めてもっともっと良い組織にしていきたいなぁ。
それから、デスマーチは去年数件あったのでこれを0にする。
- 外部の勉強会とかユーザー会に一杯出る
→引きこもり体質の俺には難しいような気がするが、マインドチェンジして、会社の外の人から一杯学びたいなぁと。
もちろん人から何かを得るためには、先に自分が人にたくさん与えないといけないので、対外的な場所でのLTでの発表なんかもしてみようかと。
- そうは言いつつ管理職だろうがなんだろうがソース書く
→上司がなんと言おうと、俺は技術者でもあるので、ソース書くのはやめない。
仕事以外
- 家族みんなで健康に楽しく過ごす
→去年も楽しかったけど、やっぱり疲れていたんだよね。メリハリつけて健康的に楽しく。旅行も複数回行くぞっと。
- ポジティブシンキングにする
→後ろ向き思考を改善して、嫌なことでもどうせやるなら楽しんでできるようになるぞ!っと。
- 読書120冊
→これくらいなら余裕なはず。なんで去年途中までペース良かったのにダメだったかなぁ。
ジャンルは経営、組織論、アジャイル、人材育成、Lifehack、脳科学あたりを中心に。
読み終わったらできる限り書評を書く。
- 早起き生活継続
→平日は5時。休日は7時までにはちゃんと起きよう。
起きたらトレーニング&読書&技術調査。せっかく作っている時間を有効に使い、なんらかアウトプットを残す。
- 真剣に減量&減酒
→毎日毎日休肝日もなく飲むのはやめて、週に最低1回以上の休肝日を作る。んで飲んだらすぐ寝ないようにするぞ。
なんで業界のみんなして毎度毎度同じような過ちを繰り返しちゃうのかねぇ。俺もだが・・・(ぉぃ)
「現場のSE, PGが考えるデスマる条件とは」 - カレーなる辛口Javaな転職日記
* ウォーターフォール
(略)
* コン猿が大きな顔をする
俺的にはこの2つが一番ヤバイ。
ウォーターフォールってのは、途中までは常に「課題はあるけど順調」って状態が続く。んで後半~終盤に差し掛かるにつれて、山の天気みたいに一気に状況が悪化してくんだよな。んで、その頃には体力も食料も大分使っちゃっているから、もう戻るに戻れないってことになる。仕方ないので救助隊を頼むんだけど、救助隊の費用は自分が払わないといけない。あー、ウォーターフォールの失敗と登山での遭難は同じようなもんだな。
コン猿が大きい顔するってのも前あったな。(今もコンサルと一緒だけど、今回は大丈夫だ)
絵に描いた餅すぎるんだよね。経営向けにコンサルしているような場合はヤバイよ~。
これで作れって渡されたシステム計画書がゴージャスな厚さで絵がいっぱい描いてあり、あっちゃこっちゃで「こういう時どうすんの?」みたいなのが抜けている。しかも、こんなのその予算じゃ作れないよ。味方が現場を売って良い顔しちゃうんだよな。
ちゅうことで、昔デスマーチ判定プログラムを作ったのを思い出した。
→http://www.ryuzee.com/deathmarch/
今自分がかかわっている案件で判定してみたが、大丈夫だった。もちろんヤバイ点もあるんだけどね。
システム系の本と雑誌は結構除外しているが、今年読んだ本はだいたい80冊。
リストこちら。
もっと読んだと思ったが、何度か繰り返し読んだものもあるしな。
別途気になった本の抽出と書評のまとめをすることにしよう。
いやー、今月は起きられなかった。平均5:52。

理由はいくつかあるのだが、
- 12月前半に風邪で体調崩して長めの睡眠が必要だった
- 忘年会が多くて就寝自体が遅かった
- 寒くて布団から出られなかった(w
- やる気うせちゃって早起きして色々する気にならなかった(汗
いかんいかん。
結構前の本なのだが、文庫本が書店に積まれていたので買ってみた。結構面白かった。

島耕作に知る「いい人」をやめる男の成功哲学 (講談社プラスアルファ文庫)
著者/訳者:弘兼 憲史
出版社:講談社( 2005-01 )
定価:¥ 680
文庫
ISBN-10 : 4062569132
ISBN-13 : 9784062569132
作者が言いたいことは巻末の3つの言葉につきる。
- 気楽に生きろ
- 自分を好きになれ
- 後ろめたさだけは持つな
これを伝えるために本書では、自分を押し殺して周りに迎合する「いい人」と、自分の考えを貫き自分自身で責任をとる「不良社員」を登場させ対比している。
気になった点をまとめておく
- いい人になったって人生は退屈なだけだ
- いい人はどうでもいい人
- 平穏に生きることと世の中が押し付ける「価値」とは無関係だ
- いくら他人に嫌われなくても自分で自分が嫌いなら意味がない
- どうせやるなら嫌なことでも積極的にやれ
- 死ぬとき「自分の一生はまぁ面白かった」と言えればそれでいい
- とりあえず「まぁ、いいか」はやめる
- 言わない意見はアブクと同じ。本当に言いたいなら万難を排して言うはず
- いい人になろうとしてミスから逃げるな
- あえて人の心を読まない
- 率先して休め
- 契約は契約と割り切る
- 自分がいやなことは相手に要求しない
いやー、まさかアドマイヤモナークが本当に外から強襲してくるとは思わなかった。TVの前で家族で叫んだよ。
ちゅうことで、馬連13-14を少々GET。一番人気との組み合わせで3万円近くつくとは。(ダイワスカーレットがいなければ凄いことになっていたが、さすがに贅沢か)
家族で温泉でもいくかな~。
もうすぐ今年も終わりなので、今年書いたエントリを全部読み直して、改めて振り返りをするよ。
◎:好調~絶好調、○:まぁ好調~普通、△:可もなく不可はちょっと。×:ドツボ な精神状態。
1月:◎
ひたすら生産性とオープンソースのことを考えながら、実案件でコーディングもする
2月:×
とある案件が大炎上し、現場が疲弊。自分も大量案件を抱えて精神崩壊モード突入。1ヶ月かなり低空飛行
3月:×
期末でデスマーチ。精神疲労は続いていたはずだがあんまり記憶にない
4月:○
開発環境のことを真剣に考えはじめる。
5月:○
引き続き開発環境のことを色々考える。たぶん暇だった。
- PHPで実案件においてcakephp、CodeIgniterという2つのフレームワークを今後中心に使っていく方向性が見えた
- Tracのプラグインで引き続き開発環境を拡張
- 組織論について考える
6月:◎
組織を完全にアジャイル化するようにしないといけないと思い始めた。
- 継続的インテグレーションを一部導入開始
- パワーポイント撲滅活動開始
- 自分を変えるために早起き生活開始。朝5時~6時の間には起きるように生活スタイルを変えた。
7月:◎
とある案件で火を噴いたので、Scrum+XPで建て直しを図り成功した。以降の開発スタイルに大きな影響を与えた。
8月:◎
どっぷりアジャイルのことを考える。この時期に目指すべき組織の形、採用したい人のスキルセットが見えてきた。
9月:○
ウォーターフォール型の組織と一緒に仕事をすることが増え、そのたびに苛立ちがつのった。
アジャイルについての話を色々な人から聞く機会が増えた。
- アジャイル、チームビルディングについて引き続きいっぱい考えた
10月:○
11月:△
また精神的には停滞モードに突入
- アジャイルでの契約について考え始める
- Tracをさらにごにょごにょいじり始める
- mojavi2をPHP5で動作させるという無謀な対応を開始する
- htmlのコーダーやデザイナーにもTrac、Subversionを使ってもらい始める。現場でこれらの効果が全体に浸透しはじめる。
12月:×
来年4月に自分のいる会社が吸収合併されちゃうことが決定。やる気がうせる。
- やる気がうせていたので、あまり生産的なことをやっていない
- そういえば風邪で2週間くらい体調悪かった
来年はどんな年になるかな~。
« 前の記事
日記
PHP
オープンソース
Linux
Trac
Perl
wordpress
フリーソフト
自宅サーバ
phpMyFaq
Plugin
Delphi
書評
apache
eclipse
Subversion
Firefox
セキュリティ
アジャイル
プラグイン
mojavi
Ruby
Ajax/Web2.0
CakePHP
Zope
フレームワーク
サーバ
文字化け
scuttle
OpenVZ
自宅
phpBB
仮想化
翻訳・日本語化
CMS
ApacheDS
LDAP
生産性向上
hacks
CodeIgniter
Agile・生産性向上
レビュー
XAMPP
Excel
SBM
言語ファイル
修正
Ajax
taskfreak
mod_security
ダウンロード
HTML::FillInForm
情報共有
格安
レンタル
アンケート
API
PhpScheduleIt
翻訳