1/21(火)
スマホFTJ161BはBluetoothを有効にしているとwifiが断続的にしか通信できなくなる。
Ubuntu18.04+GTX1060でKrita4.2.8を動かすとき、ドライバのバージョンは440だとキャンバスのグラフィックアクセラレーションが効かず、ズームや回転がカクカクになる。435に戻すと直った。
教えちゃお
1/21(火)
スマホFTJ161BはBluetoothを有効にしているとwifiが断続的にしか通信できなくなる。
Ubuntu18.04+GTX1060でKrita4.2.8を動かすとき、ドライバのバージョンは440だとキャンバスのグラフィックアクセラレーションが効かず、ズームや回転がカクカクになる。435に戻すと直った。
1/12(日)
https://atnd.org/events/110955
界隈の方に誘われ、同僚とともに参加した。フロントエンドエンジニアの自分が自作OSをやってどうなるのか。まだ初めたばかりなのであまり大きなことは言えないが、低レイヤーでも高レイヤー(?)でも共通する考え方のようなものがあって、低レイヤーの知識を得ることによって物事をより抽象的に捉えられるようになるかもしれないな、という感触がある。
1/9(木)
http://www.typescriptlang.org/docs/handbook/interfaces.html
ReadonlyArray<T>
というやつもあるぞ要求されているプロパティがあるかだけをチェックする
とoptionalを組み合わせると、optional propertyのプロパティ名のtypoが型エラーにならなくなるexcess property checking
をする
Object literal may only specify known properties, but 'hoge' does not exist in type 'Fuga'.
excess property checking
を回避する方法
as
[propName: string]: any;
を足しておく1/8(水)
const createFakeFuga = (num: number) => ({ a: num, c: "hoge" });
const func = (array: number[]): { a: number }[] => array.map(createFakeFuga);
{ a: number }
型に { a: 1, c: "hoge" }
を入れても怒られない。ただしリテラルで代入したときだけは怒られる。詳しくは仕様を読もう。
1/5(日)
ランチに少し歩いたところの家系ラーメンに。味が濃く、魚介の風味もあった。ライスはおかわりはできないので最初に大森で頼むべきだった。銭湯はしょうが湯。早い時間に行ったので混んでいてあまりゆっくりできなかった。
今日が正月休暇の最終日だ。今年は帰省もせず、のんびりとしていた。悪くはなかったが退屈でもあったので、同じ退屈なら帰省してもよかったかもしれない。
法律上今年度中にあと2日休暇を取らねばならない。それとは別に繰り越せない休暇も2日ある。適当な祝日に合わせてどこかでまた9連休を生成することになりそうだ。
LinuxでWindows向けのゲームをやりたいときはLutrisというソフトを使う。Lutrisがなんであるかというのを説明するのは難しいのだが(公式にはgaming platformを名乗っている)、ゲームごとにどのバージョンのwineをどんな設定で使うかというのを管理できるソフトだ。
Detroit: Become HumanのPC版が12月に出ていたらしい。ぜひプレイすべきと勧められていたのと、新年で安くなっていたので購入し、Lutrisでのプレイを試みた。ダイアログに求められるまま依存パッケージをインストールし、d9vkをセットアップした。その結果起動には成功した。FPSも良好だ。しかしWASD移動ができない。キー入力が死んでいるわけではないのだが、ゲーム中に移動だけができない。不思議だ。しかしもう一歩だ。
1/4(土)
久々に絵を描いていた。ニコ動見たり、ちょっとしたChrome拡張を書いたり。chibat氏のchrome-extension-typescript-starterがとても勉強になるサンプルだった(jQueryはなくしていきたいが)。
1/3(金)
自宅の気温や湿度を表示するwebアプリをいろいろとリファクタリングしていた。APIを叩いたレスポンスには型の保証がないが、 axios.get
にジェネリクスを与えておけばその型が来たという想定で書くことができていい感じだった。このコードで渡すジェネリクスを更に外から与えられるT型にしているのは、インフラ層でドメイン層で定義した型を使ってはいけないから(ホンマか?)。
moment.jsはめちゃ便利。JavaScriptの組み込みのURLオブジェクトはパスの結合が便利にできるかと思いきやそうでもない。ホストとパスの結合だけ。
12/22(日)
masterにマージするだけでデプロイされてほしかったので。
12/21(土)
CI環境ほしいので作った。基本的にはこれを読みながら進めるだけ。