2020-12-01から1ヶ月間の記事一覧
今年は1年間の振り返りネタがあるので書き残しておきます。 「URL化」を意識するようになった1年 今年1月に fukabori.fm というポッドキャストに出演されていた @t_wada さんの回(2019年2月)を聞いて、それ以降「URL化」を意識するようになりました。 …
なぜやろうと思ったのか モチベーションの変化 ネタの集め方 なぜ「はてな」? やってみてどうだったか 得た知見が検索可能になった 1年間の成長が目に見える 業務のwikiを書くのが早くなった(苦じゃなくなった) 今後の改善点 まとめ 今年の1月6日の仕事…
とあるAPIで 次のようなメッセージ認証を行うサービスがあった 次の値を\n区切りで結合した文字列にする HTTPリクエストメソッド (GET or POST) URLのパス (e.g. /path/to/api/{id}) クエリパラメータ (e.g. targets=default). 送信リクエストのUTCタイムス…
とあるAPIで HMAC-SHA512 でメッセージ認証を行うサービスがあった HMAC-SHA512がなんなのか知らなかったので調べた HMACとは HMACは一方向ハッシュ関数を用いてメッセージ認証コードを構成する手法(RFC2104) HMACのHは、Hashを意味する HMACでは、強い一…
Chrome87へのバージョンアップした上で、あるサイトで検索などを実行したときに「送信しようとしている情報は保護されません」と表示される事象にでくわした これはChrome87のバージョンアップで、POST処理を実行したときにHTTPSとHTTPが混在するstrict-orig…
大学生と話す機会があったとき、「リーンローンチパッドをやって」というワードが出て「あぁーあれね」って雰囲気で話したけど全然しらなかったので調べた こちらのスライドが参考になった リーンローンチパッド特別講義(公開用) from Takashi Tsutsumi ww…
Elasticsearchをつかった検索で、複数のフィールドを検索対象とするクエリを発行したい、かつ、完全一致する場合はそのdocを通常の2倍のスコアにしたい このとき、ESのMulti-matchクエリを使うことを検討してみた www.elastic.co 基本的な使い方 this is a t…
JavaのライブラリのMapStructを使うことになったので、ざっくり調べる mapstruct.org MapStruct は Annotation Processor を使って、Javaのオブジェクト間のマッピングに対するコードをコンパイル時に自動生成するマッピングライブラリ 複数のレイヤーで構成…
2秒ごとにカウンタをインクリメントするカウンターアプリを例にuseCallbackの落とし穴について教えてもらった 例とするカウンターアプリの機能 ・2秒ごとにカウンタをインクリメントする ・リセットボタンが押されたら ・カウンタを0にする ・インターバルを…
以前に調査した、GCSの大容量長期アーカイブ向け「Archive」クラスの調査不足によりやらかした uga-box.hatenablog.com 調査不足していたこと Archive Storageへのアクセスに対する認識 ライフサイクルでクラスを変更した場合の料金 早期削除 Archive Storag…
JavaScriptのクロージャと関数オブジェクトのお話を聞く機会があり、自分なりに整理してみた 先に関数オブジェクトについてまとめていたとき uga-box.hatenablog.com 関数オブジェクトは「実行時にnameとlengthをもったオブジェクトが作られる」とイメージす…
以前、useCallbackについて調べた uga-box.hatenablog.com ただ、このとき メモ化されたコンポーネント(不必要なレンダーを避けるために参照の同一性を見るよう最適化されたコンポーネント)にコールバックを渡す場合に便利 という部分がよく理解できていな…
「CDN-Cache-Control」 ヘッダという仕様が提案されていること知ったので調査する こちらの記事が参考になった asnokaze.hatenablog.com 中継サーバーのキャッシュはCache-Control: max-age, s-max-ageで制御できるが、CDNサーバー専用のキャッシュを制御す…
MSに申請したらIE11 で起動して表示したドメインであってもEdgeを起動するようにしてくれるみたい docs.microsoft.com Webサイト所有者はIE互換性リストに申請する必要があるとのこと ユーザーのフロー IEを開こうとすると、Microsoft Edgeにリダイレクトさ…
HTTP/1.1には仕様が新旧2つあって、この新旧の違いとしてCache-Controlが明確にHop-by-hopではないという記述がなくなったという話を聞いたのでメモしておく 古い方のRFC 2616ではHop-by-hopのヘッダーの記述がある https://tools.ietf.org/html/rfc2616#sec…
SWRの期間もCDN(Fastly)のキャッシュを使う場合はどうするべきかの話を聞いたので整理する stale-while-revalidate(SWR)を使うとmax-ageの期限が切れた状態でも、しばらくそのままキャッシュを利用し、かつ、裏で非同期でデータをフェッチさせておくこと…
例えば、Cache-Control: max-age=3000を指定した場合、Fastly のキャッシュサーバー、Fastly とブラウザ間のキャッシュサーバー、およびブラウザ自体がこのヘッダーに従う 自分のリソースを Fastly に永久的にキャッシュさせたいが、ブラウザがそのリソース…
JavaScriptの関数オブジェクトのお話を聞く機会があり、理解していたつもりだが深くはできていなかったことに気づいた なので、自分でももまとめてみる tc39.es 関数の定義方法 function add(x, y) { return x + y; } const add = function(x, y) { return x…
どの文脈かは忘れたが、multi-tenancyというワードを聞いたので調べた こちらの記事がわかりやすかった whatis.techtarget.com マルチテナンシーとは マルチテナンシーは、ソフトウェアアプリケーションの単一インスタンスが複数の顧客にサービスを提供する…
JavaScriptのクロージャのお話を聞く機会があり、理解していたつもりだが深くはできていなかったことに気づいた なので、自分でももまとめてみる Closure(関数閉包) ▼閉じた関数 自分が定義した引数/変数だけを使っている関数 function f (x, y) { const z…
同じdocのはずがscoreが違う謎の事象と遭遇した 具体的には tweetインデックスに以下のdocが入っている id user message likes 1 Aさん elasticsearch 14 2 Bさん elasticsearch 10 3 Cさん elasticsearch 12 4 Aさん elasticsearch 10 5 Bさん elasticsearc…