class: title, smokescreen, shelf, no-footer # 2026年度向け研究室配属説明会 <div class=footnote> <small><small> もう少し詳細なテーマ例は <A HREF="/labo/">[こちら]</A>を参照 </small></small> </div> --- class: compact # <small>おおまかな研究室のテーマの話</small> <div class=footnote> <small><small> (脚注1) だいたい授業から類推できるのではないかな〜と思っていたのですが、 何をやっているのですか?と聞かれもので;-) <br> (脚注2) 月曜日の授業は基礎の基礎くらい。 最近の学習課程が広く浅く主義だから?か、残念ながら学部では全然勉強が足りません </small></small> </div> <small> - TCP/IP(ネットワーク)かUnixオペーレーティングシステムにカスれば割と何でもOK -> [テーマ例](#theme-examples)へ飛ぶ - そもそも授業で困ってます。 そしてTA/SAとして教える側になると思うところがあるらしく、 最近は<b>7割がたの人が「うまくITインフラを教えるには?」関係</b>のテーマをやっています - 細かい内容は、<b>支援システムの構築や学習モデル〜認知心理学的な学習理論の検証まで様々</b>です - その他<b>センサーデバイスとしてのUnixの活用</b>とかも応用先が広いですね (このへんが混乱元?) - 各論なので、詳細は直接きいてください。 その他の例 -> [テーマ例](#theme-examples) - <b>本格的に取り組もうとすると、どうしても3年コースです</b> - 1年め(システムのプロトタイプを作る)、2年め(予備調査、システムの改良)、3年め(本番) - 修行時間が足りません問題: 次頁と(脚注2) </small> --- class: compact # <small>キャリア論と月曜日の授業と ...</small> <div class=footnote> <small><small> (脚注1) 詳細はコンピュータネットワークのオリエンテーションの資料(第1回、第9回)をみてください <br> (脚注2) 就職後に、大学の専攻と同じことをやっている幸せな人なんて1%もいないのでは? </small></small> </div> <small> - qiita に私見をまとめてあります、興味のある方は、ぜひ読んでくださいね -> <A HREF="https://qiita.com/fmlorg/items/e41a72daa0413f0d47f6">こちら</A> - 昭和的な「正解を覚えて高速検索できる(試験勉強とくい)」な人は不要です(生成AI優秀すぎ) - メタレベル(一段高いレベル)の考え方が出来るなら生き残れるでしょう - 実務レベルの設計編は生成AIが不得意な分野です <br> (それでも70点の提案書は書けるはず、受注できるかは不明) - <b>うちは実務準拠です。修行した内容がそのまま就職後に活かせるように</b>(次頁も参照) - 卒論や修論のテーマの多くと、ふだんのモロモロの作業が実務の世界 - コンピュータネットワーク後半の設計編はモロに実務ですが、設計がメインではありません。 これは卒論や修論のシステムのために必須な技能であって、これが出来ないと、そもそも先に進めません - ちなみに、<B>現在および近未来におけるアメリカで求人意欲が高い職種</B>は... <br> (3) クラウドエンジニア (4) サイバーセキュリティアナリスト </small> --- name: theme-examples class: title, smokescreen, shelf, no-footer # テーマ例の紹介(2025/5/19) <div class=footnote> <small><small> ここから後は 2025/05/19 版のままです </small></small> </div> --- class: img-right,compact # テーマ一覧(概要) <div class=footnote> <small><small> (脚注) 右下の写真はBLS(一次救命)で必要な心肺蘇生のセルフトレーニングをするシステム。 これはスライド用に中身が見えるようにした状態で手を添えた様子で、実際にはカバーがあります。 訓練用の人形のなかに仕こまれたセンサー(Unixサーバ)からのデータはクラウド経由で仮想空間にリアルタイムに反映されています (ここが<b>Unix屋+MRっぽい重要</b>なところ) </small></small> </div>     <small> 1. **ITインフラの学習法** - どうしたら伝わるのか?が分からない orz 1. Unixデバイスの活用 - XR(MR) + Unix <br> (現実世界とのデータや設定のやりとり) 1. ガチで**運用**上の問題&疑問の調査・解決【難】 - オペレーティングシステム - コンピュータネットワーク 1. (番外編) </small> --- class: compact,img-right # <small>ITインフラの学習法(支援システム)</small> <div class=footnote> <small><small> (脚注1) 先日まで腑に落ちなかった当事者のほうが良いアイデアを出してくれるのではないかな?という期待があります。 腑に落ちる瞬間があるらしいのですが、ベテラン勢には、よくわからないんですよ;-) (脚注2) v2 アーキテクチャで (a)Unixをあやつるところ (b)多重化(Multiplexing)されたWebsocketは僕つくちゃっいましたが、 研究のロジック(Web API)の作成は全部これからです(よろ!) <br> (脚注3) Colitas も最後は、 フリーソフトウエア(OSS=オープンソース)としてリリースするつもりです。 よって、 うちは、コーディングスタイルとか、リリースのお作法とか、開発の7割はドキュメントとコメントとか、 そのへんに、とてもうるさいです </small></small> </div>  <small> - 通称「みなさん何が分からないのか?が(こちらには)分からない orz」問題 - 開発自体も必要です - Colitas v2 アーキテクチャへむけて - Go言語とReactでおねがい! </small> --- class: compact # <small>ITインフラの学習法(+他分野の知見の活用)</small> <div class=footnote> <small><small> (脚注1) Colitasの設計でも、きちんと認知科学(心理学)の知見を考慮しています。 たとえば、なぜ選択肢が7つ以下なのか?というと、 それはA.Baddeleyのワーキングメモリ理論を考慮しているからです (脚注2) 認知科学(心理学)の知見をITインフラの学習に応用しようとはしていますが、 認知科学(心理学)の研究自体をしているわけではありませんので、 そこは区別してくださいね </small></small> </div> <small> - 「ITインフラストラクチャ学習」特有の困難とは何か? - 支援システムは何を支援するべきなのか? - 他分野の知見が活用できないだろうか? - 片足、認知科学(心理学)に足を突っこんでいます - そもそもの困難さも関係あるのでは? - 授業設計 - システム設計 </small> --- class: compact,img-right # <small>Unixデバイスの活用</small> <div class=footnote> <small><small> (脚注1) これが典型的な研究室AとBに片足ずつの状態です。 (脚注2) この写真のサイボーグ戦士感がいいでしょ?(w) (脚注3) Unixベースのセンサーと仮想空間がインタラクションする案件だから、うちがやってるですよ (脚注4) Hololens2 -> Metaquest3 は懸念事項 <br> (脚注5) 個人向けはビジネスになるかよくわからないので、やらないほうがよいと思う。 でも法人向けならビジネスになりそうだし、 海外ではインダストリアルメタバースを、やってるですよ。 いつものように日本が数周テオクレなだけ(-> これから流行?) </small></small> </div>   <small> - XR(MR) + <b>Unix</b> - <b>現実世界とのデータや設定のやりとり</b> </small> --- class: compact,img-right # <small>ガチで**運用**上の問題&疑問の調査・解決【難】</small> <div class=footnote> <small><small> (脚注1) テーマを思いつかないわけでは無いけど、 もっと修行をしてもらわないと開発の入り口にすら立てないので ... (脚注2) 喫緊のTODOに「QUIC話に決着をつけてほしい」があるけど、 残っている課題が博士(後期課程)のレベルだとおもうんだよなぁ <br> (脚注3) SREを実験する環境が無いので、特殊なSREとか、なんちゃんってSREになっちゃいますけどね。 本当のSREエンジニアなんてフルスタックエンジニアでないと出来ないと思うので、 (新卒がやるものでもないだろうけれど)ギャラがよいのは確かですわ </small></small> </div>   <small> - 分野(本来は本業) - オペレーティングシステム - コンピュータネットワーク - 例: HTTP/3の評価 - いやに最近ディスられ気味 - 再評価するべきでは? - 正しい使い方をすれば - TCPのようにカーネルへ - 例:サイト信頼性工学(SRE) </small> --- class: # <small>【おまけ】Go言語の勉強がしたい人いるかな?</small> <div class=footnote> <small><small> (脚注1) 21世紀版C言語です。 40年間の反省が生きている(w) そして、ほぼスクリプト言語じゃんね。 ずいぶんエレガントになったよね〜 (脚注2) インフラ部の研修なんですが、せっかくなので、興味のある人はおいでや <br> (脚注3) あと、ごめん、 石狩データセンター見学希望の人ちょっと相談ごと、 ちょっと来てもらえます? </small></small> </div> <small> - 情報システム開発基礎演習の裏側のWeb APIサーバを自分で作れると嬉しくない? - 木曜日の5時限目?( 05/29, 06/12, 06/19 予定) - 05/29 は0から復習で「Go言語でジャンケンが書ける」 - 06/12, 06/19 はGo言語で書くWWW(Web API)サーバ - テキスト - うち(インフラ部)の研修テキスト </small> --- class: title, smokescreen, shelf, no-footer # <small>【参考】テーマ例の一覧(2025年度むけ,再録)</small> <div class=footnote> <small><small> </small></small> </div> --- name: index class: compact # テーマ一覧 <div class=footnote> <small><small> テーマ出現順とは順番を入れ替えて、身近な順ならび。 2-2 と 2-3 は「片足うち、もう片足は別の研究室」の典型 </small></small> </div> <small> 1. ネットワーク運用(Network Operation) - 1-1. サイト信頼性工学 (SRE; Site Reliability Engineering) - 1-2. プロトコル自体の評価や修正(*, 2-1とペア) 2. Unix/Linux オペレーティングシステム(OS) - 2-1. OS自体の開発・修正(*, 1-2とペア) - 2-2. ITインフラストラクチャの学習方法 ... ここは色々) - 2-3. Unixデバイスと何か(センサー, デバイスの操作, et.al.) - 例: MRとITインフラ学習法、MR+センサー、 3. その他 (塩漬け案件 or いいんです自分でチマチマやるから(やってるヒマが無い)) - 3-1. Unixデバイス + オープンデータ + 位置情報システム (塩漬け中) - 3-2. インターネットの起源 [人文科学] (卒論くらいならいけるかも:-) - 3-3. フリーソフトウエアの作成、配布、啓蒙運動 </small> --- name: infra-training class: compact # 2-2. インフラ学習法の問題 <div class=footnote> <small><small> (脚注) ちなみに、世界的にも、ITインフラは、やってる人も教える人も少ないらしい。 資格試験のコースなら、そこらじゅうでやっているわけですけど、 それは古典的な「座学」とか「正解をおぼえて高速検索ゲーム(受験勉強がとくいな人)」の世界だよね </small></small> </div> <small> 1. 我々には**「生徒/学生は何が分からないのか」分からない**問題;-) - 熟練のエンジニアが直感で正解を見つける思考プロセスを説明できない (将棋の強い人みたいなもんではないかね?) -> ここは年齢が近い世代(当事者)に期待です 1. 「受講者側の頭の中が教える側の想定と違う」にまつわる2、3のMy仮説を研究 - 片足 => 外国語習得法(言語学)、認知心理学、(あと、行動経済学とか進化生物学?) - <b>Cognitive Learning / Education</b> 1. いろいろな方法をためしている、なう - まずは演習自体を支援できる -> 支援システム(Colitas)の開発と運用 - 次、演習自体の理解レベルをあげる(これをするには上の 2. と関連があるはず) - ITインフラ特有の教育手法や教える内容の最適化? <br> (うち汎用的な理論の探求はしてないですね、ITインフラ特有でよい) </small> --- class: compact,img-right # 2-3. Unixデバイスと何かの連携 <div class=footnote> <small><small> (脚注) でも、写真(右)はテーマ 3-1 でしたわ :-) センサーの写真が見つからなかったのね </small></small> </div>   - サイバースペース内でWifi APを設定すると、現実空間のWifi APを設定できる - Hollolens2 -> Azure -> Unix -> Wifi AP - 設定する業務用機器(Cisco,右図) - センサーとしてUnixデバイスを使う <br> -> データをHollolensへフィードバック - (いま考え中) --- class: compact # 1-1. ネットワーク運用 (SRE) <div class=footnote> <small><small> (脚注1) SRE = サイト信頼性工学、Googleの考えたカッコいい単語 (脚注2) この10年くらいは、 SREエンジニアのギャラが一番高いです。20万ドルくらいだよね? すごくオールラウンドな知識と技術が要求されているので、当然ですよね? </small></small> </div> <small> - 可用性(Availability, 24時間うごいていること)は当たり前ですが、それは最低ライン - サーバやデバイスの生死監視は商用インターネット初期からやってます - <B>お客様が正常に利用できる</B>ことが勝利条件 - そもそも「正常」とは何か(計測可能なもの)を定義せよ? - ここは経営と似ています。経営用語の KGI や KPI です - 例: アクセスの95%以上、サイトのレスポンスが < 200ms - 計測、統計処理、システムの状態の推定、必要なら対応 - 計測はサーバ側だけでなくユーザ側のシュミレーションも行います(むしろユーザがメイン) - backend, frontend, 統計, 経営センスなど(技術でもない)フルスタックな感じ - 現在の対象 = 支援システム Colitas の SRE、ゆくゆくは大学の運用も SRE 化したいわね </small> --- class: compact,img-right # 1-2,2-1. ネットワーク運用と Unix/Linux開発 <div class=footnote> <small><small> (脚注) 最後、これUnix Kernelとかに手を出さないといけないので、 4年生では難しいんじゃ ... </small></small> </div>   <small> - 新しいものを使うことは良いことだ!とも限らない。 HTTP/3は、システム運用上、本当にメリットがあるのか? - メリットとデメリット? -> モバイル向けの利点あり。 でも、すごく負荷も高い - これはプロトコルの問題?実装のバグ? - まだ開発途上なだけ?修正できる? </small> --- class: compact # うちの世界観 <div class=footnote> <small><small> (脚注1)使い方とか資格の典型例: AWS, CCNA, IPAの〜情報処理試験のたぐい (脚注2)「資格あっても使えね〜から意味なし」が現場の意見よ。 最新機器はマニュアルどおりに動かないもんだし、 それを手なづけるには...やっぱり場数ではないですかね? </small></small> </div> <small> - 10,20,30年後も技術者として食べていくには? ``` △ 使い方,資格 (<- 世界中で大量生産中, 差別化できない, 新卒時に役立つことはあるだろうけれど) ◎ 動作原理( 裏側 )が分かる ``` - 差別化の一つとして 「**ITインフラストラクチャ**」; をいかがですか?という営業 - 好きな人、興味がある人、**修行**したい人を募集 (単にキャリアパス=就職のためなら、おことわり) - **コマンドライン操作とテキスト設定ファイルに抵抗がない**ことは最低ラインです - 総合格闘技みたい? ... ITインフラは様々な技術の合わせ技です。 つぎつぎと新しい技術を勉強できてうれしいと思ってほしいな (重要:新しいことを勉強したくない = エンジニア職に向いていません) - 時間に余裕のある学生時代こそ基礎をやるべきだと思う </small> </small> --- class: compact # おまけ情報(?) <div class=footnote> <small><small> </small></small> </div> 1. なにかシステムを作るのが卒論なの? <small> - そんなことはないです(そういう先入観だかプロパガンダが流れてる?) - (a)〜が問題だとおもう -> (b)解決策として〜を提案する -> (c)実験(&&評価)してみた - **(b)のところが手法だったりもするし、ITシステムの構築とは限らない** </small> 1. ただ、**どうしても4年生は、なにかしら構築して評価して...にナリガチです** <small> - 結局のところ修行の**時間が少なすぎるんです** - ITインフラは(プログラミングみたいに、さんざん授業があったりしないし)、 3年生に突然はじまる。また、 小学校〜大学前半の授業と不連続なので、 ?の人には??のままかなぁ </small> 1. 大学院組は、もうちょっと、じっくり作る時間がとれますけど... <small> - 【基礎体力の向上】 「分散オペレーティングシステム」の教科書を読む会でもやるか? > 来年のM1 </small> --- class: title, smokescreen, shelf, no-footer # <small>【参考】付録: 2024年度向けのスライド</small> <div class=footnote> <small><small> </small></small> </div> --- class: img-right,compact # 【インフラ学習法】イメージ集(1) <div class=footnote> <small><small> (脚注) これがMR案件っす。現在このシステムを鋭意制作中 </small></small> </div>   - 仮想空間内からネットワーク機器を設定 - この例の機器はwifi APです - ユーザに、好きなSSIDとパスワードを入力してもらいます - とうぜんプロ用機材を使います (こんなの考えるの日本でうちらだけ?) - 現実のネットワーク機器が設定され - スマートフォンから、自分が設定したSSID経由でインターネットが見られる --- class: img-right,compact # 【インフラ学習法】イメージ集(2) <div class=footnote> <small><small> (脚注1) <b> ゲーム製作がメインではありません。 イラスト屋さんもフロントエンドもお呼びでないです </b> <br> (脚注2) サーバ構築やコマンドライン操作が普通にできることは前提で、 バックエンド側の話。 どうやれば学習しやすいか?の検討の中にゲーム要素があるだけ (脚注3) 極論ボードゲームでもいい (このほうが価格的にスケールアウトしやすいのは確か) よい例として「人狼」(セキュリティ分野のボードゲーム,技術より組織とか運用論が中核) </small></small> </div>   - Unix操作法の学習は、 言語学でいう第2言語習得論(SLAで、 いわば第2外国語の習得みたいなもんだと思うんだよね - ゲーム世代にはゲームがいいのかもしれない(脚注も参照) - どれがいいのか?を検討するにも基礎データが必要で、演習環境から、それを何とかして収集するには?とかいう、よいバックエンド側の作業も必要です --- name: operation class: compact # 【運用】 <div class=footnote> <small><small> (脚注) 祝?(1983/01/01の)TCP/IP切り替えから40周年! いいかげん捨てよう、この古いプロトコル </small></small> </div> - 新しい技術を運用してもよいのか?を検討・評価 - HTTP/3 とは?そのメリット・デメリット? 運用する価値はある? - そもそも検討するべきデータを集めておく(今できてない) - SRE = Site Reliability Engineering/サイト信頼性工学 (Googleの考えたかっこいい用語) - その前準備として「データ収集基盤のモダンな構築方法」を検討・構築・評価 - BMaaS (自動的に拡張するインフラ基盤) - 大規模データの保存/検索/取得 - モダンなシステムなんだからコンテナベースだよな - 他ユーザが研究で使えるサービスとしての設計と実装と準備 - 例; データをストリーム処理できるようにしておく (自分で使いたいわけでは無いですが, 機械学習の人が利用しやすい準備はしておく) --- class: compact # 実験の様子 (2022年度) <div class=footnote> <small><small> (文献) 土田 and 深町「HTTP/3 がシステム運用に与える影響の評価」(令和4年度 IEICE北海道支部学生会インターネットシンポジウム, 2023/03)より表3,4および図2 </small></small> </div>    - QUICの実験機材自体は意外と小さいですね:-) 設計も構築も1から --- name: quic class: compact # HTTP/3 の何を検討しているのか? (詳細) <div class=footnote> <small><small> (脚注) もう少し詳しい解説は <A HREF="/slides/columns/proj/network/">[こちら]</A> を参照。 </small></small> </div> <small> - 確実な転送を行うプロトコル(トランスポート層) - TCP/IPは低品質のネットワークでは使われ続けるだろうけれど - 高品質ネットワークやモバイルでは逆に足を引っ張っている - **UDPのQUICベースへの切り替え** - HTTP/3は現在20%くらい? - その他のプロトコルもQUICベースの提案(RFC)が続々と... - HTTP/3 (2022年度の卒論をふまえて)の暫定的結論 - (他の例も、世界的にも、少ししかないので、本当かしら?...だれか続き求む) - **確かに少し速いけど、すごく重たい** - 自分のサーバで使う理由はなさそうだけど、 **スマートフォンサポートを考えるなら使うべき** - 次期ポータルはHTTP/3対応しないのかね? - nginx正式サポート(先月?)、lightspeedは?など未検証シリーズ - プロファイリング; **重たい理由(関数)をつきとめ、改良 (たぶん卒論では時間がなさすぎて無理)** - やっぱりUDPが最適化されていないからのような気がする - ユーザランドで行っている QUIC の処理をカーネルへ移動させれば、かなりマシ(?) - つまり今 Google Chrome が行っている転送処理の本体をOSへ移動 </small> --- class: title, smokescreen, shelf, no-footer # 番外編 <div class=footnote> <small> 以下、省略 </small> </div> --- class: compact # インターネット文化の継承 - フリーソフトウエア運動 - われわれの道具は、どうやって今の形になるのか? --- class: img-right,compact # 安全性を考慮した自転車ナビの開発 <div class=footnote> <small> (脚注1) もう少し詳しい解説は <A HREF="/slides/columns/proj/bike-navi-in-city-center/">[こちら]</A> を参照 (脚注2) インターネットの原動力とは何だったのか? TCP/IPではなく、 フリーソフトウエア(オープンソース)文化とWeb上に展開される同人誌文化(? 劣化版をSNSとか呼ぶ?) (脚注3) 最後はGTFS拡張でGoogleが統合してくれるとありがたいけどな〜 (脚注4) <B>親が開発局勤務の方いませんか?</B> </small> </div> - 基本はドラえもん駆動開発「**こんなこといいな、できたらいいな**」 - 社会的要請とか、そんなことは考えなくてok - 自分ひとりが欲しいと思うアプリでも世の中には同士が30人くらいはいるもんさ。 もしかしたら300万人かもしれない。 そうやってリリースされたアプリのうち万に1つオオアタリするかも。 それを後世の歴史家が**Innovation**と呼ぶことがある <br> (Innovation事業/戦略/政策とか頭の悪い用語にダマされてはいけない) - Googleとかnavitimeに自転車用naviというのがあるけれど欲しいものとは違うの - 安全性ファクタを考慮したnaviをしてほしい。車と違い生身なので;-)安全重視。 なお郊外では道の選択肢がないので自動車用と同じでいいですが、 都市部では違う案内をしてほしい。なおTODOは次のとおりです - **データの分析**をしてほしい:**(a)超音波センサ、(b)道警の事故データ** - アプリ開発;**音声合成でnavi**してほしい(走行中に画面は見られない)