Go言語初心者による勉強用リポジトリ
git clone git@github.com:SatoshiTomita/golang-100knocks.git
cd golang-100knocks
.devcontainerがあるので、VSCodeなどで開くとコンテナを立ち上げることができます
- varによる変数の宣言と初期化
- 短縮した変数の宣言と初期化
- 配列とMap
- 条件分岐
- ループ
- switch文
- 関数の定義と呼び出し
- 引数と戻り値
- ゴルーチンの作成と実行
- チャネルの使用
- パッケージの作成とインポート
- ポインタ
- ポインタの参照渡し
- net/httpによるHTTPサーバーの作成
- fmtによるテキストのフォーマットと表示
- bufioによるテキストの読み込み
- timeによる時間の取得とフォーマット
- stringsによる文字列の操作
- strconvによる文字列と数値の変換
- structによる構造体の定義
- JSONのエンコードとデコード
- jsonのバリデーション
- PostgreSQLによるSQLデータベースのCRUD操作
- GORMによるSQLデータベースの操作
- GinによるWebアプリケーションの作成
- osによるファイルの操作
- testingによるテストの作成
- waitgroupによる並列処理の同期
- APIへのリクエストをwaitgroupで並列化
- mutexによる排他制御
- トランザクション
- テンプレートエンジン
- gin-swaggerによるAPIドキュメントの作成
- GraphiQLによるGraphQLの実行
- slogによるログの出力
- zapによるログの出力
- RestyによるHTTPクライアントの作成
- JWTトークンの作成と検証
- GinによるJWTトークンの検証
- errorsによるエラーの作成とハンドリング
- panicとrecoverによるエラーハンドリング
- パスワードのハッシュ化
- ユーザ認証サーバ