ここ約半年間で読んだ本を紹介してみる
はじめに
気が向いたので、2021年に入ってから自分が読んだ本を紹介してみようかと思います。
読んだ時期が古いものから順に紹介していきます。
(古いものほど、記憶の解像度が怪しいので内容も朧気です。)
2021年1月~4月
まずは1月~4月に読んだ本を紹介していきます。
冬は寒さで脳が悴み、ありとあらゆる物事に対して気力が無くなりがちになります。
この時期は心に関する本を読んでいました。
無気力なのにはワケがある 心理学が導く克服のヒント
無気力状態を抜け出すヒントを得るためにこの本を読みました。
この本では、実験を通して科学的に検証を進めることで、人がなぜ無気力になるのか、どのようにして無気力になるのか、無気力が自身にもたらす影響について述べています。
無気力の心理学 改版 やりがいの条件(中公新書)
2冊目に紹介する本も無気力に関するものです。
この本では「獲得された無力感」、「効率感」という概念について述べています。
個人的に腑に落ちない内容だと思っているので、オススメです。
功利主義入門 ―――はじめての倫理学(ちくま新書)
功利主義、つまり「最大多数の最大幸福」についての本です。
一応、入門書という位置づけらしいのですが、前提となる知識が不足していたので私には内容が理解できませんでした。
そもそも、なぜこの本を読んだかというと「ここは今から倫理です。」を読んだ影響です。
面白いのでオススメです。
2021年5月~8月
この時期は文章に関する+その他(自己啓発ぽいもの)を読んでいました。
「文章術のベストセラー100冊」のポイントを一冊にまとめてみた。
文章を書く上でのポイントをまとめた本です。
必要な点が完結にまとまっており、読みやすいです。
調べる技術 書く技術 誰でも本物の教養が身につく知的アウトプットの極意 (SB新書)
こちらも文章作成に関するノウハウを述べたものです。
こちらは文章を使ったインプット/アウトプットの方法について重きを置いています。
人生は20代で決まる TEDの名スピーカーが贈る「仕事・結婚・将来設計」講義
とあるブログで紹介されていたので、気になって読んでみました。
内容はタイトル通りです。
個人的にはここ最近で読んで一番泣きそうになりました(叱られている気分になったので)。
自閉症スペクトラム 10人に1人が抱える「生きづらさ」の正体 (SB新書) 新書
ここ最近、インターネットでよく目にするようになった気がする「ADHD」について知りたくなり、読みました。※自閉症スペクトラムとADHDは異なります。
自閉症スペクトラムを抱えた人がどうやって周りの人間や社会と折り合いをつけていくかについて述べられています。
「頭のゴミ」を捨てれば、脳は一瞬で目覚める!
直近で読んだ一番記憶に新しい本です。
個人的には、ここ約半年で一番読んで為になったと思います。
終わりに
ずっと家にいるとKindleで本を買い過ぎてしまうのが難点です。
他にも小説とか漫画とか読んだので、また気が向いたら何かしら紹介するかも知れません。
ISUCON11 参加記録
ISUCON11にチーム「DREAM TEAM TRIANGLE」で参加してきました
ISCUON11に参加してきました。私達のチームは今回で2回目の参加となります。
結果を先に述べると、予選敗退でした。ですが去年よりは良い成績を残せました(一緒に参加した友人たちが頑張ってくれました)。
備忘録として、当日に行ったことを振り返りしたいと思います。
準備
特別な準備も対策も今回はしていませんでした。
前回、参加時に友人がビルド、デプロイ、ログ収集、etcを行えるようにMakefileを用意してくれていたので、今回もそれを使用しました。
作業の割り振り
作業の割り振りは以下のようになりました。
ふじもり(私):アプリケーション周り
4423:環境周り、アプリケーション
かくでん:DB
9:30
予選開始前に軽く各自の役割を確認しました。
10:00-12:00
以下のことを行いました。
13:00-16:00
以下のことを行いました。
- サーバの構成をapp用(2台)+DB用(1台)に変更
- nginxの設定を変更
- getTrendで呼び出しているクエリにLIMIT 1を指定
サーバの構成を変更した際にappサーバーからDBサーバーへの接続に手こずりましたが、チームメンバーが解決してくれました。
17:00-18:45
この時点でスコアが46935になりました。
この時間帯は余計な変更は加えず、追試で失格にならないように環境に不備がないか確認していました。
最終結果
予選の翌日、最終結果が発表されました。
私たちのチームは最終的に
スコア:48076
となりました。
まとめ
去年は追試で失格になってしまった分、今回はスコアが記録として残せたことは良かったです。
私個人としては今回のISUCONで勉強不足であることを痛感しました。
以下のことについては次回参加までにはもっと勉強したいと思います。
・アプリケーション周りのコーディング
・nginxの設定
・クエリの改善などDB周り
・過去のISUCON参加者の記録をもっと読み込む
WSL2 + Docker + VS Code + Go 環境構築
はじめに
WSL2 + Docker + VS Code + Go の環境を構築したのでメモを残しておきます。
前提
私の環境は以下の通りになります。
Docker Desktopについてはインストール済みなので、これについてはインストール手順の記載は省略します。
- Windows10 Home
- Docker Desktop インストール済み
WSL2 設定手順
下記のサイトに従い、手動インストールを行っていきます。
docs.microsoft.com
Linux 用 Windows サブシステムを有効にする
Windows PowerShell を管理者権限で実行した後、下記のコマンドを実行します。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
コマンドが正常終了すれば以下のメッセージが表示されます。
PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 展開イメージのサービスと管理ツール バージョン: 10.0.18362.1379 イメージのバージョン: 10.0.18363.1440 機能を有効にしています [==========================100.0%==========================] 操作は正常に完了しました。
WSL2の実行に関する要件を確認する
WSL2 を実行するには下記の要件を満たしている必要があります。
- x64 システムの場合:バージョン 1903 以降、ビルド 18362 以上。
- ARM64 システムの場合:バージョン 2004 以降、ビルド 19041 以上。
バージョンとビルド番号を確認するために、下記のように「winver」を実行してください。
「winver」を実行すると、下記のようにバージョンとビルド番号が表示されます。
私の環境ではバージョンとビルド番号は以下のようになっており、WSL2の要件を満たしていることになります。
バージョン1909(OSビルド 18363.1440)
仮想マシンの機能を有効にする
Windows PowerShell 上で下記のコマンドを実行します。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
コマンドが正常終了すれば以下のメッセージが表示されます。
PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 展開イメージのサービスと管理ツール バージョン: 10.0.18362.1379 イメージのバージョン: 10.0.18363.1440 機能を有効にしています [==========================100.0%==========================] 操作は正常に完了しました。
Linux カーネル更新プログラムパッケージをダウンロードする
下記のサイトからLinux カーネル更新プログラムパッケージをダウンロードします。
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
ダウンロードした更新プログラムパッケージを実行し、以下の画面が表示されればインストール成功です。
WSL2 を既定のバージョンとして設定する
下記コマンドを実行して、WSL2 を既定のバージョンとして設定します。
wsl --set-default-version 2
正常に設定されると以下のメッセージが出力されます。
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
Linuxディストリビューションをインストールする
下記のサイトにアクセスし、Linuxディストリビューションをインストールします。
今回はUbuntu 20.04 LTSをインストールしました。
https://aka.ms/wslstore
インストール後、下記画面からLinuxディストリビューションを起動します。
インストール後、ユーザー名とパスワードを設定します。
Docker Desktop 設定
設定画面を開き、「Use the WSL 2 based engine (Windows Home can only run the WSL 2 backend)」にチェックが付いていることを確認します。
※Windows Homeを使用している場合、デフォルトでチェックが入っています。
Go 設定手順
下記のサイトに従い、手動インストールを行っていきます。
golang.org
Go のインストーラーをダウンロードする
下記コマンドを実行して、Go のインストーラーをダウンロードします。
wget https://golang.org/dl/go1.16.5.linux-amd64.tar.gz
Go をインストールする
下記コマンドを実行して、Go をインストールします。
※必要に応じて「sudo」を付与して、コマンドを実行してください。
rm -r/f /usr/local/go tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz
下記コマンドを実行して、環境変数を設定します。
export PATH=$PATH:/usr/local/go/bin
下記コマンドを実行して、Go がインストールされていることを確認します。
go version
VS Code設定手順
下記のサイトを参考にして、VS Codeの設定を行います。
qiita.com
Go のプロジェクトフォルダを作成する
下記コマンドを実行して、Go のプロジェクトフォルダを「go-sample」という名前で作成します。
cd ~ mkdir go-sample
Dockerfile と devcontainer.json を作成する
下記コマンドを実行して、フォルダを「.devcontainer」という名前で、またファイルを「Dockerfile」と「devcontainer.json」という名前で作成します。
cd ~/go-sample/ mkdir .devcontainer touch ~/go-sample/.devcontainer/Dockerfile touch ~/go-sample/.devcontainer/devcontainer.json
下記のサイトを参考にして、Dockerfile と devcontainer.jsonに設定を記述します。
qiita.com
Remote Development をインストールする
Remote Development をインストールします。
Docker コンテナに接続する
画面左下の「WSL: Ubuntu-20.04」をクリックし、「Remote-Containers: Reopen in Container」を選択する。
コンテナへの接続が成功すると、画面左下に「Dev Container: go-sample」と表示される。
main.goを作成する
go-sample 配下にmain.go を作成して、下記のソースを記述する。
package main import "fmt" func main() { fmt.Println("Hello, world") }
Ctrl + F5 でmain.go を実行し、正常終了すれば下記のメッセージが表示されます。
Hello, world
AWS Certified Solutions Architect - Associateに合格した話
はじめに
記事タイトルの通りAWS Certified Solutions Architect - Associateに合格したのでその時のことを書いていきます。
試験結果は以下のとおりです。
スコア:768
受験回数:1
勉強期間、勉強方法の参考にしていただければ幸いです。
前提
まず、私のバックボーンについて紹介していきます。
勉強の方針について
方針は以下のとおりです。
- 短期間で資格を取る
- 1を満たすために課金で時短できる部分に関しては課金する
1について
勉強期間が長くなるとモチベーションがダレます。
また、AWSの試験は範囲がそこそこ広いので、あまり時間を掛けすぎると新しい知識を覚えるのと同時にそれ以前に覚えたことを忘れるのでオススメしません*1
2について
短期間で資格を取るためには効率よく勉強する必要があります。
そのため私は有料サービスを利用するなどして効率よく勉強しました。
分厚い本を買って勉強するのはオススメしません。
勉強期間・時間
勉強期間と時間は以下のとおりです。
- 勉強期間は3月半ばから4月末での約一月半程度
- 時間は約70時間程度
勉強時間の内訳は以下の通りです
- Udemyのチュートリアル(後述)に費やした時間は35時間程度
- 試験対策の過去問題集を利用して勉強した時間は35時間程度
勉強方法
勉強方法について前半と後半に分けて説明します。
勉強期間の前半
前半は下記のUdemyのチュートリアルを行っていました。
書籍も何冊か買いましたが、結局ほとんど読まずに上記のチュートリアルだけをやっていました。
チュートリアルで基本的なことはだいたい学べるので問題ないと思います。
一応、購入した書籍についても何冊か紹介していおきます。
合格対策 AWS認定ソリューションアーキテクト - アソシエイト
買った本の中では比較的読んでいたものです。
試験対策の本としては内容が不十分ですが、ちょっとした知識の確認程度には使えます。
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版
こちらの本については一通り読みましたが、上記のチュートリアルで事足りるといった印象でした。私には不要でした。
こちらの本には上記のチュートリアルと違いHTTPやTCP/IPなどについて基本的な解説が書かれているので、全くのIT初心者が読む分にはアリだと思います。
ただ、サーバーの設定コマンドが時期によっては陳腐化してつかえなくなっていたりするので、そこは都度自分で調べる必要があるので、そこは注意してください。
Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)
買ったはいいが、この本についてはほとんど読んでいません。
一冊読めば構築周りについての知識がつくと思うのですが、資格を取るだけなら上記のチュートリアルをやった後、過去問をガンガン解いた方が効率がいいと思います。
勉強期間の後半
後半は試験対策の勉強をしていました。
私は問題集は購入せず、下記に紹介するサイトを利用しました。
AWS WEB問題集で学習しよう
後半は下記のサイトでひたすら過去問を解いていました。
私はこのサイトで満点が取れるまで勉強しました。
こののサイトは無料プランと有料プランで別れており、無料プランでは解ける問題が少ないので、私は有料プランを利用しました。
お金をケチりたくない人以外は下記のサイトに課金して過去問をひたすら解くのが効率がいいと思います。
問題集で勉強する方法は他にも以下のようなものがあります。
公式模擬試験
公式模擬試験は有料ですが、実際の試験と同じような問題を解くことができます。
先述の問題集サイトで事足りたので利用していません。
Amazon AWS 資格取得のための演習問題集(完全無料、オリジナル)
こちらのサイトでも無料で過去問を解くことができます。
お金を掛けたくない人はこちらで。
こちらについても私は利用していません。
試験当日での所感について
私は近場のテストセンターで受験しました。
当日の試験会場での所感は以下のような感じです。
まとめ
まとめです。
- 短期間で勉強しよう
- できるだけ課金する
- 業務で普段使う人なら、おそらく過去問を解くだけで受かる
- 初心者はチュートリアルを利用しよう
- 分厚い本を買って勉強は非効率なのでやめよう
- 有料のサービスに課金しよう