会社設立支援系のサービスは便利だけどまだまだなところもあるという話

株式会社ウィルネットを設立した - おもしろwebサービス開発日記の関連エントリ。作る過程のメモ書きです。

僕は普段の記帳にMFクラウド会計を使っていたので、まず関連サービスであるMFクラウド創業支援サービスを試しました。正確にはMFクラウド創業支援サービスと提携している無料登記ドットコムです。

しかし定款の認証で電子認証をしようとしてハマりました。定款の認証形式は電子と紙があり、紙だと4万円、電子だと0円(ただし道具を揃えたり色々めんどくさい)という感じです。代理で数千円から電子認証の面倒な部分をやってくれる業者があるのでそれが一番コスパがよいのではと考えました。

しかし無料登記ドットコムは基本的に紙の認証しか想定してないようで、電子の認証については公式リンクへの参照があるのみ。電子認証をしてくれる業者をいくつか探しましたが、定款のファイル形式がテキストファイルやExcelファイルしか取り扱っておらず、無料登記ドットコムで生成されるPDFの定款ではどうしようもなくなりました*1

そこで会社設立 freeeに切り替えました。会社設立freeeは行政書士と提携していて、電子認証のサポートを5000円でやってくれます。あとは大体freeeの書いてある通りにやったら登記までたどり着けました。freeeべんり。

しかし幾つか躓いたところもあって、freeeで自動生成された箇所に物言いが2回(公証役場で1回、法務局で1回)つきました。僕の場合は大した手戻りなく進められたので良かったのですが、場合によっては手直しを要求されることもありそうです。

また、登記に必要な書類と場所の説明はあるのですが、細かい説明がなく混乱しました。例えば

  • 登記に必要な書類は、まず15万円分の収入印紙を購入し貼ってから提出する
  • 登記後はまず印鑑カードを入手してから、登記証明書と印鑑証明書を入手する

みたいな説明があると良かったです。freeeの説明は「書類を法務局に持っていく」だけしかない><

あと気づいた点は

  • 厚生年金の手続きを行う期限が、必要書類を入手できるようになる日付より前になっている
  • 厚生年金の手続きをするための書類が足りない(これ辛かった)

など。登記のサービスで会社設立はかなり便利になったとは思いますが、現状ではまだまだ自分で調べたり人に聞いたりしないといけない箇所が多いなという印象です。後続の人のためにより一層の改善お願いしますm(__)m > money forwardさん、freeeさん

*1:たくさん探せばPDFでも対応してくれるところはありそうですが、その前にfreeeに切り替えてしまった

database_rewinder で特定のテーブルを削除対象から除外

database_cleaner との互換性を保つために用意されたメソッドを使う。第一引数はなんでもいい

config.after(:example) do
  DatabaseRewinder.clean_with(:_, except: %w(削除したいテーブル名))
end

追記

↑のやり方だと、DatabaseCleanerと同じ挙動(削除したいテーブル名を除いたすべてのテーブルを削除する)となってしまう。ActiveRecordロード後に次のようにすると期待する挙動になるはず。

DatabaseRewinder['test'].except = %w(削除したいテーブル名)

CircleCI でデプロイのタイムアウト時間を延長する

  • デプロイのデフォルトは10分
  • 伸ばす場合は次のようにする
  • bundle exec ... の次はインデント2つにしないとダメ
deployment:
  production:
    branch: master
    commands:
      - bundle exec cap production deploy:
          timeout: 1500

Note that YAML is very strict about indentation each time you add a new property. For that reason, modifiers must be indented one level from their command. In the following example, we treat the bundle install command as a key, with timeout, environment, and pwd as the command's hash values.

Configuring CircleCI - CircleCI

sendgrid でメール受信することができる

  • sendgrid はメール受信系の機能を提供していないと思っていたけど、どうやら出来るっぽい。
  • 公式のドキュメント だと、lite プラン以外で使えます!って書いてあるので heroku の free なやつでは使えないかな?と思ったけど設定画面開けたので使えそう

sendgrid/sendgrid-parse-api-example - Buttons - Heroku Elements

cells-hamlit が使えるようになりそう

  • cells で haml を使いたい場合は cells-haml という gem を使う必要があった
  • しかし、cells-haml は haml の特定リビジョンに dependency が固定されていて辛い
    • このリビジョンの haml だと brakeman がこける
  • cells-hamlit を使うと上記の問題を解決出来るし速くなって良い感じ
    • しかし、リリースされてないので cells の master の最新を使う必要がある
  • とりあえず次のようにした
gem 'cells-hamlit'
gem 'cells', github: 'apotonick/cells'
gem 'hamlit'
gem 'hamlit-block'

だがしかし

cells 部分は動いたが、既存の view が動かなくなったので一旦休み。

Problem with block rendering · Issue #1 · hamlit/hamlit-block

追記

hamlit 作者の k0kubun さんからメンションいただいた。

気分的に最新使いたかったので次のように対応。想定通り動くようになった (( ⁰⊖⁰)/)

# 参照しているブランチがマージされたら本家に参照を戻す
gem 'cells-hamlit', github: 'k0kubun/cells-hamlit', branch: 'output_buffer'
gem 'cells', github: 'apotonick/cells'
gem 'hamlit'

複数人数でiOSアプリを実機確認したい場合

Xcode 7.2.1 です

  • apple developer 上で新しい端末のUUIDを登録する
  • provisioning file を更新する
  • provisioning file を apple developer からダウンロードして渡す
  • キーチェーンの証明書セクションから開発者用の証明書を選択し、p12ファイルで書き出す
    • パスワードを設定する
  • p12ファイルを渡す
    • パスワードも一緒に
  • Xcode の General -> Team を None にする
    • これ本当に正しいのかわからない

参考

iOSアプリのプロビジョニング周りを図にしてみる - Qiita

同じ rake タスクを二ヶ所で書いた時の挙動について

annotate_models のコード見ていたら、次のようなコードが書かれていて、実際の db:migrate のタスクを上書きしてるのかなあ…だとしたら実際の db:migrate の処理どこ行ったんだろうと思った。

namespace :db do
  [:migrate, :rollback].each do |cmd|
    task cmd do
      Rake::Task['set_annotation_options'].invoke
      Annotate::Migration.update_annotations
    end
  # ...
end

ちゃんと調べたら、同じrakeタスクは複数定義すると、両方実行される仕様っぽいですね。知らなかった

task :hoge do
  puts 'hoge'
end

task :hoge do
  puts 'fuga'
end

rake hoge とすると

hoge 
fuga

と出力される