2024年1月の学習記録

はじめに

今月は、オンライン講座や読書が多かったです。
主に取り組んだものはGo、応用情報、Playwrightです。
応用情報は、低レイヤー周りとネットワークあたりの知識を補強していました。
今は業務で、Playwrightによるテスト自動化に取り組んでいます。
そのため、業務以外でもPlaywrightに慣れるために、オンライン講座に取り組みました。

オンライン講座

Udemy

GoとGoによるアプリケーション開発を動画で学びたくて受講しました。
Goの解説がとてもわかりやすく、繰り返し学びたい講座でした。
特にgoroutineの解説が、個人的によかったです。Fintechについては興味はあるのですが、思った以上に本格的で難しかったです。
www.udemy.com

  • これからの時代に必須!基礎から学ぶ「情報セキュリティ入門」

応用情報技術者試験のセキュリティ分野に対する解像度を上げるために受講しました。
内容としては入門~情報セキュリティマネジメントレベルですが、とてもわかりやすく解説されていました。
特に情報セキュリティ技術やサイバー攻撃手法の講義が、ためになりました。
www.udemy.com

Test Automation University

  • Introduction to Playwright

Playwrightの公式をざっと読んだ程度で、取り組みました。
基本的な使い方について、きちんと学ぶことが出来ました。
testautomationu.applitools.com

  • Advanced Playwright

前回のIntroduction to Playwrightに引き続いて、受講しました。
POMの扱いやGitHub Actionsとの連携など、一通り知りたかったことを学べました。
思った以上にTypescriptしていて、いいなと思いました。
testautomationu.applitools.com

  • Web Element Locator Strategies

Playwrightのコースの最後にあったので、やりました。
ロケーターについては、Cypressを始めたときにとてもやきもきしました。
今でも、テストコードの合理性と可読性と安定性などで、たまに揺れるので改めて知ることが出来て良かったです。
Playwrightだと、Locatorは結構大事そうなのでやっておいてよかったです。
testautomationu.applitools.com

書籍

  • コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方

低レイヤーのスキルが足りていないと思ったので読みました。
論理演算→ALUやメモリ→コンピュータ→機械語アセンブラアセンブリ機械語)→VM(中間コード→アセンブリ)→コンパイラ(高水準言語→中間コード)→OSなど、難しいですが順を追って学ぶことができました。
実装まで手が回りそうになかったので、ZennのYuki Yada / 矢田宙生さんの記事(@arr0w_swe)を読みました。
www.oreilly.co.jp
zenn.dev
zenn.dev
zenn.dev
zenn.dev

アルゴリズムの入門書として、読みました。
擬似言語を使った説明の前に、わかりやすいアルゴリズムの絵で解説してくださっているおかげで、ものすごく明快に理解できました。
ソートに苦手意識を持っていたのですが、目からウロコでした。
book.impress.co.jp

  • 動かしてわかる CPUの作り方10講

CPUについて、知りたいと思い読みました。
CPUの設計や仕組み、論理回路からVHDLVHDLによるCPUの設計、FPGA上への実装、メモリの実装などを学べました。信号の波形によって、設計通りかを確認するシミュレーションなどもあり、読むだけでもためになりました。
gihyo.jp

  • 30日でできる!OS自作入門

OS周りの学習をしたいため、はじめてOS自作の本を読みました。
普段Goの学習をしているのですが、この本を読んでいてようやくポインタを使う理由について、腑に落ちた気がします。砕けた文体や漫画コラムのおかげで、比較的構えずに読み進めることができました。
book.mynavi.jp

  • リレーショナルデータベース入門[新訂版] データモデル・SQL・管理システム

新訂版ではありますが、読みました。途中挫折しそうになりながら、演習は手を付けずに1週間程でなんとか読み終えました。
DB・SQLの本としては、学術的な志向のものでした。ER図や正規化の解説など、かえってわかりやすいものもありました。
www.saiensu.co.jp

  • コンピュータの構成と設計 MIPS Edition 第6版 上

コンピュータアーキテクチャの基本を知るために、読みました。
低レイヤーの知識を固めるために読んだのですが、応用情報で勉強することと被っていて勉強になりました。
特にプロセッサ周りがよかったです。
bookplus.nikkei.com

  • コンピュータの構成と設計 MIPS Edition 第6版 下

上巻の続きで読みました。メモリとキャッシュ、仮想記憶、並列プロセッサなどについて学べました。
bookplus.nikkei.com

  • コンピュータネットワーク 第6版

流し見ではありますが、読みました。
ネットワークの知識が不足していることもあり、一通り確認しました。
bookplus.nikkei.com

  • 【改訂4版】図解でよくわかる ネットワークの重要用語解説

改訂4版ですが、読みました。
NATやNAPTなど、ネットワークの理解が不足していたので読みました。左側に説明、右側にわかりやすい図という感じで、イメージが湧きやすかったです。
gihyo.jp

  • イラスト図解式 この一冊で全部わかるサーバーの基本 第2版

サーバーやネットワークについて、わかりやすいものが欲しかったので読みました。
図や絵がわかりやすかったです。
DNSサーバーの流れやDMZの意義、IDSやIPSの役割と仕組みなど一通り理解を深められました。
www.sbcr.jp

  • 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法

設計について理解したかったので、1冊読みました。
主にオブジェクト指向ドメインモデルの視点から、設計と実装をするというものでした。
6章のデータベース設計が、とくにためになりました。
gihyo.jp

第2版をさらっとではありますが、読みました。
思った以上に難しく、またSQLの経験を積んだときに読もうと思います。
www.kinokuniya.co.jp

  • 基礎からわかるTCP/IP ネットワークコンピューティング入門 第3版 TCP/IPネットワークの実際が基礎から理解できる

ネットワークの仕組みへの理解を、深めたくて読みました。
一通りの知りたいことが学べました。
データリンク、ネットワーク、トランスポートと順を追って説明があったので、混同しやすい用語の内容理解にも役立ちました。
shop.ohmsha.co.jp

  • DNSがよくわかる教科書

DNSについて、理解を進めたいと思ったので読みました。
今まで、ドメインに対応したIPアドレスを返してくれるぐらいの理解だったので、学びが多かったです。
www.sbcr.jp

ずっと読みたかったので、読みました。
Go言語ほんの少しだけかけるようになったけれど、もっとアカウンタビリティーを持って書きたいと思っていました。
その段階の私にとっては、とても素晴らしい本でした。
何回か読み返そうと思います。
www.oreilly.co.jp

試験対策

2024年春の応用情報技術者試験に申し込みました。
進捗は午前問題を少し進めただけです。
zenn.dev

さいごに

最近インプットによっている気がするので、来月はアウトプット多めでいきたいです。
応用情報の過去問をすすめないとやばめなので、地道にやろうと思います。