「レガシーコードからの脱却」を読んだので、その抜粋と要約。 はじめに 第一部 レガシーコード危機 1章 何かが間違っている 2章 CHAOSレポート再考 3章 賢人による新しいアイデア 第二部 ソフトウェアの寿命を伸ばし、価値を高める9つのプラクティス 4章 9…
概要 Angular のサービスクラスのユニットテストに関して調べた。かつ、グローバルでモックを定義する方法も考慮。 環境 MacOS Angular.js v8.x.x 情報収集 Angular の公式ドキュメントにテストに関するページがある。 Testing https://angular.io/guide/tes…
小ネタです。 古い pip を使っていました pip を使ってパッケージをインストールしたところ、以下のようなワーニングが。 You are using pip version 10.0.0, however version 19.3.1 is available. You should consider upgrading via the 'pip install --u…
タイトルのようなエラーが出た時の対応方法。 自分の場合は、Date 型同士を比較しようとして、このエラーに遭遇しました。 指示通りに number 化することで解決。 const a = "1970/01/01" const b = "1970/01/02" // 誤) const result = new Date(a) - new …
Mongoose のドキュメント取得に関して。空配列を持ったドキュメントを取得する方法。 例えば、以下のようなデータから id: 2 のデータのみ取得する。 { id: 1, items: ['foo'] } { id: 2, items: [] } これらのデータを Data スキーマとすると、以下のように…
概要 Mongoose には ref という機能がありまして、他のコレクションのドキュメントへの参照 ID を持つことができます。 ref は populate を使って解決します。 この記事では、ネストされた ref を解決する方法について書きます。 参考: Populate - mongoosej…
親コンポーネントで定義したメソッドを、子コンポーネントから呼ぶ方法について。 Props として渡す まず、 props として渡す方法。React エンジニアにとっては馴染みのあるやり方。 <template> <Child :function="someFunction" /> </template> export default { methods: { someFunction() { ... } } } Events を経…
概要 Nuxt.js アプリケーションにおいてサーバサイドでデータフェッチをする場合、 AsyncData 関数を使う方は多いと思います。 この記事では、「もしデータフェッチに失敗したら XX する」のような処理を書く方法について。 Nuxt.js v2.9.0 時点での情報にな…
概要 Mongo/Mongoose で配列要素を populate した後に、要素のフィールドでソートする方法について。 コードサンプルは JavaScript で書いています。 サンプル 以下のようなデータを想定します。 // user { id: "foo" comments: ["1", "2"] // comment コレ…
概要 Next.js v9 で TypeScript プロジェクトを作成する方法について。 環境 このブログ記事の内容は、以下の環境をベースにしています。 OS: MacOS Mojave 10.14.6 Node.js: v10.15.0 next.js: v9.0.5 方法 Next.js アプリケーションの作成 まずは普通に Ne…