車輪の再発明という言葉があります。同じことを叶えるためについつい自分で作ってしまう行為を指します。」と制作に入るのがまさに「車輪の再発明」な感じです。車輪の再発明は一般的に非効率だと言われ推奨はされません。僕は勉強のためならばよいと思ってSinatraライクなフレームワークを作ってたりもします。既存の似たようなものを参考にできるため、学ぶことが多いです。状況によっては再発明は効果的なこともあると思っています。いえやはり、目的を最短で果たすためには車輪の再発明は避けた方がよいでしょう。お仕事をしたことがあるのですが、その際に彼は以下のように話していました。車輪の再発明はしてもいいけど、仕事の時は絶対駄目だよこの端的な方針は僕も参考にしたいところです。車輪が無いときは?しかし、自分がこれをしたいという目的を果たすものが世の中に存在しない時も多々あります。自分一人や数名で使う特殊なケースで最適なものが無いということがよく見受けられるます。そのような時、あなたがクリエータ、もしくはクリエータを目指すのであれば、「無ければつくる」方針でいきましょう。書籍執筆のための環境を作る実は、この記事。将来出版させたい書籍のための原稿の意味も兼ねて書かれています。原稿を書き始めてちらほらと集まってきているのでそのドキュメントを共有したいと先日から思ってました。文章は記事ごとに小分けにしてMarkdown書式のプレーンテキストで執筆しています。その中にMarkdownファイルを入れれば編集者の方も見ることができるだろうと考えてみました。以下のような質問をいただきました。いかんせんPerl製のコマンドラインのソフトなんで勧めてみたものの、少しハードルが高いかなぁと感じました。そこであらためて、僕と編集者の方、2人にとってのニーズを整理してみましょう。僕が主にファイルを編集をする編集者さんがそのMarkdownをHTMLとして確認したいファイルはDropboxで逐一共有されているこのニーズを簡潔に叶えるアイデアを考えてみるとこのようなものになりました。一般には利用できないということがわかります。環境も無ければつくる。この方針にのっとります。DropboxのDeveloper向けサイトを見てAPIの仕様について調べます。開発者モードでは5名までのユーザーに使ってもらうことができそうです。Perlのライブラリ倉庫である「CPAN」を覗いてみました。今回は「WebService::Dropbox」というモジュールが分かりやすかったので、こちらを使用したいと思います。「無いものをつくるために車輪を利用している」わけですね。ところでこのモジュール、非常に便利です。知るためにサンプルプログラムを作成。だいたい分かってきたのでいよいよサービスの名前を「Dropdown」として、Webアプリを作ります。Markdown形式のテキストをHTMLへ変換するにはこれもまたCPANモジュールの「Text::Markdown」を使いました。Dropboxのファイルもしくはディレクトリの名前を受け取とり、ファイルだったらそのデータをダウンロード。Markdown形式にマッチすればHTMLに変換して綺麗に表示させる部分がこのアプリの肝です。そのControllerのコード部分はちょっと長いですが以下のようになりました。$self->render('dropbox/list');}1;ローカルで試してみて、問題ないのでパブリックな場所に置いて、サーバの設定。本番環境とローカルの環境の差でつまづきましたが、無事修正は終わり、使えるようになりました。Markdownも綺麗に整形されています。なにぶん出来たのが数時間前のお話なので連絡のメールがまだ見られてないようで使ってもらってないのですのよね。いう事態は起こらないでくださいと願っている最中なのです。まとめ車輪の再開発はしないで車輪を利用した方が早い。いう精神はずっと持っておきたいと思います。執筆をするような環境において必要なものもしかりです。「無ければつくる」の心得はWebサービスのアイデアを考える時、モチベーションを上げる時にも発揮されますね。お知らせメルマガ「ゆーすけべーラジオ」ではWebサービスにまつわる事柄を書いています。よろしければ覗いてみてください。