げっとシステムログ

WEB開発メモ

Google Cloud Run で Cloud SQL に接続する

CONTENTS やること Cloud SQL Admin API の有効化 サービスアカウントの構成 unix socket で接続 まとめ 参考資料 やること ドキュメントから、以下のことが必要。 Cloud SQL Admin API の有効化 サービスアカウントの構成 unix socket で接続 cloud run と …

rust でカバレッジふたたび

以前の記事の内容を高速化してみた。 CONTENTS コードで grcov のインストール まとめ 参考資料 ENVIRONMENTS コードで #!/bin/sh coverage_main() { if [ -z "$RUSTUP_HOME" ]; then RUSTUP_HOME="${HOME}/.rustup" fi local toolchain_dir local llvm_prof…

aws ses でメールを送信してみる

CONTENTS ドメインを追加する aws ses でメールを送信する メールを送信するためのポリシーを作成する rusoto でメールを送信する まとめ 参考資料 ドメインを追加する メールの自動送信なので、何かが起こって普段使っているドメインが使えなくなると困るた…

rust でカバレッジをとってみる

CONTENTS コードで 必要な準備 カバレッジをとる カバレッジが 100% じゃなかったらエラーにする まとめ 参考資料 ENVIRONMENTS rust: 1.51 コードで 以下の shell script でカバレッジをとることができる。 rustup component add llvm-tools-preview rustup…

rust で aws cloudfront signed cookie

signed cookie をやる方法はこの記事にまとめた。 rust でやったらまたハマったのでまたまとめておく。 CONTENTS コード pem をパース policy を構築 rsa private key で sign base64 エンコード デバッグ方法について まとめ 参考資料 ENVIRONMENTS rust: 1…

Rust でも protobuf したい

CONTENTS protobuf で protobuf する protobuf-codegen-pure でコード生成 親モジュールのコードを生成 actix-web でレスポンスを返す まとめ 参考資料 ENVIRONMENTS rust: 1.51.0 protobuf で protobuf する protobuf を使って protobuf することにする。 …

Rust で distroless する話

CONTENTS なんでそんなことをするのか rustup でターゲットを追加 musl コンパイラをインストール ビルド まとめ 参考資料 ENVIRONMENTS debian: buster distroless/static-debian10 rust: 1.51.0 (2fd73fabe 2021-03-23) なんでそんなことをするのか distro…

ぼくのかんがえたさいきょうの状態管理

UI の状態管理に関する現在の理解について。 production には未適用 React としてアンチパターンな気がする CONTENTS 1言で コードで データから状態を構築するということ まとめ 参考資料 1言で 状態とデータをはっきり区別する 状態: UI の構築に必要な…

Web IDE を試す

CONTENTS なんでそんなことをするのか Theia を選んだ理由 Theia セットアップ built-in 拡張機能のセットアップ 拡張機能のインストール キーボードショートカットの設定 typescript のセットアップ まとめ 参考資料 APPENDIX ベースイメージ Dockerfile EN…

webpack で web-worker してみる話

CONTENTS なぜそんなことをするのか まず単純に worker してみる webpack で build してみる うまくいかなかったこと まとめ 参考資料 なぜそんなことをするのか この記事を読んで web worker のことを知った。 DOM の描画処理とは別スレッドでメインの処理…

TypeScript で protocol buffers する話

CONTENTS なぜそんなことをするのか protobufjs のインストール proto ファイル定義 コード生成 エンコード デコード まとめ 参考資料 ENVIRONMENTS TypeScript : 4.0.2 protobufjs : 6.10.1 なぜそんなことをするのか API との通信で使用したい Local Stora…

Google Cloud Run にデプロイしてみる

CONTENTS なぜそんなことをするのか Cloud Run にデプロイ Secret Manager で機密情報を管理 distroless イメージを使用してビルド CI によるデプロイ まとめ 参考資料 なぜそんなことをするのか これまで GKE で K8s のクラスタにデプロイしていた。 Cloud …

golang で test カバレッジを計測する

CONTENTS なにがしたいのか カバレッジを計測する カバレッジを取るパッケージを指定する まとめ 参考資料 なにがしたいのか 複数のパッケージで開発している テストが含まれないパッケージもある テストが含まれていないパッケージも含めてカバレッジを計測…

preact と htm でフロントエンド

CONTENTS なぜそうするのか 開発環境の構築 サンプルコード まとめ 参考資料 ENVIRONMENTS preact : 10.4.4 htm : 3.0.4 typescript : 3.9.5 webpack : 4.43.0 なぜそうするのか この記事を読んで、preact というものがあることを知った。 軽量だというので…

Vue 3 を TypeScript で

CONTENTS なにがやりたいのか 必要なパッケージのインストール webpack のセットアップ vue を使うための TypeScript の設定をする vue のコードを書く まとめ 参考資料 ENVIRONMENTS node : 14.4.0 vue : 3.0.0-beta.15 なにがやりたいのか HTML の描画とイ…

golang で aws cloudfront signed cookie

AWS CloudFront でプライベートコンテンツを配信したい。 このために Signed Cookie を使う方法があるが、これを golang を使用して生成したい。 CONTENTS AWS CloudFront Signed Cookie カスタムポリシーを使用した Signed Cookie カスタムポリシーを作成す…

golang パッケージのタグのつけ方

CONTENTS やりたいこと パッケージの公開 まとめ 参考資料 ENVIRONMENTS host: GitHub やりたいこと golang のパッケージは GitHub に push するだけで公開できる。 しかし、バージョンのつけ方がわかりくかったのでまとめておく。 TOP パッケージの公開 パ…

golang でクロスコンパイルする話

CONTENTS やりたいこと できたやつ CGO_ENABLED GOOS と GOARCH まとめ 参考資料 ENVIRONMENTS golang : 1.14.4 やりたいこと go build の結果だけを含んだ Docker Image を作りたい。 このためには CGO_ENABLED を無効にする必要がある。 TOP できたやつ 以…

GitHub Release に asset を追加してみる

CONTENTS やりたいこと できたやつ ベースにしたもの まとめ 参考資料 ENVIRONMENTS node: 14.4 @actions/github: 3.0.0 やりたいこと CI から GitHub の Release に asset を追加したい。 GitHub Actions からやる方法はいろいろ出てくるが、GitHub Actions…

Cargo でプライベート git を参照する

CONTENTS なぜそんなことをするのか git credential helper を設定する CI 設定 まとめ 参考資料 ENVIRONMENTS cargo 1.43.0 (3532cf738 2020-03-17) rustc 1.43.0 (4fb7144ed 2020-04-20) なぜそんなことをするのか ドメインロジックをクレートとして開発し…

Windows10 で Ubuntu 20.04 にする話

Ubuntu 18.04 がインストールされていて、これを 20.04 にアップグレードしたい。 CONTENTS 方針 バックアップ アンインストール・新規インストール リストア まとめ ENVIRONMENTS Windows10 Ubuntu 18.04 -> 20.04 方針 デフォルトのパッケージ以外はインス…

AWS IAM ユーザーの運用を考えてみた話

AWS コンソールにログインするユーザーの権限を最小限にする 作業用ロールにスイッチして作業 CONTENTS なんでそんなことをするのか ユーザーの作成 パスワードと MFA の設定ができるポリシーの作成 作業用ロールの作成 作業用ロールへスイッチできるように…

うちの開発環境 - 2020版

現在の開発環境と、構築方法をまとめる。 CONTENTS INTEL NUC Debian 秘伝のタレと化したバックアップのリストア まとめ 参考資料 INTEL NUC INTEL NUC に Debian をインストールした。 このマシンは以前と同じもの。 Debian なので Wi-Fi を使えるはずだが…

ラズパイに USB をさして電源を落とそう大作戦

CONTENTS なんでそんなことをするのか USB をさしたときの様子を確認する USB デバイスの詳細を確認する USB をさしたときにスクリプトを起動する まとめ 参考資料 なんでそんなことをするのか ラズベリーパイは電源につなげることで起動する。 しかし、電源…

coc.vim で textlint する話

coc.vim で efm-langserver を利用して textlint をかけるようにセットアップしてみる CONTENTS 出来上がったもの coc.vim の設定 efm-langserver の設定 textlint の設定 まとめ 参考資料 出来上がったもの coc.vim -> efm-langserver -> textlint coc.vim …

go package の構成についてのまとめ

golang 始めたばかりでよくわかっていないけれど、パッケージの構成についてまとめてみた。 CONTENTS パッケージとディレクトリの構成 初期設定の仕方 import の仕方 まとめ 参考資料 ENVIRONMENTS GO : 1.13.6 パッケージとディレクトリの構成 ここでは以下…

Keychron K4 キーボードが届いた話

CONTENTS なにがやりたいのか キーマッピング Microsoft IME DvorakJ の基本設定 直接入力 日本語入力 テンキー まとめ 参考資料 ENVIRONMENTS Microsoft IME SharpKeys DvorakJ なにがやりたいのか 某モヒカンSlack でそそのかされて Keycron K4 Mechanical…

ラズパイをルーターにしよう大作戦

CONTENTS なんでこんなことをするのか ラズパイを Wi-Fi に接続する DHCP サーバーの設定 iptables の設定 まとめ 参考資料 ENVIRONMENTS Raspberry Pi 3 Model B Raspbian Buster Lite : 2019-09-26 : 4.19 なんでこんなことをするのか 開発環境として Inte…

systemd で外付けディスクをマウントする話

CoreOS な開発環境で外付け USB ディスクにバックアップする方法を調べた。 CONTENTS ディスクの認識 ディスクの初期化 Unit ファイルの作成 rsync でバックアップ まとめ 参考資料 ディスクの認識 外付けディスクはほぼ問題なく認識された。 ディスクが認識…

Windows10 で Alacritty する話

某Slack コミュニティで Rust 製のターミナルエミュレータの Alacritty が良いという話を聞いたので、試してみる。 CONTENTS Alacritty について Chocolatey インストール Alacritty インストール エスケープキー対応 まとめ 参考資料 ENVIRONMENTS Windows …