サーバサイドJavaScriptは何故流行することになったか。

どこかで書いたもののリライト。

何故JavaScriptなのか?

JavaScriptがサーバサイドで使われるようになったのは、おそらくWebSocket対応によるC10K問題が現実的になったからだろう。
これは昔から知られている問題で、Apacheのような普通のWebサーバだとスレッド毎にメモリを消費するマルチスレッドモデルだが、スレッドスタックのメモリサイズはサーバ毎に固定のため、コネクションが固定化されるWebSocketモデルでは本当に問題になるのだ。
スタックサイズがどこで決まっているのかというのを具体的にいうと、以下のstacksizeの箇所である。後は、ApacheなどのWebサーバの設定にもあるが。

user$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 2560
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited

TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと
これを解決するにはイベント駆動型モデルにするしかなく、nginxはそうした問題を解決するためのWebサーバであるが、この上で動作させるには、同様のイベント駆動型言語の方が望ましい。
そのため、サーバサイドでJavaScriptを動作させるというのが流行することになった。

JavaScriptは、ノンプリエンティブマルチタスクという、まるでWindows3.1のようなアーキテクチャで動作しており、10年前には主にクライアント側の性能問題により個人的には酷い目にあった記憶があるが、あれから10年経ち当時非常に苦労したイベント駆動型のメリットが活かせる箇所がついにやってきたということだろう。

因みに、C10K問題は嘘ではなくて、実際スループットが10000tpsを超えると極端に辛くなる。
普通、サーバのボトルネックはCPUやメモリの限界だと思う人が多いだろうがこのレベルになるとそんなことは全然なくて、まずカーネルパラメータのチューニングが必須なのは良いとしても、TCPセッションのNIC引き当てでパケットドロップしたり、メモリのバスネックに引っかかったりする。
大体の場合、NIC周りでどうにもならなくなることが多い。GbE使い切るのは稀。

補足、またはセッション管理時の問題

また、Webサーバだと割とセッション管理を利用することが多いだろうが、セッション情報をノード間レプリケーションを使っていることが多くて、それだとスケールアウトする際に、レプリのリバランスが問題になって、単純スケールアウトほどの性能が出ない。
例えば、10000tps/1台でるサーバだったとして、このような構成だった場合、2台に増やしても20000tpsを捌けることはない。大体15000くらいであろう。勿論更に台数を増やすと、リバランスはどんどん問題になっていく。これを防ぐためには、セッション管理用のメモリDBを別に構築するか、セッション管理を使わなくするというどちらかの方式しかない。このレベルのスループットではL7スイッチは使えない。L7スイッチが使えるのは精々3桁tpsである。
いくらRestfulなAPIだからステートレスだと言っても、認証問題が出てくると、セッション情報を持たざるを得ないであろう。普通、そこまで冗長性のことを考えて、アプリケーション設計できないしね。
ここでも安易にスケールアウトさせることができないC10K問題が問題となり得る。

2017年になりました(もう一ヶ月くらい前に)

fake-jizo.hatenablog.com
1年以上前のこのエントリが伏線なのだが、ついにマカーになったのである。一体いつからPCが壊れていたのかという感じだが、さすがにiPhoneだけでは厳しくなってきた。iPhoneだと決まったサイトしか見なくなるし。
で、困っているのは色々あるのだが、今まで使っていたアプリが使えなくなることである。特に画像管理ソフトをずっと探しているのだが、なかなか見つからない。画像編集なんてする気は無いのだ。単に画像ビューアと削除と移動が簡単に出来ればいいだけで、それ以上のことは求めていない。ただ、trackpadを使いたくないのでキーボードショートカットは使いたい。
私はirfanviewが欲しいだけなのに。かなり難しいようだ。
Lightroomオススメらしいけど、15000円もするのならそりゃ出来るだろ。ふざけんなあほか。
とりあえず試したもの。

PhotoScape X

ファイル削除のショートカットキーが効かない。そもそもファイル移動がない。

ToyViewer

だからファイル編集したいわけじゃないんだよ!というか動く気配がないけど。

Pixy

最初に全ファイル読み込みに行くところがそもそもダメ。

http://photo-mini.com/save-mac-photos-to-external-hdd/
とりあえずこれでローカルのSSDからNASに追い出して対応して見たが、なんか中途半端だなあ...。
副産物として、
https://itunes.apple.com/us/app/photos-duplicate-cleaner/id592704001?mt=12
重複ファイル削除にずっと悩んでいたのだが、凄い役に立った。

今年のベスト3

さてまた今年も終わった。しかし間に合うか微妙だ。
今年は順不同。

惑星大戦争のテーマ

まあシンゴジラである。
お陰でCSで古い特撮が放映されており、これを観ている人も多いであろう。で、これ両方を比較すると元々の映画では結構レベルが低くてあんまり聞こえないのである。なんかもったいない。が、今の目で見るからそう思うのであって当時にはそんな思い入れがあるわけもない。

SLの音

https://www.instagram.com/p/BNlK8ndB0jm/
ほほー。
そういえばSLに乗ったのは始めてである。
なので音を聞くのも当然始めてである。

1号車
予想以上に音が大きい。煙も凄い。この列車の連結部分に録り鉄の人がいたが確かに音を録りたい気分になった。かっこいい。
というかそもそもなんだけどSLって乗っても全然面白くないのな、気づかなかった。でも普通気づくよなこれ。なんで気づかなかったんだ私。

水曜日のカンパネラ

https://www.instagram.com/p/BOroXgWBXoT/
コムアイ
やっぱり今年はこれかなー。結局二回見た。
fake-jizo.hatenablog.com
この際の印象は今も変わらない。perfumeでも思ったがプロジェクターを見た方が演出の意図が伝わるってのはとても興味深かった。この方向は今後加速していくだろう。

コント55号における浅草軽演劇の名残

コント55号の特番を録画だけしてたんだが今頃見た。
www.nhk.or.jp
結成50年とはいえ、何故この時期にやったのか不明だ。コント55号は1人でやるものではないからだ。前半部分はどちらかというとかつての傑作選というか、実際にはテレビ局に状態の良い映像が残っているものを放映したという感じだろう。
これは殆どアドリブだそうだがさもありなん。実際筋という筋はあってないようなものであり、反射神経で笑わせるものだろう。コントとは台本がないものだと欽ちゃんが言っていたが、それはまあ台本通りにやるコントはないって意味であり、最初の設定と大まかな筋はあったはずである。実際座付の作家はいたようだし。
とはいえ本質はアドリブに頼ったコントなのであって、舞台ならともかく常に安定した品質が求められるテレビには全く向いてない。テレビでは同じコントを一切やらないというのは録画が発達した今ならまだわかるが当時としては信じられない話である。そもそも笑いと安定は相反する概念なのであるが、テレビと笑いが噛み合わないものだと見抜いていたからなのだろうが、そのためコント55号がコントをやっていた期間はひどく短い。でもまー今でも長いことテレビでコントをやる人なんか滅多にいないよな。
今でも笑えるのは言葉で説明するんじゃなくて、動きで笑わせるからだろう。言葉だとどうしても時代背景とかがあってわからない内容が増えてくるんだけど、動きの滑稽さなら特に時代は変わらんよな。これはサイレント時代のコメディが今でも笑えるものが多いのに通じる。道化の面白さだね。

後半はワークショップ、だなこれ。
本来の目的は帽子屋など映像が残ってないコントの再現だったんだろうけど、欽ちゃんによる浅草軽演劇の再現になってしまっている。そのため内容のレベルが変わってしまい、正解のない欽ちゃんの突っ込みをうけて右往左往する出演者が面白い。ただ、これは観客の反応を見て、突っ込みの内容をかえているのであり、だから正解がない。
また当時の再現を目的にしちゃっているので動きで笑わせるところに執拗に拘るものになっており、これはエノケンからの伝統だろうな。この手の伝統は先にも述べたように大本をたどると、アメリカのサイレント映画なのだろうが、その辺の背景まで説明なしにやっているので、出演者としては何がなんだかわからない、ということなんだろうな。劇団ひとりはそれに気づいたのか一番求めている内容に沿った演劇をやろうとしていたな。きっと彼は頭がいい。
しかし本来の目的のコント再現はあっさりシャットダウンされ、なんか数分しかやってなかったんじゃないか。これは、例えば、帽子屋コントは路上で帽子を売るところからスタートなのだが、もはや殆どそんな商売はなくなってしまっているといってよい。そういうコントの前提そのものがもう時代に合わなくなってきているので、今やることじゃない、と判断したのかそうじゃないのかはわからないが、勘で見切ってしまったのだろう。単に長丁場で疲れてしまっただけなのかもしれないが。

メディアの生前譲位

ネットに関することはあえて書かないようにしているのだが、厳密にはネットの話ではないのでまあいいか。
gendai.ismedia.jp
さやわかさんが、流行語大賞について疑義を呈している。大体あっていると思うのだが。

選考委員は、鳥越氏はともかくとして、姜尚中俵万智室井滋やくみつる箭内道彦らである。政治信条の偏りを問う前に、そもそも彼らに現代のことがわかっていると言えるのだろうか。「PPAP」やら「聖地巡礼」のことを、どこまで評価できるのか。
かといって、では誰であれば今の社会全体を語るのにふさわしいとも言えない。
ならば、一般からの多数決で決めればいいという人もいるだろう。そういう意見が出てくるのは非常に理解できる。世論がバラバラでまとまりきらなくなった結果、投票によって白黒つけてしまおうという発想は、他ならぬ政治の世界で着々と進行しているからだ。

流行語を多数決で選ぶのはネット流行語大賞そのものだろう。
getnews.jp
でも私はこのような選定は多数決という意思決定システムには馴染まないと昔から思っていた。これは特定の個(若しくは数人)が選ぶから意味があるのであり、*1多数決では「何故今年の流行語はこれなのか?」という明確な答えが出せないからだ。流行は空気が作るものだが、分析まで空気が出来るわけがないだろう。
また、大体の場合、流行語の発生とその伝播にはタイムラグがあり、今の流行語大賞は、よく言われるようにその年の流行した事象であって「ことば」ではないと思う。多数決によって選ばれる所謂レイトマジョリティ層まで伝播した「ことば」が、流行語大賞になるのであれば、選ばれたその瞬間の時点で既に陳腐化しているのは当然であり、だから、流行語大賞に選ばれたギャグは一発屋になってしまうのである。もう時代遅れだから。でもそれは流行であって流行語ではないのではないか?とも思う。
TVを中心とするマスメディア内にはもうこのようなことを分析できる人材が枯渇したから納得できない人が増えた、のだろう。
閑話休題
getnews.jp

自由国民社さんのユーキャン新語・流行語大賞の受賞ワードを見てみると、テレビメディアでよく取り上げられていたものが並んでいます。極端な話、ユーキャン新語・流行語大賞
「TV流行語大賞
であると言っても良いと思います。もしくは「TVメディアへの接触が多い人達を中心に据えた賞」という言い方もできます。
(中略)
テレビメディアでよく出てきた言葉を中心としたノミネートであれば、そういう人たちにとっては違和感がある内容となります。その逆もそうでしょう。ネット流行語大賞にノミネートされた言葉を見て、違和感を感じる人達もいると思います。

これは違う見方をすると、マスメディアの影響力が相対的に落ちているということになる。そんなの今更言われなくてもわかってるよ!という人も多いだろうが、実際さやわかさんも言っているように今の流行語大賞にスポーツや政治関係が多いのは、要するにニュースしか流行の発信源にならず、ドラマやバラエティの影響力が低くなっていることを表す。結局ニュースはネットでも見れるわけで、ぎりぎりネットだけ見る人がついていける話題がこの程度、ということになる。
togetter.com
昨今話題の「TOKYO MXに圧力がー。」という話題だが、私はこれは五社協定の時代と変わらないんじゃないか、というコメントが気になった。


五社協定というのは、当時メディアの王様だった映画会社間の協定であるが、結果として、映画というメディアの凋落を招き、TVがその座に着くことになった。で、そうやって王座についたTVメディアも徐々に時がたち、割と古くからあったTV局単位*2での圧力みたいなものではなく、TVメディア全体の「協定」としかいいようのないものが出来上がり、しかもそのデメリットがネットのおかげで世間一般に広く知られるようになったのが「今」ということになる。しかしここまで表面化するようだと、SMAPを例に出すまでもなく、業界内輪内の論理が通用しなくなっていることの表れなので、実際問題として圧力はなくなっていくのだろう。本当にTVは駄目になっていくのかもしれない。なんだかんだいって、今までネットはTVを補完する二次的メディアだったのだが、そろそろ本当に逆転するのかも。
「PPAP」がYouTube発というのはその事象を示す嚆矢なのかな。
流石にそれは言いすぎか。

*1:組織票の問題はさておいたとしても

*2:例えばナペプロと日テレとか

夜行列車(からはじまるここではないどこか)の旅 その4

やっと最終回である。2ヶ月かかった。しかしこんなペースなら全然書けないな。今年はもっと色々出かけているんだが。
fake-jizo.hatenablog.com
ほくほく線経由で越後湯沢に着く。ほぼ熟睡してたので途中の記憶は一切ない。いびきをかいていなかったかどうか今更ながらに心配であるが気にしてもしょうがないことなので忘れよう。忘れた。
ここでの目的は何をさしおいてもぽんしゅ館なのであるが、それより何よりお腹が空いた。丁度13時過ぎでお昼時である。はてさてどうしようかと思ったものの、駅中の食べ物屋はどこも満員である。仕方がないので、外に出るものの、何にしようか迷ってなかなか決まらない。
魚沼キュイジーヌ料理 むらんごっつぉ 【むらんごっつぉのご案内/魚沼のごちそうをどうぞ】
結局駅前の1Fの喫茶店のほうは行ったことのあるここの2Fで昼ごはんを食べることにする。
https://www.instagram.com/p/BNlqVNbhYaY/
炙りサーモン丼
新米の時期だったのでとってもおいしい。これは当たり。流石魚沼産コシヒカリである。
さて食べ終わったので、出ようとすると、カウンターにあるチラシに目が止まる。ランチを食べた人は500円でこの上の階にある温泉に入れます。とのこと。
おおおおお。
せっかく越後湯沢に来たからには日帰り温泉に入ろうと思ってたので物凄く都合が良い。早速店員の人に話したところ、時間的にも問題ないので入ることにする。500円で源泉かけ流しの温泉ならまあお得。更に、一応持っては来ていたとはいえ、タオルもちゃんと付いてくる。言うことなしである。
お風呂は時間的に14時過ぎくらいであったので、誰もおらず、とても快適であった。白馬駅でも実は足湯に入っていたのだが、やっぱり落ち着いて入る風呂のほうがいいよなあ。すっかり疲れも取れ(た気分になっただけであるが、多少は体が軽くなった。)、ぽんしゅ館に移動する。ここは、要するに日本酒の有料試飲会場である。新潟駅にもあるらしいがそっちには行ったことはない。ただ、ひたすら格安で色んな酒*1が飲める。酔い潰れるまで飲めないこともない。普通やらないと思うけど。
こんなところでどこでも手に入るお酒を飲んでも意味ないわけで、あまり知らないものを飲むのが普通である。といってもローカルすぎるお酒だとまったくわからないのでそれはそれで判断が難しい。
https://www.instagram.com/p/BLWDGt5BUKM/
千代の光
先日も確か出したが、これはおいしかった。しかし買うのを完全に忘れた。
https://www.instagram.com/p/BNlqs5aBxPN/
ウィスキー樽
これは人気だったが、単に物珍しさからだろう。ウィスキーの匂いと風味が強すぎる。とてもおいしいとはいえない。これだったら普通の樽酒のほうがマシである。とかなんとかいいながら他の酒も含めて結局5,6杯飲んだのかな、確か。この時期はやっていなかったが、このぽんしゅ館では冬になるとお燗も出来るので、冬なら是非やってみるといいと思う。燗酒がきらいな人はともかく、試飲で燗酒はなかなかない。
だらだらしていたら17時過ぎたのでそろそろ帰ることにする。ローカル線で帰ることもほんのちょっと考えたがいい加減疲れているし酒飲んでるしいつ家に着くのかわからないし即座に廃案にする。越後湯沢からは新幹線でとてもとても快適である。しかも早い。あっと言う間に東京駅に着く。高い金を取るだけのことはあると言えよう。新幹線には旅情がない*2とか言ってごめんなさい。古い列車の旅は本当疲れますね。新幹線サイコー。
https://www.instagram.com/p/BNlrxuQhsGZ/
新潟限定ビール

*1:日本酒だけではなく梅酒等もある。

*2:http://fake-jizo.hatenablog.com/entry/2015/09/19/224704

夜行列車(というかただの朝酒)の旅 その3

というわけでスピードアップ。
fake-jizo.hatenablog.com
まだまだ続くのである。っていうかこの時点で午前10時頃というのは自分でも良くわからんな。やたら1日が長い日だった気がする。実際長かったんだけどな。
さて飯山駅での休憩も終わり、これ以上乗ってくる人もいなさそうだなーと思ったら、なんか夜行列車で向かいだった二人組がどこかからやってくる。あれこの人たち松本よりも前で降りていなかったっけ?どこで何やってたんだろう、ということを思わなくもなかったが、若干酔っ払ってきてたので、深くは考えなかった。元々別の席だったっぽいが何故移動したのかは今でもよくわからん。
それはともかくとして、この二人組、席に着いた途端、やけに大量な手荷物から徐に飲み物食べ物を取り出して、それをひたすら食いだす。車窓も何も見ずに、特に話もするわけでもなく、酒も惣菜もすべて持ち込みで、本当にずーーっと食ってる。いやこいつら一体何しに来たんだ?とマジで思う。しかもキムチを食いだして車内ににおいが充満しだす。やーめーてーくーれー。
この時点で鉄道オタク*1と同じルートを辿るとなんか碌でもないことにしかなりそうもないことに気がつき、今後のルートを変更することを決意する。同属嫌悪なのかどうかわからんが、妙にストレスが溜まっていたのであろう。
その二人組みは、大量な飲み食いを終わらせ、そのまますやすや寝だした。写真を撮るでも風景を見るでも車内販売にも全く興味がない感じなので本当に何をしに来た人なのかわからない。家でやっても変わらないのでは、と思うのだが・・・。移動マニアか何かなのかな。
https://www.instagram.com/p/BNBt3DJBvIt/
Instagram
ここは、かの有名な栄村大震災*2の栄村である。こんなところにあるんだー。当然ながら始めて来た。ここでしばらく停車というわけで、列車を降り、タバコを吸ってると車掌さんと運転士さんもタバコを吸っていた。しばらく二人の話を聞いてると、麺類が何がおいしいか的な話を始める。このおいこっとは長野駅から十日町駅まで走る観光列車であり、十日町といえば蕎麦が有名である。十日町に着く辺りにはお昼ごろということもあり、丁度良いので、十日町駅周辺ではどの店がおいしいのか聞いてみることにする。ところが返ってきた答えは、
「あんまり十日町でおいしい蕎麦屋って聞いたことないんですよねえ。むしろお客さんにこっちから聞きたいくらいですよ。」
という返事。えええええ。
www.tokamachishikankou.jp
地そば祭りをやってるくらいなんだよここ。アピール不足なんじゃないのこれ!とか地元の人にちょっと煽りをいれたいくらいである。そんなこんなでしばらくぼーっと車窓を眺めていると十日町駅に着く。この路線豪雪地帯なので、冬のほうがもしかしたら面白いのかもなあと思ったが、猛烈に寒そうなので、実際どうなんだろ。どっちにしても雪一色で何もわからないから意味ないのかな?
ここで少し時間があったのだが、先ほどの話から蕎麦を食べる気には到底なれず、またさっさと移動することにする。しかし、今までのようなルートを辿ると、また鉄道オタクと鉢合わせすることから、もう微妙な気分になるのはこりごりの私はここでJRではなくほくほく線に切り替えることにする。というのは理由があって、普通、この手のものに乗る人は「秋の乗り放題パス*3」を利用するのだと思うが、これはあくまでJRの普通/快速が乗り放題なのであって、ほくほく線には乗れないのである。これであれば、きっともう鉢合わせすることもない!というか(まだお昼だけど)そろそろ鉄道の旅も飽きてきた!というわけでほくほく線に乗って越後湯沢まで一気に移動することにした。
https://www.instagram.com/p/BNCQg8hBitN/
ほくほく線
なんか移動してばっかりだな。
つづく。
fake-jizo.hatenablog.com