概要
Node.jsといえば非同期やcallbackで有名ですが、1つの関数の中で非同期な処理と同期的な処理が混ざってしまうと期待しない挙動になることがあるので注意しましょう、という話です。
環境
- Node.js 8.9.0
基本的な方針
- 非同期な関数は全て非同期処理でまとめる
- 同期的な関数は全て同期的な処理でまとめる
です。
続きを読むNode.jsといえば非同期やcallbackで有名ですが、1つの関数の中で非同期な処理と同期的な処理が混ざってしまうと期待しない挙動になることがあるので注意しましょう、という話です。
です。
続きを読む先日東京リージョンにもC5/M5インスタンスが対応されました。
コスト的にC4/M4より10~15%ほど安くなるため、可能であれば逐次移行した方が良いです。
ただC5/M5からは
といった大きな変更が入っており、単純にインスタンスタイプを変更するだけだと動かない・パフォーマンスが十分に発揮できない可能性があります。
pprofの使い方の備忘録として何回かに分けて書いてきます。
今回は前提知識として知っておくべきことを書きます。
以下の2つのやり方があります。
前者は短時間で実行が終了するようなケースで使います。
後者はWebサーバのようにずっと動かすプログラムのケースで使います。
以前
でMacrotasksとMicrotasksについて触れました。
ただこの時使ったのがPromise
、setTmeout()
だけで、他の種類の非同期関数を使った場合どうなるのだろう、と気になり検証してみました。
BigQueryは基本的にはログなど解析目的で利用するため、データ自体を更新することはありません。ただ
みたいなケースが起き、解析結果が期待するものにならない場合は更新処理が必要です。
2016/11からDML(データ操作言語)が使えるようになったので、それを使って更新します。
BigQueryは基本的に取得系メソッドをメインで利用するものなので、DMLに関しては以下のような制限があります。
ref: Data Manipulation Language | BigQuery | Google Cloud
なので1レコードずつ更新するクエリをループで回すなんてことはせずに、一気に複数のレコードを更新するクエリを発行するようにしてください。
続きを読む