タグ

ブックマーク / r7kamura.github.io (3)

  • SQL Translator - r7km/s

    SQL::Translator という、 SQLの構文解析器 + これを利用した便利なツール群を読んだ。 SQL::Translatorの使い方 とりあえずSQL Translatorの使い方を知らないことにはどうにもならないので、 使い方を調べて小さな動くコードを書くことに。 まず手元にbefore.sqlとafter.sqlという2つのSQLのファイルを用意した。 before.sqlでusersテーブルを作成し、更にafter.sqlitemsテーブルを作成している。 $ cat before.sql CREATE TABLE `users` ( `id` integer(10) unsigned NOT NULL AUTO_INCREMENT, `name` char(16) NOT NULL, PRIMARY KEY (`id`) ); $ cat after.sql CREA

    nanolia
    nanolia 2014/07/02
  • Gitreceive - r7kamura per second

    gitreceive という、git push時に任意の処理を実行する為のツールがある。 Dokku の中で同様の仕組みが使われており、 git push時にbuildpacksでアプリをbuildDockerコンテナの中で動かす、 という機能を実現している。 認証機能 gitreceiveはSSH公開鍵登録用インターフェース、 及び公開鍵を利用した簡易的な認証機能を持っているが、 公開鍵を登録したユーザからのPushのみを許可するというもので、 Pushするアプリケーションごとに別々の権限を与えるということは出来ない。 forced command gitreceiveはSSHのforced commandと呼ばれる機能を利用している。 forced commandを使うと「SSH接続時に何をするか」という情報を、 クライアント側ではなくサーバ側で指定出来る。 OpenSSHでは、au

    nanolia
    nanolia 2014/02/27
  • Apiary - r7kamura per second

    API(とそれに携わる開発者)の規模が拡大してくると、ドキュメントの整備や、仕様と実装の一貫性の維持、 クライアントとの知識の共有など、考慮すべき問題が沢山出てくる。 これらの問題に対する現実的な解決策を探るため、 ApiaryというAPI開発支援用のサービスを簡単に俯瞰することにした。 ここでは紹介しないが、他に RAML、 JSON Schema、 Swagger、 WADL、 Autodoc などが関連するものとして挙げられる。 Apiary http://apiary.io/ Apiaryは、API Blueprintと呼ばれる言語でAPIのインターフェース仕様書を記述する、という開発方法を提唱している。 API BlueprintはMarkdownを拡張した言語で、特殊な記述を用いて幾つかのメタ情報を付与出来る形になっている。 Markdownを採用することで人間にとって読み書き

    nanolia
    nanolia 2014/02/17
  • 1