SlideShare une entreprise Scribd logo
1  sur  11
クラウド言語へようこそ
    2011/09/16 nichicom-LT 
 SOHGA Co. Ltd. Tozo TANAKA 
Opaでこんなん作られてます

 ● リアルタイム共有お絵かき
   http://canvas.opalang.org/
 ● ゲーム(ポーカー)
   https://mlstate.com/pages/products/opa_poker
 ● CMS
   https://github.com/mattgu74/OpaCms
 ● Wiki
   https://github.com/venator/OpaWiki
などなど…
http://opalang.org/see.xmlt
特徴 1/3

http://opalang.org/
 ● Webサーバ、DBMS、CGI、PG言語、セキュリティ強化、負荷分散..
  を一人で全部こなす
  (Apache + MySQL + RoR + GAE + αみたいな感じ)
特徴 2/3

● コマンド一発でスケールアウト
   ○ 単体起動
   ./test.exe
  ○ クラウド起動
   ./opa-cloud test.exe --host localhost --host me@myserver1 ...
特徴 3/3

● ヒアドキュメント的な手軽さでスクリプトとHTMLを同居
● おフランス製。構文もフランス発祥のOCamelに類似
 broadcast(author) =
    do Network.broadcast({~author text=Dom.get_value(#entry)}, room)
    Dom.clear_value(#entry)
 start() =
    author = Random.string(8)
    <div id=#header><div id=#logo></></>
    <div id=#conversation onready={_ -> Network.add_callback(user_update, room)}></>
    <div id=#footer>
       <input id=#entry onnewline={_ -> broadcast(author)} />
       <div class="button" onclick={_ -> broadcast(author)}>Post</>
    </>

 server = Server.one_page_bundle("Chat", [@static_resource_directory("resources")],
        ["resources/css.css"], start)
得意分野

 ● 単機能大量アクセス
   →twitter、チャット、SNSなど
    ○ 分散Webアプリ対応 → Scalable
    ○ 全部入り → Simple, Secure
    ○ コンパイル型 → Speedy
フロントエンドにもバックエンドにも。
歴史

● 2010年 限定公開
● 2011年 オープンソース(Affero GPL)としてリリース
● 開発元:MLstate
   ○ 2007年パリイノベーショングランプリ2007ファイナリスト
   ○ 2008年フランス省庁による研究賞受賞
   ○ 2010年フランスで最も急成長している2000社に選出
● 各種メディア報道
   ○ InfoWorld, infoQ, Lambda The Ultimate,
     SlashDot,  Hacker News, OS News,
     WebAppers, i-Programmer, Morgan Hill
環境

● 公式サポートはMacOSX, Linux(Ubuntu, Debian)
  現在64bit版のみ。32bit版は開発中。Windows版も開発中。
 他のLinuxディストリビューションもライブラリを入れれば概ね動く。
● 対象CPUはAMD64。
  よってx86のWindows+VMwareではインストール失敗。。
Hellow, world! まで 1/2

● さくらのVPSを契約 (無料期間2週間)
 カスタムOSインストールでUbuntu 10.04 amd64を導入
● 関連ライブラリのインストール
 apt-get install libssl-dev zlib1g-dev libjpeg62 libgif4
● Ubuntu binaryのDL
 wget http://download.opalang.org/ubuntu/opa_1.0s3.5%2Bbuild569_amd64.stable.deb

● Opaのインストール
 dpkg -i opa_1.0s3.5+build569_amd64.stable.deb
Hellow, world! まで 2/2

● コーディング
  hello.opa
 server = one_page_server("Hello", -> <>Hello, world!</>)
● コンパイル
  opa hello.opa
● 実行(localhost:8080 で待機)
  ./hello.exe



ちなみに…
26行のソースとCSSだけで、そこそこのチャットサービスが作れます。
最後に

● 使えるか?
  →最適化されたソリューションとしては有用。
   条件のシビアな案件なら選択肢になりうる。
● 流行るか?
  →たぶん主流にはならない。
   今のところ日本語ドキュメント皆無だし。
● 今やるメリットは?
  →日本でエバンジェリストになれるw




さぁ、先駆者になってOpa本の印税GETだ! :)

Contenu connexe

Tendances

Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Tomokazu Kizawa
 
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)shimadah
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンMasashi Shinbara
 
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)shimadah
 
サーマルカメラ OWLIFT GotAPI 連携
サーマルカメラ OWLIFT GotAPI 連携サーマルカメラ OWLIFT GotAPI 連携
サーマルカメラ OWLIFT GotAPI 連携Device WebAPI Consortium
 
how to install Dexcs2016 for OpenFOAM
how to install Dexcs2016 for OpenFOAMhow to install Dexcs2016 for OpenFOAM
how to install Dexcs2016 for OpenFOAMEtsuji Nomura
 
DEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールDEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールstebee19
 
Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたNaruto TAKAHASHI
 
クロスブラウザ拡張ライブラリExtension.js
クロスブラウザ拡張ライブラリExtension.js クロスブラウザ拡張ライブラリExtension.js
クロスブラウザ拡張ライブラリExtension.js swdyh
 
How to install Dexcs2015 for OpenFOAM(R)
How to install Dexcs2015 for OpenFOAM(R)How to install Dexcs2015 for OpenFOAM(R)
How to install Dexcs2015 for OpenFOAM(R)Etsuji Nomura
 
最近のrubyのインストール方法
最近のrubyのインストール方法最近のrubyのインストール方法
最近のrubyのインストール方法Kazuhiro Nishiyama
 
Windows+VirtualBoxで作るTensorFlow環境
Windows+VirtualBoxで作るTensorFlow環境Windows+VirtualBoxで作るTensorFlow環境
Windows+VirtualBoxで作るTensorFlow環境Hiroo Inamura
 
Vagrantで即席クラウドストレージ
Vagrantで即席クラウドストレージVagrantで即席クラウドストレージ
Vagrantで即席クラウドストレージYoshimi Tominaga
 
JS開発環境を晒す。
JS開発環境を晒す。JS開発環境を晒す。
JS開発環境を晒す。Eiji Kuroda
 
プラグインの下位互換性を最大化する
プラグインの下位互換性を最大化するプラグインの下位互換性を最大化する
プラグインの下位互換性を最大化するShinya Kobayashi
 
2012.10.27 のアンカンファレンスのスライド
2012.10.27 のアンカンファレンスのスライド2012.10.27 のアンカンファレンスのスライド
2012.10.27 のアンカンファレンスのスライドYAMANE Toshiaki
 
H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10goforbroke
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntuKenichi Takahashi
 

Tendances (20)

Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Windows Subsystem for Linux 2
Windows Subsystem for Linux 2
 
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
 
AndroidでWebSocket
AndroidでWebSocketAndroidでWebSocket
AndroidでWebSocket
 
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
 
サーマルカメラ OWLIFT GotAPI 連携
サーマルカメラ OWLIFT GotAPI 連携サーマルカメラ OWLIFT GotAPI 連携
サーマルカメラ OWLIFT GotAPI 連携
 
how to install Dexcs2016 for OpenFOAM
how to install Dexcs2016 for OpenFOAMhow to install Dexcs2016 for OpenFOAM
how to install Dexcs2016 for OpenFOAM
 
DEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールDEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストール
 
Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えた
 
クロスブラウザ拡張ライブラリExtension.js
クロスブラウザ拡張ライブラリExtension.js クロスブラウザ拡張ライブラリExtension.js
クロスブラウザ拡張ライブラリExtension.js
 
JavaOne2016報告
JavaOne2016報告JavaOne2016報告
JavaOne2016報告
 
How to install Dexcs2015 for OpenFOAM(R)
How to install Dexcs2015 for OpenFOAM(R)How to install Dexcs2015 for OpenFOAM(R)
How to install Dexcs2015 for OpenFOAM(R)
 
最近のrubyのインストール方法
最近のrubyのインストール方法最近のrubyのインストール方法
最近のrubyのインストール方法
 
Windows+VirtualBoxで作るTensorFlow環境
Windows+VirtualBoxで作るTensorFlow環境Windows+VirtualBoxで作るTensorFlow環境
Windows+VirtualBoxで作るTensorFlow環境
 
Vagrantで即席クラウドストレージ
Vagrantで即席クラウドストレージVagrantで即席クラウドストレージ
Vagrantで即席クラウドストレージ
 
JS開発環境を晒す。
JS開発環境を晒す。JS開発環境を晒す。
JS開発環境を晒す。
 
プラグインの下位互換性を最大化する
プラグインの下位互換性を最大化するプラグインの下位互換性を最大化する
プラグインの下位互換性を最大化する
 
2012.10.27 のアンカンファレンスのスライド
2012.10.27 のアンカンファレンスのスライド2012.10.27 のアンカンファレンスのスライド
2012.10.27 のアンカンファレンスのスライド
 
H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10
 
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
 

En vedette

Creación de CFDs por medio de integración ftp
Creación de CFDs por medio de integración ftpCreación de CFDs por medio de integración ftp
Creación de CFDs por medio de integración ftpcollectivecube
 
Integracion Salesforce
Integracion SalesforceIntegracion Salesforce
Integracion Salesforcecollectivecube
 
Presentacion factura eletronica movil
Presentacion factura eletronica movilPresentacion factura eletronica movil
Presentacion factura eletronica movilcollectivecube
 
Pasos para implementar Factura Electronica
Pasos para implementar Factura ElectronicaPasos para implementar Factura Electronica
Pasos para implementar Factura Electronicacollectivecube
 
Manual Usuario CFD Plus
Manual Usuario CFD PlusManual Usuario CFD Plus
Manual Usuario CFD Pluscollectivecube
 
How Do I Cassandra?
How Do I Cassandra?How Do I Cassandra?
How Do I Cassandra?Rick Branson
 

En vedette (8)

Creación de CFDs por medio de integración ftp
Creación de CFDs por medio de integración ftpCreación de CFDs por medio de integración ftp
Creación de CFDs por medio de integración ftp
 
Integracion Salesforce
Integracion SalesforceIntegracion Salesforce
Integracion Salesforce
 
Presentacion factura eletronica movil
Presentacion factura eletronica movilPresentacion factura eletronica movil
Presentacion factura eletronica movil
 
Pasos para implementar Factura Electronica
Pasos para implementar Factura ElectronicaPasos para implementar Factura Electronica
Pasos para implementar Factura Electronica
 
Manual Usuario CFD Plus
Manual Usuario CFD PlusManual Usuario CFD Plus
Manual Usuario CFD Plus
 
How Do I Cassandra?
How Do I Cassandra?How Do I Cassandra?
How Do I Cassandra?
 
Steps
StepsSteps
Steps
 
Workshop on entrepreneurship
Workshop on entrepreneurshipWorkshop on entrepreneurship
Workshop on entrepreneurship
 

Similaire à Opa - Cloud Language

2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmfAtomu Hidaka
 
はじめてのpostmarketOSインストール Windowsタブレット #kagolug Beginner for install postmar...
はじめてのpostmarketOSインストール Windowsタブレット  #kagolug  Beginner for install postmar...はじめてのpostmarketOSインストール Windowsタブレット  #kagolug  Beginner for install postmar...
はじめてのpostmarketOSインストール Windowsタブレット #kagolug Beginner for install postmar...Netwalker lab kapper
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118Atomu Hidaka
 
Miracle Linux seminer Hatohol and ConoHa
Miracle Linux seminer Hatohol and ConoHaMiracle Linux seminer Hatohol and ConoHa
Miracle Linux seminer Hatohol and ConoHaNaoto Gohko
 
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...Netwalker lab kapper
 
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)Akihiro Suda
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
Firefox mobile for android internals
Firefox mobile for android internalsFirefox mobile for android internals
Firefox mobile for android internalsMakoto Kato
 
地に足がついたクラウドのお話
地に足がついたクラウドのお話地に足がついたクラウドのお話
地に足がついたクラウドのお話Toshiaki Baba
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組みKouji Matsui
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...Naoto Gohko
 
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyotoドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyotoNetwalker lab kapper
 
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...SORACOM,INC
 

Similaire à Opa - Cloud Language (20)

2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
 
Riscv+fpga200606
Riscv+fpga200606Riscv+fpga200606
Riscv+fpga200606
 
はじめてのpostmarketOSインストール Windowsタブレット #kagolug Beginner for install postmar...
はじめてのpostmarketOSインストール Windowsタブレット  #kagolug  Beginner for install postmar...はじめてのpostmarketOSインストール Windowsタブレット  #kagolug  Beginner for install postmar...
はじめてのpostmarketOSインストール Windowsタブレット #kagolug Beginner for install postmar...
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118
 
Miracle Linux seminer Hatohol and ConoHa
Miracle Linux seminer Hatohol and ConoHaMiracle Linux seminer Hatohol and ConoHa
Miracle Linux seminer Hatohol and ConoHa
 
Osoljp studygroup201303
Osoljp studygroup201303Osoljp studygroup201303
Osoljp studygroup201303
 
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
 
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Firefox mobile for android internals
Firefox mobile for android internalsFirefox mobile for android internals
Firefox mobile for android internals
 
地に足がついたクラウドのお話
地に足がついたクラウドのお話地に足がついたクラウドのお話
地に足がついたクラウドのお話
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
 
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyotoドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
 
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
 

Plus de Tozo Tanaka

The parts of salary
The parts of salaryThe parts of salary
The parts of salaryTozo Tanaka
 
The responsibility for a programming bug
The responsibility for a programming bugThe responsibility for a programming bug
The responsibility for a programming bugTozo Tanaka
 
Apache James - local mail server
Apache James - local mail serverApache James - local mail server
Apache James - local mail serverTozo Tanaka
 
The practical use method of a mosaic
The practical use method of a mosaicThe practical use method of a mosaic
The practical use method of a mosaicTozo Tanaka
 
White and black used on work
White and black used on workWhite and black used on work
White and black used on workTozo Tanaka
 
Data sorting by SQL
Data sorting by SQLData sorting by SQL
Data sorting by SQLTozo Tanaka
 

Plus de Tozo Tanaka (6)

The parts of salary
The parts of salaryThe parts of salary
The parts of salary
 
The responsibility for a programming bug
The responsibility for a programming bugThe responsibility for a programming bug
The responsibility for a programming bug
 
Apache James - local mail server
Apache James - local mail serverApache James - local mail server
Apache James - local mail server
 
The practical use method of a mosaic
The practical use method of a mosaicThe practical use method of a mosaic
The practical use method of a mosaic
 
White and black used on work
White and black used on workWhite and black used on work
White and black used on work
 
Data sorting by SQL
Data sorting by SQLData sorting by SQL
Data sorting by SQL
 

Opa - Cloud Language

  • 1. クラウド言語へようこそ  2011/09/16 nichicom-LT   SOHGA Co. Ltd. Tozo TANAKA 
  • 2. Opaでこんなん作られてます ● リアルタイム共有お絵かき http://canvas.opalang.org/ ● ゲーム(ポーカー) https://mlstate.com/pages/products/opa_poker ● CMS https://github.com/mattgu74/OpaCms ● Wiki https://github.com/venator/OpaWiki などなど… http://opalang.org/see.xmlt
  • 3. 特徴 1/3 http://opalang.org/ ● Webサーバ、DBMS、CGI、PG言語、セキュリティ強化、負荷分散.. を一人で全部こなす (Apache + MySQL + RoR + GAE + αみたいな感じ)
  • 4. 特徴 2/3 ● コマンド一発でスケールアウト ○ 単体起動 ./test.exe ○ クラウド起動 ./opa-cloud test.exe --host localhost --host me@myserver1 ...
  • 5. 特徴 3/3 ● ヒアドキュメント的な手軽さでスクリプトとHTMLを同居 ● おフランス製。構文もフランス発祥のOCamelに類似 broadcast(author) =    do Network.broadcast({~author text=Dom.get_value(#entry)}, room)    Dom.clear_value(#entry) start() =    author = Random.string(8)    <div id=#header><div id=#logo></></>    <div id=#conversation onready={_ -> Network.add_callback(user_update, room)}></>    <div id=#footer>       <input id=#entry onnewline={_ -> broadcast(author)} />       <div class="button" onclick={_ -> broadcast(author)}>Post</>    </> server = Server.one_page_bundle("Chat", [@static_resource_directory("resources")],        ["resources/css.css"], start)
  • 6. 得意分野 ● 単機能大量アクセス →twitter、チャット、SNSなど ○ 分散Webアプリ対応 → Scalable ○ 全部入り → Simple, Secure ○ コンパイル型 → Speedy フロントエンドにもバックエンドにも。
  • 7. 歴史 ● 2010年 限定公開 ● 2011年 オープンソース(Affero GPL)としてリリース ● 開発元:MLstate ○ 2007年パリイノベーショングランプリ2007ファイナリスト ○ 2008年フランス省庁による研究賞受賞 ○ 2010年フランスで最も急成長している2000社に選出 ● 各種メディア報道 ○ InfoWorld, infoQ, Lambda The Ultimate, SlashDot,  Hacker News, OS News, WebAppers, i-Programmer, Morgan Hill
  • 8. 環境 ● 公式サポートはMacOSX, Linux(Ubuntu, Debian) 現在64bit版のみ。32bit版は開発中。Windows版も開発中。 他のLinuxディストリビューションもライブラリを入れれば概ね動く。 ● 対象CPUはAMD64。 よってx86のWindows+VMwareではインストール失敗。。
  • 9. Hellow, world! まで 1/2 ● さくらのVPSを契約 (無料期間2週間) カスタムOSインストールでUbuntu 10.04 amd64を導入 ● 関連ライブラリのインストール apt-get install libssl-dev zlib1g-dev libjpeg62 libgif4 ● Ubuntu binaryのDL wget http://download.opalang.org/ubuntu/opa_1.0s3.5%2Bbuild569_amd64.stable.deb ● Opaのインストール dpkg -i opa_1.0s3.5+build569_amd64.stable.deb
  • 10. Hellow, world! まで 2/2 ● コーディング hello.opa server = one_page_server("Hello", -> <>Hello, world!</>) ● コンパイル opa hello.opa ● 実行(localhost:8080 で待機) ./hello.exe ちなみに… 26行のソースとCSSだけで、そこそこのチャットサービスが作れます。
  • 11. 最後に ● 使えるか? →最適化されたソリューションとしては有用。  条件のシビアな案件なら選択肢になりうる。 ● 流行るか? →たぶん主流にはならない。  今のところ日本語ドキュメント皆無だし。 ● 今やるメリットは? →日本でエバンジェリストになれるw さぁ、先駆者になってOpa本の印税GETだ! :)