negi.log()

TypeScriptで配列にアクセスして要素がなかったときにundefinedを返すけど型チェックできない

April 17, 2020

タイトルの通りTypeScriptで配列にアクセスするときには罠がある。 配列へアクセスしたときに要素がなかった場合はundefinedが返ってくる。 しかし、型エラーを出してくれず、実行時エラーになってしまう。 配列の要素にundefined…

TypeScriptのunknown型

April 16, 2020

TypeScriptのunknown型はどんな型でも代入できるが、型アサーションを使わないと利用できない型。 代入するときの例 any型と同じように何でも代入できる。 利用するときの例 型アサーション(型をチェックする)して利用する。型アサーションがないと型エラーになる。

シェルスクリプトでreadを使って入力を受け付ける

April 15, 2020

シェルスクリプトで入力を受け付けたい場合はコマンドを使えば良い。 コマンドは引数に変数名を与える。 引数に与えた変数は入力した値が保持される。 複数の入力値を受け付けたい場合は引数も複数にする。 文字列を表示したい場合はオプションを付ける。 ※ オプションはzsh…

git switch/restoreの用法

April 14, 2020

最近Gitに追加されたとの使い方についてまとめる。 ブランチ操作に使うswitch ブランチを切り替えるとき ブランチを新しく作る ブランチを新しく作って、そのブランチに切り替える ファイル変更に使うrestore ローカルの変更を消す add…

ReactのConcurrent Modeを触った所感

April 13, 2020

ざっくりとしたSuspenseの使い方 Suspenseを使うと非同期処理でデータ取得の待機を意識せずにコンポーネントを書くことができる。 上のコードではProfileコンポーネント内でデータを取得させる。 Profileがpromiseをthrow…

VSCodeのタイムライン機能を試した

April 12, 2020

VSCodeのv1.44にタイムラインという機能が追加されました。 VSCodeをv1.4…

可読性の高いReactコンポーネントを作るためのTips1

March 08, 2020

可読性が高くて使いやすいReactコンポーネントを作るために、普段気をつけていることをまとめておく。 atom層のコンポーネントのpropsは標準DOM要素がもつprops…

ポーリングでリアルタイム通信を実現する

June 26, 2019

昔ながらのポーリングでリアルタイム通信をするコードを書いたのでメモ。 ポーリングとは一定時間ごとにHTTP…

マウスホバーすると表示されて、ホバーを外すして少ししたら消えるヘッダーの作り方

May 27, 2019

画像のプレビューなどでよくホバーすると表示されて、ホバーを外して少し時間がたったら消えるヘッダーを作ることになったのでメモ。 facebookの画像プレビュー画面 実装方法 ヘッダーのopacityを通常時は0、ホバーした時は…

VSCodeでTypeScriptのコードを書くときに置いているsettings.json

May 02, 2019

普段はVSCodeを使ってプログラムを書いている。 VSCodeはプロジェクトの直下にを置くと、そのプロジェクト固有のVSCodeの設定を書くことができる。 TypeScriptのプロジェクトには以下のようなsettings.json…