Slide 1

Slide 1 text

mrubyͷ૊ΈࠐΈ͔ͨ ࠤݪ۩޾ UTBIBSB!JJKBEKQ גࣜձࣾΠϯλʔωοτΠχγΞςΟϒ $PQZSJHIU $ *OUFSOFU*OJUJBUJWF+BQBO*OD"MMSJHIUTSFTFSWFE

Slide 2

Slide 2 text

͸͡Ίʹ ࠒͷ࿩Ͱ͢

Slide 3

Slide 3 text

NSVCZͱ͸ mruby is the lightweight implementation of the Ruby language... https://github.com/mruby/mruby google://mruby/

Slide 4

Slide 4 text

CPU: ARM 32bit Memory: 128MB FlashROM: 32MB OS: NetBSD 4"8 XXXTBDNKQTBX NSVCZΛ࢖ͬͨϧʔλ

Slide 5

Slide 5 text

ͳͥNSVCZΛ࢖ͬͨͷ͔ interface.ge1.ipv4.address : 192.168.0.1/24 interface.wlan0.service : enable interface.wlan0.ssid : guest interface.wlan0.security : wpa-psk-aes route.ipv4.0.destination : default route.ipv4.0.gateway : 100.100.0.1 dhcp.server.0.interface : wlan0 dhcp.server.0.pool.address : 192.168.0.4/24 dhcp.server.0.pool.count : 100 ίϯϑΟά ύʔζݕূධՁ൓ө mruby!

Slide 6

Slide 6 text

NSVCZΛಈ͔͢ CPU ARM 32bit ˡͦͦ͜͜;ͭ͏ Memory 128MB ˡ·͊·͊͋Δ FlashROM 32MB ˡ΍΍ݫ͠Ί OS NetBSD ˡ͍͓ͪ͏6OJY 㲈;ͭ͏ͷ1$ ͨͩ͠ශऑ 㲈;ͭ͏ͷ1$ ͨͩ͠ශऑ 㱤ಈ͔͚ͩ͢ͳΒ೉͘͠ͳ͍

Slide 7

Slide 7 text

΍ͬͨ͜ͱ • ػೳ֦ு • ෆ۩߹मਖ਼ • ҆ఆ൛ϦϦʔεͷ࡞੒ • ϑΝʔϜ΢ΣΞ΁ͷ૊ΈೖΕ

Slide 8

Slide 8 text

Of cource it runs NetBSD

Slide 9

Slide 9 text

ιϑτ΢ΣΞͷ૊ΈࠐΈ NetBSD ϑΝʔϜ΢ΣΞ OpenSSL KAME NTPD Quagga ಠࣗιϑτ΢ΣΞ mruby

Slide 10

Slide 10 text

ιʔείʔυͷऔಘ % wget http://www.openssl.org/ source/openssl-1.0.1e.tar.gz

Slide 11

Slide 11 text

NSVCZͷ҆ఆ൛ % wget http://www.mruby.org/ source/mruby-1.0.0.tar.gz ͸͋Γ·ͤΜɻ

Slide 12

Slide 12 text

΍ͬͨ͜ͱ • ػೳ֦ு • ෆ۩߹मਖ਼ • ҆ఆ൛ϦϦʔεͷ࡞੒ ←New! • ϑΝʔϜ΢ΣΞ΁ͷ૊ΈೖΕ

Slide 13

Slide 13 text

NSVCZPOHJUIVC

Slide 14

Slide 14 text

JJKNSVCZ

Slide 15

Slide 15 text

ϒϥϯνຊ Ћ ϒϥϯν ༻్ NBTUFS NSVCZNSVCZ JJK ։ൃ൛ T ҆ఆ൛ ͦͷଞ QVMMSFRVFTU༻ͳͲɺ࢖͍ࣺͯ

Slide 16

Slide 16 text

NSVCZNSVCZ JJKNSVCZ NBTUFS NBTUFS JJK T EBJMZ ࣗಈ EBJMZ ࣗಈ·ͨ͸खಈ ෆఆظ ϨϏϡʔ෇͖खಈ

Slide 17

Slide 17 text

΍ͬͨ͜ͱ • ػೳ֦ு • ෆ۩߹मਖ਼ • ҆ఆ൛ϦϦʔεͷ࡞੒ • ϑΝʔϜ΢ΣΞ΁ͷ૊ΈೖΕ

Slide 18

Slide 18 text

Πϯϙʔτखॱ work=$HOME/mruby-import % cd $work % git checkout -b s1

Slide 19

Slide 19 text

Πϯϙʔτखॱ % make % make test % ./test/posix/all.sh

Slide 20

Slide 20 text

Πϯϙʔτखॱ usr=$NetBSD/usr.bin/mruby % cp src/y.tab.c mrblib/mrblib.c $usr % vi $usr/Makefile

Slide 21

Slide 21 text

Πϯϙʔτखॱ dist=$NetBSD/dist/mruby % make clean % rm -r $dist/* % cp -r * $dist

Slide 22

Slide 22 text

Πϯϙʔτखॱ % cd $dist; svn add ... % svn ci $dist $usr

Slide 23

Slide 23 text

΍ͬͨ͜ͱ • ػೳ֦ு • ෆ۩߹मਖ਼ • ҆ఆ൛ϦϦʔεͷ࡞੒ • ϑΝʔϜ΢ΣΞ΁ͷ૊ΈೖΕ

Slide 24

Slide 24 text

Bug, Bug, Bug!

Slide 25

Slide 25 text

΍ͬͨ͜ͱ • ػೳ֦ு • ෆ۩߹मਖ਼ ←New! • ҆ఆ൛ϦϦʔεͷ࡞੒ • ϑΝʔϜ΢ΣΞ΁ͷ૊ΈೖΕ

Slide 26

Slide 26 text

҆ఆԽ w σόοά؀ڥͷ੔උ w όοΫτϨʔε w lSFRVJSFzʹΑΔϞδϡʔϧ෼ׂ w ٯΞηϯϒϥ BQQNSCEVNQ w ςετϑϨʔϜϫʔΫ NSVCZNUFTU w σόοΨ NSVCZNEFCVH

Slide 27

Slide 27 text

΍ͬͨ͜ͱ • ػೳ֦ு • ෆ۩߹मਖ਼ • ҆ఆ൛ϦϦʔεͷ࡞੒ • ϑΝʔϜ΢ΣΞ΁ͷ૊ΈೖΕ

Slide 28

Slide 28 text

ʮ͑ 3VCZͳͷʹ ͕ແ͍ͷ ʯ

Slide 29

Slide 29 text

΍ͬͨ͜ͱ • ػೳڧԽ ←New! • ෆ۩߹मਖ਼ • ҆ఆ൛ϦϦʔεͷ࡞੒ • ϑΝʔϜ΢ΣΞ΁ͷ૊ΈೖΕ

Slide 30

Slide 30 text

֦ு w6OJYґଘͷػೳͷ௥Ճ w*0 'JMF 4PDLFU 3FHFYQ &SSOP  wطଘϞδϡʔϧͷڧԽ w"SSBZ 4USJOH 

Slide 31

Slide 31 text

JJKNSVCZ mruby-io mruby-socket mruby-regexp-pcre mruby-errno mruby-simple-random mruby-env mruby-require mruby-pack mruby-mock mruby-syslog mruby-mtest mruby-tempfile mruby-process mruby-pcap mruby-dir (more...)

Slide 32

Slide 32 text

׬੒ʂ • ػೳڧԽ • ෆ۩߹मਖ਼ • ҆ఆ൛ϦϦʔεͷ࡞੒ • ϑΝʔϜ΢ΣΞ΁ͷ૊ΈೖΕ

Slide 33

Slide 33 text

ࠓޙ w ૊ΈࠐΜͩNSVCZͷ׆༻ w ࣍ͷ҆ఆ൛Tͷ࡞੒