読者です 読者をやめる 読者になる 読者になる

タオルケット体操

サツバツいんたーねっと

Paizaの炎上とIT業界とセックスと緑の自転車

Paizaといえばいつの間にか雑なSIerDisりのポジショントークで各所から顰蹙を買う炎上芸人系サービスになっていたので、後日読んだときにどれの話だよとなりかねないので念のために書いておくと、女を捕まえて調教して金を稼がせつつハレムを作るゲームが炎上した話です。ようは大悪司を水で薄めたみたいなもんでしょう*1
そういえば某社の人事が職権を乱用して夜の面接をしていたみたいな話をゴミタブロイド誌がすっぱ抜いていたのでIT業界は実質エロゲだと言って良いでしょう。

*1:個人の感想です

続きを読む

「Reactの難しさ」を分解しよう

  • 他のライブラリと比べるまえに
    • まず、ReactとjQueryと比べるのはやめよう
    • 「テンプレートエンジン」として捉えて、シンタックスを攻撃するのをやめよう
  • ライブラリとしてのReactはとても簡単
    • Reactの思想を理解するのはチョットムズカシイ
    • 環境構築が難しい
  • JavaScriptそのものが難しい
  • GUIが難しい
    • jQuery時代からのパラダイムシフト
    • フレームワーク関係者の情報量が多い
    • SPAはとりわけ難しい
  • まとめ

ずっと感じてたもやもやを書き連ねたら長くなってしまったが、ぼんやりとReactとかなんか難しそうだしめんどくさいから新規案件だけどjQueryでやろっかなどうしよっかなーと迷っている人の指針になってくれればうれしい。

他のライブラリと比べるまえに

まず、ReactとjQueryと比べるのはやめよう

出た時から延々と言われ続けているものの、やっぱり今でもjQueryとReactを「比較」するようなことは行われていたりする。
これらは「DOMを操作する便利API集」と「GUIを構築するためのViewライブラリ」で、両者は戦場が同じだから下レイヤの操作はブラウザのDOMを叩いているというだけで、そもそも思想や目指している部分は全く違う。

そして今やWebアプリというものは、本格的なGUIアプリケーションを作る場所へとなりつつ(あるいはすでに)ある。
そういう世界観で、ブラウザAPIが簡単に叩けるだとか、タイプ数が少なくて済むという話があまり本質的でないのはお分かりいただけるだろう。各ブラウザベンダーが少しづつ足並みを揃えて標準化が進み、リッチなユーザ体験を提供するという段になって必要になるのは思想でありアーキテクチャであり、それを落とし込んだフレームワークだ。Win32 APIとMMVMのどちらが優れているかという議論をする人はいないだろう。それと同じである。

GUIアプリケーションを構築する際のハードルについては色々と存在するが、まずStateとViewの関係性を健全に保つことの重要性は皆同意するところだとおもう。MVCがやりたいことも突き詰めればそれだ。
ReactはViewがもつState*1とそのPresentation(ブラウザであればDOM)の流れを管理するというのがその目的で、addEventListenerは長いから短くしましょうとか、DOMの操作をメソッドチェインでクールにキメるぜというのはその思想の外側に存在する。

「テンプレートエンジン」として捉えて、シンタックスを攻撃するのをやめよう

後述するが、つまるところReactの目的は状態の管理と、そこからレンダリングされるViewが常に再現可能なことにある。ReactがシンプルにしたいのはStateをどうレンダリングするかの流れで、テンプレートのシンタックスなんかはその本質から少しはずれる。
なのでJSXは、単純にJavaScript側でオブジェクトのツリーを人間にやさしい形で構築できるようにするためのDSLで、それは目的でも手段でもない。

一時期、Riot.jsとかが炎上マーケティングっぽいものをしかけてきててもイマイチ盛り上がらなかったのも恐らくそこが原因で、当時Reactにうおーすげーってなっていた人が見ていたのは関数型的な思想をWebのViewの世界へ良い感じに持ち込んできたところで、そこに「HTMLの中に書けるシンタックスでコードが短い!」というぶつけ方はまるで見当違いだったのだ。もちろんイケてるシンタックスでコードが短いのは大事なことだけど、その下敷きになっている思想がセクシーであることが重要になる。

ライブラリとしてのReactはとても簡単

*1:誤解を招きそうな表現だが、Storeで管理されているStateとComponent特有のStateというのは管理されてしかるべきで、ReactがStateを持つのもそういった理由による

続きを読む

君はiPhoneからcoaster beerを使ってどこにいても最高のクラフトビールを手にすることが可能だと気が付く

このブログは一応エンジニアブログなので、エンジニアリングについて書く。ITエンジニアは何故かクラフトビール好きが多い。つまりクラフトビールの話題はエンジニアリングの話題だといっても間違いないだろう。
ちなみに僕はアルコホリック・ハラスメントをする奴が大嫌いなのでこのエントリは極めてポリティカルにコレクトネスであることを前もって言っておく。ノミ・ホーダイとかいう不届きな日本文化がアルコホリック・ハラスメントの温床になって久しいときく。とにかくノミ・ホーダイとかいう薄暗い場所でションベンみたいな謎の液体を飲むのをやめて、春めいた陽気の元、楽しくクラフトなビールを飲んで欲しいと切に願う。

続きを読む

格安の電動式スタンディングデスク IKEAのBEKANT ergonomiがひっそり日本でも販売開始されているっぽい

Improvised Standing Desk

一度だけ、一週間ほどデンマークで仕事をして以来*1スタンディングデスクに恋焦がれる毎日ですが、労働環境後進国である日本で電動式のスタンディングデスクを手に入れるのは非常に困難です。
数年前からオカムラが販売しているSwiftというスタンディングデスクがあり、これは前職で利用しておりかなり快適だったのですが、15万以上するのでカジュアルにホイホイ買える選択肢ではありません。それとどうでもいいんですけど、オカムラとオカモトってめちゃくちゃ紛らわしくないですか?

本国のIKEAで、日本円にして7万前後でスタンディングデスクが買える! というニュースが去年だかくらいに少々バズったりしたせいで、せめてIKEAのクオリティと比較してから購入したいなーというのを言い訳にSwiftは見送り、時々思い出したかのように日本IKEAのBEKANTラインナップを眺めては失望する日々を送っていました。
そしてつい先日、特に何のプレスもなかったとおもうんですが、気がついたら日本IKEAのカタログにBEKANT ergonomiが追加されているじゃあありませんか。

*1:かの周辺国では、従業員がスタンディングデスクを求めたら会社は購入する義務があるようです。それは流石にエクストリームですね

続きを読む