SlideShare ist ein Scribd-Unternehmen logo
1 von 31
第 35 回 PHP 勉強会 @ トライコーン 亀本 大地 (a.k.a: yudoufu) 2008/08/31 モバイル開発@ symfony
自己紹介 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
今日話すこと ,[object Object],[object Object],[object Object],[object Object],[object Object]
モバイルサイト開発 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HTML/CSS の仕様 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HTML/CSS のハマりどころ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
文字コードの押さえ所 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
symfony でモバイル開発 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
symfony のフィルタ
モバイルフィルタの作成 ,[object Object],[object Object],rendering: ~  web_debug: ~  security: ~  # generally, you will want to insert your own filters here  mobile:  class: myMobileFilter  cache: ~  common: ~  flash: ~  execution: ~
モバイルフィルタの作成 ,[object Object],[object Object],<?php class myMobileFilter extends  sfFilter { public function execute($filterChain) { // execute() の前に書くと preFilter $filterChain->execute(); // execute() の後に書くと postFilter } }
キャリア判別 ,[object Object],[object Object],[object Object],[object Object],autoload: PEAR: name: PEAR files: Net_UserAgent_Mobile:  /path/to/Net/UserAgent/Mobile.php
キャリア判別 ,[object Object],[object Object],public function execute($filterChain) { $request = $this->getContext()->getRequest(); $response = $this->getContext()->getResponse(); if ($this->isFirstCall()) { $agent =  @Net_UserAgent_Mobile::singleton(); switch (true) { case $agent->isDoCoMo(): $carrier = 'docomo'; $response->setContentType('application/xhtml+xml; charset=Shift_JIS'); break; case $agent->isEzweb(): //  中略 } $request->setAttribute('agent', $agent); $request->setAttribute('carrier', $carrier); } $filterChain->execute(); preFilter 部に設定 出力ヘッダを指定
絵文字の変換 ,[object Object],[object Object],[object Object],$ symfony plugin-install http://blog.asial.co.jp/data/sfPictogramMobilePlugin-0.0.4.tgz ・ ・  $request->setAttribute('agent', $agent); $request->setAttribute('carrier', $carrier); $pictogram = sfPictogramMobile::factory($carrier, 'utf-8'); $request->setAttribute('pictogram', $pictogram); } $filterChain->execute(); $content = $response->getContent(); $content = $request->getAttribute('pictogram')->replace($content); $response->setContent($content); } } postFilter 文書全体を取得
文字コードの変換 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
文字コードの変換 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],$parameter = $request->getParameterHolder()->getAll(); $pict_output  = sfPictogramMobile::factory($carrier, $pict_encode); $value =  $pict_output->convert ($value); mb_convert_variables($internal_encoding, $view_encoding, $value); $value =  $pictogram->restore ($value);
CSS の切り替え ,[object Object],[object Object],[object Object],if ($this->isFirstCall()) { $request = $this->getContext()->getRequest(); $agent = @Net_UserAgent_Mobile::singleton(); switch (true) { case $agent->isDoCoMo(): $carrier = 'docomo'; $response->setContentType('application/xhtml+xml; charset=Shift_JIS'); $responce->addStylesheet('/path/to/docomo.css');  break; case $agent->isEzweb(): $carrier = 'ezweb'; $responce->addStylesheet('/path/to/ezweb.css');  //  略 ・ ・ キャリア別の CSS を指定
CSS の切り替え ,[object Object],[object Object],[object Object],[object Object],[object Object],$ pear install HTML_CSS $ svn co  http ://svn.coderepos.org/share/lang/php/HTML_CSS_Mobile/trunk /  /path/to/lib $filterChain->execute(); $content = $response->getContent(); $content = $request->getAttribute('pictogram')->replace($content); if ($request->getAttribute('carrier') == 'docomo') { $content = HTML_CSS_Mobile::getInstance()->setBaseDir('/path/to/doc_root')->apply($content); } $response->setContent($content); 出力直前に CSS を インライン展開
テンプレートとヘルパー ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
symfony のテンプレート機能
テンプレートの対応 ,[object Object],[object Object],[object Object],[object Object],<? include_partial('global/dtd'); ?> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;ja&quot; lang=&quot;ja&quot;> <head> <?php switch (sfContext::getInstance()->getRequest()->getAttribute('carrier')): ?> <?php case 'docomo': ?> <?php echo '<'; ?>?xml version=&quot;1.0&quot; encoding=&quot;Shift_JIS&quot; ?> <!DOCTYPE html PUBLIC &quot;-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.1) 1.0//EN&quot; &quot;i-xhtml_4ja_10.dtd&quot;> <?php break; ?> <?php case 'ezweb': ?> <?php echo '<'; ?>?xml version=&quot;1.0&quot; encoding=&quot;Shift_JIS&quot; ?> <!DOCTYPE html PUBLIC &quot;-//OPENWAVE//DTD XHTML 1.0//EN&quot; &quot;http://www.openwave.com/DTD/xhtml-basic.dtd&quot;> //  以下略。。。
テンプレートの対応 ,[object Object],[object Object],[object Object],[object Object]
モバイルヘルパーの実装 ,[object Object],[object Object],[object Object],function m_mail_to($email, $name = ‘’, $options = array(), $default_value = array()) { $carrier = sfContext::getInstance()->getRequest()->getAttribute('carrier'); if ($carrier == 'docomo' || $carrier == 'ezweb') { foreach ($default_value as $key => $val) { $default_value[$key] = mb_convert_encoding($val, 'SJIS-win', 'UTF-8'); } } return mail_to($email, $name, $options, $default_value); } 内部文字コードが UTF-8 なので、 docomo と au を SJIS にしている
モバイルヘルパーの実装 ,[object Object],function m_input_tag($name, $value = null, $options = array()) { $carrier = sfContext::getInstance()->getRequest()->getAttribute('carrier'); if (isset($options['input_style']) && $input_style = strtolower($options[&quot;input_style&quot;])) { unset($options[&quot;input_style&quot;]); switch (strtolower($input_style)) { case &quot;kana&quot;: $options[&quot;mode&quot;] = &quot;hiragana&quot;; if ($carrier != 'docomo') { $options[&quot;istyle&quot;] = &quot;1&quot;; $options[&quot;format&quot;] = &quot;*M&quot;; } else { $options[&quot;style&quot;] .= &quot;;-wap-input-format:&quot;*&lt;ja:h&gt;&quot;;-wap-input-format:*M;&quot;; } break; //  中略 }  return input_tag($name, $value, $options); } 付与する属性を変え、入力モードを適切に切り替えている
セッションのモバイル対応 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
セッションのモバイル対応 ,[object Object],[object Object],[object Object],class myMobileSessionStorage extends  sfSessionStorage { public function initialize($context, $parameters = null) { $agent = @Net_UserAgent_Mobile::singleton(); if ($agent->isDoCoMo() || $agent->isSoftBank()) {  ini_set('session.use_only_cookies', 0);  ini_set('session.use_cookies', 0);  ini_set('session.use_trans_sid', 1);  }  parent::initialize($context, $parameters); } }
セッションのモバイル対応 ,[object Object],[object Object],class myMobileFrontController extends  sfFrontWebController { public function redirect($url, $delay = 0 ,$statusCode = 302) { $request = $this->getContext()->getRequest(); if ($agent = $this->getContext()->getRequest()->getAttribute('agent')) {  if ($agent->isDoCoMo() || $agent->isSoftBank()) {  $url = $this->implementParameter($url, SID); }  }  parent::redirect($url, $delay, $statusCode); } private function implementParameter($url, $implement) { //  略 } } SID(session_id) を含めてリダイレクト URL を再構成
セッションのモバイル対応 ,[object Object],class myMobileFrontController extends  sfFrontWebController { public function redirect($url, $delay = 0 ,$statusCode = 302) { //  略 } public function genUrl($parameters = array(), $absolute = false) { $url = parent::genUrl($parameters, $absolute);  if ($agent = $this->getContext()->getRequest()->getAttribute('agent')) {  if ($agent->isDoCoMo()) {  $url = $this->implementParameter($url, 'guid=ON'); }  }  return $url; } private function implementParameter($url, $implement) { //  略 } }
セッションのモバイル対応 ,[object Object],[object Object],[object Object],//  上略 all: controller: class:  myMobileFrontController storage: class:  myMobileSessionStorage param: session_name: symfony
まとめ? ,[object Object],[object Object],[object Object]
おわりに ,[object Object],[object Object]

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (11)

What's new in Symfony3
What's new in Symfony3What's new in Symfony3
What's new in Symfony3
 
Diapositiva maría ingles
Diapositiva maría inglesDiapositiva maría ingles
Diapositiva maría ingles
 
Marco legal de comercio exterior
Marco legal de comercio exteriorMarco legal de comercio exterior
Marco legal de comercio exterior
 
Sd dcp
Sd dcpSd dcp
Sd dcp
 
Final m3 session 2 15.3.17
Final m3 session 2 15.3.17 Final m3 session 2 15.3.17
Final m3 session 2 15.3.17
 
Drugs of abuse
Drugs of abuseDrugs of abuse
Drugs of abuse
 
CAPÍTULO 5. PENETRACIÓN EN MERCADOS EXTRANJEROS
CAPÍTULO 5. PENETRACIÓN EN MERCADOS EXTRANJEROSCAPÍTULO 5. PENETRACIÓN EN MERCADOS EXTRANJEROS
CAPÍTULO 5. PENETRACIÓN EN MERCADOS EXTRANJEROS
 
KCS KTV - Phần mềm kiểm tra cốt thép Vách
KCS KTV - Phần mềm kiểm tra cốt thép VáchKCS KTV - Phần mềm kiểm tra cốt thép Vách
KCS KTV - Phần mềm kiểm tra cốt thép Vách
 
Opioids
OpioidsOpioids
Opioids
 
Miramax
MiramaxMiramax
Miramax
 
Segon de Primària. Assaig de danses per la Trobada.
Segon de Primària. Assaig de danses per la Trobada.Segon de Primària. Assaig de danses per la Trobada.
Segon de Primària. Assaig de danses per la Trobada.
 

Ähnlich wie モバイル開発@symfony

第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについてTakahiro (Poly) Horikawa
 
Tech talk salesforce mobile sdk
Tech talk   salesforce mobile sdkTech talk   salesforce mobile sdk
Tech talk salesforce mobile sdkKazuki Nakajima
 
勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration勉強会force#4 Chatter Integration
勉強会force#4 Chatter IntegrationKazuki Nakajima
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキングTakashi Okamoto
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発Kazuki Nakajima
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Yuji Takayama
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Akira Onishi
 
WordPressと外部APIとの連携
WordPressと外部APIとの連携WordPressと外部APIとの連携
WordPressと外部APIとの連携Hidekazu Ishikawa
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium MobileNaoya Ito
 
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用Yatabe Terumasa
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメYoshito Tabuchi
 
3ヶ月でリア充大学生がFBアプリをリリースするまで @macrocro
3ヶ月でリア充大学生がFBアプリをリリースするまで @macrocro3ヶ月でリア充大学生がFBアプリをリリースするまで @macrocro
3ヶ月でリア充大学生がFBアプリをリリースするまで @macrocroYuuki Kuroda
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platformToru Yamaguchi
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -Akio Katayama
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -Akio Katayama
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittrkenjis
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLTaisuke Fukuno
 
Pf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsolaPf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsolaandroid sola
 

Ähnlich wie モバイル開発@symfony (20)

第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
 
Tech talk salesforce mobile sdk
Tech talk   salesforce mobile sdkTech talk   salesforce mobile sdk
Tech talk salesforce mobile sdk
 
勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration
 
Jqm20120804 publish
Jqm20120804 publishJqm20120804 publish
Jqm20120804 publish
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
 
WordPressと外部APIとの連携
WordPressと外部APIとの連携WordPressと外部APIとの連携
WordPressと外部APIとの連携
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
 
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
 
3ヶ月でリア充大学生がFBアプリをリリースするまで @macrocro
3ヶ月でリア充大学生がFBアプリをリリースするまで @macrocro3ヶ月でリア充大学生がFBアプリをリリースするまで @macrocro
3ヶ月でリア充大学生がFBアプリをリリースするまで @macrocro
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittr
 
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
 
Pf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsolaPf部2012年1月勉強会.androidsola
Pf部2012年1月勉強会.androidsola
 
Sendai.html5#2
Sendai.html5#2Sendai.html5#2
Sendai.html5#2
 

Kürzlich hochgeladen

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Kürzlich hochgeladen (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

モバイル開発@symfony