T time

プログラミングや電子工作、各種ガジェットに関するブログです。

PlantUMLで描いたUMLをブログに埋め込む

先日、ブログに状態遷移図を載せる必要がありました。

状態遷移図なんて久々でした。 あまり状態が遷移するプログラムを作っていないので。 なかなか良い思考の訓練になりました。

しかし、状態遷移を考えたとして、どうやって描いて、どうやってブログに載せるか、という所が分かりませんでした。

UMLを描くツールは持ってますが、どれもWindows用のツールです。 ブログはネット上で書くのでUMLもネット上で描きたいです。 あわよくば「画像を出力して貼り付け」とか面倒なことはせずに終わらせたいです。 図のURLを貼れば表示されると嬉しいです。

そんな時に便利なのが PlantUML Server です。

続きを読む

rbenv

f:id:tatur0u:20150617231708p:plain

github.com

ユーザごと、および、アプリケーションごとにrubyのバージョンを切り替えられる Linux, OS X 用アプリケーションを紹介します。

rbenv とは

ユーザごと、および、アプリケーションごとにrubyのバージョンを切り替えられるアプリケーションです。

Linuxの多くのディストリビューションOS Xには、はじめからrubyが含まれています。 しかし、それらは最新のバージョンではなかったり、好みの実装系ではなかったりします。 また、ユーザごとに使用したいバージョンが異なることもあります。

また、Webアプリケーション開発したり運用していると、使用しているフレームワーク毎に要求する ruby のバージョンが異なることがあります。そのためアプリケーションごとに ruby のバージョンを切り替えたくなります。

rbenvはそれらの要求に答えてくれます。

続きを読む

プログラマーの気持ちになって自動改札を通る

f:id:tatur0u:20150618144130p:plain ぱくたそ - フリー写真素材・無料ダウンロード

プログラマーの気持ちになると、駅の自動改札をスムーズに通れる。という話しです。

自動改札。 便利ですよね。 特にSuicaをはじめとするIC乗車券が導入されてからは、切符やカードを鞄からを取り出す必要もなくなり、とても便利になりました。 携帯電話でも通れますしね*1。 タッチアンドゴー万歳!

しかし、スムーズに通れるようになると少しの遅延が気になりますよね。

特に、Suicaのタッチに失敗して改札を通れない場合、その人の対応によってはなかなか混雑が解消しないことがあります。

そんなときは、プログラマーの気持ちになってみましょう。

*1:iPhoneも対応してほしいです

続きを読む

srvdir

f:id:tatur0u:20150616204924p:plain

srvdir - make any folder a secure public fileserver

ローカルの静的コンテンツをインターネットに公開するためのHTTPサーバを紹介します。

まえがき

昨日一昨日 とブログに書いた通り、 Pebble アプリを開発するために、 CaddyでローカルのHTMLをWebブラウザから見られるようにし、 それをngrokでインターネットに公開して「これでもう怖いものはない」と悦に入っていました。

当然Twitterにも誇らしげにツイートしますよね。

すると、見ず知らずの外国の方からこんなリプライが。

意訳するとこんな感じでしょうか。

Caddy は確かにすげーけど、その使い方ならならsrvdirだろ。 知ってるか?ngrokチームが作ったやつだぞ。

正直、パッと見て srvdir をrmdirのタイポかと勘違いして「何言ってんだこいつ?」と思いましたが、そうではありませんでした。

そして、この srvdir がマジ超絶すげーやつでした。

続きを読む

蓄熱セラミックス

「永続的に熱エネルギーを保存できる「蓄熱セラミックス」を新発見」という記事がASCII.JPに載っていました。

ascii.jp

どういう記事かというと。

東京大学などの研究グループは5月13日、熱を永続的に溜めておける「蓄熱セラミックス」という新概念の物質を発見した。

名前を「ストライプ型-ラムダ-五酸化三チタン」というセラミックスを発見したそうです。 熱を蓄えておき、好きなときに取り出せるそうなのですが、これの凄いところは…

続きを読む

ngrok

f:id:tatur0u:20150615210427p:plain

ngrok - secure introspectable tunnels to localhost

ローカルWebサーバを簡単にインターネットに公開するためのアプリケーションを紹介します。

まえがき

私は、Pebble というスマートウォッチ用のアプリを作っています。

PebbleはiPhoneAndroidと接続し、Pebble上のアプリの設定をスマートフォン上のアプリから変更するのですが(ややこしい)、設定画面をHTMLで書いて外部サーバに置かなければならないという制約があります。
さらに、開発中もスマートフォンアプリ経由で設定画面を見る必要があるので、インターネットに公開されたサーバ上で開発するのが望ましいです。

Webサーバは Caddy が解決してくれましたが、私はインターネットに公開するサーバを持っていないので途方に暮れていました。

taturou.hatenablog.com

続きを読む

Caddy

f:id:tatur0u:20150615195659j:plain

Caddy - The HTTP/2 Web Server Made for Humans

静的なコンテンツを簡単に公開するためのHTTPサーバを紹介します。

Caddyとは

Caddyは手元の静的コンテンツを簡単に公開するためのHTTPサーバです。

以下の特徴があります。

  • 指定のディレクトリ以下をその構造のまま公開する
  • MarkdownをHTMLに変換する
続きを読む