タグ

2019年3月17日のブックマーク (4件)

  • PromiseとCallbackの両方に対応する関数の書き方 | Tokyo Otaku Mode Blog

    こんにちは。Tokyo Otaku Mode(TOM)ソフトウェアエンジニアの稲田です。 TOMが開発、運営している自社ECサイトのotakumode.comのバックエンドは現在Node.jsで動いています。その中で多数の関数が定義され利用されていますが、そのほとんどがCallbackを取るようになっています。 しかし最近、バックエンドのNode.jsのバージョンがv6.11.xにアップデートされジェネレータが使えるようになり、co + yieldの組み合わせで同期的な書き方ができるようになりました。このco + yieldで書くために、PromiseとCallbackの両方に対応した関数を書いたときの問題とその解決方法を書いておきます。 TL;DR const f = (callback = () => {}) => { const p = new Promise((resolve, r

    PromiseとCallbackの両方に対応する関数の書き方 | Tokyo Otaku Mode Blog
  • スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? あまりにバズってしまったので、前書きを追加 ここまでバズってしまって正直すまんかった。 この記事はもともと愚痴記事をマイルドにして投稿しただけなので「テストを勧める」とか「テストを信奉する」とかそこまで強い意図は特にありません。(私がテスト好きなのは否定しません) 「テスト書こう」に対して「そんなコストはない」と言いながら、いろいろ問題が生じる現状を愚痴りたかっただけです。愚痴るだけだと生産性がないから、なんでこんなに認識が違うんだろうと原因を考えた結果、テストを書くことに対する技術で実際にコストが大きく異なるなと気づいて書いた次第です

    スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita
  • IPFSについて勉強した - mizchi's blog

    ipfs.io IPFS とは / BitTorrent とどう違うのか P2P の分散ファイルシステム BitTorrentがトラッカーファイルと呼ばれる単位でファイル共有を行うのに対し、IPFS は内部が別のオブジェクトを指し示すポインタ(ディレクトリ相当) or またはバイナリ(ファイル相当)のものがDAG構造をとっていて、それぞれにユニークなキーが振られている。 IPFSの内部構造は Git の内部オブジェクトと非常に似ている。分散ファイルシステムとしての Git との概念的な差はほとんどなくて、両者ともにコンテンツアドレッシング方式の Merkle DAG 構造ということができる。調べた感じ各種ツリーフォーマットの表現の差や、オブジェクトの圧縮方法が違うだけ、といっていってよさそう。 IPFSで配布する際は、URLのような名前空間に対して保存するのではなく、オブジェクトまたはその

    IPFSについて勉強した - mizchi's blog
  • 普通のHTMLの書き方

    保守しやすく、規模に依存しないHTML文書のために 一般 DOCTYPEで始める 置き換えられるべきまたは旧式のDOCTYPEを使わない XML宣言を使用しない 文字参照はできる限り使わない &と<、>、"、'は名前文字参照を使ってエスケープする 制御文字や不可視文字は数値文字参照を使う コメントではその内容の前後へ空白文字を置く 終了タグを省略しない 空要素の書き方を混ぜない タグや属性値の前後へ空白文字を置かない 大文字・小文字を混ぜない 引用符を混ぜない 属性を2文字以上の空白文字で区切らない 真偽値を取る属性の値は省略する 名前空間は省略する XML属性は使わない data-*とMicrodata、RDFa Lite用の属性と通常の属性を混ぜない デフォルトの暗黙のARIAセマンティックスを尊重する 文書要素 lang属性を追加する lang属性の値はできる限り短くする できる限り