技術と魚

技術調査、開発TIPS、駄文

RubocopのCyclomaticComplexityとcase式

RubocopのMetrics/CyclomaticComplexityでメソッドがcase式だけで構成されている場合はcaseをカウントしないようにしてくれたら嬉しいなあ。 というのも、 def .. case type when 'AAA' : when 'BBB' : end の場合、あえてメソッドに分けるとかするのはどう…

Rackコード探訪 Part.1

Railsとハイパー便利gemで大体のことが出来てしまうご時世、Rackについてはほとんど考えなくて良いと思う。 けど、ふともっと詳しくなるためにRackを知ろう、ちゃんとサーバを知ろう、なんて思うことがきっとある。 今使っているものが、どうやって成り立っ…

React+RailsのSPA開発を色々と楽にするライブラリ、ServerComponent v0.xをリリースしました

Ruby on Rails と React を使ってSPA(Single Page App)を作っている方向けに、開発をより効率化するServerComponent (v0.x)をOSSとしてリリースしました。 Rails側gem: https://github.com/effective-spa/server_component_rails Frontend用npm package: htt…

Fetch APIでファイルをアップロードする時にContent-Typeを指定しないほうが良い

ハマったので調べました。 Fetch APIの仕様上、ファイルアップロードをする際はContent-Typeヘッダに multipart/form-data を手動で指定する必要はない。 multipart/form-data は、Requestデータが通常のフォーマットのままではContent-{Type,Disposition}と…

React Componentのコード共通化方法まとめ

Reactでの開発をしていくと、共通のメソッドを持つようなコンポーネントが増えてくる。一般にJavaScriptではクラスのメソッドを共通化する方法は、歴史的な事情も相まって色々な方法がある。チームで開発をする場合などにおいては、方法について一定の規約を…

構造的帰納法を分かりやすく説明してみたかった

背景 DIGGLE社のdevチーム勉強会でTaPLを読み始めました。 まずは3章から読み始めることにしたものの、「構造的帰納法」にふれる。→なんですか、それ? 構造的帰納法について説明を口頭でしようと試みたけど、案外説明が難しいんですね。。 そこで、できる…

スタートアップで注意したいミニマム病について

初期のスタートアップはリソースが少ないのが常です。リソースの源泉はキャッシュであり、かつ現代のスケールを目指すスタートアップのほとんどがサブスクリプションがベースのビジネスモデルであるので、最初に赤字を掘ることは避けて通ることが出来ません…