UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

2020-03-01から1ヶ月間の記事一覧

【gRPC】gRPCとは

grpc.io gRPCとは Googleが開発した通信プロトコルの1つ プロトコルバッファを使ってシリアライズ化し、HTTP/2が使って高速に通信する protoファイルと呼ばれるIDL(Interface Definition Language)にAPI仕様を記述する 通信方式 gRPCはサービスを定義すると…

【Markdown】YAML Front-matter

Githubで管理しているリポジトリのリリースノートをちゃんと記載しようとしたとき、決まった方式で日付やタイトルなどを書いておきたい そんなとき、markdown のヘッダに、YAML Front-matter と呼ばれるメタ情報を書くルールがあることを知った Front-matter…

【ITP】バウンストラッキング(リダイレクトトラッキング)とは?

ITP

uga-box.hatenablog.com 上の記事でITPのリリースで更新されたことについて調査していたときにDelayed Bounce Tracking(遅延バウンストラッキング)という言葉を知ったのだが、遅延の前にそもそもバウンストラッキングとは何かを調べた ITP2.0のリリース時…

【ITP】サードパーティーCookieが完全ブロックされることになった

米Appleが3月24日(現地時間)iOS13.4やSafari13.1と共に新しい Intelligent Tracking Prevention (ITP)をリリースした webkit.org このITPのリリースで更新されたことと更新理由などをざっくりまとめてみた クロスサイトリソースのCookieをデフォルトで全面…

【OkHttp】readTimeoutを設定する

OkHttpを使って、あるサービスのAPIに接続しているところでソケットタイムアウトを起こしていた java.net.SocketException: Socket closed 根本原因はまだ不明だが、一旦タイムアウト値を延ばすようにしてみる square.github.io デフォルトは10秒 OkHttpClie…

【Cloud Datastore】GQLを使って前方一致検索をする

GCP Datastoreにまたしてもうっかり間違えたデータを大量に登録してしまった 前回はある日付以降のデータを削除したかったのだが、今度はあるフィールドの文字列を前方一致で検索した結果を削除したい 削除の方法はわかっているので、検索方法を調査した uga…

【Cloud Datastore】特定のエンティティを削除する

GCP Datastoreにうっかり間違えたデータを大量に登録してしまった 幸い、今日(2020/03/24 AM10:00)以降に登録したデータを全て削除すればよいので、GUIからフィルタリングしてチェックボックス全てを選択して削除すればよいかと思ったが、一覧には最大50ま…

【Web高速化】サーバープッシュとは?

サーバープッシュという機能を使ったWeb高速化の話を聞いたので概要を調査してみた サーバープッシュ HTTP/2のプロトコルでの通信において、サーバーがクライアントに対して事前にレスポンスを送信(プッシュ)できるようにしておくこと HTTP/2での通信は単…

【Cloud Tasks】bucket_size とmax_concurrent_requests の違い

GCPのCloud Tasksをつかっていて、あるときあるジョブのタスクがほとんどエラーで失敗する事象がおきた 原因はバックエンドが捌けないほどのレートでタスクを実行していたことだった bucket_sizeをずっといじっていたが解決せず、結果的にmax_concurrent_req…

【Elasticsearch】日付ごとにindexを作るパターンの基本操作

いままでElasticsearchのシングルindexでデータをためていたが、どんどん肥大化していき古いデータの更新や本番環境へのsnapshot/restoreがそろそろ辛くなってきたため、日付ごとにindexを変えてためる運用を始めた よくログとかではこのパターンを使うよう…

【FlowType】EnumのValueのUnion型をつくる

以前にEnumのようなUnion型を生成する方法を調べた 【FlowType】逆引きメモ - UGA Boxxx このとき、Keyの型チェックに対しては$Keysを使うことがわかったが、Valueに対しての型チェックはどうやるのかがわからなかったので調べたら、単純に$Valuesを使えばよ…

【FlowType】関数オーバーロード

関数のオーバーロード(シグネチャの異なるメソッド)に対応する型を考える 例えば、以下の関数の型について考える number を受け取った場合は string を返す string を受け取った場合は number を返す この場合、どちらか一方ということからUnion型|を使っ…

【SSL/TLS】SNIとは?

FastlyのFastly TLSサービスを調べていたところ SNI拡張を使って、「クライアントが通信したいホスト名をサーバに通知できるようにしている」っていう話がわからなかったのでSNIについて調べた このへん By default, Fastly installs TLS certificates at a …

【Fastly】 共有TLSの提供終了について調べてみた

PKI/認証局の団体であるCA/Browser Forum(CAブラウザーフォーラム)で採用されているセキュリティ標準の改善により、TLS証明書を要求する際のドメイン検証に使用されるランダム値の有効期間が30日間のローリングウィンドウに短縮されたらしい 30日間のローリ…

【アプリ開発】PWAじゃなくてTWA? - Googleの Trusted Web Activities

いま自社で運用しているWebサービスに加えて、ネイティブアプリを作るべきか、どう作るべきか悩んでいたところ、OYO LifeがTWAというものを利用したOYO LiteというAndroidアプリを開発した これによりコンバージョン率やユーザ数、アプリダウンロード数を増…

【Fastly】Varnishとは? - Varnishを使用する利点

Fastlyを利用しているが、そのFastlyが利用しているVanishというOSSについてよく知らなかったので調べてみた Fastlyの公式ドキュメントでVarnishを使用する利点について書かれていたので以下のドキュメントをまとめる www.fastly.com Varnishとは? Fastlyの…

【タスク管理ツール】ScrumDo の微妙なところ

半年くらいタスク管理ツールにScrumDoを使っていたが微妙なところがでてきた www.scrumdo.com ScrumDoは名前にある通りスクラムに即したタスク管理ができるツールで、 もっと前にはTrelloを使っていたが、1つのビューに複数のレーンが作れるという理由でScr…

【構成管理】Maven マルチモジュール のメリットデメリット

Javaで実装する複数のコンテキストの構成管理に、Mavenマルチモジュールにするのがよいか、リポジトリを分けた方がよいかで迷った そこでマルチモジュール のメリットデメリットをまとめてみる メリット モジュールの重複を減らすことができる モジュール間…

【FlowType】逆引きメモ

Flow使ってみて調べた使い方 分割代入した変数に対して const { pathname }: { pathname: string } = location; 指定された型をすべて満たす型をつくる Intersection types を使う // @flow type A = { a: number }; type B = { b: boolean }; type C = { c:…

【Elasticsearch】restore後にindexがUNASSIGNEDのままになる

restoreを実行後にずっとUNASSIGNED のままactiveにならずに困ってしまった 結果的にインデックスを一度削除して、もう一度restoreしたら解消したので原因不明なのだが、調査中にみた以下の記事が有益だったのでまとめておく www.datadoghq.com Elasticsearc…

【FlowType】2020年のFlowってどうなのか

Flowって最近どうなのかを調べたら、ちょうど先日3/10に2020年の計画が発表されていたのでざっくりまとめてみた

【Spring Boot】起動時にDB接続に失敗する

Spring Boot起動時に以下のエラーが発生してしまい、ハマったのでメモ postgres Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 結論 ライブラリーがクラスパスにないことが原因だっ…