こしごぇ(B)

旧:http://d.hatena.ne.jp/koshigoeb/

delayed_job の logrotate を使ったログローテーションって

どうやるものなんだろう。 logrotate を使わず TwP/logging の daily ローテーションもありだけど logrotate の copytruncate は最終手段 delayed_job を Capistrano でオプション付きで起動してるので、logrotate の postscript で restart や start する場…

Fluent 経由で Bugsnag に送信する試み

ひとまず、ざっくりと形にはなったけど、これが上手く運用に乗る程度のものかは分からない。 koshigoe/logging-bugsnag で TwP/logging を拡張し、error 以上のログを bugsnag/bugsnag-ruby の deliver に渡す koshigoe/bugsnag-delivery-fluent で bugsnag/…

ActiveSupport::Logger#broadcast は異なるレベルのロガーを束ねるには適さない?

セッターの挙動を見るに、レベルやフォーマッタなどは全て同一のものを使う前提にあるっぽい。 extend 後にセッターを呼ばなければ各ロガーで設定したものを使う事はできるが、 quiet_assets や ActiveSupport::Logger#silence などを使った場合はレベルが変…

Rails.logger.error(msg) したら Bugsnag にも通知しちゃうやつ

注意: quiet_assets など、broadcast 後に Rails.logger.level= する様な実装をしているケースには未対応。 こんな感じでやってみた。 lib/ext と lib/bugsnag に分けたのは、Bugsnag クライアントが lib/bugsnag にマッチしたバックトレース行を読み飛ばし…

ActiveSupport::Logger.broadcast と quiet_assets gem

quiet_assets を使っていると ActiveSupport::Logger.broadcast で追加したロガーのレベルが Rails.logger.level にされてしまう模様。 ざっくり言うと、以下の様な事が起きる。 error_logger = ActiveSupport::Logger.new(Rails.root.join('log/error.log')…

FactoryGirl を使って冪等な Database seeding をやってみた

development, test 以外で FactoryGirl を使うのどうなんだ、という話は全力で脇に置く。こういう誤魔化し方もあるのかな、という試み。 koshigoe/rails-example-seeding-by-factory_girl んー、seeds.rb で find_or_create_by を書かなくて良い、程度のおも…

Heroku で Reverse Proxy

ろくに調べもせず、明後日の方向に進んでいる気がするけれど。 koshigoe/heroku-reverse-proxy require 'rack/reverse_proxy' if ENV['BASIC_AUTH_USERNAME'] && ENV['BASIC_AUTH_PASSWORD'] && !ENV['BASIC_AUTH_USERNAME'].empty? && !ENV['BASIC_AUTH_PAS…

シェルスクリプトの trap でシグナルを拾う場合の実行中コマンド

例えば、以下の様にして TERM を拾う様にしてみる。 #!/bin/bash -x trap "echo trap TERM; exit 1" TERM trap "echo EXIT" EXIT sleep 5 echo ok 以下は sleep 5 で待っている間に pkill -f trap-signal.sh で TERM シグナルを送った時の結果。 $ ./trap-si…

Heroku で運用するプレビュー環境に自動デプロイする試み(0)

中途半端だけど、せっかくやってみたので晒してみる。一番の収穫は、シェルスクリプトの trap を覚えた事だったりするのは内緒。 やっていること CI で CircleCI を使用している Git を使用している GitHub を使用している PR をレビューして master ブラン…

ようやく Rails の Application Template を使ってみた

なんだかんだサボってしまっていたけれど、ようやく重い腰を上げて使ってみた。 Creating and Customizing Rails Generators & Templates — Ruby on Rails Guides Rails Application Templates — Ruby on Rails Guides

delayed_job の plugin

知っていたかもしれないけど、記憶に無かったので調べてまとめてみる。 tl;dr こんな感じかな? delayed_job にはプラグイン機構がある プラグインは Delayed::Plugin を継承して実装する プラグインによってワーカーのイベントコールバックを登録できる プ…

S3 を使った実装のテストを fake-s3 を使って書いてみる

koshigoe/fakes3-exercise fakes3 (fake-s3) という gem を使うと、S3 のダミーサーバ(webrick)が使えるようになるとのこと。 fakes3 と fakefs で Amazon S3 連携のテストを書いてみた - あらびき日記 jubos/fake-s3 サーバプロセスの管理をどうするのが今…

Rails + MySQL で BIGINT で AUTO_INCREMENT な id カラムを PRIMARY KEY にしたい

もちろん、schema.rb 対応で。 リポジトリの master では t.primary_key :id, :bigint と書ける様だけど、4.2.1.rc4 には見当たらず。いつ頃使える様になるのか。 この際、PostgreSQL に改宗するべきなのか。。。 という所まで考えて、手を出せずにいた acti…

『Webエンジニアが知っておきたいインフラの基本』を(流し)読んだ

ss -lnp 覚えた。 Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~作者: 馬場俊彰出版社/メーカー: マイナビ発売日: 2014/12/27メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見る 自分が…

Rubyアソシエーション認定証

一ヶ月くらいかかるのかと思いきや、一週間ちょっとで届いた。 金銀集めて一枚なのかと思ってたけど、銀は銀で貰えるんですね。金だけだと銀不足で貰えないという事かな。 ロゴの規約違反になってないことを祈るばかり。

ソーシャルパーツ

重すぎて笑えない。 デザイン設定から全部切ったけど、それでもまだ重い。笑えない。 もう、長いことブログ書いてないけど、別の良いブログ的なサービスかツールを検討しても良いかもしれない。 が、運用コストが一番気にかかるポイントなので、難しいところ…

銀と金

何か今後の話のネタにでもなればなと思ってしまってポチっちゃった件。高いわー。生活きついわー。 Rubyアソシエーション: Ruby技術者認定試験制度 ぎりっぎりのすれすれ。 銀が84だった時には、「もう終わった、15kどぶに捨てたな…。」と思ったけれども、金…

『Effective Ruby』読んだ

すっかり注文したことを忘れていて、発送のメールが来たときにはちょっと驚いた。注文しなかった気がするのに、ポチり癖って怖いですね。 Effective Ruby作者: Peter J. Jones,arton,長尾高弘出版社/メーカー: 翔泳社発売日: 2015/01/09メディア: 大型本この…

就活

30年くらい落ち着いてのんびり過ごせるところは、新卒でも難しいんだろうな。 就活なんて、想像するだけで面倒くさいわぁ。 また祈られて折れる日々が来るのかぁ…。

Docker 入門(1)

Docker入門 Immutable Infrastructureを実現する作者: 松原豊,米林正明出版社/メーカー: 技術評論社発売日: 2014/04/25メディア: Kindle版この商品を含むブログ (5件) を見る 写経。 準備 $ brew install docker boot2docker $ boot2docker init $ boot2dock…

入門 Ansible (1)

入門Ansible作者: 若山史郎発売日: 2014/07/30メディア: Kindle版この商品を含むブログ (1件) を見る 準備 $ brew install ansible $ ansible --version ansible 1.7.1 Python 2 系が必要(3系では動かず、今後の対応も不明だとか) 対象ホストでも Python 2 …

Chef 実践入門(3) テスト

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴出版社/メーカー: 技術評論社発売日: 2014/05/22メディア: 単行本(ソフトカバー)この商品を含むブログ (7件) を見る 写経しつ…

Chef 実践入門(2) Vagrant

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴出版社/メーカー: 技術評論社発売日: 2014/05/22メディア: 単行本(ソフトカバー)この商品を含むブログ (7件) を見る 続続・写…

Chef 実践入門(1) クックブック

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴出版社/メーカー: 技術評論社発売日: 2014/05/22メディア: 単行本(ソフトカバー)この商品を含むブログ (7件) を見る 今回も写…

Chef 実践入門(0) 準備

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴出版社/メーカー: 技術評論社発売日: 2014/05/22メディア: 単行本(ソフトカバー)この商品を含むブログ (7件) を見る 写経。重…

AWS を使った仕事もそろそろ一年

IAM Role と CloudFormation 便利ですよね。いい加減 chef も覚えて OpsWorks も理解しないと。 VPC IAM EC2 S3 SQS SNS SES CloudSearch ElastiCache Elastic Beanstalk CloudFormation RDS 一番驚いたのは、EC2インスタンスが安定している事。数年前に触っ…

そういえば Fabric にも手を出していた

ずっと Capistrano を使っていたので、感覚的にはすんなり使えた印象です。 ひとつ、特に印象的なのは、fab でタスクが完了したら、リモートサーバで立ち上げたプロセスがしんでしまったやつかな。これは、sudo 関数の pty オプションを False にして対処し…

MongoDB を使う様になってそろそろ一年

MongoDB 関係では細々とパフォーマンス対策をしてた感じでしょうかね。 EC2 のインスタンスタイプ変更によるサーバリプレース スロークエリ対策(コード修正、インデックス見直し、など) 十分な設計(特にインデックス)をせずにアプリケーションコードを書くと…

仕事で Python を使う様になってそろそろ一年

特に、好きになる事もなく、淡々とした関係が続いております。 最近は Rails 4.1 で仕事してるわけですが、やっぱり慣れてるという事もあって Ruby が落ち着きますね。 Python を使ってきて印象的なことはなんだろう。 KeyError は分かりやすい落とし穴 Inde…

祈られる日々

一年前のこの時期は、渋谷方面からお祈りが続々と届いたものでした。 そんな日々がまた、、、来るのかな、、、。 そんな事考え出すと、ため息しかでませんよ。。。 P.S. 折られる日々とも言いますね。