Hatena::ブログ(Diary)

ツユダクの肉増しのRuby on Railsの初心者で このページをアンテナに追加 RSSフィード

2015-10-20

使い捨てメールアドレス発行サービス作りました

| 23:34 | 使い捨てメールアドレス発行サービス作りました - ツユダクの肉増しのRuby on Railsの初心者で を含むブックマーク 使い捨てメールアドレス発行サービス作りました - ツユダクの肉増しのRuby on Railsの初心者で のブックマークコメント

http://instance-email.com/

1セッションで最大6個までメールアドレスをワンクリックで発行できます。
メールアドレスは作成から2日間利用可能で、5MBまでのメールを受信できます。
途中だるくなったり設定うまくいかなったりで制作期間2ヶ月くらいという感じです。
フロントはnginx + unicorn(Rails)でバックのメールサーバにはPostfixDovecot使いました。他にはmysql, debianで。
サーバはさくらのVPSで、 デプロイcapistranoであるあるな構成です。

f:id:jiikko:20151020233135g:image

あと、ブログを引っ越しました。以降は http://blog.jiikko.com/ で書いていきます。
http://blog.jiikko.com/

最近, Lokka => はてブロ に移動する人がちらほら見るのですが今回は逆パターンです。
自分でCMSをホストするとなると画像のアップロードどうしようか考えてます。全部base64エンコードして本文に含めたらポータビリティとか思ったり。

2015-09-07

デプロイツール

| 21:48 | デプロイツール - ツユダクの肉増しのRuby on Railsの初心者で を含むブックマーク デプロイツール - ツユダクの肉増しのRuby on Railsの初心者で のブックマークコメント

capistranoロールバックできるし一通りシムボリックリンク貼ってくれたりでだいたいのことはカバーしてれくるので導入コストはかかるが便利なんだけど、
railsデプロイするために必要な周辺gemの調査が毎度めんどい。

思えばcapstrano2 => 3の時もめんどかった。cap2系はrailsにフォーカスして作られていたので必須gemほとんどなかったんだけど,
3系からrvm, bundlerあたりが別のgemに切りだされて、railsアプリをデプロイするにはcapistrano-rvm, capistrano-bundlerあたりが必要になった気がする。

それで、半年ぶり新しいcapを使おうと思ったらrvm周りのgemが謎な名前になってるじゃん。

https://github.com/rvm/rvm-capistrano
https://github.com/rvm/rvm1-capistrano3

READMEに書いていた。

rvm-capistrano 1.3.0 with Autolibs requires at least RVM 1.19.0.
capistrano 3.0.0 is a rewrite and does not work with this gem, use rvm1/capistrano3 it will be extended to match this gem functionality.

代謝するものだし仕方ないのかなと思いつつ、古いバージョンを使うのも嫌なので仕方なく今のcapistranoについて調べているところ。

まとめ

capistarano捨てて自家製秘伝のタレshellスクリプトデプロイしよう!

2015-09-02

μTRONキーボード買った感想

| 21:50 | μTRONキーボード買った感想 - ツユダクの肉増しのRuby on Railsの初心者で を含むブックマーク μTRONキーボード買った感想 - ツユダクの肉増しのRuby on Railsの初心者で のブックマークコメント

エルゴノミクスキーボードはMicroSoftのを半年くらい使っていてようやく気持ちよく使えるようになったところだったんだけど、値段が安いせいか割りとちゃんと押さないと判定されなかったり、EnterKeyが遠いし全体的にでかい。そしてESCキーの打刻感が最悪。
emacsキーバインドを常時マッピングしているので致命的にやばいって訳ではないんだけど若干ストレスなので、このキーボードにロックインされるのは不憫だと思っていた。
最近腱鞘炎というか手の甲が火を噴いてきたのでμTRONキーボードを買った。とりあえず糞高い。

使ってみてMenu、Alt、半角/全角が一番左に密集していたり、スペースとかTABの位置がぶっ飛んでいる場所にあるし、
左4列目がキー1つ分左に流れているのでとんでもないものを買ってしまった感がある。
だがしかしリマップしまくってなんとか自我を保っています。

Macのキーボードユーティリティのkarabinar でリマップしました。
↓リマップのprivate.xmlです。デバイスIDを指定してこのキーボードのみリマップするようにしています。
https://gist.github.com/jiikko/984be9bdd76d839332ae

現時点で言えることはkarabinar便利です。

これ書きながら思ったのだけどオフィス用と自宅用をおくなら、コスト的な意味でキネシスの左右分離でよかったんじゃねえの。
http://www.edikun.co.jp/kinesis/freestyle.htm

なお、このテキストはApple純正キーボードで書いています。

2015-08-30

sugoi-aliases-updator の 0.0.3をリリースしました

| 21:16 | sugoi-aliases-updator の 0.0.3をリリースしました - ツユダクの肉増しのRuby on Railsの初心者で を含むブックマーク sugoi-aliases-updator の 0.0.3をリリースしました - ツユダクの肉増しのRuby on Railsの初心者で のブックマークコメント

https://github.com/jiikko/sugoi-aliases-updator
https://github.com/jiikko/sugoi-aliases-updator/releases/tag/v0.0.3

社内から要望があったのでその対応です。

以下更新内容です。

  • rmにはdelを、listにはshowというコマンドのエイリアスを受け付けるようになりました。
  • ruby1.9系に対応しました。

以上。

2015-07-26

dovecot quota した

| 18:04 | dovecot quota した - ツユダクの肉増しのRuby on Railsの初心者で を含むブックマーク dovecot quota した - ツユダクの肉増しのRuby on Railsの初心者で のブックマークコメント

quotaは、メールボックスの残り容量に上限を設ける機能で今回その設定をした。

postfixでローカルの配送をする場合、quotaにはmboxのみ対応していてmaildirでもquotaを設定するにはDVAというパッチを当てる必要があるらしい。
(なんで公式にmaildirに対応しないんだろう?2012年より前からパッチ充てるフローがあるあるみたい)

パッチあてるかーと思ってquotaについて調査している時、ちょうど1週間くらいDVAをホストしているsourceforgeがサイトダウンしている時期だった。ので代替案を探していたら、dovecotのlmtpでローカル配送をすればpostfixにパッチなしでmaildirのquotaを使えるとどこかの記事に書いて有ったのでlmtpを使ったらできた。

lmtpという実態がいまいちわからないんだけど、local配送をlmtpにすることでpostfixのキューを減らせたり、パフォーマンスがいい、そしてldaよりイイとのことらしい。
(ちなみにldaは、必要になったらプロセスを都度作成しては終わったら消えるみたいなのだけど、lmtpだとプロセスが常駐しているようでオーバーヘッド少ないみたい。)

設定内容は、postfixのmain.cfにdovecot-lmtpを参照するよう書けば動くので完全にブラックボックスです。本当にありがとうございました。

##
## LMTP specific settings
##

protocol lmtp {
  # Space separated list of plugins to load (default is global mail_plugins).
  mail_plugins = $mail_plugins quota
  info_log_path = /var/log/dovecot-lmtp.log

  userdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf.ext
  }
}

service lmtp {
  executable = lmtp -L
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    user = postfix
    group = postfix
    mode = 0600
  }
}

設定内容はdovecot公式に書いている通りすれば、maildirのrootにmaildirsizeというファイルが作成される。上限を超えるとbounceしてくれてた。
http://wiki2.dovecot.org/Quota/Configuration

それとimapクライアントからquotaの情報もとれた。

2.1.0 :017 > imap.getquotaroot("INBOX")
 => [#<struct Net::IMAP::MailboxQuotaRoot mailbox="INBOX", quotaroots=["User quota"]>, #<struct Net::IMAP::MailboxQuota mailbox="User quota", usage="33", quota="10240">] 

以上。