SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Plan 9
 Web

                        oraccha
  Plan9           http://d.hatena.ne.jp/oraccha/

2009   12   10   Mitaka.rb
Plan 9
• UNIX                                          OS

• Google Go
                    Phil Winterbottom




                    Dave Presotto
       Dennis Ritchie               Rob Pike




                                         1995
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
Go

• Robert Griesemer    Ken Thompson
    Rob Pike   Russ Cox



•

• CSP→NewSqueak→Alef→Limbo
Gopher
Glen and Glenda




           Illustrated by Renée French
Plan 9

•
• 9P
•
UNIX
•   9P

•   proc

•
•   rfork clone

•
•   UTF-8
Pegasus Web
•                         Plan 9
             Web

•
             CGI

    •

    •   cf. chroot jail
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)
                     }
                    }$
#!/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>
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/

Weitere ähnliche Inhalte

Andere mochten auch

PECES
PECESPECES
PECESalba
 
La RSC i les PIMES
La RSC i les PIMESLa RSC i les PIMES
La RSC i les PIMESfcalabria
 
Amcult Presentation
Amcult PresentationAmcult Presentation
Amcult Presentationguest303826
 
maketaren prozesua
maketaren prozesuamaketaren prozesua
maketaren prozesuaamerc
 
умножение 6
умножение 6умножение 6
умножение 6guestddbae10
 
Using Rails to Create an Enterprise App: A Real-Life Case Study
Using Rails to Create an Enterprise App: A Real-Life Case StudyUsing Rails to Create an Enterprise App: A Real-Life Case Study
Using Rails to Create an Enterprise App: A Real-Life Case StudyDavid Keener
 
Optical illusions!
Optical illusions!Optical illusions!
Optical illusions!Alka Rao
 
Hannah! Emily! Jodie!
Hannah! Emily! Jodie!Hannah! Emily! Jodie!
Hannah! Emily! Jodie!guestcea81f
 
Dafo came safa urgel pii
Dafo   came safa urgel piiDafo   came safa urgel pii
Dafo came safa urgel piiFernando Guadix
 
Lezione Informatica Giuridica Avanzata del 18/3/2011
Lezione Informatica Giuridica Avanzata del 18/3/2011Lezione Informatica Giuridica Avanzata del 18/3/2011
Lezione Informatica Giuridica Avanzata del 18/3/2011Council of Europe
 
玩具拆解 刘扬 107081026
玩具拆解 刘扬 107081026玩具拆解 刘扬 107081026
玩具拆解 刘扬 107081026zust
 
Entreco presentation culture of collaboration
Entreco presentation   culture of collaborationEntreco presentation   culture of collaboration
Entreco presentation culture of collaborationDimitris Tsingos
 
PISA-test
PISA-test PISA-test
PISA-test Grete
 
Университеты Англии
Университеты АнглииУниверситеты Англии
Университеты АнглииKlukva
 

Andere mochten auch (19)

PECES
PECESPECES
PECES
 
1999 Complete Single Collection
1999 Complete Single Collection1999 Complete Single Collection
1999 Complete Single Collection
 
La RSC i les PIMES
La RSC i les PIMESLa RSC i les PIMES
La RSC i les PIMES
 
AD Presentation
AD PresentationAD Presentation
AD Presentation
 
Amcult Presentation
Amcult PresentationAmcult Presentation
Amcult Presentation
 
S L Salon P P T
S L Salon P P TS L Salon P P T
S L Salon P P T
 
maketaren prozesua
maketaren prozesuamaketaren prozesua
maketaren prozesua
 
умножение 6
умножение 6умножение 6
умножение 6
 
Using Rails to Create an Enterprise App: A Real-Life Case Study
Using Rails to Create an Enterprise App: A Real-Life Case StudyUsing Rails to Create an Enterprise App: A Real-Life Case Study
Using Rails to Create an Enterprise App: A Real-Life Case Study
 
Optical illusions!
Optical illusions!Optical illusions!
Optical illusions!
 
Hannah! Emily! Jodie!
Hannah! Emily! Jodie!Hannah! Emily! Jodie!
Hannah! Emily! Jodie!
 
6
66
6
 
Dafo came safa urgel pii
Dafo   came safa urgel piiDafo   came safa urgel pii
Dafo came safa urgel pii
 
Lezione Informatica Giuridica Avanzata del 18/3/2011
Lezione Informatica Giuridica Avanzata del 18/3/2011Lezione Informatica Giuridica Avanzata del 18/3/2011
Lezione Informatica Giuridica Avanzata del 18/3/2011
 
玩具拆解 刘扬 107081026
玩具拆解 刘扬 107081026玩具拆解 刘扬 107081026
玩具拆解 刘扬 107081026
 
Entreco presentation culture of collaboration
Entreco presentation   culture of collaborationEntreco presentation   culture of collaboration
Entreco presentation culture of collaboration
 
PISA-test
PISA-test PISA-test
PISA-test
 
Университеты Англии
Университеты АнглииУниверситеты Англии
Университеты Англии
 
P kzach
P kzachP kzach
P kzach
 

Kürzlich hochgeladen

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Kürzlich hochgeladen (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

Plan 9とWebプログラミング

  • 1. Plan 9 Web oraccha Plan9 http://d.hatena.ne.jp/oraccha/ 2009 12 10 Mitaka.rb
  • 2. Plan 9 • UNIX OS • Google Go Phil Winterbottom Dave Presotto Dennis Ritchie Rob Pike 1995
  • 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. Go • Robert Griesemer Ken Thompson Rob Pike Russ Cox • • CSP→NewSqueak→Alef→Limbo
  • 5. Gopher Glen and Glenda Illustrated by Renée French
  • 7. UNIX • 9P • proc • • rfork clone • • UTF-8
  • 8. Pegasus Web • Plan 9 Web • CGI • • cf. chroot jail
  • 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. #!/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. 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/