SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)Satoshi Yamada
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くHiroya Kabata
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版貴志 上坂
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用Kosuke Kida
 
決済サービスのSpring Bootのバージョンを2系に上げた話
決済サービスのSpring Bootのバージョンを2系に上げた話決済サービスのSpring Bootのバージョンを2系に上げた話
決済サービスのSpring Bootのバージョンを2系に上げた話Ryosuke Uchitate
 
MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較Shinya Sugiyama
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) Hironobu Isoda
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5Takahiro YAMADA
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション土岐 孝平
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説do_aki
 
文字コードの脆弱性はこの3年間でどの程度対策されたか?
文字コードの脆弱性はこの3年間でどの程度対策されたか?文字コードの脆弱性はこの3年間でどの程度対策されたか?
文字コードの脆弱性はこの3年間でどの程度対策されたか?Hiroshi Tokumaru
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介Shinya Okano
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 

Tendances (20)

WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
PostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解くPostgreSQL:行数推定を読み解く
PostgreSQL:行数推定を読み解く
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
決済サービスのSpring Bootのバージョンを2系に上げた話
決済サービスのSpring Bootのバージョンを2系に上げた話決済サービスのSpring Bootのバージョンを2系に上げた話
決済サービスのSpring Bootのバージョンを2系に上げた話
 
MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
 
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説
 
XMPPの紹介
XMPPの紹介XMPPの紹介
XMPPの紹介
 
文字コードの脆弱性はこの3年間でどの程度対策されたか?
文字コードの脆弱性はこの3年間でどの程度対策されたか?文字コードの脆弱性はこの3年間でどの程度対策されたか?
文字コードの脆弱性はこの3年間でどの程度対策されたか?
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 

Similaire à 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
 

Similaire à 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の紹介
 

Plus 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
 

Plus 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
 

Dernier

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
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
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Dernier (10)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
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
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

SQLite の暗号化