げっとシステムログ

WEB開発メモ

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 …

ssh で ed25519 する話

CONTENTS 鍵の生成 ssh で接続する まとめ 参考資料 ENVIRONMENTS Windows 10 Pro Ubuntu 18.04 on WSL 鍵の生成 以下のコマンドで ed25519 の鍵を生成する。 ssh-keygen -t ed25519 ビット長の指定もないし、public key がだいぶ短いのでなんだか不安になる…

Windows Subsystem for Linux してみる話

WSL をインストールして Linux の shell 環境を整える。 CONTENTS WSL インストール Ubuntu を選択 ホスト名を変更する まとめ 参考資料 ENVIRONMENTS Windows 10 Pro WSL インストール Microsoft Store に WSL のアプリがいくつかあるが、初期状態ではイン…

Docsy で書いたドキュメントを公開する

Docsy を使用して書いたドキュメントを S3 + CloudFront で公開する。 CONTENTS S3 + CloudFront で公開する方針 baseURL の設定 ルートコンテンツの作成 favicon の設定 find-next-version セットアップ permalink 調整 更新日設定スクリプト GitLab Pipeli…

Docsy でドキュメントを書く

Hugo のテーマである Docsy を使用してドキュメントを書く環境を整える。 CONTENTS Node.js のインストール Hugo セットアップ 必要なコンポーネントのインストール Docsy のインストール Docsy Example からコンテンツをコピー hugo server でコンテンツを…

S3 + CloudFront でフロントエンドを配信する話ふたたび

S3 オブジェクトに設定したヘッダ用メタデータからヘッダを設定する */ へのリクエストで */index.html を要求する CONTENTS メタデータからヘッダを設定する ディレクトリインデックスを要求する まとめ 参考資料 SOURCES getto-systems/content-delivery-a…

うちの開発環境 - 2019版

現在の開発環境と、構築方法をまとめる。 CONTENTS INTEL NUC CoreOS labo-container dotfiles docker-wrapper まとめ 参考資料 INTEL NUC INTEL NUC に CoreOS をインストールした。 Wi-Fi 内蔵なのに CoreOS で使用できないのはもったいない気もする。 ス…

coc.nvim で Rust Language Server する

vim で Rust するときの設定をまとめる。 CONTENTS 出来上がったもの rust.vim のインストール 必要なコンポーネントのインストール CocConfig の設定 ALE の設定 まとめ 参考資料 ENVIRONMENTS NVIM v0.3.8 rust.vim : GitHub coc.nvim : GitHub ale : GitH…

Kubernetes で cert-manager する話ふたたび

以前の記事から書き方がちょっと変更されたのでまとめる。 CONTENTS 出来上がったもの Issuer の登録 Certificate の登録 まとめ 参考資料 ENVIRONMENTS cert-manager : 0.10.0 出来上がったもの letsencrypt-issuer.yaml apiVersion: certmanager.k8s.io/v1…

Docker Hub からの webhook で GitLab から latest タグをつける

Docker Hub の Auto Build でイメージをビルドしたい。 ただし、latest タグは別ビルドにしたくない。 そこで、webhook で build 完了を検知して GitLab の pipeline から latest タグを push する。 CONTENTS できあがったもの DockerHub で webhook を設定…

AWS Lambda から DynamoDB にアクセスする

「Slack Bot でデプロイする」で、1回の発言に対して複数回リクエストが来た。 処理は1回にしたいので、処理済みの発言を DynamoDB に登録しておく。 CONTENTS DynamoDB で二重処理を防ぐ Lambda からアクセスする テーブルを作成する 項目を追加する 項目…

Slack Bot でデプロイする

Slack Bot にデプロイを頼めるようにしたい。 CONTENTS できあがったもの デプロイ 実装詳細 まとめ 参考資料 できあがったもの Slack Bot 用エンドポイント getto-systems/psycher-slack : GitHub Slack イベントを受け取ってイベントに応じたアクションを…

AWS CloudFormation で Lambda をデプロイする

Slack Bot のイベントハンドラを Lambda で作成したい。 そのために、ローカルでテストしつつ、CloudFormation でデプロイを自動化したい。 CONTENTS この記事の内容 できあがったもの aws cloudformation package でパッケージング aws cloudformation depl…