tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

2023-01-01から1年間の記事一覧

【terafform】terraform.tfvars

ファイル名はterraform.tfvars固定。 variableを使って変数定義を行った変数に対して、指定の値をセットする。 variableで定義していない変数は扱えないので注意。 参考 zaki-hmkc.hatenablog.com

【Javascript】オブジェクトリテラルの省略記法

JavaScriptのオブジェクトリテラルでは、プロパティ名と変数名が一致する場合、その変数の名前を一度だけ記述することでプロパティ値を定義できます。 const company = { name: 'google', location: location, } const company = { name: 'google', location…

jest学習サイト

参考 zenn.dev

webページ表示に関して

参考 tadtadya.com

【git】カレントブランチの派生元確認

git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -1 | awk -F'[]~^[]' '{print $2}' 参考 qiita.com

【TypeScript】is演算子

引数名 is 型 で定義。 関数は真偽値を返します。 そして true を返す時は、引数の型が特定の型であることを保証する。 urlAry.filter((item): item is { url: string; name: string; priority: number } => item !== null) 参考 note.affi-sapo-sv.com

【Nuxt.js】パス生成時の注意  絶対パスはスラッシュつける

nuxt-linkでパスを設定する際に最初にスラッシュ/がないと、相対パスと認識されて現在のパス + to オプションで設定したパスが設定されてしまう

ホストベースルーティング

HTTP リクエストの Host ヘッダフィールドは、アクセスしたい URI とポートの情報をもちます。 サーバーは単一の IP アドレスについて複数のホストネームを持つことができます。どのホストネームでリソースを要求されたかによって、提供するリソースを振り分…

【Nuxt.js】browserBaseURL

クライアト側からバックエンド側のAPIを叩く場合など、リクエストに使うベースのURLを指定 参考 blog.cloud-acct.com

【AWS】ALB 

リスナールール 送信対象はターゲットグループ ALBはDNS名を持つ

【Javascript】?. オプショナルチェーン

オブジェクトのプロパティが存在しない場合でも、エラーを起こさずにプロパティを参照できる安全な方法。 ネストしたオブジェクトにも使用できる。 const book = undefined; const title = book?.title; console.log(title); undefined const book = undefin…

【TypeScript】keyof

型に対して使用する。 オブジェクト型のプロパティ名(key名)を取得 する。 type someType = { foo: string; bar: string; baz: number; } const someKey: typeof someType; // someKey: 'foo' | 'bar' | 'baz' 参考 qiita.com

【メソッド命名】

Bool値を返すメソッドの命名規則とは、「オブジェクトを主語とした命題の述語」である。 例えば、オブジェクトが承認済みか確認するメソッドの場合には、「Object is approved.(オブジェクトは承認された)」が命題となります。この命題が真(承認済み)の…

【設計】単一責任の原則

クラスは責務を一つにする。 クラスの中で条件分岐を増やさない。 改修する時に責務が一つではない場合、改修したい部分以外にも考慮しなければならない点が出てきて、改修が難しくなる。

【Nuxt.js】パスパラメータを取得する

// template内 // パスパラメータを取得 {{ $route.params.id }} // クエリパラメータを取得 {{ $route.query.id }} // script内 this.$route.params.id this.$route.query.id 参考 qiita.com codelikes.com developer.mamezou-tech.com blog.microcms.io

【Nuxt.js】カスタムルーティング

nuxt.config.jsでextendRoutesプロパティを使って設定する。 参考 ti-tomo-knowledge.hatenablog.com devsakaso.com vlike-vlife.netlify.app blog.naoty.dev

【SQL】union

sqlの結果を縦に結合する。 カラム名と型が同じであることが必要。カラム名が違う際はasで別名を付けて同一の名前でselectすれば良い。 unionは同じ結果であれば重複を除外する。union allは除外しない。 同じ構造の別テーブルのデータを結合するのにも使え…

【Nuxt.js】$axiosを使えるようにする

npm install @nuxtjs/axios // nuxt.config.js export default { modules: ['@nuxtjs/axios'] } 参考 qiita.com

【Nuxt.js】useFetch

Nuxt.js v2のcomposition APIで使用できるカスタムフック。 カスタムフックは、Nuxt.jsのsetup()メソッド内で定義できる。 export default defineComponent({ setup() { useFetch(async () => { const result = await $http.$get( `https://api.nuxtjs.dev/m…

【Nuxt.js】グローバルオブジェクトを拡張する

typesディレクトリに.d.tsの拡張子を持つファイルを作成してinterfaceで拡張する // plugins-types.d.ts import { Repository } from '@/api' declare module 'vue/types/vue' { // Vueインスタンス(this)の型追加 interface Vue { // プロパティ名: 型定義 …

【Nuxt.js】inject

pluginsディレクトリ以下にファイルを作成。 nuxt.config.jsにファイルを登録すれば使用することができる。 inject('呼び出し名', <共通の値または関数>) inject('repository', repositoryWithAxios) // this.$repositoryで呼び出せる 参考 nuxtjs.org blog.…

【TypeScript】型定義ファイル

型定義ファイルとはアクセス可能な宣言を記述したファイルです。拡張子は.d.tsです。 参考 typescriptbook.jp

【Nuxt.js】Pluginsディレクトリ

共通メソッドを定義する場所。 nuxt.config.jsにファイルを登録すれば使用することができる。 参考 https://qiita.com/kajikaji/items/5e3a7eeb390a044d6444 develop365.gitlab.io qiita.com

【rails】binding.pryを一気に抜ける方法

> !!! 参考 mgi.hatenablog.com

【TypeScript】部分型関係

SportsCar型はCar型の部分型と言える。 type Car = { price: number } type SportsCar = { price: number; speed: number; }

【TypeScript】関数の型定義

以下の2つの関数の型定義は同じ意味になる。 type calc: (a: number) => number; const calc = (a: number) => number; 参考 maku.blog zenn.dev

【TypeScript】関数宣言と巻き上げ

関数宣言より前に関数を使用することができる。 (同一スコープの場合) calc(2, 5) function calc(a: number, b: number): number{ return a + b; }

【Typescript】分割代入

オブジェクトのプロパティを簡単に変数に代入することができる。 変数に独自に型を与えることはできない。もともとのオブジェクトが持つ型が適用される。 const car = { price: 500, color: "red" } { price, color } = car console.log(price) // 500 conso…

【Nuxt.js】InjectionKey

provide,injectを使用する際の型の渡し方。 InjectionKey不使用 //親コンポーネント provide<型>(キー, 渡すデータ) ex) provide<string>("hoge", foo) //子コンポーネント const a = inject<型>(キー) ex) const a = inject<string>("hoge") InjectionKey使用 //親コンポー</string></string>…

【TypeScript】型引数

型定義をする場合に引数を渡せる。 抽象度の高いコードを書くことができる。 type Car<T> = { color: string; option: T; } const car: Car<number> = { color: "red", option: 30 }</number></t>