タグ

ブックマーク / saneyukis.hatenablog.com (5)

  • チョッパヤ本を読んだ - saneyuki_s log

    超速! Webページ速度改善ガイドを読んだ。 超速! Webページ速度改善ガイド ── 使いやすさは「速さ」から始まる (WEB+DB PRESS plus) 作者: 佐藤歩,泉水翔吾出版社/メーカー: 技術評論社発売日: 2017/11/23メディア: 単行(ソフトカバー)この商品を含むブログ (1件) を見る 普段あまりこういうは買わないのだけれども、友人達が書いていたので購入してみた。特に献などもないのでどうでもいいかと思ってたんだけど、あとで印税貢献分としてコーヒー一杯奢れと著者両人にたかるネタとして良さそうなので買いました。 内容はGoogleの出しているWeb Fundamentalsのうち、パフォーマンスに関連するセクションを捕捉・再構成したような感じ。 巷では玄人向けという評価もあるけれど、それはのターゲットの説明として大雑把にすぎると思う。 一読者たる私の感じたタ

    チョッパヤ本を読んだ - saneyuki_s log
  • rustcを通らないコードは間違っている - saneyuki_s log

    Rustを書いていると、慣れるまではrustcに頻繁に怒られる。慣れても結構怒られる。とにかくrustcに怒られる。きっと貴方はこう思うだろう、「Rustはなんて煩い言語なんだ!俺の愛する****(好きな言語の名前を入れてください)ならばこんなことはないのに!」 このように「rustcが煩くて俺のコードが通らない」場合、とりあえず自分のコードが間違っていると疑って問題はない。え、「俺のコードは正しい」? 違う違う、コードのロジックの話じゃない。「そのコードがRust wayではない」という点で「間違っている」。microなスタイルからmacroな設計まで、ありとあらゆる点でRust的なコードであることを暗黙的ではあるが極めて強く要求する。それがRustというプログラミング言語だ。時たまrustcが間違っていることもあるんだけど、体感値として97%はrustcの方が正しいと言っていい。 なぜ

    rustcを通らないコードは間違っている - saneyuki_s log
    mkwtys
    mkwtys 2017/02/15
  • Fluxの枠にURLルーティングを収める試行 - saneyuki_s log

    JSer.info 200回記念祭の懇親会でざっくりアイディアだけ話していた記憶(酔っ払っていたので正確には覚えていない)なんだけど、実際に必要になったので試しに作ってみたという話。 モチベーション Fluxパターンを用いた設計を行なっている場合というのは往々にしてSingle Page Applicationであるので、URLに基づくルーティングを要しない、純然たるアプリケーションなケースが多い。だが、アプリケーションの性質によっては、パーマネントリンク的な機能の再現をしたいことがあり、ルーティング機構が欲しかったりする。 で、そういう場合については語られてる事例をあんまり見かけなかったので、作ってみた。 デザイン Storeに基ロジックを閉じ込めるのは変わらない URLに基づく履歴情報は、ユーザーインターフェースの一種と捉える。ので、Viewと考える 使ったライブラリ 基要件として

    Fluxの枠にURLルーティングを収める試行 - saneyuki_s log
  • RxJSをもくもくしてReactivePropertyの価値らしきものを気づかされた話(仮) - saneyuki_s log

    Reactive Extensions JS port(RxJS)をもくもくしていた結果、C#界隈がReactive Propertyを作り出した理由が(なんとなく)わかってきた。 Rxの流儀にのっとれば、ある値を使おうとする場合、その値を生成するObservableの結果を受けて、そのObservableも同様に……とObservableの依存関係を作っていく必要がある。 Rx.Observable.do()メソッド中に、関数外のグローバル変数などを副作用なmutateをさせてもいいが、これは基的によろしくない。Rxで実行される各Observerが、一体どのタイミングが動作するかの順序保証が来的には存在しないためだ。イベントループがひとつしかない & Workerは完全にメモリ空間が分割されたアクターライク & Rx.SchedulerもDOMのイベントループ原則に則るJavaScr

    RxJSをもくもくしてReactivePropertyの価値らしきものを気づかされた話(仮) - saneyuki_s log
  • RxJSで副作用を扱うにはどうするか - Schedulerを交えて - saneyuki_s log

    Rx.Scheduler RxにはSchedulerと呼ばれる主要概念がある. 値がpushで飛んでくるというRxのインパクトの後ろに隠れがちなSchedulerではあるが, これにより, 処理系のスレッドモデル(並行性)と時間軸にまつわるタイミングの制御を統一的に扱えるようにしている. 後続へのoperatorへの値の送出タイミングの制御, Observableの処理スレッドの指定, タイマーのモックへの差し替えなどがSchedulerによって実現されている. さてJavaScriptの場合, 原則的には単一スレッドの世界になる. Javaや.NETの場合とは違い, RxのSchdulerの役割は回り続けるイベントループ抽象となる. 永久に回り続けるイベントループの中で, どの時点で処理をdispatachするかがSchedulerの役目だ. JavaScriptの世界にはメモリ空間を共

    RxJSで副作用を扱うにはどうするか - Schedulerを交えて - saneyuki_s log
    mkwtys
    mkwtys 2016/02/21
  • 1