ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

データストア

Java用NCMB SDKを開発しています(ACLの使い方)

NCMBではJavaを使ったSDKをAndroid SDKとして提供しています。これはデバイストークンの取得機能など、Androidの関連付いて作られています。同じJavaではありますが、サーバサイドで利用することはできません。 ここでは現在開発中のJava用SDK(非公式)の使…

実用的な検索機能を実装するには

NCMBでは検索に特化した機能は提供していません。しかしアプリの中で検索機能を提供したいと考えることもあるでしょう。そうした時にどんな形で提供できるのか、紹介したいと思います。

NCMBの正規表現を使う際の注意点

あまり知られていませんが、NCMBでのデータストアでは正規表現を使った検索が行えます。MongoDBが実装する正規表現は使えるのですが、相違点も幾つかあります。 ここでは実装時の注意点を紹介します。

より柔軟にデータストアを検索できるよう正規表現を覚えましょう

あまり知られていないのですが、NCMBのデータストアでは正規表現を使った検索ができます。正規表現を使うことで、単純な文字列一致だけでなく、前後一致や一部一致などもできるようになります。簡易的な検索に使えるでしょう。 しかし正規表現はプログラマー…

ネットワーク処理を伴うループを高速化するには

一覧データを表示したり、さらにそこから関連データを表示する際など、ループ処理(繰り返し処理)の中でネットワーク処理を行うことはよくあります。しかし、各ネットワーク処理が1秒で終わるとしても、10回ループすると10秒かかってしまいます。そうした処…

Google App Script用SDKで更新用オペレーションに対応しました

Google App ScriptはGoogleスプレッドシートなどで使えるプログラミング言語になります。マクロ的な使い方もできますし、外部サービスと連携したり、GETやPOSTを使ったWeb APIインタフェースを追加することもできます。 Google App Script用SDKはv8エンジン…

Unity SDKのデータ取得時にUnauthorized operations for signatureが出る場合の対処法

Unity SDKを使ってデータストアのデータ取得を行う際に Unauthorized operations for signature が発生することがあります。これは複雑な検索条件を指定した場合に発生します。 現在SDKは修正中ですが、その対処法を紹介します。

SwiftでObjective-C SDKを利用されている方向けにSwift SDKとの違いを解説(データストア編)

iOSアプリの開発時にSwiftを使っているケースが増えています。その際、各種SDKの利用にObjective-C版を使われることがまだまだ多いようです。Objective-C版は昔から使われていて、こなれていますし、言語のバージョンアップも行われなくなっています。 しか…

アプリ開発の初心者が使うべきサービスを紹介!【ニフクラ mobile backend】

これからアプリ開発に挑戦する方、初心者の方、プッシュ通知や位置情報機能、会員管理やサーバーサイドスクリプト等にお悩みの方必見のブログです。

データストアのデータ存在判定について

データストアはmBaaSにおいて最もよく使われる機能かと思います。プッシュ通知や会員管理などもベースとしてデータストアを使っていますので、データストアの基本を押さえれば、mBaaSがぐっと使いやすくなるでしょう。 今回はJavaScript SDK利用時のデータス…

NCMBで利用できるクエリストリングの種類

mBaaSではデータの取得時にクエリストリングを使ってデータの絞り込みを行います。例えば絞り込み条件であればwhereを使います。ドキュメント「REST API リファレンス : クエリの指定方法 | ニフクラ mobile backend」に記載されている他にも複数あるので、…

データストアのデータ存在チェック法(JavaScript編)

データストアで検索を行い、データの存在状態によって処理分けすることがあります。そんな時に間違った書き方をすると、思わぬ不具合につながります。今回はそんな問題を回避する方法を紹介します。

公開データと非公開データの分け方

mBaaSでは、行ごとのACLのみ設定できます。あるカラムを全体公開しない、あるカラムは更新対象外にするといったことはできません。しかしユーザ情報の一部を公開したい、でも全部取得されてしまうといったニーズはあるかと思います。 そこで今回はデータスト…

データストアの取得を高速化するには

データストアは通常のRDBMSとは異なり、NoSQL型データベースになっています。そのため、特性を理解してデータ取得を行わないと、思ったよりもパフォーマンスが出ないと言った問題になります。 今回はskipを指定した場合のデータ取得について解説します。

データストアのTips紹介

データストアのちょっとしたTipsを幾つか紹介します。

サーバサイドからもmBaaSが使えるJava SDK(データストアの保存)

mBaaSではAndroid向けにSDKを提供しています。コードはJavaで書かれていますが、Androidに最適化されているため、サーバサイドのJavaでは利用できません。 そこで非公式ながらJava SDKを作り始めています。まず最初はデータストアの保存処理からです。

管理画面を便利にするGoogle Chrome機能拡張の紹介(データストアダウンロード)

Google Chromeではセキュリティ強化のため、scriptタグを動的に生成するタイプのブックマークレットは利用できなくなっています。そのため、管理画面を便利にするブックマークレットが各種利用できなくなっています。 そこでGoogle Chrome機能拡張にすること…

データのエクスポート、インポート時の注意点

データをバックアップしたり、分析したりといった目的でエクスポートすることはよくあるかと思います。また、別なシステムからデータをエクスポートして、取り込みたいと思うこともあります。そんな時に注意して欲しい点を挙げます。

データストアを高速化する(データ追加編)

データストアはネットワークアクセスを伴うので、大量のデータを処理しようと思うとネットワークレイテンシーがボトルネックになってきます。そこで今回はデータの追加処理(更新、削除も)高速化するためのアイディアを紹介します。

データストアを高速化する(データ取得編)

データストアに限りませんが、mBaaSを使う際にはネットワークアクセスが必要です。そのため、いかにネットワーク通信量(回数、データ量)を減らすかがアプリ高速化の鍵になります。 今回はデータストアにおけるデータの持ち方と、その速度比較を紹介します。

データストアをセキュアに運用する

データストアはスキーマレスなデータベースで、柔軟に利用できます。しかし、その柔軟さ故にコーディングミスでカラムが作られてしまったり、データが追加されてしまったりします。 RDBMSに慣れている人はもう少し制約を付けたいと思うでしょう。今回はその…

データストアのデータを全件取るユーティリティ関数の紹介

データストアでは一度に1,000件のデータまでしか取得できません。しかし、それ以上データがあることは多いでしょう。そんな時に、毎回データの件数を調べて繰り返し取得する処理を書くのは面倒です。 そこで使ってみて欲しいのが ncmb-utils です。Node.js向…

データストアはこんな使い方もできます!

データストアはスキーマレスなデータベースとなっています。さらにデータベースで言うテーブル相当についても、リクエストした際になければ作るといった仕組みになっています。そのため、今回紹介するようなちょっと無茶な使い方もできてしまいます。

配列のカラムを扱う場合の注意点(JavaScript編)

mBaaSのデータストアでは数字や文字列、日付、位置情報などの他に配列やオブジェクトを保存することができます。その際、特に注意して欲しいのが配列のカラムです。今回はJavaScript SDKを使った際の注意点を紹介します。

データストア、プッシュ通知、ユーザ一覧、デバイストークン一覧をJSONでダウンロードする方法

mBaaSではエクスポート機能を提供しています。エクスポートを使うことでデータストアや会員管理、プッシュ通知などのデータをダウンロードできます。難点は処理がオンデマンドではなくバッチ処理になっていることで、申請してメールでダウンロード可能になっ…

ファイルストアでメタデータを扱う方法

ファイルストレージとして便利なファイルストアですが、条件を付けて検索したいと思うことがあります。ファイルストアの検索ではファイル名やmimeType、ファイルサイズなどが指定可能です。 しかし、これだけでは物足りない場合もあるでしょう。そこで使って…

サブクエリを使いこなそう

データストアのクラス同士でデータを連係させる場合、二つの方法が用意されています。 ポインター リレーション ポインターは1対n、リレーションはn対nのデータ関係性において利用が可能です。しかし、データ連係を行わずに各クラスにデータを投入してしまっ…

TwilioとNCMBの共催ハンズオンを実施しました

5月27日、TwilioとNCMBの共催ハンズオンを実施しました。Monacaアプリから電話をかけ、かかってきた電話への反応をNCMBのデータストアに保存するというものです。

Swift + iOS SDKでOR検索を使う

NCMBのiOS SDKは正式にはSwiftをサポートしておらず、サンプルのコードもObjective-Cとなっています。Swiftはすでに3が主流となっており、利用者も増えています。そこでNCMB iOS SDKをSwiftでどう使えば良いかをコード例を用いつつ紹介します。 今回はiOS SD…

Swiftでデータストアを位置情報検索する(半径検索)

mBaaSのデータストアでは位置情報を扱えます。位置情報なので、地図アプリや現実世界に合わせた情報を紹介するアプリなどに向いています。今回はデータストアを位置情報で検索して、返ってきた結果をMapKit上に表示します。