Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Plan 9とWebプログラミング

694 views

Published on

Mitka.rb & pgcafe合同忘年会LTの発表資料

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

Plan 9とWebプログラミング

  1. 1. Plan 9 Web oraccha Plan9 http://d.hatena.ne.jp/oraccha/ 2009 12 10 Mitaka.rb
  2. 2. Plan 9 • UNIX OS • Google Go Phil Winterbottom Dave Presotto Dennis Ritchie Rob Pike 1995
  3. 3. Plan 9 • UNIX OS • Google Go Phil Winterbottom Plan 10 Plan 9 Plan 11? Google OS Dave Presotto Dennis Ritchie Rob Pike http://undergoogle.com/tools/GoogleMasterPlanEN.html 1995
  4. 4. Go • Robert Griesemer Ken Thompson Rob Pike Russ Cox • • CSP→NewSqueak→Alef→Limbo
  5. 5. Gopher Glen and Glenda Illustrated by Renée French
  6. 6. Plan 9 • • 9P •
  7. 7. UNIX • 9P • proc • • rfork clone • • UTF-8
  8. 8. Pegasus Web • Plan 9 Web • CGI • • cf. chroot jail
  9. 9. Rit • PHP JSP eRuby ebash • Rc My name is $user. ${ if (~ $REQUEST_METHOD POST) { ifs=’&’ for (kv in `{cat}) { ifs=’=’ kv=`{echo -n $kv} Date: ${date} ‘QS_’^$kv(1)=$kv(2) } }$
  10. 10. #!/bin/rit -s ${ . ./cgilib.rc for urldecode # logfile=test.log if (~ $REQUEST_METHOD POST) { ifs='&' for (kv in `{cat}) { ifs='=' kv=`{echo -n $kv} 'QS_'^$kv(1)=$kv(2) } echo `{date}: $QS_input | urldecode >> $logfile echo >> $logfile } }$ <html><body> <form method="POST" action="/index.cgi"> <input type="text" size="60" name="input" value=""> <input type="submit" value="post"> ${ tail -10 -r $logfile | awk '{ print $0 "</br>" }' }$ <hr><a href="http://plan9.bell-labs.com/plan9/"><img src="image/ power36.gif"></a></body></html>
  11. 11. Reference • Plan 9: http://plan9.bell-labs.com/plan9/ • Pegasus: http://plan9.aichi-u.ac.jp/pegasus/ • Rit: http://plan9.aichi-u.ac.jp/rit/ • Plan 9 : http://d.hatena.ne.jp/oraccha/

×