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


AIR+BlazeDS+Ruby


Yuichiro MASUI <masui@masuidrive.jp>
自己紹介
AIR+Blaze+Ruby
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で
メッセージングサーバを
    立てる
AIR+Blaze+Ruby
最新のβ版をダウンロード
    そして展開
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+Blaze+Ruby
これでこのサーバで
 メッセージ交換が
できるようになった
AIRクライアントを作ろう
Flex builder3 betaが
公開されているのこれを使う
 Flex SDKでも作れるけど
   無理はしない方がいい
ファイル→新規→Flex プロジェクト
アプリケーションサーバは「なし」
アプリケーションサーバを
指定するとXMLからサーバの
  設定を引っ張ってくれる
クライアントプログラムで
変更できるようにしたいので
   あえて使わない
mxmlをデザインモードで開いて
AIR+Blaze+Ruby
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";
}
動かしてみよう
AIR+Blaze+Ruby
AIR+Blaze+Ruby
AIR+Blaze+Ruby
クリック
クリック
直接ではなく
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)
AIR+Blaze+Ruby
AIR+Blaze+Ruby
メッセージ送信できあがり
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

20200528_AWSでサーバーレスなLINEBotLIFFアプリ環境をIaCな感じで構築するよ!.pdf
20200528_AWSでサーバーレスなLINEBotLIFFアプリ環境をIaCな感じで構築するよ!.pdf20200528_AWSでサーバーレスなLINEBotLIFFアプリ環境をIaCな感じで構築するよ!.pdf
20200528_AWSでサーバーレスなLINEBotLIFFアプリ環境をIaCな感じで構築するよ!.pdfSumihiro Kagawa
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Yasuhiro Horiuchi
 
『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
 

Similar to AIR+Blaze+Ruby (20)

20200528_AWSでサーバーレスなLINEBotLIFFアプリ環境をIaCな感じで構築するよ!.pdf
20200528_AWSでサーバーレスなLINEBotLIFFアプリ環境をIaCな感じで構築するよ!.pdf20200528_AWSでサーバーレスなLINEBotLIFFアプリ環境をIaCな感じで構築するよ!.pdf
20200528_AWSでサーバーレスなLINEBotLIFFアプリ環境をIaCな感じで構築するよ!.pdf
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
 
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版)
 

More from Yuichiro MASUI

マッシュアップ沖縄版 おまけ:OpenSocail
マッシュアップ沖縄版 おまけ:OpenSocailマッシュアップ沖縄版 おまけ:OpenSocail
マッシュアップ沖縄版 おまけ:OpenSocailYuichiro MASUI
 
OSC2007-niigata - mashup
OSC2007-niigata - mashupOSC2007-niigata - mashup
OSC2007-niigata - mashupYuichiro MASUI
 
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”Yuichiro MASUI
 
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”Yuichiro MASUI
 
Railsチュートリアル
RailsチュートリアルRailsチュートリアル
RailsチュートリアルYuichiro MASUI
 
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)Yuichiro MASUI
 
Masuidrive Working Style
Masuidrive Working StyleMasuidrive Working Style
Masuidrive Working StyleYuichiro MASUI
 
How to build 1 hour mashup site
How to build 1 hour mashup site How to build 1 hour mashup site
How to build 1 hour mashup site Yuichiro MASUI
 

More from Yuichiro MASUI (13)

マッシュアップ沖縄版 おまけ:OpenSocail
マッシュアップ沖縄版 おまけ:OpenSocailマッシュアップ沖縄版 おまけ:OpenSocail
マッシュアップ沖縄版 おまけ:OpenSocail
 
OSC2007-niigata - mashup
OSC2007-niigata - mashupOSC2007-niigata - mashup
OSC2007-niigata - mashup
 
Rails 1H
Rails 1HRails 1H
Rails 1H
 
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Rails - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
 
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
2007/09/29 PHP to Ruby - Webキャリアさん主催 ”PHPプログラマの為のRuby on Rails入門”
 
Railsチュートリアル
RailsチュートリアルRailsチュートリアル
Railsチュートリアル
 
InstantRails how to
InstantRails how toInstantRails how to
InstantRails how to
 
PukiWiki
PukiWikiPukiWiki
PukiWiki
 
1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)1時間で作るマッシュアップサービス(関西版)
1時間で作るマッシュアップサービス(関西版)
 
Masuidrive Working Style
Masuidrive Working StyleMasuidrive Working Style
Masuidrive Working Style
 
Ruby de Rails
Ruby de RailsRuby de Rails
Ruby de Rails
 
How to build 1 hour mashup site
How to build 1 hour mashup site How to build 1 hour mashup site
How to build 1 hour mashup site
 
Furo Grammer
Furo GrammerFuro Grammer
Furo Grammer
 

Recently uploaded

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 

Recently uploaded (12)

What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 

AIR+Blaze+Ruby