AWS Amplify はすごく便利だけど、レールから外れると難しい。 普通にやると、Cognitoで認証・認可して Pinpoint でPUSH通知が簡単にできる。 ただ、Cognitoの認証部分だけAPI Gateway経由で呼び出すようなシステム構成だと簡単ではない。 Cognitoの認証と認…
DynamoDBはフルマネージドな「Key-Value Store」だ。 まず、KVSであることを前提に考える必要がある。 サマリー 1つのテーブルで全てのデータを持つ スキーマレスだけど、スキーマ設計はRDBよりも考える必要ある 注文履歴などの一覧をクエリする難易度が高い…
WIP: 図は時間あるときに付けます。 なんでそんなマージンの付け方してるんだー。ってならないことがない。 CSSは簡単なのだけど、継続的に開発するのが非常に難しい。 maginの設計もアプリケーションで統一してないと、Viewが動的に変化する箇所で、 意図せ…
1KBを超える文字列は、読み出しに時間が掛かりすぎるので避けたほうが良い。 AsyncStorageにダウンロードした画像をbase64で保存して、次回からキャッシュから取り出すみたいな事をやってる人も多いんじゃないかな。 ただ、iOSの場合は、1KB以下の文字列はオ…
僕は以前、 「DDDで考えるマイクロサービスのバリデーション」という大それた記事を書いた。 qiita.com マイクロサービスっていうのが、ちょっと良くわかんない。 整理されてなくて、何が言いたいのかも良く分からないので、 再考した結果を、リライトしてみ…
こんにちは、hikoukiです。 ex-crowdworks Advent Calendar 2018の18日目の記事になります。 このアドベントカレンダーは、元クラウドワークスのエンジニア達によるものです。 僕も、今年の8月末で退職して、個人事業主にジョブチェンジしました。 2017年12…
こんにちは、hikoukiです。 この記事は ex-crowdworks Advent Calendar 2018 6日目の記事です。 元クラウドワークスの人達によるアドベントカレンダーなので、僕もクラウドワークスを退職済みです。 フリーになるために、辞めさせて頂きましたが、良い会社な…
Androidの場合、スリープ状態でPUSH通知を受けると、音だけ再生されて画面は真っ暗。 それだと気づけないので、LINEとかのPUSH通知とかは、PowerManagerで電源をONにした後にPUSH通知を作って表示したりしてます。 FCMで普通にやるとPUSH通知の受信から制御…
React, ReactNativeで、Componentを再構築(reconstruct)する
「やさしいLispの作り方」はC言語で簡単なLispの処理系を実装して、REPLで動かすまでが書いてあります。 低レイヤーの知識がまったくない僕にとっては学びが多かった。 やさしいLispの作り方: C言語で作るミニミニLisp処理系作者: 笹川 賢一出版社/メーカー:…
grpc-gatewayはデフォルトで、一般的なHeaderの値を、Metadataに入れてリクエストを中継します。 ただ、Cookieの値は使わない場合もあるし、 ユーザーに見えるkeyよりも、もっと意味持たせたkeyをMetadataに入れたいとかある。 そんな時は、mux作るときに、S…
これはかなりおすすめしないですが、とりあえず検証ということでやってみました。 helthcheckぐらいならいいかも? まずは、登録するハンドラーを用意。 package echo import ( "io" "net/http" "github.com/grpc-ecosystem/grpc-gateway/runtime" "google.g…
1つのgrpc-gatewayに複数サービス繋いで、認証は共通化するみたいなの作りたかったので調べてみました。 実装方法は簡単で、RegisterXXXXHandlerFromEndpoint に渡すendpointを変えればいいだけでした。 package main import ( "flag" "net/http" "github.co…
gRPCで、ValueObject的にサービスのリクエストメッセージを定義することはよくあるのかなーと思います。 ただ、grpc-gatewayを使う際に、型がネストするので、パラメタの指定がわかりにくかった。。 まとめられてるページもなさそうだったので、ここでまとめ…
brew を綺麗にする linkしてないものを削除する。 $ brew prune 古いバージョンのものを削除する。 $ brew cleanup Docker を綺麗にする Dockerが使ってる容量を確認する。 $ docker system df 停止しているコンテナや使っているイメージ、Volumeを削除しま…