Infrastructure
AWS
- AWS WAFとは?使い方やマネージドルール
- AWS RDSとは?Aurora・MySQL・PostgreSQLの知識整理
- AWS S3とは?様々な用途に使えるバケット
- CloudTrailとは?その使い方や注意点
- IAMユーザー/IAMロールとは?ポリシーの設定など
- AWSのセキュリティグループとは
- ALBとは?メリットやNLB/ELBなどの違いを整理
- EC2とは?
- AWS Lambdaとは?
- AWS DynamoDBとは?
- AWS API Gatewayとは?
- EC2インスタンスにSSH接続する
- APIGatewayのハンドラー関数について
- Golangで書いたアプリケーションををEC2にデプロイする
- RailsアプリをEC2にデプロイする
GCP
Terraform
- TerraformでAWSのネットワーク環境を作成
- TerraformでAPI Serverなどのログを保存するS3バケットを作成
- TerraformでCloudTrailの設定とログを保存するS3バケットの作成
- TerraformでWafCharmとマネージドルールを適用させるAWS WAFを実装
- Terraformを使いRDSでAWS Aurora MySQLを設定・作成する
- Terraformを使い踏み台サーバ(bastion)の作成
- TerraformでAPI Server用のALBを作成
- Terraformでサーバ用のNLBを作成
- TerraformでAWS CodeDeployを設定しGithubからの自動デプロイを行う
Ansible
- Ansibleを用いてEC2用のAMIを作成する
Docker
- コンテナとは?
- Dockerとは?Docker使った開発で受けられる恩恵・メリット
- Dockerfileとは
- Dockerイメージとは
- dockerコマンド一覧
- docker-compose up/downとは
- Dockerのネットワーク
- Dockerのファイルシステム
- Dockerを使ったアプリケーション開発
Backend
Golang
- GolangでMicrosoft Graph APIのOutlookカレンダーを叩くAPIClientを実装する
- GolangでAuth0を使ったログインの仕組みを構築する
- Golangでslash command経由でスケジュール登録するSlackAppを作ってみる
- 文字列の操作
- 日付・時刻の操作
- 数値の操作
- 配列・スライスの操作
- マップ操作
- 正規表現
- ファイル操作
- ディレクトリ操作
- ゴルーチン
- echo
- GolangでPostgreSQLを使いデータの永続化を行う
- リクエストのデータ構造について
- 入れ子の構造体への値渡し
- jsonと構造体のデータ変換
- セッション管理に用いるライブラリ
- ハンドラとハンドラ関数の違い
- Golangにおけるポインタとは
- syncパッケージの使い方
- Channelとは?
Ruby/Rails
- RubyでMicrosoft Graph APIのOutlookカレンダーを叩くAPIClientを実装する
- RubyでAuth0を使ったログインの仕組みを構築する
- 文字列の操作
- 日付・時刻の操作
- 数値の操作
- 配列・スライスの操作
- マップ操作
- 正規表現
- ファイル操作
- ディレクトリ操作
- RubyでPostgreSQLを用いたデータ永続化を行う
- Railsの時間処理/時間範囲の指定でActiveSupportのTimeクラスの拡張機能:TimeWithZoneを使う
- Railsのモデルで使うクラスメソッドとscopeの違いを理解する
- renderとredirect_toの挙動の違いによるエラー
- RailsアプリにCircleCIを導入
- RailsでCSVファイルのデータをDBに取り込む
- Ruby on Railsにおける多対多の関係の実装
Frontend
JavaScript/TypeScript
- 文字列の操作
- 日付・時刻の操作
- 数値の操作
- 配列・スライスの操作
- マップ操作
- 正規表現
- ファイル操作
- ディレクトリ操作
- TypescriptのInterfaceとTypeの違い
- index.tsでexportを一元管理する
React
- useEffectとは?使い方や注意点
- useStateとは?使い方や注意点
- useContextとは?使い方や注意点
- ReactチュートリアルをTypeScriptで実装する
App
ReactNative
- ReactNativeでReactNavigationを使ったページ遷移の実装
- Expoのbare workflowアプリでiOSでBuild&Archiveを作成する
- Expoのrootパスをsrc配下に変更する
- Expoのエントリポイントになるファイルを変更する
- Expoのインポートファイルのパスを変更する
Swift
Test
Jest/enzyme
- Jestを用いたsnapshotでUIの変更を検知する
- Mockとは?Mockの利点やMock関数とは
RSpec
rubocop
DevOps
Bitrise
- Expo(ReactNative)アプリでBitriseを使ったCI/CDを回す
- Bitriseにおける環境変数の扱い方
CircleCI
GithubActions
- GolangでPR時のCI実行のためのGithubActions
- AWS CodeDeployで用いるGithubActionsによるCD
Apple
- Apple Developer Programでデプロイに必要な認証キーなどの設定する
Unix/Linux
- Linux基礎
- Linuxコマンド一覧
- ファイル操作
- シェルスクリプト
- cronによるスケジュールによるコマンドの実行
- bashによるXcodeのビルドからアーカイブまでの実行
- aliasによるコマンドショートカット
- zshrcのカスタマイズ
Git/Github
- GithubFlowによる開発管理
設計・考え方
オブジェクト指向・設計
ドメイン駆動設計・開発
- ドメイン駆動設計とは
- ドメイン駆動における基本用語一覧
- 『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』を読んで
Others
Vim
- nvimのカスタマイズ
- プラグイン管理