javascript

neverthrowと比較したoption-tについて

たまたまoption-tを紹介してくれるブログ記事があったみたいで、その上でneverthrowの方がおすすめみたいな感じのtweetを見かけて、色々言いたいことがあったので久々に書いてみる。 https://t.co/GJGyxeyoZMfp-ts を入れるのを躊躇う環境で Result 型とコン…

styled-componentsへの最近の感想

今の職場で既に組まれたシステムが既にstyled-componentsにべったり依存していて、別に積極的に入れ替える理由もないので普通に使っているけれども、やっぱりこれ微妙だなと思った話。 そもそもとして、ビルドシステムへの介入が多くて不必要にロックインに…

css-modulesを止めようとしている話(具体的な解決編)

BEMでいいじゃん話の続きその2にして, 具体的な解決編. 多分ここが気になる人が多いと思うのでなるべく箇条書きで済ませることにする. 背景 前回書いてた内容をまとめると以下のようになる. 無駄話が多いので前回は読まなくてもいいです. 追記: 前回読んでも…

css-modulesを止めようとしている話(長々とした状況説明編)

BEMでいいじゃん話の続きその1にして, とあるアプリケーションが困っていた話. 書き味は最良ではないけれど, 設計思想を持った上で長期メンテを考えると結構いい感じだと思っているアプローチに至った. しかしながら, 放っておくと誰も試行錯誤の過程を書か…

備忘録: yarnpkgで依存パッケージのガーデニング作業を楽に行う

前提 yarnpkgのv0.17系 依存パッケージのガーデニングという単語の意味についてはググれ How to yarn outdatedとかで更新が必要そうなものを眺める いきなり2へすっ飛んでもいい バージョンをstableとかdevとかnextで指定している場合は出てきたり出てこなか…

Node学園#23で広告ジャバスクリプトの話をしてきました

スライドに書いてない詳細とか補足とかは, 勤務先のブログに書くかもしれないけど, もう少し私的な記録として. Node学園#23で, 今年の始め〜夏ぐらいにやっていた話をしてきた 元々, 東京Node学園祭2016にCFP出してたんだけど, 甲斐なく落選してしまったので…

東京Node学園#20でtry-catch使うなという話をしてきました

東京Node学園#20で「Don't use try-catch」というタイトルで話してきました。 option-tの話 最初は手前味噌なoption-tの話を主題にするつもりではあったんですが、そんなライブラリの話とかしたって特にトリッキーな実装をしているわけでなし、全然面白くな…

option-tにResult<T, E>型を実装した(簡易報告版)

概要 Error Handling - The Rust Programming Languageに書いてある API JavaScriptなのでownershipとかはないです 当該issue github.com 使い方(v0.17時点) CHANGELOG.mdの当該項目

RxJSで副作用を扱うにはどうするか - Schedulerを交えて

Rx.Scheduler RxにはSchedulerと呼ばれる主要概念がある. 値がpushで飛んでくるというRxのインパクトの後ろに隠れがちなSchedulerではあるが, これにより, 処理系のスレッドモデル(並行性)と時間軸にまつわるタイミングの制御を統一的に扱えるようにしてい…

ReactiveX: コレクションに内包された複数のObservableの変更を受け取りたい場合にどうするか

まあサンプルコードはRxJSベースで書いてるわけですが. Reactのようなone-way data flowなテンプレートエンジンとObservableを用いて, フォーム形式のアプリケーションを作っている場合, Observableの入れ子で表したいデータ構造をつくりたいことがある. た…

最近のJavaScriptはスクリプト言語のジャンルで必要な機能がだいたい揃った気がする(言語的な範囲では)

少し前にTypeScriptと素のECMAScriptとfb::JSXを混ぜてcompile -> linkする記事を勤務先のブログに書いたのだけれども、それ以後に色々思った小話を一席。 先述のエントリで示した構成を趣味プロジェクト含めて2~3度試した結果、現代のJavaScriptは書き捨て…

RxJSのいろいろ雑感(2015年8月末編)

8月末に書いたメモ書き どこに書いたか忘れそうなんで貼っておく

RxJSとRxJavaとでは旨味のコクが違うように思う

Rx(もしくはReactive ExtensionsないしReactiveX)には Observable Operators Subject Scheduler と云った概念がある(分類はReactiveX.io調べ)。 で、Rxを用いた非同期処理を実際に行うにあたっての実行計画を制御するための要素が Scheduler に当たり、…

Re: Rx.js, Immutable.js について

Rx.js, Immutable.js について - mizchi's blog ファイルサイズへの異論は無い。これを使わずとも解決できる問題があるというのも同意する。それでもイマイチ釈然としない。「使う必要のない」一般公理と「使いたくはない」私情の境界が曖昧に感じてしまう。…

RxJSをもくもくしてReactivePropertyの価値らしきものを気づかされた話(仮)

Reactive Extensions JS port(RxJS)をもくもくしていた結果、C#界隈がReactive Propertyを作り出した理由が(なんとなく)わかってきた。 Rxの流儀にのっとれば、ある値を使おうとする場合、その値を生成するObservableの結果を受けて、そのObservableも同…

makeのくびき

「gulpって何だよ、makeでいいじゃん(要約」論争について、私もちょっと一本講釈をぶってみることにする。あれやこれやといった実利的な話をするつもりはない。そういうものは既に書いた人がいるのでそちらを参照のこと。 Gruntの思い出 Gruntは、私の印象…

option-tにPromiseへのキャストメソッドを用意したりなど

自作RustスタイルECMAScript用Option型ライブラリoption-tをいろいろアップデートしたので、リリースノートがてら書く。ご存知ない方はこちらをどうぞ。要はOption<T>/Maybe型だ。 Promiseへのキャストメソッドを用意した ECMA 262の文化には、すでにMaybeもど</t>…

RxJSのObservableのHotとColdの実装を眺めた

更新情報 UTC+9:00, 2015/03/29, 3:30くらいに、サンプルコードとかロジックの説明とかを修正した UTC+9:00, 2015/03/29, 14:30くらいに、gistにした(エラッタの修正履歴を残すため)

ES5の範囲でOption<T>型を表すライブラリ、option-t を作った

動機 初期状態で未選択なラジオボタンがあるようなフォームを作っている場合、ラジオボタンに対応するモデルの値を「この値は未選択である」というのをJSで表現するのは結構面倒くさい。チェックボックスであれば, booleanのどちらかで状態が確定するが、ラ…

Fluxとはなんだったのか + misc at 2014

はじめに VirtualDom - なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita を読んでいる前提で話を進めます。 結局”Flux”なんだったのよ 詳細については過去に自分が覚え書きを書いたのでそっちを読んでいただけると良いと思うけど、あれは 「MVCの…

Fluxの枠にURLルーティングを収める試行

JSer.info 200回記念祭の懇親会でざっくりアイディアだけ話していた記憶(酔っ払っていたので正確には覚えていない)なんだけど、実際に必要になったので試しに作ってみたという話。 モチベーション Fluxパターンを用いた設計を行なっている場合というのは往…

Fluxアーキテクチャの覚え書きを書いた

どこに書いたか忘れそうなので備忘でgist貼付ける Facebook提唱のFluxのメモ:http://facebook.github.io/react ...

React.js読んだ感想とかFluxアーキテクチャとか

この間、virtual DOM読んだついでにReactも読んでみた。 役に立つ話を書くつもりは一切無くて、感想だけ。 React.js 定数だけのファイルとか(まさに*hな感じ)、デザインや使い方について書かれたコメントなど、全般的にC++に類似するstaticなコードの流儀…

Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話

Reactの登場以来気になっていた、Virtual DOMアプローチの具体的な差分抽出手法について、virtual-domを読んで確認してみた。 Reactをいきなり読むのは面倒くさかった・ミニマムな実装から読みたかったというのが、こっちを選択した理由。Reactのアルゴリズ…

JS界隈にIDLもしくはd.tsを併記・同梱する文化が根付いてほしい

前置き 最近、ウェッブフロントエンドエンジニアらしく各種JavaScriptのライブラリを眺めて、調査・選定しているのだけれども、その過程を通じたこととして、多くのライブラリが、ドキュメントのAPIの説明が貧弱すぎる。 jQueryのドキュメントが腐っていると…

見つけた便利MV**ライブラリを紹介するときにjQueryをスケープゴートにするのをいい加減に止めろ

オレオレMV**フレームワークを紹介する際にjQueryを引合いに出して語る事案が多く、そこで語られるjQuery批判が的外れもいいところなのが散見されるので書きました。 Abstract MV**便利フレームワーク・ライブラリを紹介するときに、jQueryの一番イケてない…

Single Page ApplicationならService Worker待たなくてもWeb Workerで代替できるんじゃないの問題

題名の通りです 「別にService Workers待たなくても、現状のWeb Workersだけでモデル層の別スレッド追放が可能なのではないか?」という問題 対応ブラウザについては考えない Transferable Objectサポートしてなくても、どうせサーバーに問い合わせてた分は…

Promiseはコールバックに対する聖杯ではない

ES6ならびにDOM4にPromiseが投入されることとなり、すっかりJavaScriptでよく陥るコールバック地獄に対する至高の解決策のように扱われているPromiseだが、万能の解・聖杯ではない。 たぶん誰かが既に似たようなこと書いてると思うけど、とりあえず自分の思…

asm.jsについてこれさえ知っておけば超絶ライフハックで明日から収入が三倍になって身長が伸びて血圧が下がって寿命が10年伸びて彼女が出来て合コンでモテて子供が神童と呼ばれ東大首席入学で末は博士か大臣かコースまっしぐらで老後も安泰で人類も平和になるだいたい10個くらいの何か

色んなニュースで取り上げられているけど、結局肝心のところが捨て置かれたままに数字とかアプローチの是非が巷で語られてるので補足します。 asm.js の js とは何か JavaScript の言語コア部分、ECMAScript のこと。DOM は入ってない。Mozilla が JavaScrip…