Category:

TypeScriptのTips

TypeScript に関する Tips をメモっていきます。 クラス名の取得方法 取得方法 クラス内から取得する場合 static method 内: this.name instance method 内: this.constructor.name クラス外で取得する場合 クラス名.name インスタンス.constructor.name テストコード 以下のテストコードで検証しました。 継承してても問題なくクラス名を取得できました。 class Parent { constructor(public name: string) {} static classNameInStaticMethod(): string { return this.name; } classNameInInstanceMethod(): string { return this.constructor.n Continue Reading

Posted On :
Category:

npm パッケージのバージョンアップと脆弱性対応

ちょっと雑ですが、npmパッケージのバージョンアップと脆弱性対応の方法をまとめました。これがベストかはわからないけど、一つのやり方として紹介します。 node: v14.15.1 npm: v8.1.3 パッケージのバージョンアップ バージョンアップ必要なパッケージを調査 npm-check-updatesをインストール npm install -g npm-check-updates バージョンアップが必要なパッケージをリストアップ ncu > @nuxtjs/eslint-config 5.0.0 → 6.0.1 > @nuxtjs/eslint-config-typescript 3.0.0 → 6.0.1 > eslint 7.24.0 → 8.1.0 > eslint-config-prettier 7.2.0 → 8.3.0 > eslint-pl Continue Reading

Posted On :
Category:

読みやすいコード、メンテナンスしやすいコード

自分が個人的に読みやすい、メンテナンスしやすいと思うソースコードの特徴を書いてみようと思います。個人の好みも含みます。 言語やアーキテクチャ、プロジェクトにかかわらず、コードレビューの時にはこのような観点でレビューしてます。 モジュール名・クラス名・関数名・変数名からその責務が明確である 基本的に、一つの責務を持つ GOOD: getBook(id: string), updateBook(book: Book) BAD: getAndUpdateBook(bookId: string) その責務がわかるように命名する 英語として成り立ってる(日本語に直訳して意味が通じる) 第三者が見て別の意味に捉えようがない ただし、具体的に説明しすぎず、適宜抽象化する 具体的にしすぎると、処理をちょっと変えるたびに関数名も変更が必要になってしまうし、関数名が長くなりすぎる傾向がある 例: 本リストを Continue Reading

Posted On :
Category:

Jest + TypeScriptのTips

Jest + TypeScript でテストを書くことが増えてきたので、この辺でTipsを記載しておこうと思います。今後も何かあれば追記します。 インストール こちら を参考にしました。 まず、必要なライブラリを追加します。 yarn init yarn add jest @types/jest ts-jest –dev jest.config.jsをプロジェクト直下に作成します。 module.exports = { "testMatch": [ "**/__tests__/**/*.+(ts|tsx|js)", "**/?(*.)+(spec|test).+(ts|tsx|js)" ], "transform": { "^.+\\.(ts|tsx)$": "ts-jest&q Continue Reading

Posted On :
Category:

CodeBuild・CodePipelineを使ってデリバリーパイプラインを導入(AWSでWebアプリ構築 part3)

AWSの色んなサービスを意図的に使って、サンプルWebアプリを構築してみているのですが、今回は part3 ということで、「CodeBuild・CodePipelineを使ってデリバリーパイプラインを導入」していきたいと思います。 part1: RDS 環境構築 part2: EKSでRDSにアクセスするWEB APIサーバを構築 part3: CodeBuild・CodePipelineを使ってデリバリーパイプラインを導入(今回) 今回実現すること ビルド CodeBuild でDocker イメージを作成して ECR にプッシュする デプロイ CodeBuild で ECR 上の Docker イメージを EKS クラスタに、デプロイする パイプライン v*.*.*形式のタグが GitHub リポジトリにプッシュされたら、ビルドを実行する CodePipeline で、GitHub の Continue Reading

Posted On :
Category:

EKSでRDSにアクセスするWEB APIサーバを構築(AWSでWebアプリ構築 part2)

AWSの色んなサービスを意図的に使って、サンプルWebアプリを構築してみているのですが、今回は part2 ということで、「EKSでRDSにアクセスするWEB APIサーバを構築」していきたいと思います。 part1: RDS 環境構築 part2: EKSでRDSにアクセスするWEB APIサーバを構築(今回) part3: CodeBuild・CodePipelineを使ってデリバリーパイプラインを導入 本記事で対応する内容 この記事では、以下をやってみました。 API サーバの Docker イメージを Amazon ECR にプッシュする Amazon EKS クラスタを作成する EKS クラスタに Docker コンテナをデプロイする Docker コンテナ(POD)から RDS にアクセスする 作業用 IAM ユーザを作成 IAM ユーザ(sample-admin)を作成します Continue Reading

Posted On :
Category:

フリーランスエンジニアの手続き(在籍中・退職後)

6月から会社員からフリーランスエンジニアに転向したのですが、必要だった手続きをメモっておきます。(漏れがあれば追記していきます) 在籍中にできる手続き 会社に在籍中にできる手続きになります。退職後にやっても良いものも含まれています。 開業届(個人事業の開業・廃業等届書) 目的 青色確定申告により最大65万円控除を受けられるようになる 屋号で銀行口座やクレジットカードを作成できるようになる 屋号で業務委託契約(準委任契約、請負)を締結できるようになる 手続き 概要 freee を使って書類を作成し印刷して、税務署に提出するだけ 必要書類 個人事業の開業・廃業等届出書(開業freeeで作成) マイナンバー記載あり 捺印必要 所要時間 書類作成が1時間程度 税務署に直接届出する場合は、窓口での作業は2分程度 提出時、マイナンバーカードを確認され、書類記載のマイナンバーが正しいことを確認される そ Continue Reading

Posted On :

Node.js with TypeScriptでDBアクセスするWebアプリを作る

TypeScript を使って、 Node.js で DB アクセスするシンプルな Web アプリケーションを作ってみようと思います。 Node.js: v14.17.0 npm: 6.14.13 TypeScript: 4.3.2 express: 4.17.1 MariaDB: 10.5.10 事前準備 Node.js インストールと package.json 作成 以下のいずれかの方法で Node.js をインストールします。 公式サイト からインストーラーをダウンロードしてインストール nodebrew を使ってインストール(こちら を参考にさせていただくといいと思います) 次に、package.jsonを作成します。 npm init TypeScript インストールと tsconfig.json 作成 npm を使用して、TypeScript をインストールします。 npm Continue Reading

Posted On :
Category:

RDS 環境構築(AWSでWebアプリ構築 part1)

こちらの記事 で AWS の基礎はある程度把握できた気がするので、以下のような構成のサンプルアプリを作ってみることにしました。アプリ自体は、「Web画面で入力したコメントをDBに登録する」だけの超シンプルなものです。 全てをまとめてやるのは大変なので、全三回に分けて順番にやってみます。 今回は part1 ということで、「RDS 環境構築」までをやってみたいと思います。具体的な作業としては、VPC を作成し、RDS で MariaDB のデータベースを作成して、テーブルを作成するところまでです。 part1: RDS 環境構築(今回) part2: EKSでRDSにアクセスするWEB APIサーバを構築 part3: CodeBuild・CodePipelineを使ってデリバリーパイプラインを導入 今回利用するサービス Amazon VPC 今回のシステムを構成するコンポーネント全体を所属 Continue Reading

Posted On :
Category:

AWSを一から勉強した箇条書きメモ

仕事で AWS を利用することになり、これまで GCP ばかり利用してきたので、 AWS を一から勉強し直すことにしました。基本的には、以下の二つで紹介いただいている内容を中心に Web アプリケーションエンジニア に必要そうなものをやってみました。 AWSの開始方法(公式) 【AWS初心者向け】AWS学習方法まとめ【15時間で達成できる】 この記事は、参照した Web サイト/動画/チュートリアルの内容を後で振り返るための自分用の箇条書きメモになります。 読み物 クラウド (クラウドサービス) とは?(0.5h) https://aws.amazon.com/jp/cloud/ クラウドについての前提知識を説明してくれてます。 クラウドサービスとは IT リソースをオンデマンドで利用することができるサービスの総称 従量課金が一般的 6つのメリット 固定の償却コストが変動コストに 事前にサ Continue Reading

Posted On :