制作物
1、Taskリストアプリ(Java)2019/01
デザインパターンの授業の自由課題で制作しました。Taskの状態をStateパターンを用いて管理し、Taskの作成をFactoryパターンを用いて実装しています。細かいことはレポートで解説してます。
2、簡易Brainf*ck(Haskell、Python) 2019/01
Haskellの授業の自由課題で作成しました。Haskellもプログラミング言語である以上はチューリング完全であり、計算可能な範囲はCやJava等と変わらない。ということを示す車輪の再発明的なテーマのため、チューリング完全であるBrainf*uckをHaskellで実装しました。動作時のメモリ使用状況の比較のためにPythonでも実装して比較しましたが、インタープリタとコンパイルの差であったり、Haskell側が最適なコードで無い等の理由から有用な比較はできませんでした。
3、核ノルム最小化を用いた画像修復サンプル(Matlab、C++) 2019/07
授業の中で核ノルム最小化アルゴリズムを習ったのでMatlabで実装しました。また、C++とOpenCVの扱いを思い出すためにC++にも移植しました。画像の欠損個所がわかっていればそれなりの精度で復元できます。サンプルでは20%の割合で画素に欠けが存在するとして、元画像→欠損画像→復元画像の順で並べています。
19/07/26:C++のソースは後日リファクタして上げます。Matlabのソースは一部(大筋とは関係ない欠損行列を作る関数)に人が作った所があるのでその部分を自作したら上げます。
4 、簡易Brainf*ck(Racket) 2019/07
冬に作成したBFシリーズの新作です。最古のプログラミング言語の一つであるLISPの方言のSchemeの方言であるRacketでBFを実装することで車輪の再発明的にRacketがチューリング完全であることを示しました。目的がチューリング完全であることを示すことなので、途中で入力を読み込む仕組みは省略しています。
5、簡易暗号文作成アプリ(PHP、Python) 2019/08
簡単なWebアプリを作成しました
6、WPFを用いたポケモンカード一人回しアプリ(WPF on C#)2019/07~11
※ポケモンカードは株式会社ポケモン様より発売されている商品です。
遠方の友人と遊ぶために開発していたものの、多忙により一人回しアプリとしていったん完成させたものです。
7、3Dアクションゲーム(Unity)2019/12~
8、特殊なネットワークトポロジのノード探索シミュレータ(Python)2019/9~2020/01
友人の卒業研究の手伝いで、特殊なトポロジで構成されたネットワーク上でのシミュレータを実装しました。整数3つで表現されるネットワーク構造上で、ランダムに設定された開始ー終了ノードの遷移をシミュレートします。途中で破損したノードに遭遇した場合の回避アルゴリズムを複数用意しました。
私の研究室の自由課題では単純に実行した結果だけを発表しました。あとは友人氏の卒論に期待してます。
9、ラズパイサーバーを用いた自室IoT化とか
詳しくは別記事にて
Raspberry Piの3つの使い方
10、オンラインテーブルゲームアプリ(C#、WPF、C++)
詳細は以下
オンラインテーブルゲームアプリ
ソースは以下
https://github.com/SatoAoaka/OnlineTableGamePlayer