OITA: Oika's Information Technological Activities

@oika 情報技術的活動日誌。

Evernoteのノートを画像も含めNotionへインポート

年も明けたので、Evernoteを卒業します。

Webクリップにもメモにも使えて、できるだけ無料か買い切りで使えて、すぐにサービス終了してしまわなさそうなものを条件として探すと、移行先はほぼNotion一択になるかなぁと思いました。

https://www.notion.so/

Notionには公式でEvernoteからのインポート機能があるが、Webクリップや画像のインポートには対応していない。

それ自体はまあ諦めがつくものの、致命的なのは、インポート中にそういうインポートできないノートがあると、コンソールにエラーを吐き捨てて静かに処理を中止してしまうこと。
エラーとなったノートの特定も容易ではない。

この時点でちょっとNotion自体に不安も生じるところではあるが、、まあちょっと諦めずに使ってみることにします。

続きを読む

【C# 機能別】知らん書き方が出てきたらこれを見ろ!C# 10 までの進化を1ページで

祝 .NET 6 GA アドベントカレンダー、23日の記事になります。

.NET 6 のリリースに伴い、C# の言語バージョンがついに 10.0 となりました。

C# の進化は早く、ちょっと気を抜いている隙に、見たことのない書き方のコードがどんどん出現します。
その一方で、業務の現場では、5年前10年前に書かれたソースコードを保守することも決して珍しくありません。

新しいコードでも古いコードでも、「なんだっけこれ?」という書き方がでてきたときに、同じことを従来の書き方/現在の書き方でどうやるかのリファレンスにできるよう、主要な機能・構文ごとに縦断的に整理してみました。

続きを読む

TypeScript の「型安全」を担保するために知っておきたかったこと

タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 アドベントカレンダー1日目の記事になります。
よろしくお願いします。

3行で

TypeScript で安全に型を扱う勘所は以下2点だと思いました。

  • 最初から最後まで型が壊れていないことを保証する
  • 型が壊れる可能性があるものは壊れている前提で扱う
続きを読む

DbUnit : テストデータの日付・時刻を相対的な値で指定する

やりたいこと:DbUnit のテストデータで、DATETIMEなどのカラムに、「1時間前」「1日前の12:00」みたいな、現在日時からの相対時刻を入れたい。

たとえば直近3日間の履歴を取得して返すAPIのテストであれば、3日前あたりの境界値レコードがテストデータとして入っていてほしい。

続きを読む

react-query : クラスコンポーネントのコードで導入するいくつかの方法

引き続き React Query のターン。

useQuery か、なるほどいいねこれということで導入しようと思っても、手元のコードは全然 class component ですよっていう場合に、どうやって導入していく方法があるかという整理。

おおよそそのまま、クラスコンポーネントでhooks使うにはどうするかっていう話になります。

検証コード

例として、以下のようなシンプルなコードを考える。

  • 外部リソースとしてユーザ一覧を管理している
  • 画面からユーザの追加を行う
  • 画面でユーザ一覧を表示する
続きを読む

react-query : useQuery への依存をスタブに差し替えてコンポーネントテスト

引き続き React Query の話。

ある関数コンポーネントが useQuery によって取得される外部データに依存している場合に、そのuseQueryで取得される外部データをダミーに置き換えて、コンポーネントテストを書く方法。
なかなかまとまった情報が見つからなかったので記録しておく。

テストには Jest & React Testing Library を使用。

続きを読む