SlideShare a Scribd company logo
1 of 129
Download to read offline
ActionScript3+Ruby+J2EE+Javascript.....


AIR+BlazeDS+Ruby


Yuichiro MASUI <masui@masuidrive.jp>
自己紹介
masuidrive
   現在フリーランス
  10分Railsムービー
アバウトミー / PingKing
     PukiWiki
   3月に起業で渡米
お題
ビジネスメッセンジャー
専用のクライアント
   ログ機能
  会議室機能
専用のクライアントは
   AIRで作る
Adobe AIR
インターネットの技術を
使ってデスクトップアプリを
     作る環境
ActionScript3+MXML
  HTML+Javascript
Ajaxはほとんどそのまま動く
現在ベータ3
日本語処理に難あり
ブラウザと違いセキュリティ
   上の制限は無い
SQLiteを内蔵しているので
ビジネスアプリにも向いている
メッセージングは
BlazeDSを使おう
Adobeがリリースした
  オープンソースの
メッセージングサーバ
元々はLiveCycle Data
 Serviceとして提供されていた
  機能からリモーティングと
メッセージングを切り出したもの
Tomcat6で動く
リモーティング
Tomcat上のメソッドを
外部のActionScriptから
  簡単に呼び出せる
それってRMI...
それってdRuby...
メッセージング
クライアント間でメッセージ
  のやり取りができる
シリアライズした
ActionScriptのオブジェクト
  をメッセージとして扱う
簡単なものなら
コードを書かないでも動く
でも私、Java分からない...
秘密兵器 JRuby
JavaVM上で動く
    Ruby
多分BlazeDSもJRubyから
   呼び出せるはず
Railsと組み合わせて
     ログを管理
AIR        AIR         ブラウザ



      BlazeDS



      JRuby on Rails
言語           UI
    AIR
  (Flash)   ActionScript3   MXML
    AIR
 (HTML)       Javascript    HTML
BlazeDS          Java        ー
 Rails          Ruby        HTML
言語           UI
    AIR
  (Flash)   ActionScript3   MXML
    AIR
 (HTML)       Javascript    HTML
BlazeDS          Java        ー
 Rails          Ruby        HTML
言語            UI
    AIR
        まて。
  (Flash)
    AIR
            ActionScript3   MXML

 (HTML) Javascript HTML

全部違わないか?
BlazeDS    Java     ー
  Rails         Ruby        HTML
なんかむちゃくちゃな
組み合わせな気がしてきた
まずはAIR間で動く
メッセンジャーを作ろう
AIR    AIR      AIR




      BlazeDS
AIR    AIR      AIR




      BlazeDS
クライアント間の
メッセージ交換は
XMLだけで作れる
まずはBlazeDSで
メッセージングサーバを
    立てる
最新のβ版をダウンロード
    そして展開
Tomcatも付属しているので
      すぐに起動可能
tomcat/webapps/blazedsに
       ひな形がある
$ cp -R tomcat/webapps/blazeds 
  tomcat/webapps/instantmessenger


        ひな形をコピー後
      service-config.xml
    messaging-config.xmlを
          書き換える
messaging-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<service id="message-service" class="flex.messaging.services.MessageSer
vice">
   <adapters>
    <adapter-definition id="actionscript" class="flex.messaging.services.me
ssaging.adapters.ActionScriptAdapter" default="true" />
    <adapter-definition id="jms" class="flex.messaging.services.messaging
.adapters.JMSAdapter"/>
   </adapters>


  <default-channels>
   <channel ref="my-streaming-amf"/>
   <channel ref="my-polling-amf"/>
  </default-channels>


  <destination id="chat"/>
</service>
channelは送信方法
BlazeDSはクライアントとの
やり取りで複数のプロトコル
    をサポートしている
<default-channels>
 <channel ref="my-streaming-amf"/>
 <channel ref="my-polling-amf"/>
</default-channels>
steamingは専用プロトコル
 ステートレスで高速だけど
 proxyなどが超えられない
pollingはcomet方式
 httpをkeep-aliveでTCP
セッションを繋いだまま定期
   的にリクエストを送出
HTTPなのでProxyも超えら
          れる
どちらを使っているか
開発者が意識する必要がない
destinationは部屋名
AIR    AIR      AIR




      BlazeDS
AIR    AIR      AIR




      BlazeDS
AIR      AIR      AIR



steam    steam    polling


          chat
        BlazeDS
$ ./tomcat/bin/startup.sh
これでこのサーバで
 メッセージ交換が
できるようになった
AIRクライアントを作ろう
Flex builder3 betaが
公開されているのこれを使う
 Flex SDKでも作れるけど
   無理はしない方がいい
ファイル→新規→Flex プロジェクト
アプリケーションサーバは「なし」
アプリケーションサーバを
指定するとXMLからサーバの
  設定を引っ張ってくれる
クライアントプログラムで
変更できるようにしたいので
   あえて使わない
mxmlをデザインモードで開いて
UIは適当に出来上がり
AIRとBlazeDSを繋げる
Consumer - 受け手
Producer - 送り手
AIR      AIR      AIR



steam    steam    polling


          chat
        BlazeDS
AIR        AIR        AIR
Producer   Consumer   Consumer




 steam      steam      polling


             chat
           BlazeDS
AIR




 BlazeDS
AIR
           channel
       steam    polling




 BlazeDS
AIR
                      channel
Producer          steam    polling




            BlazeDS
distination: chat
{ message: “hoge” }


                      AIR
                                 channel
    Producer                 steam    polling




                       BlazeDS
distination: chat
{ message: “hoge” }


                      AIR
                                   channel
    Producer                  steam     polling




                       BlazeDS


                            chat
channels
                            steam    polling



private var channels:Array = [];


var streaming_amf:StreamingAMFChannel =
 new StreamingAMFChannel("my-streaming-amf", "http://127.0.0.1:
8400/instantmessenger/messagebroker/streamingamf");
channels.push(streaming_amf);


var polling_amf:AMFChannel =
 new AMFChannel("my-polling-amf", "http://127.0.0.1:8400/instant
messenger/messagebroker/amfpolling");
polling_amf.pollingEnabled = true;
polling_amf.pollingInterval = 3000;
channels.push(polling_amf);
メッセージの接続先
/コンテキスト/messagebroker/チャンネル
Producer
                                      channels
                      (chat)




var prod:Producer = new Producer();


prod.destination = "chat";
prod.channelSet = new ChannelSet();
for(index in channels) {
  prod.channelSet.addChannel(channels[index]);
}
prod.connect();
メッセージを送ってみる
Producer
 { message: “hoge” }
                         (chat)




var message:IMessage = new AsyncMessage();
message.body = new Object();
message.body.message = "hoge";


prod.send(message);
メッセージは
 シリアライズできる任意の
オブジェクトを送ることができる
送信部分は出来上がり
続いて受信部分
AIR




  BlazeDS


chat
AIR
                channel
             steam   polling




  BlazeDS


chat
AIR
                    channel
Consumer         steam   polling




       BlazeDS


    chat
log.value += message

                 ハンドラー登録
                       AIR
                                channel
    Consumer                 steam   polling




              BlazeDS


          chat
log.value += message

                ハンドラー登録
                       AIR
                                channel
    Consumer                 steam   polling




              BlazeDS


{ message: “hoge” }
           chat
log.value += message

                  ハンドラー登録
                         AIR
呼び出し
                                  channel
       Consumer                steam   polling




                BlazeDS


  { message: “hoge” }
             chat
Consumer
 messageHandler                      channels
                    (chat)



var cons:Consumer cons = new Consumer();
cons.destination = "chat";


cons.channelSet = new ChannelSet();
for(var index:String in channels) {
  cons.channelSet.addChannel(channels[index]);
}
cons.addEventListener(MessageEvent.MESSAGE,
messageHandler);
messageHandler




function messageHandler(e:MessageEvent):void
{
  log.text += e.message.body.message + "n";
}
動かしてみよう
クリック
クリック
直接ではなく
BlazeDSを通して通信
Rubyからもメッセージを
    送ってみよう
サーバでProducerを
  動かせばOK
でもJavaじゃなくてRubyで
JRuby
TomcatにJRubyを
 インストールする
Tomcat6へJRubyを
導入する方法は下記を参考に
         しました
http://www.okisoft.co.jp/
    esc/ruby/jservlet
Servlets in JRuby on Tomcat
RubyでServletが書けます
もちろん普通にBlazeDSも
   呼び出せます
Rubyからメッセージを投稿
      Send.rb
必要なクラスを読み込み
include_class "flex.messaging.MessageBroker"
include_class "flex.messaging.util.UUIDUtils"
include_class "flex.messaging.messages.AsyncMessage"
なにもしないSendクラス
include_class "flex.messaging.MessageBroker"
include_class "flex.messaging.util.UUIDUtils"
include_class "flex.messaging.messages.AsyncMessage"


class Send < HttpServlet
 def doPost(req, res)
   res.content_type = 'text/html; charset="UTF-8"'
   // ∼ ここに処理を追加 ∼
   wf = res.writer
   wf.println 'OK'
 end
end
メッセージ送信部分

broker = MessageBroker.getMessageBroker(nil)


msg = AsyncMessage.new
msg.setDestination "chat"
msg.setClientId UUIDUtils.createUUID
msg.setMessageId UUIDUtils.createUUID
msg.setTimestamp Time.now.to_f*1000


message_body = req.get_parameter("message") ¦¦ ""
msg.setBody({'message' => message_body})
broker.routeMessageToService(msg, nil)
メッセージ送信できあがり
Rubyからでも簡単に
 BlazeDSが扱える
クライアントがActionScript3
   サーバがJ2EEだと
  言語の違いが大きすぎる
AS3と組み合わせるなら
 Rubyの方が合ってる
さて次は
ログを取る機能を実装
続きはWebで
「Adobe Developers
Connection」に掲載予定
BlazeDSの正式版が
出てからだから3月になるかも
今回の資料とソースは
blog.masuidrive.jpで
感想
既にLCDSとして枯れた
  コードをベースにして
メッセージングができるのは
    大変うれしい
JRubyとの合わせも
     簡単
でもそもそも
JRubyが....
AIRにはグラフ系コンポーネ
  ントも揃っているので
ログやノーティファイアを
  作るのが面白そう
Ajaxもサポートしているので
 Webでリアルタイムインタ
  フェースを作るときには
      検討価値大

More Related Content

Similar to AIR+Blaze+Ruby

『RIA開発におけるサービス開発のイロハ』
 『RIA開発におけるサービス開発のイロハ』 『RIA開発におけるサービス開発のイロハ』
『RIA開発におけるサービス開発のイロハ』Jun Funakura
 
RIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハRIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハJun Funakura
 
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-SORACOM, INC
 
AWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoTAWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoTAmazon Web Services Japan
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンEiji KOMINAMI
 
Apache Camel Netty component
Apache Camel Netty componentApache Camel Netty component
Apache Camel Netty componentssogabe
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-publicAmazon Web Services Japan
 
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方Yoichi Toyota
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践Yoshifumi Kawai
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るKiyoshi SATOH
 
サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)ひとし あまの
 
Azure Media Services 大全
Azure Media Services 大全Azure Media Services 大全
Azure Media Services 大全Daiyu Hatakeyama
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略takezoe
 
[de:code 2018] ビデオ体験を進化させよう!Media Services で安定した配信のコツと Video AI のポイント
[de:code 2018] ビデオ体験を進化させよう!Media Services で安定した配信のコツと Video AI のポイント[de:code 2018] ビデオ体験を進化させよう!Media Services で安定した配信のコツと Video AI のポイント
[de:code 2018] ビデオ体験を進化させよう!Media Services で安定した配信のコツと Video AI のポイントMourad EL AZHARI
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)Shinichiro Isago
 
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェストJAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェストYukitaka Ohmura
 
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows PowershellAWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows PowershellAmazon Web Services Japan
 

Similar to AIR+Blaze+Ruby (20)

Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
Android T2 on cloud
Android T2 on cloudAndroid T2 on cloud
Android T2 on cloud
 
『RIA開発におけるサービス開発のイロハ』
 『RIA開発におけるサービス開発のイロハ』 『RIA開発におけるサービス開発のイロハ』
『RIA開発におけるサービス開発のイロハ』
 
RIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハRIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハ
 
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
 
AWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoTAWS Black Belt Tech シリーズ 2015 - AWS IoT
AWS Black Belt Tech シリーズ 2015 - AWS IoT
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
 
Apache Camel Netty component
Apache Camel Netty componentApache Camel Netty component
Apache Camel Netty component
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
 
サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方サーバーレスアプリケーションの作り方
サーバーレスアプリケーションの作り方
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 
サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)サーバーを作ろう (毎週のハンズオン勉強会の資料)
サーバーを作ろう (毎週のハンズオン勉強会の資料)
 
Azure Media Services 大全
Azure Media Services 大全Azure Media Services 大全
Azure Media Services 大全
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
 
20120423 hbase勉強会
20120423 hbase勉強会20120423 hbase勉強会
20120423 hbase勉強会
 
[de:code 2018] ビデオ体験を進化させよう!Media Services で安定した配信のコツと Video AI のポイント
[de:code 2018] ビデオ体験を進化させよう!Media Services で安定した配信のコツと Video AI のポイント[de:code 2018] ビデオ体験を進化させよう!Media Services で安定した配信のコツと Video AI のポイント
[de:code 2018] ビデオ体験を進化させよう!Media Services で安定した配信のコツと Video AI のポイント
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェストJAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
 
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows PowershellAWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

AIR+Blaze+Ruby