技術と魚

技術調査、開発TIPS、駄文

軽く触ったことがあるプログラミング言語を「出来る」って言うのやめます

僕が出来る言語は所詮RubyとJavaScriptぐらいだ。 触ったことある言語だったら十数個ある。仕事上ならScalaもPythonもせいぜい1000行超えるぐらいは書いた。 一応大学院での研究内容は普遍的なプログラミングの理論であることもあった。お蔭で各言語を使い始…

ServerComponent v0.4の改善

こんなの作っています[WIP] mizukami234.hateblo.jp (Rails side support) v0.4 https://github.com/effective-spa/server_component_rails (React support) v0.2 https://github.com/effective-spa/server_component v0.xのうちはワイワイ書き換え中.. Chan…

条件分岐が網羅的だと思ったら意図的に最後に例外を仕込むことのススメ

例えば、Rubyはcase式に引っかからなかったらnilになります。 $ ruby -e 'p(case 0; when 1 then true; end)' nil 場合分けのビジネスロジックを書く際にはcase式が有効です。 もし、自分が網羅的なパターンマッチを書いたと思った場合は、最後にelse raise…

Webサーバー指向営業のススメ

「プロダクトの説明ができる人がお前しかいない!」とCEOに言われ、イベントの商談ブースに駆り出されたスタートアップのCTOこと私です。 さあ困った困った、私の脳に営業というアプリはインスコされておりません。 しかしエンジニア脳に特化してしまった以…

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…