無料で作るWebサービス Codelet 作成日記 #0 ポエム


なに作るの?

CodeletというWebサービスを作る。
コード未満のコードのかけらをWeb上に置いておくサービスだよ。
例えば
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
みたいなやつね。

コード未満のコードのかけらを集めるサービスだから"Codelet"と名付けたよ。(-let:小さなものを指す接尾語。
leaf-let, pig-letとかね)

なにが不満なの?

=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
これ見て何かわかる?
これは、エクセルの現在のシート名を取得する数式なの。

正直こんなもの、パッと書けって言われても書けない。
「PERSONAL.XLSにでも書いておけばいいじゃん」と言われても、別の環境で表示する必要があるエクセル上では書けないし、現場によってはマクロ禁止なんてところもある。
そう、しがないSES契約ならね!

そうなると、この数式を使うしかなくて、しかも覚えてられないので毎回ググる。
でもググると大抵 侍エンジニア とか マイナビニュース とか、クソ重い上に冒頭のポエムが長くて欲しい情報まで遠いページにぶち当たる。もう言葉にならない。
何も知らない初心者には嬉しいかもしれないけど、こちとら

  • シート名を表示させる数式があることは知ってる。
  • 当然使いどころもわかってる。中で使ってる数式も見れば理解できる。
  • クソ長いポエムは見たくない。

という気持ちでいっぱいなの。

そうなると、しょうがないから虎の巻を作るの。
ローカルにこんな虎の巻.txtを作るわけ。

虎の巻.txt
■シート名取得
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
■hogehogeしたいときの数式
=hogehoge()

間に合わせならこれでもいいっちゃいいんだけど、

  • チーム内で共有しずらい(まともなコミュニケーションツールや環境がない現場も少なくないのだ!)
  • 現場が変わるとまた虎の巻をイチから作り直す必要がある
  • でもEverNoteとかOneNoteとかあんまり大仰なものを用意するのもイヤ

等々いろいろ問題点があるわけですよ。

こんなWebサービスを作りたい

  • 重要度:高
    • 基本的に用途とCodeletだけを書き込むBBSみたいな感じ
    • Markdonw対応
    • ログイン/検索機能は当然
  • 重要度:中
    • ゲストユーザでも参照/ 投稿可能(いたずら対策として、投稿されてひと月くらいで削除する?)
    • 投稿の共有機能
      • public:ゲストユーザ含め全公開
      • protected:チーム内にのみ公開(これは重要度:低)
      • private:自分だけに公開
    • 検索時になんかいい感じのサジェスト
  • 重要度:低