pdamemo’s blog

プログラマとして定年を迎えて2年目に突入しました。(満37才)これからは自分がやりたかったことに挑戦しつつ少しでも社会に恩返ししていきたいです。そんな日々をつづっていこうと思います。

書評「速習 TypeScript 第2版 速習シリーズ」

速習 TypeScript 第2版 速習シリーズ

速習 TypeScript 第2版 速習シリーズ

良かった点

  • 速習の名前通りで、集中してみれば2~3日あれば読み通せるようにコンパクトな内容になっていました。
  • ところどころ実装時に注意すべき点がわかりやすくコンパクトに記載されている。
    例えば、関数リテラルとアロー関数とのthisの扱いが異なる。
  • Playgroundで実行時での対処法を書いてくれているのが助かる。また、Playgroundで実行できない場合の対処法も書いてくれている。
  • この機能は何のためにあるのだろうという疑問を即座に補足で説明してくれている。
    例えば、unknown型とany型の違いなど。
  • C#など多言語との違いもたまに解説してくれているので、ふだん別の言語で開発している人は理解しやすい。
    例えば、静的メンバーにアクセスする際はthisを使う、インターフェースがクラスを継承できるなど。
  • Appendixとして、VSCodeの開発方法、tsconfig.json の簡易リファレンスがあるが、必要最低限の内容が記載されているので、とても助かる。

悪かった点

  • never型が、終点に到達できないときに使うのはわかったのですが、具体的にどういう場面で使うのかが少し疑問に思いました。実装途中の関数とか?
  • 索引があるとキーワードから見つけみやすいかなと思いました。
  • 「果たして」という言葉を「結末が予期したとおりであるさま」の意味で使われていますが、「(下に疑問を表す語を伴って)いったい」の意味で最初に構えてしまうので、読んでいてちょっとひっかかりました。
    ※私だけかもしれませんが。
  • 「型注釈」という言葉自体の説明がほしかった。
  • Conditional Types の説明がわかりずらかった。

3/30~4/20の振り返り

久しぶりの更新ですorz

Doing

10キロやせる(当時:67キロ)

現在:65.0キロ!。少しやせたけど、たぶん誤差!

  • 週4日以上走る 3/30 4.66km
    3/31 4.96km
    4/01 0.00km 4/02 4.68km
    4/03 4.48km
    4/04 4.80km
    4/05 4.75km
    4/06 4.67km
    4/07 0.00km
    4/08 0.00km
    4/09 0.00km
    4/10 4.86km
    4/11 0.00km
    4/12 0.00km
    4/13 0.00km
    4/14 4.78km
    4/15 0.00km
    4/16 4.71km
    4/17 0.00km
    4/18 0.00km
    4/19 0.00km
    4/20 4.78km
小中学の数学を復習する
  • 小・中学校9年間の 算数・数学を10時間で復習する本 (中経出版)  あとは、図形関係が終わればOK!
外資系で開発できるレベルの英語力をつける
  • Versant 50点以上とる

    • 英語耳
      主要な部分だけ1日やった。来週は毎日30分はやるように習慣づける。ぜんぜんできてねーorz
    • 英語日記ドリル
      毎日英語で日記を書いてみる。ぜんぜんできてねーorz
    • 中学3年分の英語が3週間で身につく音読 1週間に1周する。ぜんぜんできてねーorz
コンピューターサイエンスについて学ぶ
  • スバラシク面白いと評判の初めから始める数学1
     まずは、微分積分線形代数にかかわる項目を優先的にみていく予定!
     「数と式」についてみてる。ぜんぜんできてねーorz

Done

ToDo

かんたんなOSを作成できるようになる

以下の書籍を読んで、OSを実装してみる。 → 進捗なし!時間が足りねーorz

  • 作って理解するOS x86系コンピュータを動かす理論と実装 かんたんなCコンパイラを作成できるようになる → 進捗なし!時間が足りねーorz 以下の書籍を読んでC言語について理解する。
  • C言語のポインタのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!
コンピューターサイエンスについて学ぶ

以下の書籍を読んで、実装して理解する。

かんたんなCコンパイラを作成できるようになる

以下の書籍を読んでC言語について理解する。

かんたんなOSを作成できるようになる

以下の書籍を読んで、OSを実装してみる。 * 30日でできる!OS自作入門 * xv6を理解する

一般的なネットワークのスキルを学ぶ

以下の書籍を読んで、内容を理解する。 * プロフェッショナルIPv6 * プロフェッショナルSSLTLS * DNSがよくわかる教科書 * TCP技術入門 * パケットキャプチャの教科書

一般的なDBのスキルを学ぶ

以下の書籍を読んで、内容を理解する。

クリーンアーキテクチャドメイン駆動設計について学ぶ
Dockerのコンテナで開発できるようになる
  • Docker実践ガイド 進捗なし!時間が足りねーorz
小中学の数学を復習する
  • 小学校6年分の算数が教えられるほどよくわかる
  • 中学3年分の数学が教えられるほどよくわかる
外資系で開発できるレベルの英語力をつける
  • Versant 50点以上とる
    • 英会話1000本ノック[入門編]
    • 英会話1000本ノック[ビジネス編]
    • みるみる英語力がアップする音読パッケージトレーニン
  • 自分の仕事の自己紹介を書く
  • 自分の家族の自己紹介を書く
  • TOEIC 600点以上とる
    • TOEIC 公式5
    • TOEICテスト中学英文法で600点!
    • TOEIC L&Rテスト 文法問題 でる1000問
    • 図解 中学・高校6年間の英語をこの1冊でざっと復習する
    • 中学英語で英語の雑談ができるようになる本
    • Mr.Evineの中学英文法を修了するドリル
  • ITエンジニアが覚えておきたい英語動詞30
Active Directoryについてざっくり理解する

https://docs.microsoft.com/ja-jp/windows-server/identity/identity-and-access https://jp.fujitsu.com/platform/server/primergy/technical/construct/ *https://jp.fujitsu.com/platform/server/primergy/technical/construct/pdf/win2016-active-directory02.pdf

Azure Active Directoryについてざっくり理解する

ひと目でわかるAzure Active Direcotry 脱オンプレミス!クラウド時代の認証基盤 Azure Active Directory

Linuxについてのざっくり理解する

以下の書籍を読んで、Linuxを触ってみる。 Goならわかるシステムプログラミング 私はどのようにしてLinuxカーネルを学んだかゆたかさんの教科書

機械学習についてざっくり理解する

ふたたびの微分積分 やさしく学ぶ 機械学習を理解するための数学のきほん

Angular、ngrxでToDoアプリ程度はサクッと作れるようになる
React、ReduxでToDoアプリ程度はサクッと作れるようになる
VSCodeで開発できるようになる
k8sで開発できるようになる

*しくみがわかるk8s Azureで動かしながら学ぶコンセプトと実践知識

その他、時間があったら読む

SOFT SKILLS ソフトウェア開発者の人生マニュアル はじめよう!システム設計~要件定義のその後に はじめよう!プロセス設計~要件定義のその前に はじめよう!要件定義~ビギナーからベテランまで

Complete!

.NET Coreで開発できるようになる

ひととおりドキュメントを眺めて試したりできた。 https://docs.microsoft.com/ja-jp/aspnet/core/getting-started/?view=aspnetcore-3.1&tabs=windows

クリーンアーキテクチャドメイン駆動設計について学ぶ

*Clean Architecture 達人に学ぶソフトウェアの構造と設計

OpenID Connect についてざっくり理解する

OAuth徹底入門: セキュアな認可システムを適用するための原則と実践 雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド  *OAuth、OAuth 認証、OpenID Connect の違いを整理して理解で きる本

 ##### かんたんなCコンパイラを作成できるようになる 以下の書籍を読んでC言語について理解する。 *世界でいちばん簡単なC言語のe本―C言語の基本と考え方がわかる本

外資系で開発できるレベルの英語力をつける

Versant 50点以上とる 難しいことはわかりませんが、英語が話せる方法を教えてください!

3/23~3/29の振り返り

この週はよろしくない日々を過ごしておりましたorz

Doing

10キロやせる(当時:67キロ)

現在:65.5キロ!。現状維持!

  • 週4日以上走る 3/23 4.76km
    3/24 0.00km
    3/25 0.00km 3/26 0.00km
    3/27 4.68km
    3/28 0.00km
    3/29 4.70km
小中学の数学を復習する
  • 小・中学校9年間の 算数・数学を10時間で復習する本 (中経出版)  あとは、図形関係が終わればOK!
外資系で開発できるレベルの英語力をつける
  • Versant 50点以上とる

    • 英語耳
      主要な部分だけ1日やった。来週は毎日30分はやるように習慣づける。ぜんぜんできてねーorz
    • 英語日記ドリル
      毎日英語で日記を書いてみる。ぜんぜんできてねーorz
    • 中学3年分の英語が3週間で身につく音読 1週間に1周する。ぜんぜんできてねーorz
コンピューターサイエンスについて学ぶ
  • スバラシク面白いと評判の初めから始める数学1
     まずは、微分積分線形代数にかかわる項目を優先的にみていく予定!
     「数と式」についてみてる。んぜんできてねーorz

Done

ToDo

かんたんなOSを作成できるようになる

以下の書籍を読んで、OSを実装してみる。 → 進捗なし!時間が足りねーorz

  • 作って理解するOS x86系コンピュータを動かす理論と実装 かんたんなCコンパイラを作成できるようになる → 進捗なし!時間が足りねーorz 以下の書籍を読んでC言語について理解する。
  • C言語のポインタのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!
コンピューターサイエンスについて学ぶ

以下の書籍を読んで、実装して理解する。

かんたんなCコンパイラを作成できるようになる

以下の書籍を読んでC言語について理解する。

かんたんなOSを作成できるようになる

以下の書籍を読んで、OSを実装してみる。 * 30日でできる!OS自作入門 * xv6を理解する

一般的なネットワークのスキルを学ぶ

以下の書籍を読んで、内容を理解する。 * プロフェッショナルIPv6 * プロフェッショナルSSLTLS * DNSがよくわかる教科書 * TCP技術入門 * パケットキャプチャの教科書

一般的なDBのスキルを学ぶ

以下の書籍を読んで、内容を理解する。

クリーンアーキテクチャドメイン駆動設計について学ぶ
Dockerのコンテナで開発できるようになる
  • Docker実践ガイド 進捗なし!時間が足りねーorz
小中学の数学を復習する
  • 小学校6年分の算数が教えられるほどよくわかる
  • 中学3年分の数学が教えられるほどよくわかる
外資系で開発できるレベルの英語力をつける
  • Versant 50点以上とる
    • 英会話1000本ノック[入門編]
    • 英会話1000本ノック[ビジネス編]
    • みるみる英語力がアップする音読パッケージトレーニン
  • 自分の仕事の自己紹介を書く
  • 自分の家族の自己紹介を書く
  • TOEIC 600点以上とる
    • TOEIC 公式5
    • TOEICテスト中学英文法で600点!
    • TOEIC L&Rテスト 文法問題 でる1000問
    • 図解 中学・高校6年間の英語をこの1冊でざっと復習する
    • 中学英語で英語の雑談ができるようになる本
    • Mr.Evineの中学英文法を修了するドリル
  • ITエンジニアが覚えておきたい英語動詞30
Active Directoryについてざっくり理解する

https://docs.microsoft.com/ja-jp/windows-server/identity/identity-and-access https://jp.fujitsu.com/platform/server/primergy/technical/construct/ *https://jp.fujitsu.com/platform/server/primergy/technical/construct/pdf/win2016-active-directory02.pdf

Azure Active Directoryについてざっくり理解する

ひと目でわかるAzure Active Direcotry 脱オンプレミス!クラウド時代の認証基盤 Azure Active Directory

Linuxについてのざっくり理解する

以下の書籍を読んで、Linuxを触ってみる。 Goならわかるシステムプログラミング 私はどのようにしてLinuxカーネルを学んだかゆたかさんの教科書

機械学習についてざっくり理解する

ふたたびの微分積分 やさしく学ぶ 機械学習を理解するための数学のきほん

Angular、ngrxでToDoアプリ程度はサクッと作れるようになる
React、ReduxでToDoアプリ程度はサクッと作れるようになる
VSCodeで開発できるようになる
k8sで開発できるようになる

*しくみがわかるk8s Azureで動かしながら学ぶコンセプトと実践知識

その他、時間があったら読む

SOFT SKILLS ソフトウェア開発者の人生マニュアル はじめよう!システム設計~要件定義のその後に はじめよう!プロセス設計~要件定義のその前に はじめよう!要件定義~ビギナーからベテランまで

Complete!

.NET Coreで開発できるようになる

ひととおりドキュメントを眺めて試したりできた。 https://docs.microsoft.com/ja-jp/aspnet/core/getting-started/?view=aspnetcore-3.1&tabs=windows

クリーンアーキテクチャドメイン駆動設計について学ぶ

*Clean Architecture 達人に学ぶソフトウェアの構造と設計

OpenID Connect についてざっくり理解する

OAuth徹底入門: セキュアな認可システムを適用するための原則と実践 雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド  *OAuth、OAuth 認証、OpenID Connect の違いを整理して理解で きる本

 ##### かんたんなCコンパイラを作成できるようになる 以下の書籍を読んでC言語について理解する。 *世界でいちばん簡単なC言語のe本―C言語の基本と考え方がわかる本

外資系で開発できるレベルの英語力をつける

Versant 50点以上とる 難しいことはわかりませんが、英語が話せる方法を教えてください!

3/16~3/22の振り返り

Doing

10キロやせる(当時:67キロ)

現在:65.5キロ!0.5キロ痩せたけど多分誤差の範囲。

  • 週4日以上走る 3/16 4.64km
    3/17 4.69km
    3/18 0.00km 3/19 0.00km
    3/20 4.66km
    3/21 4.93km
    3/22 4.80km
小中学の数学を復習する
  • 小・中学校9年間の 算数・数学を10時間で復習する本 (中経出版)  あとは、図形関係が終わればOK!
外資系で開発できるレベルの英語力をつける
  • Versant 50点以上とる

    • 英語耳
      主要な部分だけ1日やった。来週は毎日30分はやるように習慣づける。
    • 英語日記ドリル
      毎日英語で日記を書いてみる。
    • 中学3年分の英語が3週間で身につく音読 1週間に1周する。
コンピューターサイエンスについて学ぶ

*スバラシク面白いと評判の初めから始める数学1  まずは、微分積分線形代数にかかわる項目を優先的にみていく予定!  「数と式」についてみてる

Done

ToDo

かんたんなOSを作成できるようになる

以下の書籍を読んで、OSを実装してみる。 → 進捗なし!時間が足りねーorz

  • 作って理解するOS x86系コンピュータを動かす理論と実装 かんたんなCコンパイラを作成できるようになる → 進捗なし!時間が足りねーorz 以下の書籍を読んでC言語について理解する。
  • C言語のポインタのツボとコツがゼッタイにわかる本―最初からそう教えてくれればいいのに!
コンピューターサイエンスについて学ぶ

以下の書籍を読んで、実装して理解する。

かんたんなCコンパイラを作成できるようになる

以下の書籍を読んでC言語について理解する。

かんたんなOSを作成できるようになる

以下の書籍を読んで、OSを実装してみる。 * 30日でできる!OS自作入門 * xv6を理解する

一般的なネットワークのスキルを学ぶ

以下の書籍を読んで、内容を理解する。 * プロフェッショナルIPv6 * プロフェッショナルSSLTLS * DNSがよくわかる教科書 * TCP技術入門 * パケットキャプチャの教科書

一般的なDBのスキルを学ぶ

以下の書籍を読んで、内容を理解する。

クリーンアーキテクチャドメイン駆動設計について学ぶ
Dockerのコンテナで開発できるようになる
  • Docker実践ガイド 進捗なし!時間が足りねーorz
小中学の数学を復習する
  • 小学校6年分の算数が教えられるほどよくわかる
  • 中学3年分の数学が教えられるほどよくわかる
外資系で開発できるレベルの英語力をつける
  • Versant 50点以上とる
    • 英会話1000本ノック[入門編]
    • 英会話1000本ノック[ビジネス編]
    • みるみる英語力がアップする音読パッケージトレーニン
  • 自分の仕事の自己紹介を書く
  • 自分の家族の自己紹介を書く
  • TOEIC 600点以上とる
    • TOEIC 公式5
    • TOEICテスト中学英文法で600点!
    • TOEIC L&Rテスト 文法問題 でる1000問
    • 図解 中学・高校6年間の英語をこの1冊でざっと復習する
    • 中学英語で英語の雑談ができるようになる本
    • Mr.Evineの中学英文法を修了するドリル
  • ITエンジニアが覚えておきたい英語動詞30
Active Directoryについてざっくり理解する

https://docs.microsoft.com/ja-jp/windows-server/identity/identity-and-access https://jp.fujitsu.com/platform/server/primergy/technical/construct/ *https://jp.fujitsu.com/platform/server/primergy/technical/construct/pdf/win2016-active-directory02.pdf

Azure Active Directoryについてざっくり理解する

ひと目でわかるAzure Active Direcotry 脱オンプレミス!クラウド時代の認証基盤 Azure Active Directory

Linuxについてのざっくり理解する

以下の書籍を読んで、Linuxを触ってみる。 Goならわかるシステムプログラミング 私はどのようにしてLinuxカーネルを学んだかゆたかさんの教科書

機械学習についてざっくり理解する

ふたたびの微分積分 やさしく学ぶ 機械学習を理解するための数学のきほん

Angular、ngrxでToDoアプリ程度はサクッと作れるようになる
React、ReduxでToDoアプリ程度はサクッと作れるようになる
VSCodeで開発できるようになる
k8sで開発できるようになる

*しくみがわかるk8s Azureで動かしながら学ぶコンセプトと実践知識

その他、時間があったら読む

SOFT SKILLS ソフトウェア開発者の人生マニュアル はじめよう!システム設計~要件定義のその後に はじめよう!プロセス設計~要件定義のその前に はじめよう!要件定義~ビギナーからベテランまで

Complete!

.NET Coreで開発できるようになる

ひととおりドキュメントを眺めて試したりできた。 https://docs.microsoft.com/ja-jp/aspnet/core/getting-started/?view=aspnetcore-3.1&tabs=windows

クリーンアーキテクチャドメイン駆動設計について学ぶ

*Clean Architecture 達人に学ぶソフトウェアの構造と設計

OpenID Connect についてざっくり理解する

OAuth徹底入門: セキュアな認可システムを適用するための原則と実践 雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド  *OAuth、OAuth 認証、OpenID Connect の違いを整理して理解で きる本

 ##### かんたんなCコンパイラを作成できるようになる 以下の書籍を読んでC言語について理解する。 *世界でいちばん簡単なC言語のe本―C言語の基本と考え方がわかる本

外資系で開発できるレベルの英語力をつける

Versant 50点以上とる 難しいことはわかりませんが、英語が話せる方法を教えてください!

Git メモ

リポジトリ

ローカルにリポジトリを作成する

git init

リモートのリポジトリをクローンする

リモートリポジトリと同じ名前のフォルダに保存される

git clone URL

デフォルトのリポジトリ名と異なる名前のフォルダにする

git clone URL 新しいフォルダ名

リモートのリポジトリを変更する

間違ったリポジトリを複製した場合は、 git cloneを実行した後に作成されたディレクトリを削除し、正しいリポジトリをクローンする

既存のローカルリポジトリの origin として間違ったリポジトリを設定した場合は、origin の url を変更する

git remote set-url origin URL

リモートのリポジトリをクローンする

git init

リモートのリポジトリをクローンする

git init

リモートのリポジトリをクローンする

git init

リモートのリポジトリをクローンする

git init

Angular メモ

Angular CLIをローカルにインストールする

npm i @angular/cli

Angular バージョンを確認する

npx ng v

Application のひな型を生成する

npx ng new my-app

Component を生成する

npx ng g component xyz

Angular Material を追加する

npx ng add @angular/material

PWA をサポートする

npx ng add @angular/pwa

依存性を追加する

npx ng add ???

リンティングツールを実行する

npx ng l

Component をテストする

npx ng test

e2e テストをする

npx ng e2e

本番環境用にビルドする

npx ng build --prod