SlideShare une entreprise Scribd logo
1  sur  38
Forif Hackathon for
            Students
 JavaScriptで作るスマートフォンブラウザゲーム

株式会社フォリフ
エンジニア
大橋巧
2012/05/18
自己紹介

• 大橋 巧
• 2011年4月入社
• 主にクライアントサイド担当
• Corollin’ Planetなど開発
今日は
HTML5
What’s HTML5?


• Flashのかわりになるらしい
• 最近のWebサービスはみんなHTML5
• とにかくすごいらしい
HTML5とは
•   HTML5 (エイチティーエムエル・ファイブ)とは HTML の 5 回目に
    当たる大幅な改定版である。表記は HTML と 5 の間にスペースを含ま
    ない。XML の文法で記述する場合、XHTML5 と呼ばれる。HTML5 は
    WHATWG によって2004年に定められた Web Applications 1.0 に Web
    Forms 2.0 を取り入れたものが W3C の専門委員会に採用され、W3C
    より2008年1月22日にドラフト(草案)が発表された。現在、2014年
    までの正式勧告を目指して策定が行われている。改訂の主要目的のひ
    とつとして人間にも読解可能でコンピューターやディバイス(ウェブ
    ブラウザ、構文解析器など)にも矛盾せず読解されるとともに最新の
    マルチメディアをサポートする言語に向上することである。HTML5で
    はHTML 4だけでなくXHTML1やDOM2HTML(特にJavaScript)も加え

                        参考URL : http://ja.wikipedia.org/wiki/HTML5
?
HTML5とは(ざっくり)

• 文章の構造を明確化
• 画像描画、動画や音声の再生
• 位置情報、双方向通信etc...
• HTML5 + JavaScript + CSS3
  →リッチなWebアプリも作成可能に
Canvas
Canvas

• JavaScriptを使って動的に図を描く
   HTML5の要素
HTML:
    <canvas width= 100 height= 100 ></canvas>
js:
    var canvas = document.getElementsByTagName('canvas')[0];
    var ctx = canvas.getContext('2d');
    ctx.Rect(0, 0, 50, 100);
    ctx.fill();
実際にCanvasで
図形を描いてみる
Canvas下準備


 • コンテキストを取得する
var canvas = document.getElementById( canvas );
var ctx = canvas.getContext( 2d );
円を描く

// パスを開く
ctx.beginPath();
// X: 100, Y: 100の座標に半径50pxの円を描く
ctx.arc(100, 100, 50, 0, Math.PI*2, false);
// 塗りつぶす色を設定する
ctx.fillStyle = red ;
// 円を塗りつぶす
ctx.fill();
// パスを閉じる
ctx.closePath();
長方形を描く

// パスを開く
ctx.beginPath();
// X: 80, Y: 160の座標に幅200px, 高さ100pxの長方形を描く
ctx.rect(80, 160, 200, 100);
// 枠線の色を設定する
ctx.strokeStyle = blue ;
// 長方形の枠線を描く
ctx.stroke();
// パスを閉じる
ctx.closePath();
書いたものを消す



// X: 100, Y: 80の座標から幅100px, 高さ120pxの範囲を消す
ctx.clearRect(100, 80, 100, 120);
Canvasで
アニメーション
JavaScriptのループ


setInterval(function(){
   // 1秒に1回、この中身が実行される
}, 1000);
// ↑「1000ミリ秒」1ミリ秒 = 1/1000秒なので、1秒
ループの中で
Canvasに描画
// ボールのX座標
var ball_x = 0;
// ボールのY座標
var ball_y = 0;


// ループ
// 50ミリ秒( 1/20秒 )に一回描画
setInterval(function(){
     // 1秒に1回、この中身が実行される
     ctx.beginPath();
     // X: ball_x, Y: ball_yの座標に円を描画
     ctx.arc(ball_x, ball_y, 10, 0, Math.PI*2, false);
     ctx.fillStyle = "red";
     ctx.fill();
     ctx.closePath();
     // ball_xに1を足す
     ball_x++;
     // ball_yに1を足す
     ball_y++;
}, 50);
何かおかしい?

• Canvasに描いたものはいつまでも消え
 ない

• アニメーションさせる場合、描画→消
 す→描画のサイクルが必要
// ループ
// 50ミリ秒( 1/20秒 )に一回描画
setInterval(function(){
     // 前回描画したものを消す
     ctx.clearRect(0, 0, canvas.width, canvas.height);
     // 1秒に1回、この中身が実行される
     ctx.beginPath();
     // X: ball_x, Y: ball_yの座標に円を描画
     ctx.arc(ball_x, ball_y, 10, 0, Math.PI*2, false);
     ctx.fillStyle = "red";
     ctx.fill();
     ctx.closePath();
     // ball_xに1を足す
     ball_x++;
     // ball_yに1を足す
     ball_y++;
}, 50);
アニメーションまとめ


• setIntervalの中でCanvasに描画
• 描画→消す→描画のサイクル
Hackathon
スカッシュゲーム
STEP1:ボール運動
パラメータ設定
// ボールのX座標
var ball_x = 10;
// ボールのY座標
var ball_y = 100;
// ボールのX方向速度
var ball_dir_x = 5;
// ボールのY方向速度
var ball_dir_y = 5;
// ボールの半径
var ball_radius = 10;
// 50ミリ秒( 1/20秒 )に一度描画
setInterval(function(){
     // 前回描画したものを消す
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    // ボールを描画
     ctx.beginPath();
     // X: ball_x, Y: ball_yの座標に円を描画
     ctx.arc(Math.floor(ball_x), Math.floor(ball_y), ball_radius, 0, Math.PI*2, false);
     ctx.fillStyle = "red";
     ctx.fill();
     ctx.closePath();
     // ball_xにball_dir_xを足す
     ball_x += ball_dir_x;
     // ball_yにball_dir_yを足す
     ball_y += ball_dir_y;
}, 50);
壁の当たり判定
// ボールと壁の当たり判定 当たれば反転
// 左右の壁
if (ball_x < 0 ¦¦ ball_x > canvas.width) {
     ball_dir_x *= -1;
}
// 画面の上
if (ball_y < 0 ¦¦ ball_y > canvas.height) {
     ball_dir_y *= -1;
}
STEP2:バー操作
パラメータ設定
// バーのX座標
var bar_x = 160;
// バーのY座標
var bar_y = 280;
// バーの幅
var bar_width = 80;
// バーの高さ
var bar_height = 16;
バーを描画

// ループの中に描く
// バーを描画
ctx.beginPath();
ctx.rect(bar_x, bar_y, bar_width, bar_height);
ctx.fillStyle = "blue";
ctx.fill();
ctx.closePath();
マウスの動きを取得

// PC用
document.getElementById("canvas").addEventListener('mousemove', function(){
     // マウスが動く度にこの中が呼ばれる
     // バーのX座標をマウスに合わせる
     bar_x = event.pageX - bar_width / 2;
}, false);
スマートフォンの場合
// スマートフォン用
document.getElementById("canvas").addEventListener('touchmove', function(){
     // 画面上で指を動かす度にこの中が呼ばれる
     // 画面がスクロールされるのを防ぐ
     event.preventDefault();
     // バーのX座標を指に合わせる
     bar_x = event.touches[0].pageX - bar_width / 2;
}, false);


               (とりあえず今日はPCのみで)
STEP3:バーとボールの
   当たり判定
バーとボールの当たり判定

// バーに当たっているか
// ball_yがbar_yより大きい、かつ
// ball_xがbar_xより大きく、bar_x + bar_widthyり小さい
if (ball_y > bar_y && ball_x > bar_x && ball_x < bar_x + bar_width) {
     ball_dir_y *= -1;
}
+α


• 得点表示
• ブロック崩しゲームにする
• オリジナル機能
参考サイト
• Corollin’ Planet
    http://corollin.com/


• JOYNT
    http://joynt.in/


•   jsdo.it
    http://jsdo.it/


•   9leap
    http://9leap.net/
ありがとうございました。

Contenu connexe

Tendances

Squirrel
SquirrelSquirrel
Squirrelmelpon
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001Teruaki Tsubokura
 
Processing資料(1) Processingの基本
Processing資料(1) Processingの基本Processing資料(1) Processingの基本
Processing資料(1) Processingの基本reona396
 
Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話Moriyoshi Koizumi
 
3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!vi-iv
 
Processing資料(4) アニメーション
Processing資料(4) アニメーションProcessing資料(4) アニメーション
Processing資料(4) アニメーションreona396
 
関数の近似方法(MATLAB)
関数の近似方法(MATLAB)関数の近似方法(MATLAB)
関数の近似方法(MATLAB)Tsuyoshi Horigome
 
How to make Inn-fighting dice
How to make Inn-fighting diceHow to make Inn-fighting dice
How to make Inn-fighting diceMasujima Ryohei
 
Processing資料(7) マウスとキーボード
Processing資料(7) マウスとキーボードProcessing資料(7) マウスとキーボード
Processing資料(7) マウスとキーボードreona396
 
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BopenFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BAtsushi Tadokoro
 
C++でHello worldを書いてみた
C++でHello worldを書いてみたC++でHello worldを書いてみた
C++でHello worldを書いてみたfirewood
 
C++11概要 ライブラリ編
C++11概要 ライブラリ編C++11概要 ライブラリ編
C++11概要 ライブラリ編egtra
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLAtsushi Tadokoro
 
Processing資料(6) 様々な図形
Processing資料(6) 様々な図形Processing資料(6) 様々な図形
Processing資料(6) 様々な図形reona396
 
今さら始めるCoffeeScript
今さら始めるCoffeeScript今さら始めるCoffeeScript
今さら始めるCoffeeScriptAshitaba YOSHIOKA
 
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)Ryuma Tsukano
 

Tendances (19)

Squirrel
SquirrelSquirrel
Squirrel
 
openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001openFrameworks Workshop in Kanazawa v001
openFrameworks Workshop in Kanazawa v001
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
CG2013 12
CG2013 12CG2013 12
CG2013 12
 
Processing資料(1) Processingの基本
Processing資料(1) Processingの基本Processing資料(1) Processingの基本
Processing資料(1) Processingの基本
 
Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話
 
3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!3次元図形をSchemeで造ろう!
3次元図形をSchemeで造ろう!
 
Processing資料(4) アニメーション
Processing資料(4) アニメーションProcessing資料(4) アニメーション
Processing資料(4) アニメーション
 
関数の近似方法(MATLAB)
関数の近似方法(MATLAB)関数の近似方法(MATLAB)
関数の近似方法(MATLAB)
 
How to make Inn-fighting dice
How to make Inn-fighting diceHow to make Inn-fighting dice
How to make Inn-fighting dice
 
Processing資料(7) マウスとキーボード
Processing資料(7) マウスとキーボードProcessing資料(7) マウスとキーボード
Processing資料(7) マウスとキーボード
 
python-geohex
python-geohexpython-geohex
python-geohex
 
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習BopenFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
openFrameworks基礎 たくさんの図形を動かす 静的配列と動的配列 - 芸大グラフィックスプログラミング演習B
 
C++でHello worldを書いてみた
C++でHello worldを書いてみたC++でHello worldを書いてみた
C++でHello worldを書いてみた
 
C++11概要 ライブラリ編
C++11概要 ライブラリ編C++11概要 ライブラリ編
C++11概要 ライブラリ編
 
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGLMedia Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
 
Processing資料(6) 様々な図形
Processing資料(6) 様々な図形Processing資料(6) 様々な図形
Processing資料(6) 様々な図形
 
今さら始めるCoffeeScript
今さら始めるCoffeeScript今さら始めるCoffeeScript
今さら始めるCoffeeScript
 
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
 

Similaire à JavaScript Hackathon for Students

iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!cocopon
 
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Ryo Suzuki
 
プログラミング技法特論第8回
プログラミング技法特論第8回プログラミング技法特論第8回
プログラミング技法特論第8回Noritada Shimizu
 
Continuation with Boost.Context
Continuation with Boost.ContextContinuation with Boost.Context
Continuation with Boost.ContextAkira Takahashi
 
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~Fujio Kojima
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio CodeAkira Inoue
 
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」Yuisho Takafuji
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューAkira Inoue
 
SystemC Tutorial
SystemC TutorialSystemC Tutorial
SystemC Tutorialkocha2012
 
Canvas de shooting 制作のポイント
Canvas de shooting 制作のポイントCanvas de shooting 制作のポイント
Canvas de shooting 制作のポイントYohei Munesada
 
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnJavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnKoji Ishimoto
 
広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習x1 ichi
 
UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章yaju88
 
Unit test in android
Unit test in androidUnit test in android
Unit test in androidTatsuya Maki
 

Similaire à JavaScript Hackathon for Students (20)

Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!iOSプログラマへ。HTML5 Canvasがおもしろい!
iOSプログラマへ。HTML5 Canvasがおもしろい!
 
Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発Siv3Dで楽しむゲームとメディアアート開発
Siv3Dで楽しむゲームとメディアアート開発
 
プログラミング技法特論第8回
プログラミング技法特論第8回プログラミング技法特論第8回
プログラミング技法特論第8回
 
Continuation with Boost.Context
Continuation with Boost.ContextContinuation with Boost.Context
Continuation with Boost.Context
 
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
 
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
Elixirでディープラーニング! Keras+PyTorchみたいな DL入門向けライブラリ「Axon」
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
SystemC Tutorial
SystemC TutorialSystemC Tutorial
SystemC Tutorial
 
HTML5 on ASP.NET
HTML5 on ASP.NETHTML5 on ASP.NET
HTML5 on ASP.NET
 
Ssaw08 0916
Ssaw08 0916Ssaw08 0916
Ssaw08 0916
 
Canvas de shooting 制作のポイント
Canvas de shooting 制作のポイントCanvas de shooting 制作のポイント
Canvas de shooting 制作のポイント
 
JavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 AutumnJavaScript/CSS 2015 Autumn
JavaScript/CSS 2015 Autumn
 
JavaScript入門
JavaScript入門JavaScript入門
JavaScript入門
 
広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習
 
UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章UnityとBlenderハンズオン第2章
UnityとBlenderハンズオン第2章
 
Unit test in android
Unit test in androidUnit test in android
Unit test in android
 
Reactive Programming
Reactive ProgrammingReactive Programming
Reactive Programming
 

Dernier

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
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
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Dernier (9)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
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
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

JavaScript Hackathon for Students

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n