SlideShare a Scribd company logo
1 of 24
Download to read offline
つくっておぼえる!仮想マシン
    ∼直前で実装編∼

   筑波大学 情報科学類 2年
  えりっく(@siritori)
   筑波大学情報科学類 1年
  いおりん(@iorivur)
つくっておぼえる!仮想マシン
     ∼直前で実装編∼
                 VM	
  in	
  Erlang	
   筑波大学 情報科学類 2年
  えりっく(@siritori)Haskell	
  	
           VM	
  in	
  
   筑波大学情報科学類 1年
  いおりん(@iorivur)
じこしょうかい
•  えりっく
 –  ちゃんと筑波大学に通っています
 –  あ、単位も全部来ました
 –  趣味はマッサージとしりとり
 –  最近はTwitterに流れるつぶやきのリアルタイ
    ムな話題推定技術の研究とかしてる
 –  Erlangでサーバ書いて遊んでる(よばれた通知とか)
 –  興味あるもの : Erlang, 自然言語処理, 機械学
    習, (比較的)低レイヤなもの
じこしょうかい
•  いおりん
 –  Verilogでカメラを制御して受験を生き抜いた
 –  Arch Linux / Debian GNU/Linux使い
 –  sgi O2やcobalt qubeなどにNetBSDを入れ
    てpkgsrcしてあそんでる。
 –  高校ではロボットをつくってました
第6回のとき...
『つくっておぼえる!仮想マシン∼妄想編∼』
 という名前で発表
 本人は当時のスライドを紛失(何話したっけ?)


当時言ってた要約 :
 MIPSアーキテクチャVMを
 Erlangで実装する
2012. 4/3ごろ
2012. 4/3ごろ



  あ、作ってない。
作って発表するか・ω・
あとつくばの活きのいい学生誘って来ました
というわけで実装してみました
•  昨日頑張りました(つくばACハッカソン)
•  RISCでも時間の制約には勝てなかった
•  @siritori 「約束通りErlangで書くー」
•  @iorivur 「じゃあぼくHaskellで書くー」
•  ※ふたりとも手続き型言語では意地でも書かない
•  関数型言語の抽象化のエッセンスを学びつつ、MIPS
 アーキテクチャも知りたい><
•  というわがままなテーマです
あーらん


             Erlang
•    (」・ω・)」あー!(/・ω・)/らんー!
•    アクターモデルな並列指向言語
•    純粋でない関数型言語(な見た目)
•    隣の勉強会のHaskellerたちからしたら虫酸が走る
•    電話交換機とかのバックエンドで使われてた
•    OTPというすごいフレームワークを触るためのlang
いーらんぐ	
  
     って言うな(´;ω;)	
                あーらん


             Erlang
•    (」・ω・)」あー!(/・ω・)/らんー!
•    アクターモデルな並列指向言語
•    純粋でない関数型言語(な見た目)
•    隣の勉強会のHaskellerたちからしたら虫酸が走る
•    電話交換機とかのバックエンドで使われてた
•    OTPというすごいフレームワークを触るためのlang
リポジトリとか

•  RECRIO(れくりお)ってコードネームでな
   んとなく開発開始(RECRIOを入れ替えると)
•  githubにおきました(ついさっき)
 –  http://github.com/siritori/recrio
•  「こういう書き方はあんまよくない」とか
   あったら教えて下さい><
できてるところ
•  32bitのバイナリいぢるユーティリティ書いた
•  「何番地に∼というデータをおく」というのを
   受け取って配置してからプログラムカウンタを
   設定して動作する
•  例外処理するためにメッセージ送信ができるよ
   うにしといた(退避とかはまだ)
•  メモリアクセスとか算術命令とか分岐命令の一
   部ができてる
できてないところ

•  やっぱりカーネル/VM探検隊だとELFローダも
   書けてないのに発表するのは心苦しいです
•  例外飛んでから処理に飛んでいくところ(MIPS
   の例外処理の理解が怪しいので教えて下さい)
•  コプロセッサあたりの実装(́・ω:;.:...
•  ErlangのくせにOTP使ってないとかErlangじゃ
   ないですよねごめんなさい
ふええ><っち
•  前にも話した気がするけどErlangにはバ
   イナリデータのパターンマッチング構文が
   ある(通信系だから?)
•  ABBCCCCCみたいなビット列があったら、
   <<A:3, B:2, C:5>> = Data とかでマッチ
   できる
•  いやなんかこうこういう構文あったら命令
   フェッチしたくなるじゃない?
ふええ><っち
exec(<<16#08:6,	 Rs:5,	 Rt:5,	 SignExtImm:16>>)	 ->

   なんとかかんとか
↑addi命令の場合(OpCodeが0x08なI型命令)

こんな感じで以下の命令が実装してあります(`・ω・́)
add,	 addi,	 addiu,	 addu,	 and,	 andi,	 or,	 
ori,	 xor,	 xori,	 sll,	 srl,	 sllv,	 sra,	 
srav,	 sw,	 lw,	 slt,	 slti,	 lui,	 j,	 beq,	 
bne,	 break,	 jal,	 jalr
ふええ><っち
exec(<<16#08:6,	 Rs:5,	 Rt:5,	 SignExtImm:16>>)	 ->

   なんとかかんとか
↑addi命令の場合(OpCodeが0x08なI型命令)

こんな感じで以下の命令が実装してあります(`・ω・́)
add,	 addi,	 addiu,	 addu,	 and,	 andi,	 or,	 
 今日起きてから実装	
ori,	 xor,	 xori,	 sll,	 srl,	 sllv,	 sra,	 
srav,	 sw,	 lw,	 slt,	 slti,	 lui,	 j,	 beq,	 
bne,	 break,	 jal,	 jalr
記憶領域やレジスタの話


•  レジスタとメモリ : ETS (Erlang Term Storage)
•  メモリアクセスが4の倍数だけでよかった
•  プログラムカウンタや原因レジスタ、EXPレジ
   スタ、メモリテーブルへの参照をぜ∼んぶ
   Contextとして持ち回るような設計に(並列実行
   への布石)
命令の実装


•  名状しがたい高階関数のようなものを使って
   できるだけうまいこと抽象化しながら実装
•  すべての割り込みはメッセージ送信!
   self() ! {invalid_address, XXXX}
•  外部からの割り込みもメッセージ送信
感想
•  数値の演算がC言語の10倍くらい遅いと言われ
   るErlangだけど、バイナリの操作はすごく簡単
   だった(○ ω ○)
•  このMIPSのVMを複数立ち上げるのも朝飯前だ
   し、MIPSがWeb上で遊べるサービスとか作れ
   そう
•  競技プログラミングの採点システムとかになっ
   たらいいね(*́・ω・)(・ω・`*) 速度面...
•  MIPSアーキテクチャのいい勉強になった
はすける


        Haskell
•  (」・ω・)」はすー!(/・ω・)/けるー!
•  純粋な関数型言語
•  やたら型にうるさいのでコンパイルに大体の問題が
   片付く(らしい)
•  手続き的なものは「みんな、Monadになる。」
できてるところ


•  インタラクティブにMIPSアセンブリを叩けるUI書いた
•  叩いたアセンブリが機械語に変換されてメモリに書かれ
   ていく
•  メモリアクセスの一部とか算術命令ができてる
•  メモリから自動で読み込んで走るモードにおちる
できてないところ


•    例外、コプロセッサ命令、ジャンプ命令
•    綺麗なレジスタダンプ
•    わかりやすくて親切なUI
•    一般的なアセンブリシンタックス入力
実装
•  システムの内部状態をすべて再帰でとりま
   わす->再帰がそのままクロックのようなイ
   メージ
•  関数のパターンマッチやcase文で命令を
   デコード
デモとか

More Related Content

Viewers also liked

x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設Minoru Nakamura
 
Xとかオワコン?
Xとかオワコン?Xとかオワコン?
Xとかオワコン?Naohiro Aota
 
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main20apr2012 kernelvm7-main
20apr2012 kernelvm7-mainShotaro Uchida
 
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -Go Saito
 
Power shell で DSL
Power shell で DSLPower shell で DSL
Power shell で DSLurasandesu
 
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事Shun Moriya
 
ゲーム組み込み用スクリプト言語を作ってみた
ゲーム組み込み用スクリプト言語を作ってみたゲーム組み込み用スクリプト言語を作ってみた
ゲーム組み込み用スクリプト言語を作ってみたMASA_T_O
 
家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)
家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)
家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)Kazuya Numata
 
NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)Ryo ONODERA
 
pkgsrcユーザー向け設定
pkgsrcユーザー向け設定pkgsrcユーザー向け設定
pkgsrcユーザー向け設定Ryo ONODERA
 
(昔は)人気のあーきてくちゃ
(昔は)人気のあーきてくちゃ(昔は)人気のあーきてくちゃ
(昔は)人気のあーきてくちゃYojiro Uo
 
あるmmapの話
あるmmapの話あるmmapの話
あるmmapの話nullnilaki
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争Eric Sartre
 
ネトゲで人生を変えたい
ネトゲで人生を変えたいネトゲで人生を変えたい
ネトゲで人生を変えたいEric Sartre
 
Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Manabu Ori
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術Kiyokuni Kawachiya
 
「わからない」との付き合い方
「わからない」との付き合い方「わからない」との付き合い方
「わからない」との付き合い方Eric Sartre
 

Viewers also liked (20)

Listen grep
Listen grepListen grep
Listen grep
 
x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設x86-64/Linuxに独自メモリ空間を勝手増設
x86-64/Linuxに独自メモリ空間を勝手増設
 
Xとかオワコン?
Xとかオワコン?Xとかオワコン?
Xとかオワコン?
 
軽快なBHyVe
軽快なBHyVe軽快なBHyVe
軽快なBHyVe
 
20apr2012 kernelvm7-main
20apr2012 kernelvm7-main20apr2012 kernelvm7-main
20apr2012 kernelvm7-main
 
軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -軽快なPlan 9 Update - Illumos KVM上陸 -
軽快なPlan 9 Update - Illumos KVM上陸 -
 
Power shell で DSL
Power shell で DSLPower shell で DSL
Power shell で DSL
 
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
 
ゲーム組み込み用スクリプト言語を作ってみた
ゲーム組み込み用スクリプト言語を作ってみたゲーム組み込み用スクリプト言語を作ってみた
ゲーム組み込み用スクリプト言語を作ってみた
 
家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)
家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)
家族のためにエンジニアとしてやってみたこと(What I did for my family as an engineer)
 
NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)
 
pkgsrcユーザー向け設定
pkgsrcユーザー向け設定pkgsrcユーザー向け設定
pkgsrcユーザー向け設定
 
(昔は)人気のあーきてくちゃ
(昔は)人気のあーきてくちゃ(昔は)人気のあーきてくちゃ
(昔は)人気のあーきてくちゃ
 
あるmmapの話
あるmmapの話あるmmapの話
あるmmapの話
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
 
ネトゲで人生を変えたい
ネトゲで人生を変えたいネトゲで人生を変えたい
ネトゲで人生を変えたい
 
Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208Kernel vm#9 powerkvm-dist-20131208
Kernel vm#9 powerkvm-dist-20131208
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術
 
「わからない」との付き合い方
「わからない」との付き合い方「わからない」との付き合い方
「わからない」との付き合い方
 

Similar to つくっておぼえる!仮想マシン〜直前で実装編〜

Goで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうGoで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうEsehara Shigeo
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニングMunenori Sugimura
 
IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11Takeshi HASEGAWA
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールNobuhisa Koizumi
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情Junichi Ishida
 
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装したt-sin
 
FOLIOのコードを動かしてみた
FOLIOのコードを動かしてみたFOLIOのコードを動かしてみた
FOLIOのコードを動かしてみたFutoshi Tanuma
 
F#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているpocketberserker
 
Rpn and forth 超入門
Rpn and forth 超入門Rpn and forth 超入門
Rpn and forth 超入門Yoshitaka Seo
 
Emscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョンEmscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョン兎 伊藤
 
Llでゆるふわプログラミングのすすめ
LlでゆるふわプログラミングのすすめLlでゆるふわプログラミングのすすめ
Llでゆるふわプログラミングのすすめmizcki
 
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1Ransui Iso
 
One - Common Lispでもワンライナーしたい
One - Common LispでもワンライナーしたいOne - Common Lispでもワンライナーしたい
One - Common Lispでもワンライナーしたいt-sin
 
Perlでつくったものとか
PerlでつくったものとかPerlでつくったものとか
PerlでつくったものとかShimitakax
 
Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?Katsunori FUJIWARA
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトuchan_nos
 
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)mametter
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめcocu_628496
 

Similar to つくっておぼえる!仮想マシン〜直前で実装編〜 (20)

Goで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうGoで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろう
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニング
 
IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11IkaLog Presentation at qpstudy 2015.11
IkaLog Presentation at qpstudy 2015.11
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツール
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
 
FOLIOのコードを動かしてみた
FOLIOのコードを動かしてみたFOLIOのコードを動かしてみた
FOLIOのコードを動かしてみた
 
F#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみているF#+Erlangで簡単なシューティングゲームを作ってみている
F#+Erlangで簡単なシューティングゲームを作ってみている
 
of_protocol_tremaday5
of_protocol_tremaday5of_protocol_tremaday5
of_protocol_tremaday5
 
Rpn and forth 超入門
Rpn and forth 超入門Rpn and forth 超入門
Rpn and forth 超入門
 
Emscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョンEmscriptenと不思議のダンジョン
Emscriptenと不思議のダンジョン
 
Llでゆるふわプログラミングのすすめ
LlでゆるふわプログラミングのすすめLlでゆるふわプログラミングのすすめ
Llでゆるふわプログラミングのすすめ
 
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1
 
One - Common Lispでもワンライナーしたい
One - Common LispでもワンライナーしたいOne - Common Lispでもワンライナーしたい
One - Common Lispでもワンライナーしたい
 
Perlでつくったものとか
PerlでつくったものとかPerlでつくったものとか
Perlでつくったものとか
 
Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?
 
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクトOpeLa: セルフホストなOSと言語処理系を作るプロジェクト
OpeLa: セルフホストなOSと言語処理系を作るプロジェクト
 
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
 
Erlang and I and Sphinx.
Erlang and I and Sphinx.Erlang and I and Sphinx.
Erlang and I and Sphinx.
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめ
 

More from Eric Sartre

やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術Eric Sartre
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)Eric Sartre
 
Emacsいじめの現場
Emacsいじめの現場Emacsいじめの現場
Emacsいじめの現場Eric Sartre
 
初めてのCPUを作ってみた
初めてのCPUを作ってみた初めてのCPUを作ってみた
初めてのCPUを作ってみたEric Sartre
 
どたばたかいぎ成果発表
どたばたかいぎ成果発表どたばたかいぎ成果発表
どたばたかいぎ成果発表Eric Sartre
 
ゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですEric Sartre
 
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発Eric Sartre
 

More from Eric Sartre (8)

やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)
 
Emacsいじめの現場
Emacsいじめの現場Emacsいじめの現場
Emacsいじめの現場
 
初めてのCPUを作ってみた
初めてのCPUを作ってみた初めてのCPUを作ってみた
初めてのCPUを作ってみた
 
どたばたかいぎ成果発表
どたばたかいぎ成果発表どたばたかいぎ成果発表
どたばたかいぎ成果発表
 
upcamp発表
upcamp発表upcamp発表
upcamp発表
 
ゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようです
 
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
 

つくっておぼえる!仮想マシン〜直前で実装編〜