このページは...
2019年度に自分用に作成したメモのリストです. これらのメモは,学部生が読むことを想定してかなり噛み砕いて書かれており, 研究室のSlackで適宜共有されています (興味のある方は直接ご連絡ください.知財が絡んでいて外に出せないものも 当然ありますが...).
プログラミング言語に関するメモ
プログラミング言語は人間がコンピュータに指示を与えるための道具ですが, アセンブリ言語以外の高水準言語には,「言語化を通して対象に対する理解を深める」という重要な機能があります. 自分の世界を広げるためにも, 比較的自由な時間の取れる学生のうちに,授業で習っている言語(おそらくC言語やJava)以外に 何か一つお気に入りの言語を見つけて欲しいと思います (業務で使う言語については,就職先で嫌でも勉強することになるわけですし...).
- Go言語で並列処理を記述しよう
- スマホアプリ開発用言語あれこれ(Java, Kotlin, Swift, C#)
- Rustについて(どこがどう安全なのか)
- Rubyのブロックを理解する
- いろんな言語でジェネレータを書いてみる
- JavaScriptのスコープに気をつけよう
- 仮想マシンとしてのErlang
- 増殖するドットネットフレームワーク
- LLVMとは何か
- 実はよく知らないC言語
- 非同期処理の記述方法(callbackからasync, awaitまで)
研究関係のメモ
研究を具体的に始める前に行っている下調べのアウトプットです. 業績のページにあるように,いくつかは論文の形になりました(現在進行中のものについてはもちろん載せていません). このようにまとめておくことで,どこに時間をかけてはいけないかが見えてきますし, それぞれ互いにつながりがあるので,持ち札を増やすことにもつながります.
- Wi-Fi Directに関するサーベイ
- VANETに関するサーベイ
- P2Pシステムのインセンティブメカニズムに関するサーベイ
- IPFSとは何か(未完成)
- Etheriumの仕組み
- ビデオの品質評価手法に関するサーベイ
- ピア支援型CDNに関するサーベイ
- 複数記述符号化(MDC)について
- クラウドゲーム研究のサーベイ
- フォグコンピューティングについて
- モバイルクラウドコンピューティング(作業中)
- クラウドセンシングに関するサーベイ
- IoT向けCPUの動向について
- ニュース記事推薦手法のサーベイ
- PeerSimシミュレータの使い方NEW
- WebRTCの使い方NEW
ちょっと理論的な話
- CRDTについて
- k-近傍検索アルゴリズム
- コンパクトルーティングアルゴリズム
いろんなプログラミング言語のチュートリアルNEW
新しいプログラミング言語をマスターするには,オンラインのチュートリアルを使うのが効果的です. 言語のバージョンアップに伴って内容が適宜更新されるのは書籍にはない大きな利点です. (もちろん書籍には書籍の良さがあるのですが, 書籍を購入するのは一通り学び終わってからでも遅くないでしょう. いわゆる「誰でもわかる」系の入門書は,少なくとも情報系の学生には必要ないと思います).
また言語を勉強する際には,何をアウトプットするかをあらかじめ設定しておいた方が飽きがこなくて良いです (英語の勉強もそうですよね.海外ドラマを字幕なしで楽しむというのも立派なアウトプットです). 例えばSwiftだとiOSアプリ(SwiftUIはそれだけでも勉強してみる価値があると思う...), Ruby on Railsだとウェブアプリとかです. JavaScriptはWebRTCやWebAudioなどのいわゆるブラウザ系のプログラムで非常によく使われます. ただしこの言語はシングルスレッドなので,JavaScriptを勉強する際は,必ず非同期処理の書き方までマスターしましょう.