2018年3月26日のブックマーク (5件)

  • 時間計測をしてNode.jsアプリのパフォーマンス改善の手助けをする - 技術探し

    現在のNode.jsの安定性指標 Performance Timing API 目的 提供される変数・メソッド イメージ PerformanceEntry entryType node gc Performance timeOrigin now() nodeTiming mark() measure() timerify() getEntries() getEntriesByName() / getEntriesByType() PerformanceObserver ユーザーの手順 区間測定を行う 関数実行にかかる時間を測定する 使用例 Server Side Rendering まとめ 区間測定をしたい場合 イベントの測定をしたい場合 前回の記事とはまた別の話です。 blog.hiroppy.me 今回は、土曜日に京都で話したきたPerformance Timing APIについて話し

    時間計測をしてNode.jsアプリのパフォーマンス改善の手助けをする - 技術探し
    bouzuya
    bouzuya 2018/03/26
    Kyoto.js #14 でのアレだ
  • Lambda / Kinesis / DynamoDB / X-Ray などを組み合わせた実装を学べる「サーバーレスアプリケーション開発ガイド」を読んだ - kakakakakku blog

    今月発売されたばかりの「サーバーレスアプリケーション開発ガイド」を読んだので,書評をまとめたいと思う.著者の西谷さん,献ありがとうございます! Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド 作者:西谷 圭介発売日: 2018/03/16メディア: 単行(ソフトカバー) なお,サポートページからソースコードをダウンロードできる.コマンドもソースコードもそこそこ量があるため,写経せずに試したいという人はダウンロードして使うと良いかと. book.mynavi.jp 概要 「サーバレスとは何か?」という解説からはじまり,実際に数種類の「サーバレスアプリケーション」を実装しながら理解を深めていく流れになっている.特に,多くの AWS サービスを組み合わせて学べる点が素晴らしく,例えば X-Ray などは,僕もまだ試したことがなかったので,今回学ぶことがで

    Lambda / Kinesis / DynamoDB / X-Ray などを組み合わせた実装を学べる「サーバーレスアプリケーション開発ガイド」を読んだ - kakakakakku blog
    bouzuya
    bouzuya 2018/03/26
  • トランザクションの基本 - Qiita

    来はこの話はトランザクション技術アドベントカレンダー初日に書くべきだったかも知れない。 トランザクションとは「1つ以上の連続した操作の単位」であり、ACID特性を満たすとよく言われている。(というか先日も何度も何度も無意識にACIDという言葉を使っていた) ACIDとは ACID(えいしっど、もしくはあしっどと読む人も居るしどっちでもいいと思う)はWikipediaにも説明があるが、そこの説明は僕にはイマイチだと感じたので僕の言葉で今一度説明する。 Atomicity Consistency Isolation Durabilityの4つがトランザクションの満たすべき性質であると提唱されており、その4つの頭文字を取ってACIDと呼ぶ。それぞれの性質の内容に付いて書くと Atomicityとは トランザクションが残す結果が、すべてのトランザクション内操作が成功したか、もしくはすべて無かった

    トランザクションの基本 - Qiita
    bouzuya
    bouzuya 2018/03/26
    "DB開発者がせっかくトランザクションの仕組みを作りこんだ割にアプリ開発者たち(とORマッパ作者たち)はほとんどトランザクションを使わず、データのValidationやらユーザレベルでの不変条件保護に労力を割いている。"
  • 分散ロックという名の過ち - Software Transactional Memo

     TL;DR; 「分散ロック」が分散システムの設計図に登場した時 だいたいその設計は間違っていて当に必要なものはトランザクションだ 並行システムを実装する際にロックを用いるのはとても自然なことだ。 僕も普段はロックフリー系のアルゴリズムに詳しいと言われがちだが知識量でいったら実はロック系の方が多く蓄えているかも知れない。 分散システムは並行システムであることが多いので、その中にロックが登場するのはとても自然な発想である。 よく「分散」「並行」「並列」の言葉の定義がごっちゃになっているケースがあり、この記事の主題にしたいわけではないので深くは言及しないが、分散システムは環境などの要因で突如として参加者が音信不通になったり復活したりする点で並行システムと大きく異なる。 並行システムと同じノリで分散システムを設計しようとした際に陥る頻出の過ちが「分散ロック」である。そのアイデアはとても簡単で

    分散ロックという名の過ち - Software Transactional Memo
    bouzuya
    bouzuya 2018/03/26
  • 技術選定の審美眼。時代を超えて生き続ける技術と、破壊的な変化をもたらす技術を見極める(前編)。デブサミ2018 - Publickey

    最近の立ち位置としてはライオンと一緒にされていまして、テストを書いていないプルリクエストとかに対して、却下の代わりにこの画像が張られるみたいな形で、一種の恫喝の代わりに使われています。 が、人はきわめてジェントルな人で、いましゃべってるところを見て、このライオンとはキャラが違うなとお感じになっていただければ嬉しいです。 ついて行くべき変化とスルーしていい変化 昨今の技術の現場でよくあるのは、フロントエンド疲れ。JavaScriptの新しいフレームワークや、開発方法論とか、そういうのがどんどん登場して、また新しいものが出てきたと。 2年前に標準とされていたものがすっかり過去のものになってしまっていて、Gruntはどこに行ってしまったんだとか、Backbone.jsはどこに行ってしまったんだとか。 そうした変化に追いつけずに、疲れてしまうわけです。 かと思えば、一種の限界集落。よく言えば安定

    技術選定の審美眼。時代を超えて生き続ける技術と、破壊的な変化をもたらす技術を見極める(前編)。デブサミ2018 - Publickey
    bouzuya
    bouzuya 2018/03/26