Go

GraphQLのNodeのうまみをコードを書いて理解する

モチベーション GraphQLにNodeという概念があるがよく分かっていないので理解したい。NodeはGraphQLの文脈で見かけ、また、一般に公開されているGitHub APIでも登場する概念*1だが、Nodeを知らなくてもGraphQL APIを構築できることを経験しているので謎が深…

自作アプリでGraphQLを使うための準備をした

ややポエム寄り。 開発環境 > go version go version go1.18.4 darwin/amd64 > xcodebuild -version Xcode 14.0 Build version 14A5228 モチベーション iOSのHealthKitで取得できるサイクリングやランニングのワークアウト情報をGraphQLで管理できるようにし…

なぜ Go の errors パッケージの errorString は構造体なのか?

本記事は以下のイベントの内容を参考にしています。 tenntenn.connpass.com 結論 Question // https://cs.opensource.google/go/go/+/master:src/errors/errors.go;l=63 // errorString is a trivial implementation of error. type errorString struct { s …

GoでCookieを利用したセッション管理を実装した | 2: セッションIDをサーバー側で永続化

シリーズ GoでCookieを利用したセッション管理を実装した 本記事 モチベーション 現在の実装*1 ではアプリケーションサーバー側のセッションIDがプログラム終了後に揮発してしまう。 // https://github.com/tokizuoh/statice/blob/v0.1/front/main.go#L12 va…

GoでCookieを利用したセッション管理を実装した

モチベーション 先日JWTに入門した*1が、そもそも認証認可について何も分かっていないので、度々目にするセッション管理について実装した。 セッション管理 とは www.ipa.go.jp HTTPはステートレスのため、Webサーバーに対する複数リクエストが同一クライア…

Go で multipart/form-data にて POST された値を受け取る

MIME タイプ、application/json は見たことある程度の認識だったので他のタイプも見てみる。 開発環境 # Google Chrome バージョン: 100.0.4896.75(Official Build) (x86_64) # Go /go/src # go version go version go1.17.8 linux/amd64 multipart/form…

AJAXを試す

CORS(コルス)を調べているとAJAXという単語が出てきたので試す。 AJAX とは AJAX は Asynchronous JavaScript And XML の頭文字を取ったものです。これは一言で言えば、 XMLHttpRequest オブジェクトを使ってサーバーと通信することです。 AJAX は JSON, XML, H…

net/httpパッケージでhandlerが二回実行されることの原因を探す

本記事は下記を参考にしています。 qiita.com 以下から始まる本記事はいつも以上に信憑性がありません。 結論 faviconを取得する処理が走っている faviconを取得してどう処理するかはブラウザごとに異なる 開発環境 # Go /go/src # go version go version go…

GoでCookieを使ってみる

本記事は下記を参考にしています。 developer.mozilla.org 自作GraphQLサーバーを公開しようと思ったら、認証について何もやっていないことに気がついた。 認証について調べるとCookieやJWTというワードがちらついたが、今回は名前だけは聞いたことがあるCoo…

golangサーバーのホットリロードをgo-task/taskで実現する

本記事は以下を参考にしています。 qiita.com 開発環境 # ホスト > docker --version Docker version 20.10.8, build 3967b7d > docker-compose --version docker-compose version 1.29.2, build 5becea4c > task --version Task version: v3.10.0 (h1:vOAyD…

Goのポインタを理解する

Go

良くないことだが、正直意識して書いたことがなかった。 これを機に理解を深める。 開発環境 # ホスト > docker --version Docker version 20.10.8, build 3967b7d > docker-compose --version docker-compose version 1.29.2, build 5becea4c # コンテナ /g…

graphql-go/graphql を使ってGraphQLに入門する

新年初記事。 graphql-go/graphql github.com 開発環境 > docker --version Docker version 20.10.8, build 3967b7d > docker-compose --version docker-compose version 1.29.2, build 5becea4c 作ったもの github.com 以下のようなクエリを投げると、 quer…