プログラミング

スポンサーリンク
Node.js

[Node.js] Error: Cannot find module ‘../scripts/start’の解決方法

概要 Node.jsを使っているプロジェクトのディレクトリーをコピーまたは移動すると、npm startを実行してもError: Cannot find module '../scripts/start'となってしまうことがある。 解決方法 node_modulesディレクトリを削除し、npm installを実行する。 ディレクトリのコピー・移動でnode_modles配下のシンボリックリンクが...
TypeScript

[TypeScript]関数の型定義

関数の定義 引数のみアノテートし、戻り値は型推論を使う。 const add = (a: number, b:number) => a + b オプションパラメータとデフォルトパラメータ 引数名の後ろに?を付けると省略可能なオプションパラメータとなる。省略時はundefinedとなる。 引数名=値とするとデフォルトパラメータとなる。デフォルト引数は型推論を使う。 const print = (a:...
TypeScript

[TypeScript]enum(列挙型)の使い方

数値列挙の場合 const enum Color { Red, Blue, Green } console.log(Color.Green) // 2 文字列列挙の場合 const enum Color2 { Red = "#f00", Blue = "#00f", Green = "#0f0" } console.log(Color2.Green) // "#0f0" 「型名は大文字で始まる単数...
スポンサーリンク
TypeScript

[TypeScript]オブジェクトの型定義

オブジェクトリテラルによる型推論 TypeScriptでオブジェクトリテラルを使うと型推論が行われる。通常はこの記法を使うべきである。 const obj = { id: 1, } obj.id="1" // エラー アノテーションによる型定義 省略可能プロパティや読み取り専用プロパティを定義したい場合は、アノテーションを使って明示的に型を宣言する。 const obj2: { id: numbe...
React

[Next.js] getStaticPaths関数とは

概要 .tsxのようなダイナミックルーティングを行うページでgetStaticProps関数を使用する場合は、getStaticPaths関数を使用して「生成されるパスのリスト」を定義する必要がある。 getStaticPaths関数はgetStaticProps関数の前にコールされ関数で、パスの組み合わせpathsとフォールバックfallbackをreturnする。 例 import { Nex...
React

[Next.js] getStaticProps関数とは

概要 Next.jsのページコンポーネントにて、「SSG(StaticSite Generator)させたい=ビルド時に実行したい」処理はgetStaticProps関数の中に記述する。 例 import {useEffect, useState} from 'react' import {GetStaticProps, NextPage} from 'next' type SsgProps = ...
React

[Next.js] レンダリング手法の決定方法

概要 Next.jsにはSSG、SSR、ISR、CSRの4種類のレンダリング手法がある。 SSGビルド時にgetStaticProps関数が呼ばれ、その中でAPIコールなどを行い必要なデータをpropsとして返す。ビルド結果は静的ファイルとして保存される。 SSRページへのアクセスがある度にgetServerSideProps関数が呼ばれ、関数内で生成されたpropsを元にページをサーバ側で描画し...
Java

[Java] 日時を扱うクラスの使い方

概要 かつて使われていたjava.util.Dateクラス、java.util.Calendarクラスは以下のような問題があるため現在では使われていない。 月が0から始まるなど使いづらい スレッドセーフではない 期間を表すことができない 現在はJava8から追加されたTime API(java.timeパッケージ)が使われる。Time APIのクラスはnewが禁止されており、静的メソッドのnow(...
Java

[Java] 文字列処理のチートシート

文字列の比較: equalsメソッド "hello".equals(new String("hello")) // true 文字列配列の連結: String.joinメソッド String joinedText = String.join(",", args); intに変換: Integer.parseIntメソッド int num = Integer.parseInt("100") 長さを取...
Java

[Java] 「シンボルを見つけられません」の解決法

概要 hoge.MyClassをjavac MyClass.javaでコンパイル後、java MyClassとしても「シンボルを見つけられません」となってしまい実行することができない。 原因 原因は以下の2つである。 原因1: クラスはFQCNで指定しなければならない javacコマンドはソースファイル名を指定するにも関わらず、javaコマンドはクラス名(FQCN)を指定する必要がある。 原因2:...
スポンサーリンク