メモログ

page navigation

recent articles list 最近の記事のリスト

latest articles 最新の記事

サイト移転

「サイト移転」というweb1.0的な言葉の響きになつかしさを感じつつ、メモログ.orgにサイトを移しました。jpがorgになっただけです。

memolog.jpはDKLog.jpという格安レンタルサーバーを利用しているのですが、わたしのプランだとDBがBerkeley DBしか利用できないため、MT4にするタイミングであらたにさくらを借りることにいたしました。memolog.jpのドメインは現在のレンタルサーバーで取得していただいていて、ドメインの移行はなにかと面倒そうだったので新たにmemolog.orgというドメインを取得しました。

現在のレンタルサーバーには2004年当時、ドメインのとりかたもMTの設置方法もよくわからない状態でいろいろとお世話になりました。深く感謝するとともに、新天地にてひきつづきブログライフを楽しもうと思う次第でございます(あまり更新していないけど)。

RSS Feedはひきつづき、http://feeds.feedburner.jp/memolog をご利用いただけます。以前からhttp://memolog.jp/index.rdf などをご購読の方には、恐れ入りますがhttp://feeds.feedburner.jp/memolog にアドレスの変更をお願いいたします。みなさまの暖かいご支援を切に願います。見捨てないでっ


Safari 3 と Web inspector

すでに鮮度が落ちてしまった感がある Safari 3 を試してみました。

とはいえ、Safari そのものにあまり関心はなく、付随する Web inspector がどんなものか試してみたかったのです。Windows 版にはまだ存在しないようですが、下記のようなコマンドをターミナルで入力して Safari 3 を再起動すると、右クリックメニューに「Inspect Element」という項目が出るようになります。

defaults write com.apple.Safari WebKitDeveloperExtras -bool true

設定についての詳細は「これが 『Safari 3』の新機能だ!! (その3)」の記事を参照。ざっくりとして所感ですが、まだ実用的な状態ではないなという感じでした。ウェブ制作という視点でみると、inspectしている対象がどんなプロパティをもっているかという情報だけではあまり役に立たない。どこのCSSのどの指定がプロパティに影響を与えているのかがわかってはじめて役に立つ。

SafariはWebkitというオープンソースのブラウザをベースに作成されています。Webkitは最新(Nightly)のビルドを出していて、Safari 3の先をかいま見ることができます。すでに試している人(Safari/WebKit has a new Web Inspector)が記事があって(そもそもそれを見たあとにエントリーを書いているのだが)、それをみて私も試してみました。

うーむ、かなり強力になっている。見た目のみやすさもポイントが高いですが、inspectしているプロパティとともに、プロパティが参照しているCSSも併記されている。これでデザインが崩れたときに、どこをどう直せば良いのかの情報が一通りそろった感じです。うむ。

ただ、inspectしている要素にその場でCSSやHTMLを追加することはできない。inspectするだけ。この点で、Firebugや、IE Developerと比べると機能的にはちょっと見劣りする(HTMLとCSSの作成という観点において)。たとえば、「タグをひとつ閉じ忘れたけど、HTMLが複雑でどこに閉じタグを追加して良いかわからない」といったときに、その場でHTMLが挿入できるFirebugは相当に重宝する。ローカルに保存したりして試すこともできるけれど、ダイナミックにできるほうがイライラは少なくてスピーディ。

でもでも、前述のとおり、CSSを修正するための情報は一通りそろってきつつあります。そんな Safari 3 / Webkit に敬礼したいと思います。グッジョブ!


問題解決について考える

思いついたことをそのままメモにしてブログに貼付けて公開してしまうの巻。

つかみ所がない問題を解決するのは、難しいです。問題点がはっきりしていればそれを改善するのにはどうしたら良いのかを考えれば良いのですが、問題点がはっきりしていないのに、うまくいかない問題は何を改善すれば良くなるのかがわからない。

そういうときには、まず事象について知ることが重要だと考えつきました。いま。事象について知るというのには、一つには事実を発見することかと思います。「そもそも論」もふまえて、「なぜかうまくいかない」ことについて、拡散的に、さまざまな視点からみつめていく。

拡散的にみつめる方法のひとつは、マインドマップ(ISBN 978-4478760994)があります。ただ、マインドマップの一つの弱点は、考えをひろげる「きっかけ」が見つからないということ。幸せ(happy)エクササイズとか、考えをひろげる練習をすれば良いのかもしれないけど、個人的には日米の語幹の違いと申しますか、あのエクササイズを繰り返せば考えがひろがるとも思えない。

そんなおり、さいきん読んだ「記憶力(ISBN 978-4-7631-9743-6)」という本に書かれていた「テン・クエスチョン・システム」がマインドマップをひろげるための良いフレームワークになるのではないかと思いました。「テン・クエスチョン・システム」とは、「考えていることがらについて十個の質問をし、それに答えるために、保管されている印象をすべて顕在意識の領域に引き出してくることによって、そのことがらに関してあなたが持っている情報が残らず活動しはじめる(p155)」ための十個の質問。

  1. その由来または起源は?
  2. それはどんな理由で始まったか?
  3. それにはどんな歴史があるか?
  4. それはどんな特質や個性を持っているか?
  5. それを連想させるものや、関連しているものは?
  6. それをどのように利用(活用)するのか
  7. それは何を表しているか?
  8. それからどんな結果が生まれ、どんなことが起きるか
  9. それは最終的に、あるいは将来的にどうなるか?
  10. それについて自分はどう考えているか? その理由は?

マインドマップを広げるための「きっかけ」なので、必ずしも同じ質問である必要はないし、これ以外の質問も思いついたら、回答してみるのもの良い。問題点が明確にできなくても、その事象についての深い見識が得られるというもの。

これどうかなあ。クリエイティブ・シンキング(ISBN 4-478-76078-0)に載っているフレームワークもうまく利用できるか考えてみよう。


Intel Mac に MT4 betaをインストールする

Intel MacにMovable Typeをインストールしてみましたの続編です。今度は話題沸騰中のMT4(Movable Type 4)のBETA版をmacにインストールしてみました。大事なウェブサイトだからbeta入れて問題があったら困るとかで、すぐに乗り換えることができなくても、自分のMacでならてきとうに楽しめる!

MT4 betaをダウンロード

MT4 betaのページにアクセスして、ページの右側にある「DOWNLOAD MT4 BETA」をクリック。ページの指示に従ってダウンロード

ダウンロードしたファイルを解凍して「Sites」フォルダの下に格納します。格納後、フォルダのパーミッションを777に変更します。Macの場合はフォルダを右クリックして「情報を見る」を開くと「所有権とアクセス権」という項目があるので、そこから詳細の情報の権限をすべて「読み/書き」に変更します。

MT4用のデータベースを作成

/usr/local/mysql bin/mysqladmin -p -u root create mtbeta4

前回のインストール時に必要なものはすでにインストールしているので、今回はMySQLにMT4用のデータベースを作成するだけです。

MT4にアクセス

MT4のフォルダにアクセスします(私の場合は、http://10.0.1.2/~username/MT4-beta1-20070605)。「Log in to Movable Type」というリンクをクリックすると、自動的にインストール用のウィザードが開きます。

まずRequirements checkが出ます。前回インストールしているため、特に不足moduleはなしでした。オプションで必要なモジュールについては、いくつかありましたがMacにうまくインストールできない(認識できなかった)ため、今回はスキップ

Databaseの設定を行います。Databaseの名前は先ほど作成した「mtbeta4」。Database serverの「localhost」はそのままで大丈夫。

データベースのチェックが終了すると、メールの設定画面に移動。Macの場合はsendmailを選んでおけば、とりあえず問題ないです。パスも変更しなくて大丈夫。test sendingの項目に自分のメールアドレスを追記しておくと、テストでメールを送ってくれます(入れなくても大丈夫)。

この作業が終わると、自動的にmt-config.cgiを作成してくれます。次にユーザーの作成。それが終わると、Databaseの初期化を自動的に行います。

「Login to Movable Type」のリンクをクリックするとmt.cgiにアクセスして、新しくなったCMS画面を見ることができます。

ブログ用のフォルダの作成

Sitesの下にブログ用のフォルダを作成します。名前はなんでも良いと思いますが、とりあえず「blogmt4beta」で作成しました。パーミッションもmtが作業できるように777に変更。Macの場合はフォルダを右クリックして「情報を見る」を開くと「所有権とアクセス権」という項目があるので、そこから詳細の情報の権限をすべて「読み/書き」に変更します。

ブログの公開設定を変更

「config」の「blog setting」の項目を選択して、設定のページに移動。そこから左メニューにある「publishing」のリンクをクリックして「publishing setting」のページに移動します。

デフォルトで記入されている内容を変更。

設定を変更して、ブログを再構築! 右上のメニューから「目」の形をしたアイコンをクリックすると、ウェブページを確認できます。

これで完成! ほとんど言われた通りに作業するだけなので簡単です。唯一つまづきそうなのは、パーミッションの変更を忘れてしまうとか、それぐらいではないでしょうか。


個人的によく使うMacキーボードショートカット

個人的よく利用しているキーボードショートカットを紹介します。どれも隠された機能ではなく、普通にヘルプに載っているような機能です。

動作中のアプリケーションの次のウィンドウを操作する

たとえばSafariでウィンドウを二つ開いているときに、このショートカットを利用して別のウィンドウを前に表示することができます。Command+TABでアプリケーションを切り替えられますが、それをアプリケーションの中で行うようなイメージです。これは覚えておくと便利。

私は英語キーボードを利用しているので、Command+`という設定にしていますが、日本語キーボードを利用しているときは他のキーを割り当てた方が便利かと思います。システム環境設定の「キーボードとマウス」の「キーボードショートカット」からキーの割り当てをすることができます。

Finder上でCommand+Down、Command+UP

Finder上でCommand+Downを実行すると、選択しているファイルをデフォルトのアプリケーションで開きます(フォルダの場合はフォルダの下の階層に移動します)。Command+UPを実行すると、現在の階層から上の階層に移動します。

Safari上でCommand+Shift+Right、Command+Shift+Left

Safari上でCommand+Shift+Rightを実行すると、現在選択しているタブから右のタブに移動します。Command+Shift+Leftを実行すると、左に移動します。Firefoxの場合は、Command+1で一番左のタブ、Command+2で二番目のタブを選択できます。

Excel上でCtrl+U

Excelのセルを選択している状態で、Ctrl+Uを実行すると選択していたセルを編集モードにします(ダブルクリックするのと同じ)。MacでExcelを使っている人がどれだけいるかはしりませんが、使っている人にとっては、これは相当に便利です。いちいちセルをダブルクリックする必要がないのです!


タブレットの買い替えたのです。

以前からずっと買い替えたかったタブレットを購入しました。iBookを購入して2週間で新しい機種が登場したという苦い思い出があるのですが、それにも懲りず今回も特に予備知識なく、どーんと買いました。特に理由なくApple Storeで購入したのですが、Amazonで購入した方が5000円ほど安いという事実に愕然としつつ、どーんと買いました。ヨドバシの方が安かったのではないかと後悔しつつも、調べるのも面倒なので、どーんと買ったのです。

いままではFAVOの方を利用していたので、広くなったタブレット領域に少しとまどいつつも、ブログのバナー画像をほそぼそと描いたのでした。文章を書くのも好きですが、絵をてきとうに誰に気兼ねすることなく、思いのままに描くのは本当に気持ちがいいです。考えなしに描いてしまったので、文章よりもバナー画像が無駄に大きい、そして右側に余白がたくさんあるというバランスの悪い状態ですが、気にしない、気にしない。


Intel MacにMovable Typeをインストールしてみました

Tiger UNIX的システム構築を参考に、自分のMacにMovable Typeをインストールしてみました。技術的素地の薄い私ですが、インストールできました。自分のMacにインストールしても無意味なのでは?と疑問に思う方もいると思いますが、テンプレートを書き換えたいなど、生成されたテンプレートをみながら行いたい作業などをするときにローカルにあるといろいろ便利です。また、自分のリスクだけで実験ができるので、気楽にいろいろ試すことができます。(インストールは個人の責任の範囲でお願いします)

とりあえずXcode2をインストール

Macの開発ツールであるXcode 2をとりあえずMac OS XのCDからインストール。プログラムを組み込む(コンパイル)するために必要なツールなど入っています。

Apatcheの起動と設定

システム環境設定の「共有」設定で、「パーソナルWeb共有」のチェックを入れる。これで完了。設定ウィンドウの右に表示されているアドレスが、ローカルのアドレスになります(たぶんhttp://10.0.1.2/username)。

設定は先に挙げた本を参考に、/etc/httpd.confのperlとphpに関する設定のコメントを外しましす。

MySQLのインストール

MySQLのサイトからMySQLをダウンロード。書籍ではバージョン4をダウンロードしていますが、ここは5でダウンロードしました(Mac OS package formatのmax版)。書籍は2005年7月に発行されているので若干情報が古いです。

ダウンロードしてきたパッケージをすべてインストール(readmeファイルをのぞきますが)。システム環境設定に「MySQL」を作成するか尋ねられたら「はい」を選択。

インストールが終わったら、システム環境設定に作成されている「MySQL」の項目から、MySQLを起動。起動完了!

MySQLの設定

/usr/local/mysql にインストールされたmysqlを利用可能な状態に設定していきます。ターミナルを開いて下記を実行

  1. mysqlのディレクトリに移動:cd /usr/local/mysql/
  2. dataのディレクトリの権限をmysqlに変更:sudo chown -R mysql data
  3. rootのパスワードを設定:/usr/local/mysql/bin/mysql/bin/mysqladmin -p -u root password xxxx
  4. MT用に「blog」という名前のデータベースを新規作成/usr/local/mysql/mysqladmin -p -u root create blog

.bash_profileにPATHを追加

.bash_profileに「export PATH=/usr/local/bin:/usr/local/:$PATH」を追加。これで/usr/localにインストールしたプログラムを優先してみてくれます(みてくれるみたい)。

perlモジュールのDBIとDBD::mysqlをインストール

必須のモジュールのインストールです。書籍では該当モジュールをダウンロードしてmakeする方法が紹介されていますが、ターミナルからsudo perl -MCPAN -e 'install DBI'して、インストールする方法をとりました。perl -MCPANでは依存関係にあるファイルを自動的にダウンロードしてくれるので、便利。いろいろと設定を聞かれますが、勇気を持って対応します。(このときwgetをあわせてインストールしました)

ただ、DBD::mysqlのモジュールの最新版(4.001)をmakeしたところ、正体不明のエラーが発生。。。試行錯誤の結果、3.0008だとインストールがうまくいくというところで、正体不明のまま決着。

Movable Typeをダウンロード

Movable Typeの個人無償版をダウンロードします。ダウンロードしたデータは、ユーザーフォルダの「Sites」に投入します。

mt-config.cgiの設定

ブラウザを開いて、http://10.0.1.2/username/mt/mt-check.cgiにアクセスして、最低限のモジュールがそろっているかを確認。そしてmt-config.cgiで必要最低限の設定だけします。

  1. CGIPathをhttp://10.0.1.2/username/mtに変更
  2. mysqlの設定らしき場所のコメントを外して、設定
    • Database blog
    • DBUser root
    • BDPassword xxxxx

http://10.0.1.2/username/mt/にアクセス。表示されたページの「ログインページへ」をクリック。インストールが始まります。あとはインストールが終わるまで待って完成です!


フォントのサイズを段階的に変更するボタン

Ajaxライブラリリファレンスを参考に「フォントのサイズを段階的に変更する」というJavascriptを実験してみました。右のサイドバー(トップページのみ)の右上にひっそりとある「+ | - | reset」というリンクをクリックすると、記事のフォントサイズが大きくなったり小さくなったりします。「reset」をクリックすると、元のサイズ(12px)に戻ります。機能的にはあまり役に立ちませんが、課題演習だと思っていただければ。。

スクリプトは、prototype.jsmoo.fxをインクルードして、利用できる関数を利用するだけで完成。Javascriptはよくわからないのであまり効率的な書き方にはなっていないと思いますが、なんとなく動いているようです(IE未確認)。ライブラリすごい。

Ajaxライブラリリファレンス(p183)では、fx.Text()という関数での利用例が記載されていたのですが、どうやらmoo.fx.jsが2.xにアップデートしたときに、関数の構成が変わったようです(おそらくより汎用的になった)。fx.Testの代わりにdivObj = new fx.Style("latest-posts","font-size",{duration:100});というような感じで利用すると、うまく動作します。

この関数では始めのサイズと終わりのサイズを指定することができるのですが、始めのサイズを固定値にすると連続的な動きにならないので、現在のサイズを取得してそれを参照するようにしてみました。現在のサイズを取得するのもprototype.jsのElement.getStyleを利用して取得しています。うーん、便利。

同じ要領で画像のサイズをページ内で拡大したり縮小したりもできそうですね。ふむふむ。


<script type="text/javascript" src="<$MTBlogURL$>prototype.js"></script>
<script type="text/javascript" src="<$MTBlogURL$>moo/moo.fx.js"></script>
<script type="text/javascript" src="<$MTBlogURL$>moo/moo.fx.pack.js"></script>
   
<script type="text/javascript"><!--
window.onload = function (){
divObj = new fx.Style("latest-posts","font-size",{duration:100});
}

function changeTextSize(num){
n = Element.getStyle("latest-posts", "font-size") ;
size = { current:"", changed:""};
size.current = parseInt(n.replace("px", ""));
size.changed = size.current + num;
divObj.custom(size.current, size.changed);
}

function changeTextSizeReset(){
n = Element.getStyle("latest-posts", "font-size") ;
size = { current:"", changed:""};
size.current = parseInt(n.replace("px", ""));
divObj.custom( size.current, 12);
}

// -->


Book Review:経営理論 偽りの系譜

ハブソン大学歴史学特別教授のジェームズ・フープス氏の著作。本書では、マネジメントの大家(グル)の生い立ちとその歴史的背景を紹介しながら、グル達の思考について優れていた部分と優れていなかった部分を評価しています。マネジメントの大家そのものの人生を掘り下げて紹介しているという点で他の本とは違う趣きを持っています。

この本の核心は、たとえマネジメントの大家と呼ばれるほどの知識人であっても、「個人的な経験」や「思い」がバイアスとなり、その時、その状況に対する最適な解を示すことができない場合があるということではないかと思います。本書では「企業とは何か」におけるドラッガーとスローンとの認識の違いについて「社会の視点からGMを分析して、時として現実離れした道徳主義に陥った(p330)」と評しています。当時のドラッガーは理想的な社会に対する思いが強すぎて、利益団体である企業の現実に対するずれた評価を下してしまった。

本書から導出される知見は、ドラッガーの主張がすべて「偽り」であるということではなく、「社会とは、会社とはこうあってほしい」というドラッガーの思いが込められていることを認識したすることで、適切な状況でドラッガーの知を活用することではないかと思います。常にドラッガーの格言が最適とは限らない、逆にドラッガーの格言が最適の場合もある。 他の大家にも同様のことが言えます。

翻って考えてみれば、それは自分自身にも言えます。自分が何かを主張するとき、その主張には自分の経験や「思い」に偏ったものかもしれません。それがその時、その状況では最適な解ではないかもしれない、それを認識し、自省することがより質の高い仕事をするのに必要なことではないかと思います。はい。


余談ですが、個人的にドラッガーのすばらしいと思うところは、学習することを止めずに進化していったところです。スローンも「後年、十分に地に足のついた考え方をするようになったとドラッガーを高く評価(p336)」したそうです。