SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
SQLite の暗号化
Akihiro Matsuura @ Syuhari, Inc.
About me
• 松浦 晃洋
• 株式会社シュハリ 代表取締役
• Cocos2d-x ゲーム開発
• 書籍、雑誌などの執筆
• Cocos2d-x エヴァンジェリスト
普段はこんなアプリ
作ってます
Cocos2d-JS の翻訳本
Cocos2d-x Game
Development Essentials
Building Android Games 

with Cocos2d-x
海外での出版に協力
Cocos2d-x Cookbook
https://www.packtpub.com/game-development/cocos2d-x-cookbook
http://www.amazon.co.jp/dp/B013R02BMY/
2015年12月3日
発売予定
予約受付中!
SQLite を暗号化する
候補は2つ
SQLCipher
iOS でビルド OK

Android でビルド NG

SQLiteManager が対応している
wxSqlite3
C++ ライブラリでビルドも簡単
wxSqlite3 を
Cocos2d-x へ組み込む
wxSqlite3 をダウンロード
• ドキュメント
• http://wxcode.sourceforge.net/docs/wxsqlite3/

• ダウンロード
• http://sourceforge.net/projects/wxcode/files/Components/
wxSQLite3/

• 検証は Cocos2d-x ver3.6、wxSqlite3 ver3.1.1 で行いました

Cocos2d-x ver3.2 でも動作確認しました
wxSqlite を Cocos2d-x へコピー
zip内の sqlite3/secure/src を 

cocos2d/external/wxsqlite/src へコピー
iOS 用の設定
Xcode にソースを追加
wxsqlite/src 内の 

sqlite3.h 

sqlite3secure.c  
フラグを追加
Other C Flags に -DSQLITE_HAS_CODEC を追加する
#ifdef SQLITE_HAS_CODEC
/*
** Specify the key for an encrypted database. This routine should be
** called right after sqlite3_open().
**
** The code to implement this API is not available in the public release
** of SQLite.
*/
SQLITE_API int sqlite3_key(
sqlite3 *db, /* Database to be rekeyed */
const void *pKey, int nKey /* The key */
);
SQLITE_API int sqlite3_key_v2(
sqlite3 *db, /* Database to be rekeyed */
const char *zDbName, /* Name of the database */
const void *pKey, int nKey /* The key */
);
SQLITE_HAS_CODEC を定義することにより、

sqlite3_key や sqlite3_rkey が使えるようになる
sqlite3.h
Android 用の設定
cocos2d/external/wxsqlite/Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := wxsqlite3_static
LOCAL_MODULE_FILENAME := libwxsqlite3
LOCAL_CFLAGS += -DSQLITE_HAS_CODEC
LOCAL_SRC_FILES := src/sqlite3secure.c
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/src
LOCAL_C_INCLUDES := $(LOCAL_PATH)/src
include $(BUILD_STATIC_LIBRARY)
(新規作成)
• 赤文字は削除
• 青文字は修正
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos_localstorage_static
LOCAL_MODULE_FILENAME := liblocalstorage
LOCAL_SRC_FILES := LocalStorage.cpp 
LocalStorageAndroid.cpp
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/..
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../..
LOCAL_CFLAGS += -Wno-psabi
LOCAL_CFLAGS += -DSQLITE_HAS_CODEC
LOCAL_EXPORT_CFLAGS += -Wno-psabi
LOCAL_WHOLE_STATIC_LIBRARIES := wxsqlite3_static
LOCAL_STATIC_LIBRARIES := cocos2dx_internal_static
include $(BUILD_STATIC_LIBRARY)
$(call import-module,.)
$(call import-module,external/wxsqlite3)
cocos2d/cocos/storage/local-storage/Android.mk
cocos2d/cocos/storage/local-storage/
LocalStorage.cpp
#include "LocalStorage.h"
#include "platform/CCPlatformMacros.h"
//#if (CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID)
#include <stdio.h>
#include <stdlib.h>
L 33 と L157 をコメントアウトする
proj.android/jni/Android.mk
LOCAL_SRC_FILES := hellocpp/main.cpp 
../../Classes/AppDelegate.cpp 
../../Classes/HelloWorldScene.cpp 
../../cocos2d/external/wxsqlite/src/sqlite3secure.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/external/wxsqlite/src/
LOCAL_CFLAGS += -DSQLITE_HAS_CODEC
実際に使ってみる
DBへのアクセス方法
sqlite3_open(path.c_str(), &database);
DB オープン後にパスワードを指定するだけ
sqlite3_key(database, password, (int)strlen(password));
注意点
• 初回起動時に空の DB を作成して暗号化すること
• SQLite のファイルをコピーしてきて暗号化するこ
とはできない
• SQL の更新が面倒
• 暗号化されるとデバッグしにくいので暗号化は仕上げの段階で行う方
がいい
• ただ暗号化後のパフォーマンスチェックは大事
• 普段は暗号化せずにリリースビルドとチェック時のみに暗号化する
• パフォーマンスは若干低下
• 頻繁なアクセスは出来るだけしないようにする
実際に使ってみて
• SQL の更新が面倒
• 暗号化する、しないを簡単にかつ確実に行いたい
問題点
結構変更あるし、DB にデータ挿入してるし
SQL 作るのが面倒
問題点1:DB の更新が面倒
SQLite ファイルからビルド時に自動的に SQL
をダンプするスクリプトを作成
SQLite をダンプするスクリプト
#!/bin/sh
commandline()
{
sleep 1; echo ".output ../Resources/data/data.sql"
sleep 1; echo ".dump"
sleep 1; echo ".exit"
}
commandline | sqlite3 ../Resources/data/data.sqlite
Xcode の Pre-action に設定
SQL を読み込み暗号化した

データベースを作成
sqlite3 *database = NULL;
sqlite3_open(dbpath.c_str(), &database);
sqlite3_key(database, DB_PASSPHRASE, (int)strlen(DB_PASSPHRASE));
auto util = FileUtils::getInstance();
std::string path = util->fullPathForFilename(“path/to/sql”);
std::string sql = util->getStringFromFile(path);
sqlite3_exec(database, (char*)sql, 0, 0, NULL);
sqlite3_close(database);
問題点2:暗号化する設定を変える
#if !defined(COCOS2D_DEBUG) ||
COCOS2D_DEBUG == 0 ||
SQLITE_ENCRYPT==1
sqlite3_key(database,
DB_PASSPHRASE, (int)strlen(DB_PASSPHRASE));
#endif
COCOS2D_DEBUG >0 または
SQLITE_ENCRYPT==1 のときのみ暗号化
リリースビルドでは絶対に暗号化される
Demo
https://github.com/syuhari/wxSqlite3
Cocos2d-x で
開発したいエンジニア
大募集中!
• @syuhari
• facebook.com/syuhari

Mais conteúdo relacionado

Mais procurados

ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす増田 亨
 
TRICK 2022 Results
TRICK 2022 ResultsTRICK 2022 Results
TRICK 2022 Resultsmametter
 
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroiddemuyan
 
Optcarrot: A Pure-Ruby NES Emulator
Optcarrot: A Pure-Ruby NES EmulatorOptcarrot: A Pure-Ruby NES Emulator
Optcarrot: A Pure-Ruby NES Emulatormametter
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからYasuharu Nishi
 
Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company TransformationYasuharu Nishi
 
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例leverages_event
 
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略Haruki Yano
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionYoshifumi Kawai
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴Takuto Wada
 
ARコンテンツ作成勉強会:Webブラウザで簡単作成!スマホAR(Zappar編)
ARコンテンツ作成勉強会:Webブラウザで簡単作成!スマホAR(Zappar編)ARコンテンツ作成勉強会:Webブラウザで簡単作成!スマホAR(Zappar編)
ARコンテンツ作成勉強会:Webブラウザで簡単作成!スマホAR(Zappar編)Takashi Yoshinaga
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込むYoshiki Hayama
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話Wooram Yang
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはJun-ichi Sakamoto
 
ある企業様の転職プレゼン面接で内定した資料を公開&説明します
ある企業様の転職プレゼン面接で内定した資料を公開&説明しますある企業様の転職プレゼン面接で内定した資料を公開&説明します
ある企業様の転職プレゼン面接で内定した資料を公開&説明しますとらのこ
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しようUnity Technologies Japan K.K.
 
GoF デザインパターン 2009
GoF デザインパターン 2009GoF デザインパターン 2009
GoF デザインパターン 2009miwarin
 

Mais procurados (20)

ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
TRICK 2022 Results
TRICK 2022 ResultsTRICK 2022 Results
TRICK 2022 Results
 
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
 
Optcarrot: A Pure-Ruby NES Emulator
Optcarrot: A Pure-Ruby NES EmulatorOptcarrot: A Pure-Ruby NES Emulator
Optcarrot: A Pure-Ruby NES Emulator
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company Transformation
 
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
 
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
モバイルアプリにおけるアーティストフレンドリーな水面表現戦略
 
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
 
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
 
ARコンテンツ作成勉強会:Webブラウザで簡単作成!スマホAR(Zappar編)
ARコンテンツ作成勉強会:Webブラウザで簡単作成!スマホAR(Zappar編)ARコンテンツ作成勉強会:Webブラウザで簡単作成!スマホAR(Zappar編)
ARコンテンツ作成勉強会:Webブラウザで簡単作成!スマホAR(Zappar編)
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話
 
solr勉強会資料
solr勉強会資料solr勉強会資料
solr勉強会資料
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
Raspberry Piで始める自宅サーバー超入門
Raspberry Piで始める自宅サーバー超入門Raspberry Piで始める自宅サーバー超入門
Raspberry Piで始める自宅サーバー超入門
 
ある企業様の転職プレゼン面接で内定した資料を公開&説明します
ある企業様の転職プレゼン面接で内定した資料を公開&説明しますある企業様の転職プレゼン面接で内定した資料を公開&説明します
ある企業様の転職プレゼン面接で内定した資料を公開&説明します
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
 
GoF デザインパターン 2009
GoF デザインパターン 2009GoF デザインパターン 2009
GoF デザインパターン 2009
 

Semelhante a SQLite の暗号化

cocos2d-consoleでパッケージ管理
cocos2d-consoleでパッケージ管理cocos2d-consoleでパッケージ管理
cocos2d-consoleでパッケージ管理Kohki Miki
 
Cocos2d-x Console @Cocos Talks #3
Cocos2d-x Console  @Cocos Talks #3Cocos2d-x Console  @Cocos Talks #3
Cocos2d-x Console @Cocos Talks #3Akihiro Matsuura
 
cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島Tomoaki Shimizu
 
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSBCocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSBTomoaki Shimizu
 
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Tomoaki Shimizu
 
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋Tomoaki Shimizu
 
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築についてTomoaki Shimizu
 
Cocos2d x-sprite3d
Cocos2d x-sprite3dCocos2d x-sprite3d
Cocos2d x-sprite3daktsk
 
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーAkihiro Matsuura
 
Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Tomohiro Kumagai
 
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてTomoaki Shimizu
 
Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化Akihiro Matsuura
 
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールcocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールTomoaki Shimizu
 
かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介Tomoaki Shimizu
 

Semelhante a SQLite の暗号化 (20)

cocos2d-consoleでパッケージ管理
cocos2d-consoleでパッケージ管理cocos2d-consoleでパッケージ管理
cocos2d-consoleでパッケージ管理
 
Cocos2d-x Console @Cocos Talks #3
Cocos2d-x Console  @Cocos Talks #3Cocos2d-x Console  @Cocos Talks #3
Cocos2d-x Console @Cocos Talks #3
 
cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島cocos2d-x公開講座 in 鹿児島
cocos2d-x公開講座 in 鹿児島
 
CocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSBCocosBuilderとcocos2d-x JSB
CocosBuilderとcocos2d-x JSB
 
Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介Cocos2d-x(JS)の紹介
Cocos2d-x(JS)の紹介
 
Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!Cocos2d xをさらにさわってみよう!
Cocos2d xをさらにさわってみよう!
 
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
 
Cocos最新情報(2015/6/30)
Cocos最新情報(2015/6/30)Cocos最新情報(2015/6/30)
Cocos最新情報(2015/6/30)
 
cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋cocos2d-xハンズオン勉強会 in 名古屋
cocos2d-xハンズオン勉強会 in 名古屋
 
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築についてMacでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
Macでcocos2d-x 3.0alphaを使用した、iOSアプリの開発環境構築について
 
Cocos2d xのススメ
Cocos2d xのススメCocos2d xのススメ
Cocos2d xのススメ
 
Cocos2d x-sprite3d
Cocos2d x-sprite3dCocos2d x-sprite3d
Cocos2d x-sprite3d
 
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.4を使用した、Androidアプリの開発環境構築について
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
 
Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +
 
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築についてMacでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
Macでcocos2d-x 2.1.3を使用した、Androidアプリの開発環境構築について
 
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築についてWindowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
Windowsでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
 
Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化Cocos2d-x ver.3 開発の効率化
Cocos2d-x ver.3 開発の効率化
 
cocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツールcocos2d-xにおけるBox2Dの利用方法および便利なツール
cocos2d-xにおけるBox2Dの利用方法および便利なツール
 
かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介かんたんなcocos2d-xの紹介
かんたんなcocos2d-xの紹介
 

Mais de Akihiro Matsuura

Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側Akihiro Matsuura
 
Cocos2dx Tips - Box2d, Normal mapping
Cocos2dx Tips - Box2d, Normal mappingCocos2dx Tips - Box2d, Normal mapping
Cocos2dx Tips - Box2d, Normal mappingAkihiro Matsuura
 
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからCocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからAkihiro Matsuura
 
SimpleAudioEngine のカスタマイズ
SimpleAudioEngine のカスタマイズSimpleAudioEngine のカスタマイズ
SimpleAudioEngine のカスタマイズAkihiro Matsuura
 
cocos2d-x 開発の効率化
cocos2d-x 開発の効率化cocos2d-x 開発の効率化
cocos2d-x 開発の効率化Akihiro Matsuura
 
What I talk about When I talk about Cocos2d-x
What I talk about When I talk about Cocos2d-xWhat I talk about When I talk about Cocos2d-x
What I talk about When I talk about Cocos2d-xAkihiro Matsuura
 

Mais de Akihiro Matsuura (12)

Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
Cocos2d-xを用いたゲームアプリ「めちゃギントン」開発の裏側
 
Cocos2dx Tips - Box2d, Normal mapping
Cocos2dx Tips - Box2d, Normal mappingCocos2dx Tips - Box2d, Normal mapping
Cocos2dx Tips - Box2d, Normal mapping
 
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれからCocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
Cocos2d-x によるスマートフォンアプリ開発のこれまでとこれから
 
SimpleAudioEngine のカスタマイズ
SimpleAudioEngine のカスタマイズSimpleAudioEngine のカスタマイズ
SimpleAudioEngine のカスタマイズ
 
Yidev cocos2dx
Yidev cocos2dxYidev cocos2dx
Yidev cocos2dx
 
cocos2d-x 開発の効率化
cocos2d-x 開発の効率化cocos2d-x 開発の効率化
cocos2d-x 開発の効率化
 
What I talk about When I talk about Cocos2d-x
What I talk about When I talk about Cocos2d-xWhat I talk about When I talk about Cocos2d-x
What I talk about When I talk about Cocos2d-x
 
Cocos2dx tips
Cocos2dx tipsCocos2dx tips
Cocos2dx tips
 
Cocos2dx 基本編
Cocos2dx 基本編Cocos2dx 基本編
Cocos2dx 基本編
 
Cocos2dx 勉強会
Cocos2dx 勉強会Cocos2dx 勉強会
Cocos2dx 勉強会
 
cocos2d で遊ぼう
cocos2d で遊ぼうcocos2d で遊ぼう
cocos2d で遊ぼう
 
CakePHP in iPhone App
CakePHP in iPhone AppCakePHP in iPhone App
CakePHP in iPhone App
 

Último

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った 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
 
デジタル・フォレンジックの最新動向(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...博三 太田
 

Último (9)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #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...
 

SQLite の暗号化