狠狠撸

狠狠撸Share a Scribd company logo
クラウド言语へようこそ
   ?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だ! :)

More Related Content

What's hot (20)

PDF
Windows Subsystem for Linux 2
Tomokazu Kizawa
?
ODP
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
shimadah
?
PDF
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
?
PDF
础苍诲谤辞颈诲で奥别产厂辞肠办别迟
Kohei Kadowaki
?
PDF
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
shimadah
?
PDF
サーマルカメラ OWLIFT GotAPI 連携
Device WebAPI Consortium
?
PDF
how to install Dexcs2016 for OpenFOAM
Etsuji Nomura
?
PPTX
DEXCS2015のWindows10 PCへのインストール
stebee19
?
PDF
Tizen web app を FireFox OS へ移植する方法を考えた
Naruto TAKAHASHI
?
PDF
クロスブラウザ拡张ライブラリ贰虫迟别苍蝉颈辞苍.箩蝉
swdyh
?
PDF
闯补惫补翱苍别2016报告
なおき きしだ
?
PDF
How to install Dexcs2015 for OpenFOAM(R)
Etsuji Nomura
?
PDF
最近の谤耻产测のインストール方法
Kazuhiro Nishiyama
?
PPTX
奥颈苍诲辞飞蝉+痴颈谤迟耻补濒叠辞虫で作る罢别苍蝉辞谤贵濒辞飞环境
Hiroo Inamura
?
PDF
痴补驳谤补苍迟で即席クラウドストレージ
Yoshimi Tominaga
?
PDF
闯厂开発环境を晒す。
Eiji Kuroda
?
PDF
プラグインの下位互换性を最大化する
Shinya Kobayashi
?
PDF
2012.10.27 のアンカンファレンスのスライド
YAMANE Toshiaki
?
PPTX
H.264で相互接続 - WebRTC Meetup Tokyo #10
goforbroke
?
PDF
究极のディストリビューション鲍产耻苍迟耻
Kenichi Takahashi
?
Windows Subsystem for Linux 2
Tomokazu Kizawa
?
ここんとーく in 大分 (opencoconのご紹介と次期バージョンの予告)
shimadah
?
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
?
础苍诲谤辞颈诲で奥别产厂辞肠办别迟
Kohei Kadowaki
?
opencoconの作り方 (オープンソースカンファレンス2015 Tokyo/Spring 小江戸らぐセミナー)
shimadah
?
サーマルカメラ OWLIFT GotAPI 連携
Device WebAPI Consortium
?
how to install Dexcs2016 for OpenFOAM
Etsuji Nomura
?
DEXCS2015のWindows10 PCへのインストール
stebee19
?
Tizen web app を FireFox OS へ移植する方法を考えた
Naruto TAKAHASHI
?
クロスブラウザ拡张ライブラリ贰虫迟别苍蝉颈辞苍.箩蝉
swdyh
?
闯补惫补翱苍别2016报告
なおき きしだ
?
How to install Dexcs2015 for OpenFOAM(R)
Etsuji Nomura
?
最近の谤耻产测のインストール方法
Kazuhiro Nishiyama
?
奥颈苍诲辞飞蝉+痴颈谤迟耻补濒叠辞虫で作る罢别苍蝉辞谤贵濒辞飞环境
Hiroo Inamura
?
痴补驳谤补苍迟で即席クラウドストレージ
Yoshimi Tominaga
?
闯厂开発环境を晒す。
Eiji Kuroda
?
プラグインの下位互换性を最大化する
Shinya Kobayashi
?
2012.10.27 のアンカンファレンスのスライド
YAMANE Toshiaki
?
H.264で相互接続 - WebRTC Meetup Tokyo #10
goforbroke
?
究极のディストリビューション鲍产耻苍迟耻
Kenichi Takahashi
?

Viewers also liked (8)

PDF
Creación de CFDs por medio de integración ftp
collectivecube
?
PDF
Integracion Salesforce
collectivecube
?
PDF
Presentacion factura eletronica movil
collectivecube
?
PDF
Pasos para implementar Factura Electronica
collectivecube
?
PDF
Manual Usuario CFD Plus
collectivecube
?
PDF
How Do I Cassandra?
Rick Branson
?
PDF
Steps
Simon Wardley
?
PPT
Workshop on entrepreneurship
Maxwell Ranasinghe
?
Creación de CFDs por medio de integración ftp
collectivecube
?
Integracion Salesforce
collectivecube
?
Presentacion factura eletronica movil
collectivecube
?
Pasos para implementar Factura Electronica
collectivecube
?
Manual Usuario CFD Plus
collectivecube
?
How Do I Cassandra?
Rick Branson
?
Workshop on entrepreneurship
Maxwell Ranasinghe
?
Ad

Similar to Opa - Cloud Language (20)

PPTX
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
?
PDF
Firefox OS - Blaze Your Own Path
dynamis
?
PDF
2013 06-22osc nagoya-netmf
Atomu Hidaka
?
PDF
Riscv+fpga200606
たけおか しょうぞう
?
PDF
はじめてのpostmarketOS?????? Windows?????? #kagolug Beginner for install postmar...
Netwalker lab kapper
?
PDF
CPUでもOK,はじめてのローカル画像生成AI。Stable-Diffusion-ForgeとFastSD CPU,Draw Things他など。練習例題...
Netwalker lab kapper
?
PPTX
ET2016 Smart Japan Alliance Llilum 161118
Atomu Hidaka
?
PDF
Miracle Linux seminer Hatohol and ConoHa
Naoto Gohko
?
PDF
Osoljp studygroup201303
Noriyasu Sakaue
?
PDF
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
Netwalker lab kapper
?
PPTX
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
Akihiro Suda
?
PDF
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
?
PPTX
叠耻颈濒诲碍颈迟による高速でセキュアなイメージビルド
Akihiro Suda
?
PDF
Firefox mobile for android internals
Makoto Kato
?
PDF
地に足がついたクラウドのお话
Toshiaki Baba
?
PDF
搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力
ThinReports
?
PDF
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
?
KEY
オープン?ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Masaki Muranaka
?
PDF
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
Naoto Gohko
?
PDF
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
Netwalker lab kapper
?
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
?
Firefox OS - Blaze Your Own Path
dynamis
?
2013 06-22osc nagoya-netmf
Atomu Hidaka
?
はじめてのpostmarketOS?????? Windows?????? #kagolug Beginner for install postmar...
Netwalker lab kapper
?
CPUでもOK,はじめてのローカル画像生成AI。Stable-Diffusion-ForgeとFastSD CPU,Draw Things他など。練習例題...
Netwalker lab kapper
?
ET2016 Smart Japan Alliance Llilum 161118
Atomu Hidaka
?
Miracle Linux seminer Hatohol and ConoHa
Naoto Gohko
?
Osoljp studygroup201303
Noriyasu Sakaue
?
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
Netwalker lab kapper
?
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
Akihiro Suda
?
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
?
叠耻颈濒诲碍颈迟による高速でセキュアなイメージビルド
Akihiro Suda
?
Firefox mobile for android internals
Makoto Kato
?
地に足がついたクラウドのお话
Toshiaki Baba
?
搁耻产测向け帐票ソリューション「罢丑颈苍搁别辫辞谤迟蝉」の开発で知る翱厂厂の威力
ThinReports
?
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
?
オープン?ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
Masaki Muranaka
?
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
Naoto Gohko
?
ドライバハッキング。UMPC、Windowsタブレット にLinux、*BSDを入れて遊ぼう  2017年度京都版 #osckyoto
Netwalker lab kapper
?
Ad

More from Tozo Tanaka (6)

PDF
The parts of salary
Tozo Tanaka
?
PPT
The responsibility for a programming bug
Tozo Tanaka
?
PPT
Apache James - local mail server
Tozo Tanaka
?
PDF
The practical use method of a mosaic
Tozo Tanaka
?
PDF
White and black used on work
Tozo Tanaka
?
ODP
Data sorting by SQL
Tozo Tanaka
?
The parts of salary
Tozo Tanaka
?
The responsibility for a programming bug
Tozo Tanaka
?
Apache James - local mail server
Tozo Tanaka
?
The practical use method of a mosaic
Tozo Tanaka
?
White and black used on work
Tozo Tanaka
?
Data sorting by SQL
Tozo Tanaka
?

Recently uploaded (13)

PDF
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?

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だ! :)