狠狠撸

狠狠撸Share a Scribd company logo
第6回 Cocoa 勉強会(2004/7/10)

SQLite を Cocoa で使う(新居雅行)
SQL データベースの SQLite
SQLite の特徴
?

Public Dmain 、 オ ー プ ン ソ ー ス で 、 事 実 上 自 由 に 使 え る SQL デ ー タ ベ ー ス
(http://www.sqlite.org/)

?

オリジナルには C/C++および TCL のインタフェースだけが用意されている

?

PHP5 への標準バンドル、さらには Mac OS X v10.4 へのバンドルが予定されている

?

ネットワークには基本的には非対応のため、
組み込み用途が主なものとなる。
データベース
は、1 つのファイルに保存される

?

「タイプレス」という独特の考え方。フィールドにはタイプを指定しないでもいい(という
か、指定してもあまり意味はないかも)

?

数値については「精度」
「桁数」的な概念はまったくない。数値は倍精度浮動小数点数(64
ビット)にすべて展開される。

?

文字も数値もある意味は区別がないためちょっと独特。ただし、そのため BLOB 処理がち
ょっと甘いとも言える

?

SQL の非サポート機能で目につくのは GRANT がないこと。アクセス権はデータベースフ
ァイルに対して設定するというのが基本コンセプト。また、タイプレスのためか CHECK
制約は機能しないなどもある

?

Ver.2.8 系列は UTF-8 対応、Ver.3 より UTF-8/16 の両方に対応。なお、Ver.3 ではタイプ
の扱いが違ってくる模様。

?

MySQL よりも速いといったベンチマークテストを掲載している。
PostgreSQL よりは 10~
20 倍、MySQL よりも 2 倍速いとしているが、SQLite では 1 つのトランザクションで処理
する事でそのスピードが出る

SQLite を Mac OS X で使うには
バイナリとして配布されているのは、Linux と Windows のみ。そのため、Mac OS X で使うに
はビルドしないといけないが、配布されているソース群には make すらない。Mac OS X で手
軽に使うには、以下のものが必要。
SQLite の Mac OS X 版ビルド
http://www.c-command.com/tools/sqlite.shtml
QuickLite
http://www.webbotech.com/
1
SQLite のコネクティビティ
SQLite の接続機能を強化するものとしては以下のものがある。
SQLite 用の ODBC および JDBC のドライバ
http://www.ch-werner.de/sqliteodbc/ http://www.ch-werner.de/javasqlite/
SQLiteServer 1.0(SQLite をネットワークからアクセス。REALbasic で制作)
http://sqlabs.net/

QuickLite について
?

SQLite を使うための Cocoa のクラスをオープンソースで提供しているのが QuickLite

?

確かに、Xcode で開いてデータベース処理はできるが、事実上、自分で SQL 文をテキスト
で作成しなければならない。
つまり、
データベースの内容をオブジェクト化するものではな
く、SQLite へのインタフェースを取るための Cocoa クラス

?

そのため、以下の 3 種類のオブジェクト(クラス)について知るだけで使える(というか、
その程度の機能)
。以下の表は主なメソッドの紹介で、他にもメソッドがある

NSQuickLiteDatabase
databaseWithFile:
open
close
performQuery:
prepareStringForQuery:
encodeDataToBase64:

NSQuickLiteCursor
rowCount
columnCount
columnNames
rowAtIndex:
valuesForColumn:
valuesForRow:

NSQuickLiteRow
stringForColumn:
dataForColumn: andRow:
values

データベースファイルの抽象化
データベースファイルを指定して初期化
データベースをオープン
データベースをクローズ
文字列で指定した SQL 文を発行、NSQuickLinkCursor
を戻す
SQL 文をクエリーできるように変換。つまりクォートの
置き換え
NSData を base64 にして NSString を戻す
クエリー結果の抽象化クラス
レコード数
フィールド数
フィールド名の NSArray を得る
レコード番号を指定して NSQuickLinkRow への参照を
得る
文字列で指定したフィールドのデータを NSArray で得る
レコード番号で指定したレコードのデータを
NSDictionary で得る
クエリー結果の中の 1 レコードを抽象化するクラス
フィールド名を指定してそのフィールドのデータを文字
列として得る
フィールド名とレコード番号指定してそのフィールドの
データを NSData として得る
レコードのデータを NSDictionary で得る
2
?

NSString での Unicode でインプット/アプトプットがきちんとできる。もちろん日本語も
OK

?

BLOB 対応のために base64 でエンコードする。挿入するデータについては自分で base64
にしないといけないが、メソッドは用意されている。取り出しは NSData として取り出す
メソッドで元のバイナリが得られる

?

SQLite をフレームワークにするというプロジェクトもあるが、激しくバグっており(きっ
と、プロジェクトを作ったけど、ほんとにフレームワークとして使ってはいないだろう)
、
それはそのままでは使えない。動くフレームワークは、Cocoa 勉強会のサーバ領域に保存
(ファイル名: QuickLite Framework.zip)

?

テキストファイルのインポート機能があることはあるが、
これはちょっと使えない…。
まじ
めにテキストファイルのインポートする人はちゃんと改造するか、自分で作りましょう

QuickLite を使ったサンプルプログラム
ファイル名:msykQLsample.zip
"SQL1" = "INSERT INTO TEST1(str1,str2) VALUES( '表示', 'aaa strings' );";
"SQL2" = "INSERT INTO TEST1(str1,str2) VALUES( '日本語', 'aaa strings' );";
"SQL3" = "INSERT INTO TEST1(str1,str2) VALUES( '東京特許許可局', 'aaa strings' );";
"SQL4" = "INSERT INTO TEST1(str1,str2) VALUES( '髙島屋', 'aaa strings' );";
"SQL5" = "INSERT INTO TEST1(str1,str2) VALUES( '美しい日本語', 'aaa strings' );";
"SQL6" = "INSERT INTO TEST1(str1,str2) VALUES( '日本語', 'aaa strings' );";

3
#import "DBAccess.h"
//フレームワーク化したQuickLiteをインポート
#import <QuickLite/QuickLite.h>
@implementation DBAccess
- (IBAction)testRun:(id)sender
{
long i;
NSString* dbPath = @"~/testdb"; //データベースファイル
QuickLiteDatabase* db = [QuickLiteDatabase databaseWithFile: dbPath];
//データベースファイルをもとにしたデータベースオブジェクトを構築する
[db open];

//データベースを開く

NSArray* tableArray = [db tables];

//テーブルの個数を参照

for (i = 0; i < [tableArray count]; i++)

//とりあえずテーブルをすべて消す

[db dropTable: [tableArray objectAtIndex: i]];
[db performQuery: @"CREATE TABLE TEST1(id INTEGER PRIMARY KEY, str1, str2);"];
//テーブルを作成するクエリーを発行する
[db performQuery: NSLocalizedString( @"SQL1", @"" ) ];

//INSERTのクエリーを発行

[db performQuery: NSLocalizedString( @"SQL2", @"" ) ];
:
[db performQuery: NSLocalizedString( @"SQL9", @"" ) ];
[db performQuery: NSLocalizedString( @"SQL10", @"" ) ];
QuickLiteCursor* cursor = [db performQuery: @"SELECT * FROM TEST1;"];
//テーブルのレコードをすべて取り出す
long rowCount = [cursor rowCount];

//レコード数を求める

if (rowCount > 0) {
for (i = 0; i < rowCount; i++) {

//それぞれのレコードについて

QuickLiteRow* row = [cursor rowAtIndex: i]; //行データを参照し
if (row != nil) {

//各フィールドの値を取り出す

NSLog(@"%@: %@", @"id", [row stringForColumn: @"id"]);
NSLog(@"%@: %@", @"str1", [row stringForColumn: @"str1"]);
NSLog(@"%@: %@", @"str2", [row stringForColumn: @"str2"]);
}
}
}
[db close]; //データベースを閉じる
}
@end

4

More Related Content

Viewers also liked (6)

Forbidden love 4
Forbidden love 4Forbidden love 4
Forbidden love 4
SATANAPUN
?
Finance Deck 11062014
Finance Deck 11062014Finance Deck 11062014
Finance Deck 11062014
Elske Meines
?
Some Dewey, Some Don't - Final Youth Branch Categories
Some Dewey, Some Don't - Final Youth Branch CategoriesSome Dewey, Some Don't - Final Youth Branch Categories
Some Dewey, Some Don't - Final Youth Branch Categories
Gail Borden Public Library
?
Regulamento interno2Regulamento interno2
Regulamento interno2
nacyr
?
Humans are getting dumber ii
Humans are getting dumber iiHumans are getting dumber ii
Humans are getting dumber ii
Encarni González
?
Forbidden love 4
Forbidden love 4Forbidden love 4
Forbidden love 4
SATANAPUN
?
Finance Deck 11062014
Finance Deck 11062014Finance Deck 11062014
Finance Deck 11062014
Elske Meines
?
Some Dewey, Some Don't - Final Youth Branch Categories
Some Dewey, Some Don't - Final Youth Branch CategoriesSome Dewey, Some Don't - Final Youth Branch Categories
Some Dewey, Some Don't - Final Youth Branch Categories
Gail Borden Public Library
?
Regulamento interno2Regulamento interno2
Regulamento interno2
nacyr
?

Similar to 颁辞肠辞补勉强会#6-厂蚕尝颈迟别を颁辞肠辞补で使う (20)

uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyauroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
Kenichi Hoshi
?
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
Masahiko Sawada
?
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
?
初心者向け SQLite の始め方
初心者向け SQLite の始め方初心者向け SQLite の始め方
初心者向け SQLite の始め方
suno88
?
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
?
笔丑辫で惭y厂辩濒を使う
笔丑辫で惭y厂辩濒を使う笔丑辫で惭y厂辩濒を使う
笔丑辫で惭y厂辩濒を使う
pcod
?
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
Microsoft Tech Summit 2017
?
贵惭顿叠の利用方法
贵惭顿叠の利用方法贵惭顿叠の利用方法
贵惭顿叠の利用方法
uske7i
?
10年前から始まったマイクロソフトの顿别惫翱辫蝉~今とこれから~
10年前から始まったマイクロソフトの顿别惫翱辫蝉~今とこれから~10年前から始まったマイクロソフトの顿别惫翱辫蝉~今とこれから~
10年前から始まったマイクロソフトの顿别惫翱辫蝉~今とこれから~
智治 長沢
?
本当にあった怖い話し Db編
本当にあった怖い話し Db編本当にあった怖い話し Db編
本当にあった怖い話し Db編
Oda Shinsuke
?
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
?
闯补惫补セキュアコーディングセミナー东京第3回讲义
闯补惫补セキュアコーディングセミナー东京第3回讲义闯补惫补セキュアコーディングセミナー东京第3回讲义
闯补惫补セキュアコーディングセミナー东京第3回讲义
JPCERT Coordination Center
?
Azure Cosmos DB を使った クラウト?ネイティフ?アフ?リケーションの 設計ハ?ターン
Azure Cosmos DB を使った クラウト?ネイティフ?アフ?リケーションの 設計ハ?ターンAzure Cosmos DB を使った クラウト?ネイティフ?アフ?リケーションの 設計ハ?ターン
Azure Cosmos DB を使った クラウト?ネイティフ?アフ?リケーションの 設計ハ?ターン
Kazuyuki Miyake
?
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data StoreGetting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
Chihiro Ito
?
Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127
Shotaro Suzuki
?
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティングIT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
Kazuki Takai
?
闯补惫补チョットデキルへの道?闯补惫补コア厂顿碍に见る真似したいコード10选?
闯补惫补チョットデキルへの道?闯补惫补コア厂顿碍に见る真似したいコード10选?闯补惫补チョットデキルへの道?闯补惫补コア厂顿碍に见る真似したいコード10选?
闯补惫补チョットデキルへの道?闯补惫补コア厂顿碍に见る真似したいコード10选?
JustSystems Corporation
?
闯补惫补/础苍诲谤辞颈诲セキュアコーディング
闯补惫补/础苍诲谤辞颈诲セキュアコーディング闯补惫补/础苍诲谤辞颈诲セキュアコーディング
闯补惫补/础苍诲谤辞颈诲セキュアコーディング
Masaki Kubo
?
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyauroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
Kenichi Hoshi
?
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
?
初心者向け SQLite の始め方
初心者向け SQLite の始め方初心者向け SQLite の始め方
初心者向け SQLite の始め方
suno88
?
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
?
笔丑辫で惭y厂辩濒を使う
笔丑辫で惭y厂辩濒を使う笔丑辫で惭y厂辩濒を使う
笔丑辫で惭y厂辩濒を使う
pcod
?
贵惭顿叠の利用方法
贵惭顿叠の利用方法贵惭顿叠の利用方法
贵惭顿叠の利用方法
uske7i
?
10年前から始まったマイクロソフトの顿别惫翱辫蝉~今とこれから~
10年前から始まったマイクロソフトの顿别惫翱辫蝉~今とこれから~10年前から始まったマイクロソフトの顿别惫翱辫蝉~今とこれから~
10年前から始まったマイクロソフトの顿别惫翱辫蝉~今とこれから~
智治 長沢
?
本当にあった怖い話し Db編
本当にあった怖い話し Db編本当にあった怖い話し Db編
本当にあった怖い話し Db編
Oda Shinsuke
?
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
?
闯补惫补セキュアコーディングセミナー东京第3回讲义
闯补惫补セキュアコーディングセミナー东京第3回讲义闯补惫补セキュアコーディングセミナー东京第3回讲义
闯补惫补セキュアコーディングセミナー东京第3回讲义
JPCERT Coordination Center
?
Azure Cosmos DB を使った クラウト?ネイティフ?アフ?リケーションの 設計ハ?ターン
Azure Cosmos DB を使った クラウト?ネイティフ?アフ?リケーションの 設計ハ?ターンAzure Cosmos DB を使った クラウト?ネイティフ?アフ?リケーションの 設計ハ?ターン
Azure Cosmos DB を使った クラウト?ネイティフ?アフ?リケーションの 設計ハ?ターン
Kazuyuki Miyake
?
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data StoreGetting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
Chihiro Ito
?
Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127
Shotaro Suzuki
?
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティングIT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
Kazuki Takai
?
闯补惫补チョットデキルへの道?闯补惫补コア厂顿碍に见る真似したいコード10选?
闯补惫补チョットデキルへの道?闯补惫补コア厂顿碍に见る真似したいコード10选?闯补惫补チョットデキルへの道?闯补惫补コア厂顿碍に见る真似したいコード10选?
闯补惫补チョットデキルへの道?闯补惫补コア厂顿碍に见る真似したいコード10选?
JustSystems Corporation
?
闯补惫补/础苍诲谤辞颈诲セキュアコーディング
闯补惫补/础苍诲谤辞颈诲セキュアコーディング闯补惫补/础苍诲谤辞颈诲セキュアコーディング
闯补惫补/础苍诲谤辞颈诲セキュアコーディング
Masaki Kubo
?

More from Masayuki Nii (20)

Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Masayuki Nii
?
トッフ?エスイー勉强会2014第1回-滨狈罢贰搁-惭别诲颈补迟辞谤
トッフ?エスイー勉强会2014第1回-滨狈罢贰搁-惭别诲颈补迟辞谤トッフ?エスイー勉强会2014第1回-滨狈罢贰搁-惭别诲颈补迟辞谤
トッフ?エスイー勉强会2014第1回-滨狈罢贰搁-惭别诲颈补迟辞谤
Masayuki Nii
?
颁辞肠辞补勉强会#62-新しい通信クラス群狈厂鲍搁尝厂别蝉蝉颈辞苍を使ってみる
颁辞肠辞补勉强会#62-新しい通信クラス群狈厂鲍搁尝厂别蝉蝉颈辞苍を使ってみる颁辞肠辞补勉强会#62-新しい通信クラス群狈厂鲍搁尝厂别蝉蝉颈辞苍を使ってみる
颁辞肠辞补勉强会#62-新しい通信クラス群狈厂鲍搁尝厂别蝉蝉颈辞苍を使ってみる
Masayuki Nii
?
颁辞肠辞补勉强会#34-颈笔丑辞苍别でタブバーを非表示に无理矢理する方法
颁辞肠辞补勉强会#34-颈笔丑辞苍别でタブバーを非表示に无理矢理する方法颁辞肠辞补勉强会#34-颈笔丑辞苍别でタブバーを非表示に无理矢理する方法
颁辞肠辞补勉强会#34-颈笔丑辞苍别でタブバーを非表示に无理矢理する方法
Masayuki Nii
?
颁辞肠辞补勉强会#61-メインスレッド外で狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍
颁辞肠辞补勉强会#61-メインスレッド外で狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍颁辞肠辞补勉强会#61-メインスレッド外で狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍
颁辞肠辞补勉强会#61-メインスレッド外で狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍
Masayuki Nii
?
颁辞肠辞补勉强会#23-カスタムシートと惭辞诲补濒颈迟测
颁辞肠辞补勉强会#23-カスタムシートと惭辞诲补濒颈迟测颁辞肠辞补勉强会#23-カスタムシートと惭辞诲补濒颈迟测
颁辞肠辞补勉强会#23-カスタムシートと惭辞诲补濒颈迟测
Masayuki Nii
?
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Masayuki Nii
?
颁辞肠辞补勉强会#57-叠补蝉别によるローカライズまとめ
颁辞肠辞补勉强会#57-叠补蝉别によるローカライズまとめ颁辞肠辞补勉强会#57-叠补蝉别によるローカライズまとめ
颁辞肠辞补勉强会#57-叠补蝉别によるローカライズまとめ
Masayuki Nii
?
颁辞肠辞补勉强会#56-小ネタ集あなたの常识はすでに通用しない
颁辞肠辞补勉强会#56-小ネタ集あなたの常识はすでに通用しない颁辞肠辞补勉强会#56-小ネタ集あなたの常识はすでに通用しない
颁辞肠辞补勉强会#56-小ネタ集あなたの常识はすでに通用しない
Masayuki Nii
?
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみるCocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Masayuki Nii
?
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビューCocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Masayuki Nii
?
颁辞肠辞补勉强会#33-意外に楽に使える濒颈产肠耻谤濒
颁辞肠辞补勉强会#33-意外に楽に使える濒颈产肠耻谤濒颁辞肠辞补勉强会#33-意外に楽に使える濒颈产肠耻谤濒
颁辞肠辞补勉强会#33-意外に楽に使える濒颈产肠耻谤濒
Masayuki Nii
?
颁辞肠辞补勉强会#28-翱辫别苍厂厂尝で暗号化したファイルを復号する
颁辞肠辞补勉强会#28-翱辫别苍厂厂尝で暗号化したファイルを復号する颁辞肠辞补勉强会#28-翱辫别苍厂厂尝で暗号化したファイルを復号する
颁辞肠辞补勉强会#28-翱辫别苍厂厂尝で暗号化したファイルを復号する
Masayuki Nii
?
颁辞肠辞补勉强会#27-蚕耻颈肠办尝辞辞办プラグインの作り方
颁辞肠辞补勉强会#27-蚕耻颈肠办尝辞辞办プラグインの作り方颁辞肠辞补勉强会#27-蚕耻颈肠办尝辞辞办プラグインの作り方
颁辞肠辞补勉强会#27-蚕耻颈肠办尝辞辞办プラグインの作り方
Masayuki Nii
?
颁辞肠辞补勉强会23-识别情报の変换?文字エンコードとデータタイプ
颁辞肠辞补勉强会23-识别情报の変换?文字エンコードとデータタイプ颁辞肠辞补勉强会23-识别情报の変换?文字エンコードとデータタイプ
颁辞肠辞补勉强会23-识别情报の変换?文字エンコードとデータタイプ
Masayuki Nii
?
颁辞肠辞补勉强会#37-シェイクイベントの実装
颁辞肠辞补勉强会#37-シェイクイベントの実装颁辞肠辞补勉强会#37-シェイクイベントの実装
颁辞肠辞补勉强会#37-シェイクイベントの実装
Masayuki Nii
?
颁辞肠辞补勉强会#32-表形式のデータに顺序を记録する方法
颁辞肠辞补勉强会#32-表形式のデータに顺序を记録する方法颁辞肠辞补勉强会#32-表形式のデータに顺序を记録する方法
颁辞肠辞补勉强会#32-表形式のデータに顺序を记録する方法
Masayuki Nii
?
颁辞肠辞补勉强会#35-颈笔丑辞苍别でのコピペとカスタム鲍滨
颁辞肠辞补勉强会#35-颈笔丑辞苍别でのコピペとカスタム鲍滨颁辞肠辞补勉强会#35-颈笔丑辞苍别でのコピペとカスタム鲍滨
颁辞肠辞补勉强会#35-颈笔丑辞苍别でのコピペとカスタム鲍滨
Masayuki Nii
?
颁辞肠辞补勉强会#47-狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍のデリゲートメソッドと认証
颁辞肠辞补勉强会#47-狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍のデリゲートメソッドと认証颁辞肠辞补勉强会#47-狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍のデリゲートメソッドと认証
颁辞肠辞补勉强会#47-狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍のデリゲートメソッドと认証
Masayuki Nii
?
颁辞肠辞补勉强会#38-鲍滨罢补产濒别痴颈别飞テーブル内のナビゲーション
颁辞肠辞补勉强会#38-鲍滨罢补产濒别痴颈别飞テーブル内のナビゲーション颁辞肠辞补勉强会#38-鲍滨罢补产濒别痴颈别飞テーブル内のナビゲーション
颁辞肠辞补勉强会#38-鲍滨罢补产濒别痴颈别飞テーブル内のナビゲーション
Masayuki Nii
?
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Masayuki Nii
?
トッフ?エスイー勉强会2014第1回-滨狈罢贰搁-惭别诲颈补迟辞谤
トッフ?エスイー勉强会2014第1回-滨狈罢贰搁-惭别诲颈补迟辞谤トッフ?エスイー勉强会2014第1回-滨狈罢贰搁-惭别诲颈补迟辞谤
トッフ?エスイー勉强会2014第1回-滨狈罢贰搁-惭别诲颈补迟辞谤
Masayuki Nii
?
颁辞肠辞补勉强会#62-新しい通信クラス群狈厂鲍搁尝厂别蝉蝉颈辞苍を使ってみる
颁辞肠辞补勉强会#62-新しい通信クラス群狈厂鲍搁尝厂别蝉蝉颈辞苍を使ってみる颁辞肠辞补勉强会#62-新しい通信クラス群狈厂鲍搁尝厂别蝉蝉颈辞苍を使ってみる
颁辞肠辞补勉强会#62-新しい通信クラス群狈厂鲍搁尝厂别蝉蝉颈辞苍を使ってみる
Masayuki Nii
?
颁辞肠辞补勉强会#34-颈笔丑辞苍别でタブバーを非表示に无理矢理する方法
颁辞肠辞补勉强会#34-颈笔丑辞苍别でタブバーを非表示に无理矢理する方法颁辞肠辞补勉强会#34-颈笔丑辞苍别でタブバーを非表示に无理矢理する方法
颁辞肠辞补勉强会#34-颈笔丑辞苍别でタブバーを非表示に无理矢理する方法
Masayuki Nii
?
颁辞肠辞补勉强会#61-メインスレッド外で狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍
颁辞肠辞补勉强会#61-メインスレッド外で狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍颁辞肠辞补勉强会#61-メインスレッド外で狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍
颁辞肠辞补勉强会#61-メインスレッド外で狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍
Masayuki Nii
?
颁辞肠辞补勉强会#23-カスタムシートと惭辞诲补濒颈迟测
颁辞肠辞补勉强会#23-カスタムシートと惭辞诲补濒颈迟测颁辞肠辞补勉强会#23-カスタムシートと惭辞诲补濒颈迟测
颁辞肠辞补勉强会#23-カスタムシートと惭辞诲补濒颈迟测
Masayuki Nii
?
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Masayuki Nii
?
颁辞肠辞补勉强会#57-叠补蝉别によるローカライズまとめ
颁辞肠辞补勉强会#57-叠补蝉别によるローカライズまとめ颁辞肠辞补勉强会#57-叠补蝉别によるローカライズまとめ
颁辞肠辞补勉强会#57-叠补蝉别によるローカライズまとめ
Masayuki Nii
?
颁辞肠辞补勉强会#56-小ネタ集あなたの常识はすでに通用しない
颁辞肠辞补勉强会#56-小ネタ集あなたの常识はすでに通用しない颁辞肠辞补勉强会#56-小ネタ集あなたの常识はすでに通用しない
颁辞肠辞补勉强会#56-小ネタ集あなたの常识はすでに通用しない
Masayuki Nii
?
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみるCocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Masayuki Nii
?
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビューCocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Masayuki Nii
?
颁辞肠辞补勉强会#33-意外に楽に使える濒颈产肠耻谤濒
颁辞肠辞补勉强会#33-意外に楽に使える濒颈产肠耻谤濒颁辞肠辞补勉强会#33-意外に楽に使える濒颈产肠耻谤濒
颁辞肠辞补勉强会#33-意外に楽に使える濒颈产肠耻谤濒
Masayuki Nii
?
颁辞肠辞补勉强会#28-翱辫别苍厂厂尝で暗号化したファイルを復号する
颁辞肠辞补勉强会#28-翱辫别苍厂厂尝で暗号化したファイルを復号する颁辞肠辞补勉强会#28-翱辫别苍厂厂尝で暗号化したファイルを復号する
颁辞肠辞补勉强会#28-翱辫别苍厂厂尝で暗号化したファイルを復号する
Masayuki Nii
?
颁辞肠辞补勉强会#27-蚕耻颈肠办尝辞辞办プラグインの作り方
颁辞肠辞补勉强会#27-蚕耻颈肠办尝辞辞办プラグインの作り方颁辞肠辞补勉强会#27-蚕耻颈肠办尝辞辞办プラグインの作り方
颁辞肠辞补勉强会#27-蚕耻颈肠办尝辞辞办プラグインの作り方
Masayuki Nii
?
颁辞肠辞补勉强会23-识别情报の変换?文字エンコードとデータタイプ
颁辞肠辞补勉强会23-识别情报の変换?文字エンコードとデータタイプ颁辞肠辞补勉强会23-识别情报の変换?文字エンコードとデータタイプ
颁辞肠辞补勉强会23-识别情报の変换?文字エンコードとデータタイプ
Masayuki Nii
?
颁辞肠辞补勉强会#37-シェイクイベントの実装
颁辞肠辞补勉强会#37-シェイクイベントの実装颁辞肠辞补勉强会#37-シェイクイベントの実装
颁辞肠辞补勉强会#37-シェイクイベントの実装
Masayuki Nii
?
颁辞肠辞补勉强会#32-表形式のデータに顺序を记録する方法
颁辞肠辞补勉强会#32-表形式のデータに顺序を记録する方法颁辞肠辞补勉强会#32-表形式のデータに顺序を记録する方法
颁辞肠辞补勉强会#32-表形式のデータに顺序を记録する方法
Masayuki Nii
?
颁辞肠辞补勉强会#35-颈笔丑辞苍别でのコピペとカスタム鲍滨
颁辞肠辞补勉强会#35-颈笔丑辞苍别でのコピペとカスタム鲍滨颁辞肠辞补勉强会#35-颈笔丑辞苍别でのコピペとカスタム鲍滨
颁辞肠辞补勉强会#35-颈笔丑辞苍别でのコピペとカスタム鲍滨
Masayuki Nii
?
颁辞肠辞补勉强会#47-狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍のデリゲートメソッドと认証
颁辞肠辞补勉强会#47-狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍のデリゲートメソッドと认証颁辞肠辞补勉强会#47-狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍のデリゲートメソッドと认証
颁辞肠辞补勉强会#47-狈厂鲍搁尝颁辞苍苍别肠迟颈辞苍のデリゲートメソッドと认証
Masayuki Nii
?
颁辞肠辞补勉强会#38-鲍滨罢补产濒别痴颈别飞テーブル内のナビゲーション
颁辞肠辞补勉强会#38-鲍滨罢补产濒别痴颈别飞テーブル内のナビゲーション颁辞肠辞补勉强会#38-鲍滨罢补产濒别痴颈别飞テーブル内のナビゲーション
颁辞肠辞补勉强会#38-鲍滨罢补产濒别痴颈别飞テーブル内のナビゲーション
Masayuki Nii
?

Recently uploaded (15)

田中瑠彗,东冈秀树,松下光范「手技疗法指导における动作指示の违いが指圧动作に及ぼす影响」
田中瑠彗,东冈秀树,松下光范「手技疗法指导における动作指示の违いが指圧动作に及ぼす影响」田中瑠彗,东冈秀树,松下光范「手技疗法指导における动作指示の违いが指圧动作に及ぼす影响」
田中瑠彗,东冈秀树,松下光范「手技疗法指导における动作指示の违いが指圧动作に及ぼす影响」
Matsushita Laboratory
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
CRI Japan, Inc.
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
shomayama0221
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
顿贰滨惭2025冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲厂丑颈苍办补飞补.辫诲蹿
顿贰滨惭2025冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲厂丑颈苍办补飞补.辫诲蹿顿贰滨惭2025冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲厂丑颈苍办补飞补.辫诲蹿
顿贰滨惭2025冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲厂丑颈苍办补飞补.辫诲蹿
Matsushita Laboratory
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
顿贰滨惭2025冲厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援.辫诲蹿
顿贰滨惭2025冲厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援.辫诲蹿顿贰滨惭2025冲厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援.辫诲蹿
顿贰滨惭2025冲厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援.辫诲蹿
Matsushita Laboratory
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
田中瑠彗,东冈秀树,松下光范「手技疗法指导における动作指示の违いが指圧动作に及ぼす影响」
田中瑠彗,东冈秀树,松下光范「手技疗法指导における动作指示の违いが指圧动作に及ぼす影响」田中瑠彗,东冈秀树,松下光范「手技疗法指导における动作指示の违いが指圧动作に及ぼす影响」
田中瑠彗,东冈秀树,松下光范「手技疗法指导における动作指示の违いが指圧动作に及ぼす影响」
Matsushita Laboratory
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
CRI Japan, Inc.
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
shomayama0221
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
顿贰滨惭2025冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲厂丑颈苍办补飞补.辫诲蹿
顿贰滨惭2025冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲厂丑颈苍办补飞补.辫诲蹿顿贰滨惭2025冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲厂丑颈苍办补飞补.辫诲蹿
顿贰滨惭2025冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲厂丑颈苍办补飞补.辫诲蹿
Matsushita Laboratory
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
顿贰滨惭2025冲厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援.辫诲蹿
顿贰滨惭2025冲厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援.辫诲蹿顿贰滨惭2025冲厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援.辫诲蹿
顿贰滨惭2025冲厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援.辫诲蹿
Matsushita Laboratory
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?

颁辞肠辞补勉强会#6-厂蚕尝颈迟别を颁辞肠辞补で使う

  • 1. 第6回 Cocoa 勉強会(2004/7/10) SQLite を Cocoa で使う(新居雅行) SQL データベースの SQLite SQLite の特徴 ? Public Dmain 、 オ ー プ ン ソ ー ス で 、 事 実 上 自 由 に 使 え る SQL デ ー タ ベ ー ス (http://www.sqlite.org/) ? オリジナルには C/C++および TCL のインタフェースだけが用意されている ? PHP5 への標準バンドル、さらには Mac OS X v10.4 へのバンドルが予定されている ? ネットワークには基本的には非対応のため、 組み込み用途が主なものとなる。 データベース は、1 つのファイルに保存される ? 「タイプレス」という独特の考え方。フィールドにはタイプを指定しないでもいい(という か、指定してもあまり意味はないかも) ? 数値については「精度」 「桁数」的な概念はまったくない。数値は倍精度浮動小数点数(64 ビット)にすべて展開される。 ? 文字も数値もある意味は区別がないためちょっと独特。ただし、そのため BLOB 処理がち ょっと甘いとも言える ? SQL の非サポート機能で目につくのは GRANT がないこと。アクセス権はデータベースフ ァイルに対して設定するというのが基本コンセプト。また、タイプレスのためか CHECK 制約は機能しないなどもある ? Ver.2.8 系列は UTF-8 対応、Ver.3 より UTF-8/16 の両方に対応。なお、Ver.3 ではタイプ の扱いが違ってくる模様。 ? MySQL よりも速いといったベンチマークテストを掲載している。 PostgreSQL よりは 10~ 20 倍、MySQL よりも 2 倍速いとしているが、SQLite では 1 つのトランザクションで処理 する事でそのスピードが出る SQLite を Mac OS X で使うには バイナリとして配布されているのは、Linux と Windows のみ。そのため、Mac OS X で使うに はビルドしないといけないが、配布されているソース群には make すらない。Mac OS X で手 軽に使うには、以下のものが必要。 SQLite の Mac OS X 版ビルド http://www.c-command.com/tools/sqlite.shtml QuickLite http://www.webbotech.com/ 1
  • 2. SQLite のコネクティビティ SQLite の接続機能を強化するものとしては以下のものがある。 SQLite 用の ODBC および JDBC のドライバ http://www.ch-werner.de/sqliteodbc/ http://www.ch-werner.de/javasqlite/ SQLiteServer 1.0(SQLite をネットワークからアクセス。REALbasic で制作) http://sqlabs.net/ QuickLite について ? SQLite を使うための Cocoa のクラスをオープンソースで提供しているのが QuickLite ? 確かに、Xcode で開いてデータベース処理はできるが、事実上、自分で SQL 文をテキスト で作成しなければならない。 つまり、 データベースの内容をオブジェクト化するものではな く、SQLite へのインタフェースを取るための Cocoa クラス ? そのため、以下の 3 種類のオブジェクト(クラス)について知るだけで使える(というか、 その程度の機能) 。以下の表は主なメソッドの紹介で、他にもメソッドがある NSQuickLiteDatabase databaseWithFile: open close performQuery: prepareStringForQuery: encodeDataToBase64: NSQuickLiteCursor rowCount columnCount columnNames rowAtIndex: valuesForColumn: valuesForRow: NSQuickLiteRow stringForColumn: dataForColumn: andRow: values データベースファイルの抽象化 データベースファイルを指定して初期化 データベースをオープン データベースをクローズ 文字列で指定した SQL 文を発行、NSQuickLinkCursor を戻す SQL 文をクエリーできるように変換。つまりクォートの 置き換え NSData を base64 にして NSString を戻す クエリー結果の抽象化クラス レコード数 フィールド数 フィールド名の NSArray を得る レコード番号を指定して NSQuickLinkRow への参照を 得る 文字列で指定したフィールドのデータを NSArray で得る レコード番号で指定したレコードのデータを NSDictionary で得る クエリー結果の中の 1 レコードを抽象化するクラス フィールド名を指定してそのフィールドのデータを文字 列として得る フィールド名とレコード番号指定してそのフィールドの データを NSData として得る レコードのデータを NSDictionary で得る 2
  • 3. ? NSString での Unicode でインプット/アプトプットがきちんとできる。もちろん日本語も OK ? BLOB 対応のために base64 でエンコードする。挿入するデータについては自分で base64 にしないといけないが、メソッドは用意されている。取り出しは NSData として取り出す メソッドで元のバイナリが得られる ? SQLite をフレームワークにするというプロジェクトもあるが、激しくバグっており(きっ と、プロジェクトを作ったけど、ほんとにフレームワークとして使ってはいないだろう) 、 それはそのままでは使えない。動くフレームワークは、Cocoa 勉強会のサーバ領域に保存 (ファイル名: QuickLite Framework.zip) ? テキストファイルのインポート機能があることはあるが、 これはちょっと使えない…。 まじ めにテキストファイルのインポートする人はちゃんと改造するか、自分で作りましょう QuickLite を使ったサンプルプログラム ファイル名:msykQLsample.zip "SQL1" = "INSERT INTO TEST1(str1,str2) VALUES( '表示', 'aaa strings' );"; "SQL2" = "INSERT INTO TEST1(str1,str2) VALUES( '日本語', 'aaa strings' );"; "SQL3" = "INSERT INTO TEST1(str1,str2) VALUES( '東京特許許可局', 'aaa strings' );"; "SQL4" = "INSERT INTO TEST1(str1,str2) VALUES( '髙島屋', 'aaa strings' );"; "SQL5" = "INSERT INTO TEST1(str1,str2) VALUES( '美しい日本語', 'aaa strings' );"; "SQL6" = "INSERT INTO TEST1(str1,str2) VALUES( '日本語', 'aaa strings' );"; 3
  • 4. #import "DBAccess.h" //フレームワーク化したQuickLiteをインポート #import <QuickLite/QuickLite.h> @implementation DBAccess - (IBAction)testRun:(id)sender { long i; NSString* dbPath = @"~/testdb"; //データベースファイル QuickLiteDatabase* db = [QuickLiteDatabase databaseWithFile: dbPath]; //データベースファイルをもとにしたデータベースオブジェクトを構築する [db open]; //データベースを開く NSArray* tableArray = [db tables]; //テーブルの個数を参照 for (i = 0; i < [tableArray count]; i++) //とりあえずテーブルをすべて消す [db dropTable: [tableArray objectAtIndex: i]]; [db performQuery: @"CREATE TABLE TEST1(id INTEGER PRIMARY KEY, str1, str2);"]; //テーブルを作成するクエリーを発行する [db performQuery: NSLocalizedString( @"SQL1", @"" ) ]; //INSERTのクエリーを発行 [db performQuery: NSLocalizedString( @"SQL2", @"" ) ]; : [db performQuery: NSLocalizedString( @"SQL9", @"" ) ]; [db performQuery: NSLocalizedString( @"SQL10", @"" ) ]; QuickLiteCursor* cursor = [db performQuery: @"SELECT * FROM TEST1;"]; //テーブルのレコードをすべて取り出す long rowCount = [cursor rowCount]; //レコード数を求める if (rowCount > 0) { for (i = 0; i < rowCount; i++) { //それぞれのレコードについて QuickLiteRow* row = [cursor rowAtIndex: i]; //行データを参照し if (row != nil) { //各フィールドの値を取り出す NSLog(@"%@: %@", @"id", [row stringForColumn: @"id"]); NSLog(@"%@: %@", @"str1", [row stringForColumn: @"str1"]); NSLog(@"%@: %@", @"str2", [row stringForColumn: @"str2"]); } } } [db close]; //データベースを閉じる } @end 4