理系学生日記

おまえはいつまで学生気分なのか

Amazon PinpointでiPhoneにPush通知を送信する

最近関わっている案件で、モバイルアプリへのPUSH通知を必要とする気配があります。このPUSH通知は、特定タイミングで、特定の条件を満たすユーザに対して通知しなければなりません。 モバイルアプリや通知に関しては赤子のような知識しかなかったので、色々…

マルチテナントデータを安全に扱うための Row Level Security、そして1ユーザーが複数のテナントに所属するときの対応について

このエントリでは、マルチテナントアプリケーションを構築する場合に、テナントに紐づくデータをどう安全に扱うかという点でRLSについて記載します。 特に、1ユーザが複数テナントに関する権限を持つ場合にRLSをどう適用すべきか、頭を悩ませました。 マルチ…

Postgresqlに対するアプリケーション用DBユーザーの作成と権限

データストアにPostgresqlを採用し、アプリケーションから当該DBに対してDB接続する。そういうユースケースは枚挙に暇がありません。 データベース・スキーマの作成 アプリケーション用ユーザーの作成 ユーザーのデフォルトスキーマ切り替え ユーザーへの権…

「インサイドセールス 訪問に頼らず、売上を伸ばす営業組織の強化ガイド」を読んだ

昨年度から「インサイドセールス」という部分に少し関わっていたのですが、なんとなく業界の概況がわずかに分かったかなというところから、なかなか進歩がありませんでした。 最近常々感じているのは、サービスをシステムから支える人間として、業務知識を持…

Unicodeの正規化について

トラブルシュートの中で、これUnicodeの正規化関連のトラブルではないか、と思える事象がありました。 最終的には違ったようなのですが、改めてUnicodeの正規化について理解を深めたく、調べてみました。 Unicodeにおける結合文字列 Combining Character Seq…

クライアントサイドJavaScriptとOSSライセンスの関係、及び、その自動チェック

多くのライブラリにはライセンスが付属しています。 利用する側は、当然このライセンスに定められた条件を満たさねば、当該ライブラリを使うことができません。 多くのライセンスでは「頒布」(distribution) 行為に対して条件を課しています。そして、この「…

ISUCONにJavaでチャレンジし予選敗退してきました

ISUCON 12とっても楽しかったですね。 今年はISUCON 6以降で久しぶりの登場となったJavaで参加してきました。 ISUCON6 オンライン予選の利用言語比率 : ISUCON公式Blog ISUCON12 オンライン予選の利用言語比率 : ISUCON公式Blog ISUCON 12における698チーム…

送信ドメイン認証としてのSPFとDKIM

最近はなりすましメール周りについて調べていまして、いままでまったくタッチしてこなかったメール周辺知識を必死で吸収するようにしています。 メールにおける送信者情報 エンベロープFrom ヘッダFrom 送信ドメイン認証 SPF (Sender Policy Framework) 参考…

Serverless Frameworkのコマンド実行時にフックして他のコマンドを実行するserverless-scriptable-plugin

Serverless Frameworkの各種コマンド実行をフックし、任意の処理を挟み込む方法を紹介します。 背景 大量のLambda関数を管理するためにServerless Frameworkを利用しています。 ここで、問題が発生しました。 Prismaを利用したLambda関数をWindowsからデプロ…

AWS SDK for JavaScript v3のGetObjectCommand、TypeScriptで使いにくくないか?

S3上にあるオブジェクトの内容をTypeScriptで読み込みたい、こういうユースケースは多数あります。 自身としては今回初めて、AWS SDK for JavaScript v3の@aws-sdk/client-s3を使って実装してみました。 そこで感じたのは、GetObjectCommandまわりのインタフ…