JavaScript

"JavaScript" でひとこと

37 fans

書き込むには、ログインまたはユーザー登録を行ってください。 初めての方へ

a-kuma3

JavaScript

返信先のろまんば

何の根拠もなくテキトーに書きますけど、メソッドチェーンって、一連の処理が終わるまで外部には見えてないけどそれぞれが状態を抱えているので最適化しにくいんじゃないかと思うんですよね。
JIT の最適化とか随分と前から言われているけれど、c/c++ の最適化に比べると体感で随分と低いイメージがあって。

メソッドチェーンに最初に触れたのは Ruby かなあ。
ループを隠蔽するという考え方には、なるほどなあ、と思いました。

メソッドチェーンが長くなったときのインデントとか、どうしようかとかときどき悩みますが、Decorator パターン好きなのであまり気になりません。

obj
 .each ...
 .find ...
 .map ...

sh 系だと、デリミタは行末か

cmd |\
 sed ... |\
 grep ... |\
 awk ... |\ (続きを読む)
noromanba

JavaScript

返信先のろまんば
for文が極端に嫌いってのもあるかもしれない
noromanba

JavaScript

返信先a-kuma3
すいません、CPSは夜中の酔っぱらい運転なのでまた今度で…。間違ってる気がするし関数型あやふやで申し訳ない。TL;DR化しそうなのですごく雑に言うと、js/DOMのAPI、ES5位までのコールバックとメソッドチェーン主体でスコープ小さく書いてくスタイルが好きなんだけど、「ES5+, 6/2015 あたりから外部イテレータのAPIが増えてるような。逆方向に行った理由あんだろうな」っていう単純なとこです。使う方がnextするってのをどう捉えるかですね。yeildの変換が象徴的かも。外部の方がリソース喰わなそうだなとは思います
a-kuma3

JavaScript

返信先のろまんば

>外部イテレータはあんまり気に入ってないけど、偉い人たちは好きみたい
それぞれの素性によるのかも。

JDBC 辺りから入った人は、「カーソル」を隠蔽したのが ResultSet のイテレータで、それを一般的なコンテナクラスに拡張したという理解がしやすいのが内部イテレータ。

c++ 界隈の人は、ポインタの汎用化が外部イテレータ。
「次」という状態はコンテナじゃなくて、コンテナを利用する側の状態だろうと。

ResultSet のような寿命が短いコンテナだとあまり気になりませんが、Array.find のようなのを内部イテレータで実装すると、寿命が長いコンテナで使った場合に、見つけた後にも「次」の状態を残してしまう。
外部イテレータだと、イテレータの寿命が短ければ良いだけなので、その辺りの気持ち悪さがない。

c++ の STL の iterator の実装はどうだったかなあ。
コンテナとイテレータの実装が直交してたような(記憶違いかも


CPS は難しいっす。
あれが分からないと関数型には嵌まらないんだろうなあと、挫折組 (´・ω・`) (続きを読む)
noromanba

JavaScript

返信先のろまんば
外部イテレータはあんまり気に入ってないけど、偉い人たちは好きみたい。CPS(Continuation-Passing Style)で繋げてくのが好きなんだけど、大規模開発だと外部の方がいいとかそういう感じなのかな
noromanba

JavaScript

返信先のろまんば
IntersectionObserver使えそう。ResizeObserver、Chrome/iumしか実装無くて悲しい
https://caniuse.com/#feat=resizeobserver
noromanba

JavaScript

そろそろ*observer増加でネーミングに困りそう
noromanba
noromanba

JavaScript

fetch、現状 AbortController で timeout するしか無いけど汚くなって色々つらい
# Cancelable Promises の方がよかったんじゃないの?「NG Google」
noromanba

JavaScript

返信先のろまんば
「Chrome Extensionは?」って手があった。次は「WebExtensionsにポート」って言えばいいか
noromanba

JavaScript

返信先のろまんば
「Vanilla JSで」っていうのが本心だけど、答えになってない気はする
noromanba

JavaScript

js慣れしてきた位の人に、「FW何がいいっすか?」って聞かれたら回答に困る。jqueryはアレだし、いきなりReactやって大丈夫なんだろうか
https://qiita.com/rana_kualu/items/8dc3f93a7176d9a0f05d
概念って意味だとlodashあたりがいい気がするけど、viewでって言われたらどうしよう。Vue.jsで、って答えるのかな
noromanba

JavaScript

返信先のろまんば
try {} catch マジだせえ… Promise#catch.#finally がいいと思う。スコープのつらさある
noromanba

JavaScript

返信先a-kuma3
Chrome/ium 66 から abort 出来るようになってました!!! 最高!!!!
http://let.hatelabo.jp/noromanba/let/hJmc6caCwdFz
austinburk

JavaScript

返信先のろまんば
hello!

I have updated haikuantispam to now show results of automatic classification instead of manual classification. Now it will update when I am asleep as well.
noromanba
noromanba

JavaScript

返信先のろまんば
Browser Extensionにcontributeしようとcode覗いたら、ES5でやる気無くす事多い
noromanba

JavaScript

5 to 6, Reverse Babelが無いと辛い
https://github.com/5to6/5to6
これ動き無いのでどうだろ
noromanba

JavaScript

返信先のろまんば
まだぼんやりしてるので、いつの日かモノが出てくると思います
noromanba
▼はてなハイクの今月のスポンサー

規約違反を通報

非表示設定

表示内容を選択