UGA Boxxx

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

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

【Elasticsearch】緯度経度を使って検索する

ホテルなどの宿泊施設をGoogle Map 上にマーカーを表示することを考えたとき、 Google Mapの中心を動かすと同時に(または何かボタンを押して)その四隅の緯度経度内にはいる施設を再検索をしたい これを実現するためにElasticsearchのGeo-bounding box quer…

【Google Map API】ReactプロジェクトでGoogle Mapを表示したい

react.jsプロジェクトでGoogle Map APIを使用してMAPを表示し、さらに以下の操作をしたかったので調査した オリジナルのマーカーの作成 ズームインアウトボタンの場所変更 マーカーをクリックして吹き出しを表示する 最初に Google Map API を利用するために…

【Vavr】Javaの関数型ライブラリVavrのflapMap

現在、VavrというJavaの関数型ライブラリを使っているので、このVavrの使い方メモ 今回はflapMapについて こちらの記事が参考になったので個人的なまとめ blog.softwaremill.com flatMapは平坦化する mapとのおおまかな違いは map(T -> R)は、Tのデータ型をR…

【Elasticsearch】 [FORBIDDEN/12/index read-only / allow delete (api)]が出た

Elasticsearchを使っていて、以下のエラーが吐き出され更新ができなくなった blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];" stack overflowによるとディスクの使用率が危険な場合に発生するエラーで、 index.blocks.read_only_allow_d…

【HTTP】End-to-endとHop-by-hop

キャッシュと非キャッシュプロキシの振る舞いを定義する目的のために、ヘッダーフィールドを2つのカテゴリに分類していることを知った developer.mozilla.org End-to-end リクエストであればサーバー、レスポンスであればクライアントのように最終的な宛先…

【Elasticsearch】JavaでMulti-Search APIを使う

JavaでMulti-Search APIを使いたい www.elastic.co MultiSearchRequestインスタンスを用意して、通常のSerachRequestをaddしていけばよさそう MultiSearchRequest multiSearchRequest = new MultiSearchRequest(); SearchRequest firstSearchRequest = new S…

【GCP】バッチ処理

AppEngine上で長時間動作するバッチがある これをCompute EngineのContainer Optimized OS上で、コンテナを実行してバッチ処理をトリガーしたい ざっくり手順 このドキュメントにある手順をざっくりまとめる cloud.google.com アプリと必要なライブラリを Do…

【Storybook】v5.2.xからv6に更新してみた

Storybookを5.2.xを使っているが、現在は6系があるようなので無邪気にバージョンアップしてみた $ npx sb upgrade エラーが発生したので解いていく 発生したエラー Core-JS dependency errors Module not found: Error: Can't resolve 'core-js/modules/web.…

【Firebase】ソーシャルログインでポップアップウィンドウはおすすめできない

前回に引き続き、FirebaseAuth を使ったログイン認証でアカウントに複数の認証プロバイダをリンクさせることを試していたときのこと uga-box.hatenablog.com 既存のユーザーアカウントに紐付けたい認証プロバイダの認証情報をリンクさせるには、リンク先とな…

【Firebase】メールリンクと他プロバイダでログイン用のメールアドレスを紐づける

FirebaseでGoogleやFacebookなど、2つ以上のログイン方法をサポートしたい場合、少し工夫がいるみたい account-exists-with-different-credential エラーの処理より Firebase コンソールで [1 つのメールアドレスにつき 1 つのアカウント] 設定を有効にして…

【Firebase】初期設定を環境に応じて変更する

WebサービスでFirebaseを使う場合、Firebase SDKの初期設定をする必要がある こういうやつ const firebaseConfig = { apiKey: "abcdefghijklmnopqrstuvwxyz1234567890ABC", authDomain: "YOUR-PROJECT-NAME.firebaseapp.com", databaseURL: "https://YOUR-PR…

【Embulk】大量のCSVデータをEmbulkを使ってMySQLに投入する

大量のcsvデータに直面した時に、ExcelやNumbersは固まっちゃって開けないし、 ソートとかフィルターとかしたかったので適当なエディタでもダメだし、どうしたものかと悩んでいた そこでローカルのMySQLにデータを入れるのはどうかなと思い調べてみたら、 Em…

【Kibana】JSON input ってどう使うの?

Kibana の JSON input の使い方を調べる www.elastic.co 簡単な説明は上のドキュメントより JSON Input A text field where you can add specific JSON-formatted properties to merge with the aggregation definition, as in the following example: { "sc…

意思決定の記録を残す - ADRの話

あるプロジェクトでの議論中に「あれ、これ以前どう決めましたっけ?」と言うときがあった 議事メモもとっていたけど、日付をタイトルにとっていたため あれはいつのことだったか?とジジイのようなことを言って時間を費やしてしまった 意思決定したことをど…

【技術本】Design It! の第3章「デザイン戦力を立てる」

Design It! の第3章「デザイン戦力を立てる」を読んでのメモ www.oreilly.co.jp 必要最小限のアーキテクチャを見つける 解決策を実験とみなす → 低コストで仮説の有効/無効をしる リスクを減らすことに専念する → 常に失敗したときのことを考える 問題を単…

Google App Engine の静的 IP アドレスについて

とあるサービスのAPIを利用する際、先方からホワイトリストに追加したいのでAPIを実行する環境のIPアドレスを連携してくれと言われたが、 Google App Engine (GAE) では現在、アプリケーションに静的 IP アドレスをマッピングする方法は提供されていないとの…

【Design System】Pairs JPのデザインシステム

エンジニアながらデザインシステムに興味があり、Pairs JPのデザインシステムを見つけたのでまとめてみる eureka.design Design Systemを導入する目的 Design Systemに求める条件は2つ プラットフォーム間で最低限のブランドイメージを担保できる 基本的な…

【デザイン】UXの5段階モデル

デザイナーがいない現場にいて、デザイナーが後から着任する場合がよくある このとき、デザイナーがスムーズにデザインに着手するには、イニシャルをコストをかけずに済むにはどうしたらよいだろうか これを考えるとき、デザイナーは「表面上の見た目を整え…

【GCE】マネージド インスタンス グループへの更新時の最小アクションについて

GCEのディスク容量の更新をするため、マネージド インスタンス グループ(MIG)の Updater 機能 を使用したが、その際に最小アクション(minimal-action)のオプションが問題になった そもそもマネージド インスタンス グループ(MIG)からよくわかっていな…

【Fastly】キャッシュ設定

Fastly でキャッシュをコントロールする方法を調べた docs.fastly.com Surrogate-Control Fastly のキャッシュサーバー上に 1 時間キャッシュされる 形式: Surrogate-Control: max-age=(time in seconds) 例: Surrogate-Control: max-age=3600 Cache-Control…