月別アーカイブ: 2011年1月

ギー杉月報 2011年1月

ギー杉をつくろうと思ったきっかけ

雇用されずに好きなことをやっている方が、結果的には生産性が高いのではないか?

人生の大先輩が聞いたら何を甘ったれたことを言っているんだと怒られるかもしけないけれども、それでも大企業に雇われてしばらく過ごしてみた経験から、そう素直に思うに至った。

好きなことして遊びまくったっていいと思う。みんなが遊びまくっても、世の中はそんなにおかしくはならないと思う。だってみんなの「好き」はそれぞれ違うから。

ある人はプログラミングが好きかもしれない。ある人はアイデアを考えるのが好きかもしれない。ある人はだらだらするのが好きかもしれない。ある人は人を喜ばせるのが好きかもしれない。ある人は企画を立てて人を動かすのが好きかもしれない。世の中がだめになると思えばそこにはチャンスがあって、そのチャンスを捕まえることが好きな人もいるだろう。

そして、その好きが繋がって社会が構成され、好きなものにお金が動いて経済がなりたっている。実は、僕はサラリーマンとして働く前のほうが年収が高かった。なぜなら働く前のほうが、自分の好きなことをたくさんできていたからだ。好きなことをやっていたほうが年収が高かったとは、これは皮肉なことだ。

さらに最近では、ネットを使えばほとんどなんでもできるようになってきた。仲間を集めるのも、お金を集めるのも、モノを作るのも、宣伝するのも。ネットを使えば一歩も家から出ずに、スピーディーに実現できてしまう。しかし古くからの会社の多くではそうはいかない。僕の場合は、組織を動かす歯車となった瞬間に、出来ることが一気に減ってしまった。ちょっとは反抗してみたりもしたけれど、それをすると潰されたり脅されたりするのだと学んだ。

その結果、自分の目は組織の外へ向かうようになっていった。ネットを駆使してなんでもできる、そういう人たちが集まってひとつの場所で暮らしたらどんなことが起こるのだろう? そう考えると興味がふつふつと湧いてきた。それに、忙しくて終電で帰ることが多かったため、会社の近くに泊まれる場所がほしいとも思っていた。それで、会社の近くの武蔵小杉に、ギークハウスを作りたいと思ったのだ。それが5日のことだ。

初めてギークハウスに行って@phaさんと会う

ギークハウスとは @pha さんが始めたギークたちの集まるシェアハウス。「インターネットがあれば、それでいい」という一見どうでもよさそうに思えて実は明確なコンセプトを持ったシェアハウスだ。

ギークハウスを作りたいと思った5日後の10日には、気付けば僕は @pha さんのギークハウス東日本橋にいた。そこには名古屋にギークハウスを作りたいという人もたまたま来ていて、こんなことがやりたいとか、こういう時はどうしたんだとかいろいろと話し合っていた

「あぁ、こうやっていろんな人がネットを介して集まって仲間になっていくのか。これはほんとうに面白い」ギークハウスの雰囲気を体で知って、そしてそこにこれからあるべき社会の未来をかすかに感じた。こういう場所を僕も作りたい、これはやらねばと改めて感じた。

そんなわけで早速、その日のうちにTwitterでギークハウス武蔵小杉の入居者を募集してみた。あっという間に人が集まる集まる。ネットの力はすごい。このスピード感がたまらない。ドメイン名をとったり、住民同士でやり取りできるメンバーページをGoogle Appsで作ったり、準備を進めていった。

しかし物件探しは難航

同時に、物件も探してみる。人が気軽に立ち寄ってわいわい話せるように、駅から徒歩10分以内、リビングは10畳以上という条件だけは譲らなかった。やはり武蔵小杉は家賃が高い。たまによさそうな物件が見つかるものの、シェアハウスと聞いて断られたり、そもそも返事をしてくれなかったり。

もう半分あきらめかけた22日、全く面識もないのに、藁にもすがる思いで、新宿に事務所を構えるオアゾさんの所へ知恵を授けていただこうと、ネットで連絡を取り足を運んだ。オアゾさんはいくつかのギークハウスをはじめとするシェアハウスを専門にする業者。貴重なアドバイスを様々頂き元気を頂いた!

その足でそのまま武蔵小杉へ向かう。電車の中では、とにかく地元の不動産屋さんと仲良くなろうと、想定問答集を頭の中で作り続けていた。そして、目星を付けていた物件を広告に出していた地元の不動産屋さんへアタック。終始笑顔を絶やさずに、どうしてシェアハウスをしようと思っているのか、社会的意義までも含めて説明しきった。

まるで面接をしているかのようだった。かなりドキドキした。すると、「若いのにえらいね、頑張ってね」と。しかもその目星の物件を、なんと鍵を渡してくれて「一人で行って見てきて」とまで言ってくださった。信頼を勝ち得ることができた!

掘り出し物の二世帯住宅

わくわくして見に行くと、これはかなりの掘り出し物だった。ギークハウスにできなくても自分で住んでみたいぐらい、風情があって、どことなく落ち着く二世帯住宅。こういう雰囲気の家は大好きだ! これで決まりだ!

geekhouse/2011/01a.jpg geekhouse/2011/01b.jpg 雰囲気のある玄関

geekhouse/2011/01c.jpg geekhouse/2011/01d.jpg 趣きのある装飾

というわけで、物件も仮確保し、本格的な募集を始めた。さすがTwitter、どんどんと人が集まる。Google AdWordsも試しに5000円使ってみたが、こちらはさっぱり。Twitterの凄さを実感。

ところが資金計画を立ててみると、何も工夫しなければ初期投資に200万円以上は軽くかかってしまうことが分かった。回収計画を立てるのがなかなか難しい。そんなことをTwitterでツイートしていたら、なんとある方から資金の支援をしてもいいとの返信が。これには本当にビックリするとともに深く感謝。

こうして構想から1ヶ月を経ずに、ギークハウス武蔵小杉オープンへ向けた準備は着々と進んでいった。すんなり行ったわけではないけれど、スピード感を持ってドンドンと突き進むことができるのは、ネットがあったおかげだと思う。熱意と信頼だけではここまで早くは行かなかっただろう。

来月、いよいよ、ギークハウス武蔵小杉をオープンさせる! まさに、これらの本に書かれているようなことが、現実に目の前で起ころうとしている!

geekhouse/2011/01e.jpg
  • [amazon asin=4478190445 type=inline]
  • [amazon asin=4569690386 type=inline]

スラッグを使ってリンクを貼る

以前の自作CMSでは、各記事のパス名がIDになっていて、IDさえ指定すれば、URLやタイトルを自動的にリンクにして張る、という機能を実装していました。WordPressだと各記事やページには数字のIDとは別に「スラッグ」という文字列があるらしいです。

昔の記事を移行するには、これを使うとよいと思ったのですが、スラッグからタイトルやURLを取得する関数が見つからなかったので、自分で作ってしまいました。データベースを直接見るのでかなり汚いコードですが。

まず、スラッグから記事を取得する関数です。

function effy_get_post_by_slug($slug)
{
  global $wpdb;
  $post_id = $wpdb->get_var(
    $wpdb->prepare("SELECT ID FROM ".$wpdb->posts.
    " WHERE post_name = %s".
    " AND post_type IN ('post','page')".
    " AND post_status = 'publish' LIMIT 1"
    , $slug));
  return $post_id ? get_post($post_id) : null;
}

で、これをショートコードで使えるようにします。ついでにスラッグだけではなく、ファイルへの参照も一緒にできるようにしました。ちなみにeffy_files_url()関数は、ファイルへのURLを返してくれる関数ですがこれは省略します。

function effy_link($atts,$content=null)
{
  extract(shortcode_atts(array(
      'path'   => '',
      'slug'   => '',
      'target' => '_blank',
      'text'    => ''
      ),$atts));

  $path = trim($path);
  $slug = trim($slug);

  if($slug) {
    $post = effy_get_post_by_slug($slug);
    if($post) {
      $permalink = get_permalink($post->ID);
      $title = $text=="" ? $post->post_title : $text;
      return "<a href='$permalink' target='$target'>$title</a>";
    }
    else {
      return "";
    }
  }
  else if($path) {
    if($text == '')
      $text = basename($path);

    $file_url = effy_files_url($path);
    return "<a href='$file_url' target='$target'>$text</a>";
  }
  else {
    return "";
  }
}
add_shortcode('link','effy_link');

これで、[link slug="20110106"]と書けばスラッグを使ってリンクを貼るとなるし、[link path="2009/02/digital-gino2.zip"]と書けばdigital-gino2.zipと自動的にリンクに置換されて、以前のコンテンツをほとんど手間をかけずに移行できました。

標準テーマのfunctions.phpはいじらずに子テーマを作る

このサイトをWordPressに移行する際、標準テーマがなかなかよかったのでそのまま使っていたんですが、色々と細かい機能が欲しくなるわけです。そうすると必然的にテーマのfunctions.phpをいじることになります。

が、これ、やってはいけませんね。なんでかというと、自動アップデートすると、functions.phpに加えた変更が全て消えるからです。実際にやってしまって、今までの作業が水の泡になって泣きました。

というわけで、そうならないようにするにはどうしたら良いかというと、プラグインを自前で作るか、テーマを自作する事になると思いますが、よく良く調べてみると、テーマには「子テーマ」というのが作れるようなんですね。

子テーマをつくると、親テーマに対して機能を拡張したり、動作やスタイルを変更したりすることができます。変更しない部分は親テーマのものを引き継ぐことができます。つまり、functions.phpをいじるようなことをするなら、子テーマを作って、変更する部分だけを子テーマのfunctions.phpに書けばいい、ってことですね。こうすれば、自動アップデートしても消えないようになります。ということで、やってみました。

やり方は非常に単純。style.cssと、functions.phpを適当なフォルダに入れてzipして、管理画面からアップロードするだけです。style.cssのヘッダー情報に

Template:       twentyten

って感じでTemplate:行を加えるだけで、twentytenテーマの子テーマになります。結局、style.cssはこんな感じにしました。

/*
Theme Name: effy.jp default theme
Author:     Toshio Koide
Template:   twentyten
*/

@import url('../twentyten/style.css');

これだけです。で、functions.phpに書きたかった関数群を書いて、無事動かせました。functions.phpに何を書いたかは、「スラッグを使ってリンクを貼る」のエントリで。

参考:http://codex.wordpress.org/Child_Themes

2011年1月4日(火)

  • effy.jpはこれまで2009年8月10日(月)で作り始めたphpの自作CMSで動いていたのだけれど、あまり手を入れる時間もなくなってきたので、今日からは、ありもの(WordPress)を使うことに。
  • 全データをWordPressのインポート形式になるようにエクスポートするスクリプトを書いて(メンドクサイ…)、ちょこちょこショートコードを書いて、とりあえず移行完了。