2021-01-01から1年間の記事一覧
経緯 GoaのAPIキー認証(APIKeyAuth)の実装例はJWT認証などと比べると数が非常に少なく、さらにv2から仕様が大きく変わっておりv3での具体的な実装例を見つけられなかったため、今回実装してみた例を紹介します。 参考にしたサイト ①goadesign/goa/blob/v3/ds…
経緯 複数のチャットルームが存在するチャットアプリでWebSocketを使用するため、それぞれのルーム(ページ)毎にWebSocketを管理する必要がありました。そこで、セッション管理の仕組みを応用して、各ルームのIDとルームのインスタンスとのマップとしてメモリ…
経緯 Goのhtml/templateパッケージのExecuteTemplate関数の第二引数に何らかの値を代入することで、描画するhtmlに値を渡すことができ、htmlのタグ内に展開する例がよく紹介されています。しかし、渡した値が配列やスライスの場合、scriptタグ内で参照する時…
経緯 一つのページ内で複数のPOST処理を選択的に実行したいと思ったものの、ハンドラ関数内での分岐をGETかPOSTかだけでswitchしており、どう処理するか迷いました。 解決法 html側の各input要素に異なるname属性を付け、Request.Methodで分岐後、さらにRequ…
前提 標準ライブラリのみでの実装です。 WebSocketのパッケージはgorilla/websocketではなく、準標準ライブラリのgolang.org/x/net/WebSocketを使用しています。 一般的なWebSocketの実装方法 Goの準標準ライブラリでWebSocketを実装したサーバーを立てる際…