ハンズラボさんが採用しているユニケージという謎テクノロジーについてについて
Wed Feb 25 20:24:40 JST 2015 (modified: Sun May 23 10:42:41 JST 2021)
views: 3347, keywords:ユニケージ,プログラミング,シェルスクリプト,謎テクノロジー この記事は最終更新日が3年以上前のものです。
油断してたらご指名を受けたので返答というか補足を。現在、自分で書いた論文の直しが全く進まないのでブログに逃げ込んでおります。
ハンズラボさんは、トップの長谷川さんご自身がこのように技術的に気合が入っており、当然社員の方も技術的に気合が入った会社です。ユニケージという得体のしれないものについて、かなり公平に議論できる稀有な存在だと思います。私は未だに個々の情報について、USPにとって出していいのかよくないのか判断しなければならない立場ですが、第1回、第2回共に、そうしなくてもよい立場、かつ熟知している立場からクリアにユニケージについて書かれた最初の文章だと思いました。
それはそうとして、ここではハンズラボさんの記事の「第1回に対するネット上の声Q&A的なもの」に対する補足を勝手にしたいと思います。元のサイトの解答と同じ方向を向いているので、私が後ろから背中を押してマサカリが飛んでくる方向に押し出していこうと思います(おい)。
具体的にユニケージが何をしているのかの核心は・・・ちょっとやっぱりここでは説明を控えます。すいません。
プログラマ視点で引き続き解説を
たぶんプログラマが優劣や長所短所を判断できる技術的な話を私ももっとしなければなりません。すんません!
ただ、「プログラマ視点」ならば、
が何を言わんとしているのかなんとなく分かるくらいの人にしか正直ちゃんと伝えることは難しいかなと思います。ビジネス的なご利益なら説明は簡単ですが・・・。そして、何の事前知識もない代わりに業務知識が豊富な人にも説明は簡単ですが・・・。
一番説明していて困るのは、業務知識が無くて、プログラミングの知識(コーディングの技能やアルゴリズムの知識ではない、キーワード型のプログラミングの知識)が豊富な人です。
胡散臭いかどうかは分かりません。ただ、ちゃんとでかい会社でいろんなものがユニケージで動いています。
考え方が関数型言語っぽい
関数型っぽいです。ただ、別にコマンドが第一級関数になっているとかそういう難しいことではなく、標準入出力(すなわち入力1個、出力1個)を中心に処理を考えるので、うまい人が書けば y = f(g(h(x))) みたいな関数型の処理がコードの大部分になるということです。データもメモリ(変数)に溜めず流しっぱなしになるのでDRAMに優しいシステムになります。
個人的にはシェルスクリプトはあまり好きではないし、
私も同感です。↓このスライドに明記されています(5ページ目)。
エンドユーザーコンピューティングとしてはmuch better Excel。ファイルシステムというドキュメント型KVSの上に実現するための知見の集合?
ご明察。KVSが自然にできるかどうかは知りませんが、ディレクトリで簡単に木構造データが再現できるところも強みです。
RDBMSを使用しない理由が不明確
答えは「RDBにできないことができるから」です。
「できないこと」はバッチ処理が中心に多いです。例えば「一億件のトランザクションの集計を10分でやってくれ、しかも鼻毛鯖一台で。社員にもできる簡単な方法で。」と言われたらDBからデータを引っ張ってくるだけでタイムアウトです。んで、そこに需要がある。付加価値は高くなります。
もちろん、RDBに相当する部分の設計が入るので、システムを作る方のプログラミング(ファイルシステムにデータベースを作りこむための設計を含む)の難易度は上がります。
付加価値の高いものはスタンダードからずれているものなので、傍からは奇妙に見えるものです。しかし、スタンダードからはみ出し続ける努力をしないとなかなか儲からないのでこの稼業は辛いものです。
シェルスクリプトでJSON操作できるコマンドが必要では
私もjqを使います。コマンドにして標準入出力を使えるようにしたらどんなデータでも扱えるのがシェルの良い所です。
以上でっす。薄口ですんません。