Rollbarとかのエラー管理サービス使ってるとActiveRecord::RecordNotFound がWARNINGレベルのエラーでたくさん残るので気になる。
idに適当な数字入れれば必ず出るんだから。rollbarの無料プランは月のエラー数に上限があるのでもったいない。
しかし、特定の存在しないidが何度もアクセスされるのは問題の兆候だったりするから完全にmuteするのも気が引ける。皆さんどうしてるんでしょう?
追記:
Rollbarとかのエラー管理サービス使ってるとActiveRecord::RecordNotFound がWARNINGレベルのエラーでたくさん残るので気になる。
idに適当な数字入れれば必ず出るんだから。rollbarの無料プランは月のエラー数に上限があるのでもったいない。
しかし、特定の存在しないidが何度もアクセスされるのは問題の兆候だったりするから完全にmuteするのも気が引ける。皆さんどうしてるんでしょう?
追記:
wootheeを見習って他reposからgit submoduleしやすいように祝日データをrubyからyamlにしました。(organization化と言語非依存にrepos化はちょっとしたholiday_jpのようなライブラリではやり過ぎかなと思ってやってません。submodule使えば祝日データの一元管理という要は足りるしね。)
僕がgemを作る時ってすごく画期的なアイデアが見つかったとかあんまりないので、ほとんどが仕事上で必要だけど既存のgemが存在しない=日本語やi18n関係ばっかりになっちゃうんですよね。
昔に使ったので我ながら設計が変ですが、テストが合ったのでテストに変更が無いように実装を変えただけです。あとはテストにshoulda-contextとか今日び使わないのでtest-unit3に変えたぐらい。
最近gem作る時ちょっと便利だなと思うのはgemspecとか自動生成系ファイルをコーディング規約に合わせるために手作業しなくても$ rubocop -aでほとんどいけちゃうところ。
弊社ではGithub IssuesのWrapperであるHuboardをタスク管理に使っているんですが、ちょっと便利な機能が増えました。
それは複数のreposのissueを一つのカンバンに出せる機能です。
何が嬉しいのかというと、弊社サービス怖話で言えばgithubのreposは
というようにweb, ios, androidに分かれてるのですが、それぞれ専属の人がいるわけじゃないのでまとめて見れたほうが都合がいいのです。(そもそもwebviewメインなのでios, androidの方はそんなにissueがない)
(Workingにある「怖話1.5をリリース」ってのはkowabana-iosのissue)
ちょいと高価いですがいい感じの代替サービスが見つかるまでは使い続けそうです。
gemとか作る時の普段使いのtestライブラリ(ファッション誌風)をminitestからtest-unit3にしてみた。
kowabana-parser/test_kowabana_parser.rb at master · fjordllc/kowabana-parsertest runnerの読み込みが要らないところがちょっといい。
minitest:
require 'minitest/autorun'
require 'minitest/unit'
require_relative '../lib/time_compact'
class TestTimeCompact < MiniTest::Test
...
end
test-unit:
require 'test/unit'
require_relative '../lib/kowabana/parser'
class TestKowabanaParser < Test::Unit::TestCase
...
end
power-assertもblock渡せば使える。
EngineYard日本支社クローズにともなって怖話をさくらクラウドに移行しました。
sunziでサーバー作ってcapistranoでデプロイしてるんですが、sunziのshell scriptでちょっとわからない点があります。
debianでLANGとかLC_ALLの設定無しでapt-get installとかやると下記のようなお決まりのWARNINGが出まくります。
$ sudo apt-get install foo
...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
僕の中では下記のエントリーで一応対応方法は決着していたんですが、sunziなどを使う場合はreboot無しで反映されないと気持ち悪い。
Setting locale failedを防ぐ - komagata
現状のrecipeは下記で、これはreboot必要なんですよね。みなさんどうやってるんでしょうか?(en_US.UTF-8でもかまわない)
sunzi-recipes/locale-jp.sh at master · fjordllc/sunzi-recipes
if ! grep -Fq "LC_ALL" /etc/environment; then
sed -i 's/.*ja_JP.UTF-8 UTF-8.*/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
cat < /etc/environment
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
EOF
source /etc/environment
fi
怖話を作っていてインフラを含めた設計で迷っている箇所がいくつか溜まってきたのですが、もしいい方法があったら教えて欲しいという点をブログに書いていきたいと思います。
怖話はアクセス負荷的にappサーバーの2台目が必要かな?ぐらいの状態にあります。
appサーバーが複数台になると画像などのアップロードされるファイルの置き場を共通にする必要が出る。
一度はappサーバー2台でS3 + CloudFrontにしましたが、転送料が高いからappサーバー1台にもどしてまた普通のFile Systemを使うようにした状態です。(無料のCDNのCloudFlareを使ってるので転送量が大分減った)
でも結局rails appのプロセスは結構メモリ食うのでappサーバー増やしたい。なに?転送量無料のS3互換オブジェクトストレージがあるって?じゃあまた画像をfogを使ってアップするように改修を・・・
とここまで来て、「なんでオブジェクトストレージ使わなきゃいけないんだっけ?」となりました。
アクセスとファイル容量が膨大で1台ではアップロードされるファイルを捌き切れない!という用途向けには必要なんだろうけど、怖話でそういったことにはまずならないと思う。(そんなになってたら儲かってるのでこんなみみっちいことで悩まない)
複数サーバーからブロックデバイスとしてマウントできるnfs的なものでかまわないんだけどなあ。S3用になんでプログラム変更しなきゃいけないんだよ面倒くさい。
でもnfsって古い感じするし、トラブル多発なイメージするしちょっとこわいな。
今どきバージョンのnfsみたいなのってないのかな? ← 今ココ
皆さんだったらどうされますか?もし情報をお持ちの方がいたら教えていただけるとありがたいです。
よく忘れるので。
通ったり通らなかったりするテストはまずseed指定。
$ rake test:all TESTOPTS="--seed 53163"
登記・供託オンライン申請システム 登記ねっと 供託ねっとにアクセスして申請者情報登録(サインアップ)する。
かんたん証明書請求をクリック。
登録したID/パスワードでログイン。
手続き分類:商業・法人、手続名:交付請求書(登記事項証明書)をクリック。
オンライン会社・法人検索を使うをクリック。
検索が難しいので、会社法人等番号を直接入力した方が楽。
会社法人等番号をメモっとく。
ここで手続きしてもすぐに料金を振り込めるわけではない(なぜこういう仕様なのか)。しばらく(数時間?)すると「納付」というボタンが表示されるのでそこから納付する。そして郵送されてくるのを待つ。