SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Google Gears

データベースの基礎


            WebOS Goodies
                  伊藤千光
Gearsデータベースの特徴

基本的に SQLite そのままの、本格的な RDB です。

JavaScript で SQL を発行することでアクセスします。

ローカルに大容量データを保存できます。(現在のところ容量無制限)

SQL の実行はネイティブコードなので、高速です。

トランザクションをサポートしています。

ドメインを基本としたセキュリティーモデルになっています。

ユーザーなどの概念はありません。

同期式 API なので、使い方が簡単です。コールバックはいりません!

全文検索もできます。(現在、日本語は未対応。 Gears 0.3 で対応?)
gears_init.jsを読み込む

Gears の機能を使うときは必ず読み込む。
以下のように script タグで読み込めば OK。


  <script type="text/javascript" src="gears_init.js"></script>



gears_init.js は、 Google Code で配布されています。

http://code.google.com/apis/gears/
Gearsのインストールを確認

 window.google.gears が定義されていれば Gears インストール済み。
 インストールされていない場合は、 Gears のインストールページにリダイ
 レクトする。

if(!window.google || !google.gears) {
    // Gears がインストールされていなければ、インストールページにリダイレクト
    location.href = "http://gears.google.com/?action=install&message=' +
                    escape('Google Gears をインストールしてください');
} else {
    // 次に続く...                            インストールページに表示するメッセージ
}
インターフェースを取得
 google.gears.factory.create を呼び出して、DB操作のためのインターフェース
 を取得します。
 ユーザーに Gears の利用の可否を尋ねるダイアログが表示されます。
 ユーザーが拒否すると例外が投げられるので、適切に処理してください。

} else { // 前からの続き
    try {
        db = google.gears.factory.create('beta.database', '1.0');
    } catch(e) {
        // Gears の利用を拒否されたときの処理                       引数は事実上これに固定
        throw e;
    }
}
データベースを開く

open メソッドを呼び出して、データベースを開きます。
引数はデータベース名です。
データベースが存在しなければ、自動的に作成されます。
データベース名は ASCII 文字しか使えません。一部の記号も使えません。
ひとつのインターフェースでは同時にひとつのデータベースしか開けません。
複数のデータベースを同時に使うときは、もうひとつインターフェースを作成
してください。


  db.open('db_name');
テーブルの作成
execute メソッドで SQL を実行できます。
まずはテーブルがないと話にならないので、テーブルを作ります。
SQL の CREATE を発行してテーブルを作ります。
IF NOT EXISTS を指定して、毎回実行するのが楽です。
データ型は事実上 INTEGER, REAL, TEXT だけです。(BLOBは?)
他のデータ型はこれらのいずれかにマップされます。
“INTEGER PRIMARY KEY” のフィールドには自動で連番がふられます。

  db.execute('CREATE TABLE IF NOT EXISTS tbl_name (' +
             '   id    INTEGER PRIMARY KEY,' +
             '   title TEXT,' +
             '   url   TEXT )');
SQLの実行(結果なし)
execute メソッドで SQL を実行します。(既出)
結果を返さないコマンドなら、単にメソッドを実行するだけです。
SQL 内の '?' は第2引数の配列の対応する要素で置換されます。
必要ならエスケープも自動で行われます。
可変パラメータは必ず上記の置換機能を利用しましょう。
(SQLインジェクション対策)


db.execute('INSERT INTO tbl_name (title, url) VALUES (?, ?)',
           ['WebOS Goodies',
            'http://webos-goodies.jp']);
                                            対応する文字列に置換されます
SQLの実行(結果あり)
execute メソッドで select 文などを実行すると、その結果を格納した
ResultSet オブジェクトが返ります。
以下のようにしてハッシュ配列に落としてしまうのが楽です。
ResultSet は、使い終わったら必ず close してください。


var qr = db.execute('select * from tbl_name');
var rows = [];
try {
    while(qr.isValidRow()) { 行がなくなると false を返します
        var cols = {};
        for(var i = 0 ; i < qr.fieldsCount() ; ++i)
            cols[qr.fieldName(i)] = qr.field(i);
        rows[result.length] = cols;
        qr.next();
    }                   次の行に移る
} finally {
    qr.close(); 必ずクローズしてください
}
トランザクション
トランザクションを使うことで、複数の行をアトミックに挿入できます。
途中でエラーが起こったときは、すべてをロールバックできます。
多数の行を挿入する際は、パフォーマンス的にも有利です。
トランザクションの閉じ忘れに注意してください。
トランザクションのネストはできないので、自分でロックカウンタを実装
して管理しましょう。

db.execute('BEGIN IMMEDIATE'); トランザクション開始!
try {
    // 挿入などの処理
    db.execute('COMMIT');      正常終了なら変更を確定
} catch(e) {
    db.execute('ROLLBACK');    エラーが起こったらロールバック
    throw e;
}
Tips...
Gears のデータベースファイルは SQLite と互換性があります。
SQLite 用のツールがそのまま利用可能です。
IE では API を call や apply で呼び出すことはできません。
該当する行が存在すれば UPDATE 、なければ INSERT として機能する
REPLACE という SQL コマンドがあります。
“select last_insert_rowid() from tbl_name” で最後に挿入した行の
rowid が取得できます。(プライマリキーが整数のとき、 rowid はプライマリ
キーのエイリアスです)
ほとんどの API は例外を投げる可能性があります。例外のハンドリングを
忘れないようにしてください。
トランザクションが開始できないと長時間ブロックする可能性があります。
ライブラリ・ツール
Gearshift
http://code.m.ac.nz/gearshift/
Gears In Motion
http://code.google.com/p/gearsinmotion/
Google Gears ORM
http://www.urielkatz.com/archive/detail/google-gears-orm-v02/
HTML5Wrapper for Gears
http://glazkov.com/blog/html5-gears-wrapper/
SQLAdmin for Google Gears
http://coenraets.org/blog/2007/05/flex-based-sqladmin-for-google-gears/
TrimJunction
http://code.google.com/p/trimpath/wiki/TrimJunction
vortex.offline
http://geekycodestuff.blogspot.com/2007/09/announcing-vortexoffline-library-v01.html
ご質問は?
mailto:hokousya@webos-goodies.jp
     http://webos-goodies.jp/

Weitere ähnliche Inhalte

Was ist angesagt?

LINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XMLLINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XMLShinichiAoyagi
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回nanametown
 
PowerShell 紹介
PowerShell 紹介PowerShell 紹介
PowerShell 紹介tsudaa
 
TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介ao27
 
Deep dive into oss written in swift
Deep dive into oss written in swiftDeep dive into oss written in swift
Deep dive into oss written in swiftYuki Asai
 
Python/Bottle for Kubo Semi 2014
Python/Bottle for Kubo Semi 2014Python/Bottle for Kubo Semi 2014
Python/Bottle for Kubo Semi 2014Toshiki NOGUCHI
 
これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6TanUkkii
 
第2回鹿児島node.jsの会資料_内村
第2回鹿児島node.jsの会資料_内村第2回鹿児島node.jsの会資料_内村
第2回鹿児島node.jsの会資料_内村Koichi Uchimura
 
MlnagoyaRx02
MlnagoyaRx02MlnagoyaRx02
MlnagoyaRx02mega80b
 
Serverside ES6@Livesense technight
Serverside ES6@Livesense technightServerside ES6@Livesense technight
Serverside ES6@Livesense technightSeiji Takahashi
 
Riot.js と戦った話 (8月26日 oRo LT 会)
Riot.js と戦った話 (8月26日 oRo LT 会)Riot.js と戦った話 (8月26日 oRo LT 会)
Riot.js と戦った話 (8月26日 oRo LT 会)kata shin
 
20140930 anything as_code
20140930 anything as_code20140930 anything as_code
20140930 anything as_codeSugawara Genki
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)parrotstudio
 
第8回KPF発表資料
第8回KPF発表資料第8回KPF発表資料
第8回KPF発表資料cryks
 
松江Ruby会議05 dxruby
松江Ruby会議05 dxruby松江Ruby会議05 dxruby
松江Ruby会議05 dxrubymirichi_
 
elasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみたelasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみたfurandon_pig
 

Was ist angesagt? (20)

200k/sec
200k/sec200k/sec
200k/sec
 
LINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XMLLINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XML
 
Ll xcode
Ll xcodeLl xcode
Ll xcode
 
Fluentd casual
Fluentd casualFluentd casual
Fluentd casual
 
Web講座 第9回
Web講座 第9回Web講座 第9回
Web講座 第9回
 
PowerShell 紹介
PowerShell 紹介PowerShell 紹介
PowerShell 紹介
 
TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介
 
Deep dive into oss written in swift
Deep dive into oss written in swiftDeep dive into oss written in swift
Deep dive into oss written in swift
 
Python/Bottle for Kubo Semi 2014
Python/Bottle for Kubo Semi 2014Python/Bottle for Kubo Semi 2014
Python/Bottle for Kubo Semi 2014
 
これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6これからのJavaScriptー関数型プログラミングとECMAScript6
これからのJavaScriptー関数型プログラミングとECMAScript6
 
第2回鹿児島node.jsの会資料_内村
第2回鹿児島node.jsの会資料_内村第2回鹿児島node.jsの会資料_内村
第2回鹿児島node.jsの会資料_内村
 
MlnagoyaRx02
MlnagoyaRx02MlnagoyaRx02
MlnagoyaRx02
 
Serverside ES6@Livesense technight
Serverside ES6@Livesense technightServerside ES6@Livesense technight
Serverside ES6@Livesense technight
 
MlnagoyaRx
MlnagoyaRxMlnagoyaRx
MlnagoyaRx
 
Riot.js と戦った話 (8月26日 oRo LT 会)
Riot.js と戦った話 (8月26日 oRo LT 会)Riot.js と戦った話 (8月26日 oRo LT 会)
Riot.js と戦った話 (8月26日 oRo LT 会)
 
20140930 anything as_code
20140930 anything as_code20140930 anything as_code
20140930 anything as_code
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
 
第8回KPF発表資料
第8回KPF発表資料第8回KPF発表資料
第8回KPF発表資料
 
松江Ruby会議05 dxruby
松江Ruby会議05 dxruby松江Ruby会議05 dxruby
松江Ruby会議05 dxruby
 
elasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみたelasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみた
 

Andere mochten auch

RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?Soudai Sone
 
超入門データベース基礎の基礎
超入門データベース基礎の基礎超入門データベース基礎の基礎
超入門データベース基礎の基礎Matsuzawa Fumiaki
 
0からのプログラミング研修
0からのプログラミング研修0からのプログラミング研修
0からのプログラミング研修Jun Chiba
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクションTakahiro Okumura
 
要注意!?効果の出ない技術研修に共通する3つのこと
要注意!?効果の出ない技術研修に共通する3つのこと要注意!?効果の出ない技術研修に共通する3つのこと
要注意!?効果の出ない技術研修に共通する3つのことcodecampJP
 
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきことpupupopo88
 

Andere mochten auch (6)

RDBってなに?
RDBってなに?RDBってなに?
RDBってなに?
 
超入門データベース基礎の基礎
超入門データベース基礎の基礎超入門データベース基礎の基礎
超入門データベース基礎の基礎
 
0からのプログラミング研修
0からのプログラミング研修0からのプログラミング研修
0からのプログラミング研修
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 
要注意!?効果の出ない技術研修に共通する3つのこと
要注意!?効果の出ない技術研修に共通する3つのこと要注意!?効果の出ない技術研修に共通する3つのこと
要注意!?効果の出ない技術研修に共通する3つのこと
 
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
新入社員の技術研修に関してありがちな問題を解決するためにやったことやるべきこと
 

Ähnlich wie Google Gears データベースの基礎

Let s database_testing
Let s database_testingLet s database_testing
Let s database_testingYuji Shimada
 
夏だからJava再入門
夏だからJava再入門夏だからJava再入門
夏だからJava再入門Katsumi Honda
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門Yasuko Ohba
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Ransui Iso
 
PerlとSQLのいろいろ
PerlとSQLのいろいろPerlとSQLのいろいろ
PerlとSQLのいろいろTakuya Tsuchida
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio CodeAkira Inoue
 
開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返りOda Shinsuke
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発Nomura Yusuke
 
Flutterを体験してみませんか
Flutterを体験してみませんかFlutterを体験してみませんか
Flutterを体験してみませんかcch-robo
 
Html5 Web Applications
Html5  Web ApplicationsHtml5  Web Applications
Html5 Web Applicationstotty jp
 
traceur-compilerで未来のJavaScriptを体験
traceur-compilerで未来のJavaScriptを体験traceur-compilerで未来のJavaScriptを体験
traceur-compilerで未来のJavaScriptを体験Toshio Ehara
 
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。Satoshi Mimura
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]Hideo Takagi
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法decode2016
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門Yohei Sasaki
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development lifeUehara Junji
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューAkira Inoue
 

Ähnlich wie Google Gears データベースの基礎 (20)

Let s database_testing
Let s database_testingLet s database_testing
Let s database_testing
 
夏だからJava再入門
夏だからJava再入門夏だからJava再入門
夏だからJava再入門
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
 
PerlとSQLのいろいろ
PerlとSQLのいろいろPerlとSQLのいろいろ
PerlとSQLのいろいろ
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
 
Scala on Hadoop
Scala on HadoopScala on Hadoop
Scala on Hadoop
 
開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発
 
Flutterを体験してみませんか
Flutterを体験してみませんかFlutterを体験してみませんか
Flutterを体験してみませんか
 
Mongodb
MongodbMongodb
Mongodb
 
Html5 Web Applications
Html5  Web ApplicationsHtml5  Web Applications
Html5 Web Applications
 
traceur-compilerで未来のJavaScriptを体験
traceur-compilerで未来のJavaScriptを体験traceur-compilerで未来のJavaScriptを体験
traceur-compilerで未来のJavaScriptを体験
 
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
 
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development life
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
 
Project lambda
Project lambdaProject lambda
Project lambda
 

Kürzlich hochgeladen

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[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
 
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
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
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
 

Kürzlich hochgeladen (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[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
 
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
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
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
 

Google Gears データベースの基礎