hitode909の日記

趣味はマリンスポーツですの日記です!笑いと感動とマリンスポーツの話題を世界に配信します!

Quyo作った

開発合宿で作ったQuyoをはてラボでリリースした.捨てた物の思い出を投稿できるサービス.

リリースの告知はこちら.


メンバーは大承認と同じで,エンジニアをid:shimobayashiさんと2人でやって,デザインをid:ueday,あとリリース時にはドメインの用意をid:y_uukiさんに手伝ってもらった.
前回の開発合宿と同じアーキテクチャで,すばやく作る作戦で,開発合宿は3日間あるのだけど,2日目の午後には社内リリースして,合宿中に社内でワイワイ遊んでもらいながら開発も続ける,という作戦を展開した.プロトタイピングに向いた構成で,層は薄く,テストは書かない,という作戦.


http://instagram.com/p/v2YZ7rxGv8/
作戦考えた


これは開発中に昼休みに睡眠する様子.前日に飲みすぎてめっちゃ眠かったし,チームメンバーも自然に眠いという雰囲気だった.
http://instagram.com/p/v2boJMxGng/
昼寝して戻ってきたら座るところなかった


せっかくなので,おすすめの思い出を紹介します.

曲がる玉を撃てるビーダマンの思い出 by shimobayashi - Quyo | つづろう、モノの思い出

これ持ってたのでなつかしい.ぼくが持ってたやつもすぐ折れた.こないだヨドバシにビーダマン探しに行ったらもう売ってなかった.

マイルドヤンキーだった15歳の夏の思い出 by chira_rhythm55 - Quyo | つづろう、モノの思い出

これ社内リリースのときに投稿されたのだけど,こういう使い方があるとは思ってなかったのでおもしろかった.

ご利用ください

ほかにもよい思い出が集まっているので,ぜひご利用ください.

Plack::Middleware::Bootstrapというのを作った

社内のプロジェクトで,JSON APIのドキュメントをHTMLでレンダリングして,api.example.com/doc とかで開発中に見れる,というのを作って使ってる.
ドキュメント見れるのは便利なのだけど,スタイルの当たってないHTMLで,見た目が悪かった.
とりあえずBootstrapでも当てとくかと思ったので,HTMLにBootstrapを当てて配信してくれるPlack Middlewareを書いた.


hitode909/Plack-Middleware-Bootstrap · GitHub


CPANにも上げた.
Plack::Middleware::Bootstrap - A Plack Middleware to prettify simple HTML with Botstrap design template - metacpan.org

Perlでホームページを作りたくなったら,以下のようなコードを書くと思う.

use strict;
use warnings;
use Plack::Builder;

my $app = sub {
    return [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ <<HTML ] ];
<h1>こんにちは!!</h1>
<p>ようこそ!!ここは僕のホームページです!!</p>
<p>今日は<code>Perl</code>を書きました!!</p>
<p>以下は僕の趣味と特技です</p>
<table>
  <tr><th>趣味</th><td>マリンスポーツ</td>
  <tr><th>特技</th><td>排水溝のぬめり取り</td>
</table>
HTML
};

builder {
    $app;
};

これでもいいけど,どこか見た目が悪い.どこかジオシティーズを思い出す.

f:id:hitode909:20141215193509p:plain


そこで,Plack::Middleware::Bootstrapをロードします.enableするだけ.

use strict;
use warnings;
use Plack::Builder;

my $app = sub {
    return [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ <<HTML ] ];
<h1>こんにちは!!</h1>
<p>ようこそ!!ここは僕のホームページです!!</p>
<p>今日は<code>Perl</code>を書きました!!</p>
<p>以下は僕の趣味と特技です</p>
<table>
  <tr><th>趣味</th><td>マリンスポーツ</td>
  <tr><th>特技</th><td>排水溝のぬめり取り</td>
</table>
HTML
};

builder {
    enable "Bootstrap";
    $app;
};

f:id:hitode909:20141215193510p:plain
このとおり,見た目がしゃきっとした.コードはちゃんとコードと分かるような色がついている.
Bootstrapの力でiPhoneでもいい感じに見れる.
f:id:hitode909:20141215194719p:plain

実装

レスポンスのHTMLをTreeBuilderでパースして,headとbodyを取り出して,Bootstrapのテンプレートに突っ込んで返す,という作戦を展開している.
もともとあったbodyのクラスとかなくなるけど,bodyにクラス振りたいような場合は,こんなのを使わず普通にBootstrap読み込めばよいと思う.

やり込み要素

三条にDEN-ENっていうパブがあって,ビールいっぱいあって,広々としてて,安いからよく行く.
メンバーズカード作るとまず5%オフになって,ずっと通いつめると,位が高まって割引率が上がっていく.6回でシルバー,20回でゴールドになれる.
たぶん3年間くらい通ってて,きのう通いつめすぎてついにゴールドになってしまった.月に1回行くと3年くらいかかる.これでいつでも15%オフになってしまう.5000円分飲んだら4250円になるのでなかなか安い.


しかしゴールドの次はないので,これまでは競技性とか,やり込み感があったのが,ただの食事になってしまって,これまでのような情熱は失われてしまった気がする.
これをしましょう,その次はあれ,できるかな,みたいな課題を用意しておくと,課題がある間は楽しいけど,クリアしてしまうと,なんでこんな物に夢中になってたのかというような,空虚な気持ちになる気がする.書道とかなら,うまくなったら能力が高まるけど,得たものが割引率というのは空虚な気もする.
何もなくてもただやり続けるような形になると,長続きできると思う.日記書くのとか,とくにやり込み感ないけど,日記書くのがおもしろいから毎日書いてる.

f:id:hitode909:20141215095651j:plain