TypeScriptで型推論やりすぎな足し算をする関数を作ってみた

こんにちは。shundroidです。最近TypeScriptの型レベルプログラミングにハマっています。 今回実装する「型推論やりすぎ足し算」をする関数はこちらです。既出だったらごめんなさい。 (画像が読み込めない時用のコード)123// 実装省略declare function add<T extends number, U extends number>(a: T, b: U): Add<T, U>;const a = add(12, 34); // testの型が46になる a の型が 46 になり、型レベルでも足し算をして、その結果を返します。Add<T, … Read More

TypeScriptの型レベルプログラミングで足し算・引き算・掛け算を実装する

こんにちは。shundroidです。最近型レベルプログラミングに興味があります。TypeScriptの型機能、気づかぬうちにめちゃくちゃ強くなっていてすごいですね。最大限活用したいですが、実用上は使う機会あるのでしょうか。 変な型を作るのは楽しいですよね。というわけで、今回は次のような型(Add<T, U> 型、 Minus<T, U> 型、 Multiple<T, U> 型)を実装しようと思います。 123type AddTest = Add<3, 5>; // 8type MinusTest = Minus<8, 4>; // 4 … Read More

VuexをVue Composition APIで実装する!【NoVue】

こんにちは。shundroidです。大学の授業が始まって早1週間。最初はガイダンスばかりですが、だんだん面白さが分かってきました。 また、今日は情報系の選抜授業の合格発表があって、無事履修することができました~よかった。倍率2倍強ですが、絶対に取りたい授業で、チャンスは1回だけだったので、本当に良かったです。堪能したいと思います。 さて、今回は、vue-composition-apiを使っていきたいと思います。これが凄いんですよ。おそらく、最初のモチベーションとしては、肥大化したViewModelを整理する、ということだったと思うんですが、おなじみの watch や、リアクティブな変数を生成す … Read More

大学の授業が始まる前日、興味があること

こんにちは。shundroidです。明日から大学の授業が始まります。この後色々好きなものとかが変わっていくことが想定されますが、とりあえず、現時点での自分の興味について書き記しておこうと思います。 プログラミング言語のパラダイムこの前の記事にも書きましたが、プログラミング言語そのものへの興味が湧き始めました。 言語の仕様や、プログラミングパラダイムなどに興味があります。それらがコンピューターの構造や、後述するデザインパターンやアーキテクチャとどのような関係があるのか、について知りたいと思っています。 データフロープログラミングプログラミングパラダイムの中でも、特にデータフロープログラミングに … Read More

これから、どういうプログラムを書いていきたいか

こんにちは。shundroidです。約1年ぶりの投稿です。ブログ開始時は、すごくたくさん記事を書いていたのに、素数の分布みたいな投稿頻度になってしまい、誠にすみません。 さて、今日で高校生は終わりです。(※書いていたときは3/31でした)高校での3年間で、物の捉え方や、考え方、好み、楽しいこと、などが大きく変わったと思います。プログラミングに対する姿勢も変わったと思います。 高校に入るまで、また高校に入ってからしばらくは、プログラミングを、あくまで何か制作物を作るための手段と考えて、そのためにいかにパフォーマンスが良いコードを、綺麗に書くか、ということを大事にしてきました。 ですが、最近は、プ … Read More