タグ

2014年2月5日のブックマーク (21件)

  • [MBaaS] Parseで簡単モバイルバックエンド構築 – 【ざっと概要】 | DevelopersIO

    Parse.com 今話題のMBaaSの1つ 2013年のAndroid Advent Calendarでも話題にされたり、Effective Androidでも記事が執筆されるなど、モバイル・アプリケーション界隈で最近人気の出ているサービスです。 MBaaS(Mobile Backend as a Service) の名前の通り、このサービスを利用することで、モバイル・アプリケーションに必要な主要な機能をサーバーレスで実現することができます。 裏側ではAWSが動いているそうです。 それなりにボリュームがあるので、まずは第一弾として全体像を薄くざっくりと見てみます MBaaS? dropboxやGoogle Drive, iCloudなどをはじめ、Cloud上にデータを置くことは一般的に浸透してきました。 iOSやAndroidのモバイル端末でも、この流れは当然あるわけで、Cloud上にデ

    [MBaaS] Parseで簡単モバイルバックエンド構築 – 【ざっと概要】 | DevelopersIO
  • アプリ開発初心者に贈るアプリの基本テスト項目一覧ガイド - SEO Japan|アイオイクスのSEO・CV改善・Webサイト集客情報ブログ

    無料で資料をダウンロード SEOサービスのご案内 専門のコンサルタントが貴社サイトのご要望・課題整理から施策の立案を行い、検索エンジンからの流入数向上を支援いたします。 無料ダウンロードする >> PCに加えスマホアプリやタブレット、iOSにAndroidとサービスリリース前にテストしなければいけない環境や機種が大幅に増えている現在。効率的なテスト方法を模索している方も多いと思いますが、今回はThe Next Webからアプリのテスト方法をまとめてくれたガイダンス記事を。 — SEO Japan この記事は、ウェブアプリとモバイルアプリをとことんシンプルにモニタリングするサービス「New Relic」に提供してもらった。 ユーザーが、ウェブアプリ、そして、デスクトップアプリから、出来るだけ多くの機能、信頼性、そして、柔軟性を望む時代が到来している。データは、徐々に、しかし、確実にクラウド化

    アプリ開発初心者に贈るアプリの基本テスト項目一覧ガイド - SEO Japan|アイオイクスのSEO・CV改善・Webサイト集客情報ブログ
  • やさしい設計 〜 Android 編 - Qiita

    アプリを作っていてありがちなこと Android には、画面を構成するための Activity というコンポーネントがあり、概ね MVC フレームワークの Controller に相当する機能を持っています。 MVC といえば、肥大化する Controller というのがよくある問題として挙げられますが、Activity も例に漏れず、往々にして肥大化しがちです。 また、Model も、その責務を詰め込んでいくと肥大化しやすいレイヤと言えます。 この投稿では、Controller や Model の肥大化を極力防ぐためのレイヤわけを、Android アプリ向けに書いていきます。 Activity を綺麗に保つ Activity は、Controller として、様々な UI から受けるイベントを受けて、適切にハンドリングする役割を持っています。 OptionsMenu や ContextM

    やさしい設計 〜 Android 編 - Qiita
  • セキュリティチェックで使ったりするもの - natural days

    最近なぜかアプリ・サーバ周りのセキュリティ周りでチェックをする事が多く、面倒なので書いておく。多くの人にとって普通の事だと思うから、あんまり参考にならないかも知れないけど悪用はダメよ。 まずはiPhoneで。脱獄するのは面倒なので、さくっとアプリのデータとかを書き換える。・使うもの:iTunes、iBackupBot、SQL Lite Data Browserとか・手順1. iTunesでiPhoneのバックアップをとる2. バックアップファイルをiBackupBotで閲覧する。以下のような感じ。3. アプリがcocos, lua, unity ... とかで作られていたりという事が分かったりします。中身のDBSQLite、pfileとかなら直接編集してデータ、ライブラリ等を書き換える事ができたりする。4. 対象アプリのデータを編集し終わったら、iTuneでバックアップの復元を実行する。

  • 職人任せにしないインフラ構築/運用 ~ DevOps時代を生きぬくために ~

    http://nucon.nulab.co.jp/timetable/#track8

    職人任せにしないインフラ構築/運用 ~ DevOps時代を生きぬくために ~
  • 上司があなたをお酒に誘って伝えたいと思っている7つの真実 - ICHIROYAのブログ

    大学を卒業したころ、生意気ざかりだった僕は、世の中のことや人間ってやつのことはだいたいわかっていると思っていた。 だから、自己啓発書を読むのも嫌いだったし、教師や親の言うこともきちんと聞こうとはしなかった。 会社でも上司や先輩たちの酒の誘いが嫌で仕方がなかった。 どうせ、つまらない説教をされるか、自慢話を聞かされるか、愚痴を延々と聞かされることになるとわかっていたからだ。 しかし、案の定、僕はその後、何度も何度も壁にぶちあたった。 そして、文字通り、泣きながら様々なことを思い知った。 僕と同じように、若いひとたちは、今日も上司に酒を誘われて、どうやって断ろうかと困っているだろう。あるいは、仕方なく付き合って、何時までつきあったら「帰ります」と言い出しても人事考課に響かないだろうかと迷っているに違いない。 で、幾万の上司があなたのことを思って、まあ、いくぶん自慢や後悔や愚痴や、そして自分が会

    上司があなたをお酒に誘って伝えたいと思っている7つの真実 - ICHIROYAのブログ
  • iOSで特定の周波数の音を鳴らす方法 - Qiita

    指定した周波数の音を鳴らすためのコードです。 ご参考までに。 AudioToolBox.frameworkを追加する必要があります。 #import <UIKit/UIKit.h> #import <AudioToolbox/AudioToolbox.h> @interface ViewController : UIViewController{ AudioUnit aU; UInt32 bitRate; } @property (nonatomic) double phase; @property (nonatomic) Float64 sampleRate; @property (nonatomic) Float64 frequency; static OSStatus renderer(void *inRef, AudioUnitRenderActionFlags *ioAction

    iOSで特定の周波数の音を鳴らす方法 - Qiita
  • 最適化のお話

    最適化についてまとめます。 特にiPhoneAndroid向けに開発する場合は悩まされる部分ではあります。 Unityに限らず役に立つ部分もあるかもしれません。 まず最適化を行う上で意識すべきことはキャッシュすることです。 毎ループごとにGetComponent()しているような部分はStartであらかじめキャッシュすることで無駄な処理を省くことができます。 また、ComponentだけではなくFind()で探しているオブジェクトや、結果が変わらない計算等はキャッシュするのが基です。 ほかにもRaycastのキャッシュも効果があります。Raycast自身を無意識で使用してしまうととんでもないネックになることがほとんどです。LayerMaskを指定して判定を行うオブジェクトを少なくすることは当然ですが、一度判定が取れたのならばその判定をキャッシュしておきRaycastHit.collid

  • CoreDataのマイグレーションをしようとしたときのメモ(未解決あり) - Qiita

    今回は、CoreDataの手動マイグレーションをやってみようとしてハマったのでそのメモです。 最終的には自動マイグレーションで終わらせました。ある程度の手動マイグレーションの感覚は掴めた気がしていますが、なぜ最後まで動かなかったのかは未解決です・・。 まず、マイグレーションの手順。 CoreDateのモデルファイル(XXXX.xcdatamodeld)を選択した状態でメニューから「Editor > Add Model Version…」を選択し、新しいバージョンのモデルファイルを生成 新規作成した新しいバージョンのモデルデータを選択した状態で プロパティなど、Entityを編集 「QiitaModel 2.xcdatamodel」が新しく生成したモデルファイル 修正後、新規ファイル作成で「Core Date > Mapping Model」ファイルを生成 生成時、移行元と移行先のモデルデー

    CoreDataのマイグレーションをしようとしたときのメモ(未解決あり) - Qiita
  • [Objective-C] CoreDataを使う - Qiita

    使う前の準備 まず、CoreDataを使うためにいくつかのインスタンスを生成しておく必要があります。 NSManagedObjectModel、NSPersistentStoreCoordinator、NSManagedObjectContextの3つです。 NSManagedObjectModelを定義を元に生成 NSManagedObjectModelのインスタンスを元にNSPersistentStoreCoodinatorクラスを生成(ちなみに和訳は「永続化ストア」) CoreDataで使うSQLiteのファイルを取得 生成したNSPersistentStoreCoodinatorインスタンスをNSSQLiteStoreTypeに指定し、(3)で取得したファイルのURLを指定してセットアップ (4)までで生成したNSPersistentStoreCoodinatorを元に、NSMan

    [Objective-C] CoreDataを使う - Qiita
  • Google Analytics SDK for iOS v3 (Beta)導入時のエラー - Qiita

    iOSアプリアクセス解析を導入する際に(もはやアクセス解析と言わないかもしれませんが。。。) Google Analyticsを使われる方が多いと思いますが なんとまぁ以下Googleのドキュメント通りにしてもエラーがでます。 Google Analytics SDK for iOS v3 (Beta) - Getting Started https://developers.google.com/analytics/devguides/collection/ios/v3/#headers Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_ASIdentifierManager", referenced from: objc-class-ref in libGoogleAnalyticsServices.a(GAITrack

    Google Analytics SDK for iOS v3 (Beta)導入時のエラー - Qiita
  • CoreBluetooth で出来る事 - Qiita

    できる事 動的に変わるデータの通信 データはバイトデータで渡さるため、どんなデータでも渡せる セキュアなデータでも送れる ペアリングが必要 特に難しい実装しなくともフラグを設定しておくだけでペアリングフローを実施してくれる UUID を知らなくてもスキャンすること自体は可能 電力消費量的に未指定は非推奨 サービスの中にサービスを入れることも可能 included service バックグラウンドでも動作する デバイスの検知 ただしアクティブスキャンは出来ない アドバタイズ発信 ただしローカルネームは送信されない 出来ないこと お互いの位置を性格に把握すること サーバーへの書き込みに21バイト以上送信すること アドバタイズパケットには容量制限がある 28 バイトまで UUID は 16 バイトあるので1つしか入れられない 収まらなかったサービス UUID はアクティブスキャンにて返却可能 デ

    CoreBluetooth で出来る事 - Qiita
  • tesseract-ocrライブラリを使った画像ファイルからの文字認識 : 未知の破片

    上の画像を読み取ると下記のように読み取れた。 The quick brown foxjumps over the lazy dog.The quick brown foxjumps over the lazy dog. 結構正確に読み取れていますね。 次は、日語。上記を読み取ると下記のようになった。 業斤しL丶朝ヵ言来ナニ 重望の朝ナ三 暑ぴーニ胸を開ーナ 大空あおーナ ラジオの声ーニ 健やヵ丶な胸を この香る風ーニ 開ーナよ ん~。日語はまだまだですね。。 tesseract-ocrライブラリはこちらからダウンロードできます。 tesseract-ocr.zip #define UNICODE #pragma comment(lib,"gdiplus") #pragma comment(lib,"libtesseract302") #pragma comment(lib,"lible

    tesseract-ocrライブラリを使った画像ファイルからの文字認識 : 未知の破片
  • Objective-C と Java と C# でクロージャ的な書き方の比較 - Qiita

    int x = 1; __block int y = 2; dispatch_queue_t q_global = dispatch_get_global_queue(0, 0); dispatch_async(q_global, ^{ x = 10; // できない(コンパイルエラー y = 20; // できる int z = x + y; [self dispValue:z]; // self の参照カウンタが+1される }); 普通に宣言した変数を Block の中で使うと、自動的に「キャプチャ」され、変数が複製される。この変数には、 Block 内では代入できずコンパイルエラーとなる。 __block を付けた変数は、Block 内外で同じ実体を参照でき、代入もできる。 self やプロパティを Block 内で使用すると参照カウンタがインクリメントされ、明示的に release

    Objective-C と Java と C# でクロージャ的な書き方の比較 - Qiita
  • Objective-CやCのプリプロセッサ(マクロ)のメモ - Qiita

    #define ANY_NUM 1 #define _HOGE(str) #str #define HOGE(str) _HOGE(str) static NSString *const kSomeString = @"hoge" HOGE(ANY_NUM) @"foo"; // => "hoge 1 foo"

    Objective-CやCのプリプロセッサ(マクロ)のメモ - Qiita
  • iPhoneアプリ開発で使用したオープンソースライブラリまとめ - Qiita

    このまえ新しいアプリを作って公開して、そのアプリはライブラリ結構使おーと思って開発したので、使わせてもらったものをまとめました。ライセンスは全部MITとかApacheとかです。 ちなみに Popin というアプリです。Twitterのリンクだけを手軽に見るためのアプリです。超便利です!! PBTweenAnimation アニメーションが簡単に実装できるライブラリです。 UIAlertViewが表示される時のバウンス(iOS6以前)とか、拡大・縮小・回転とかその手のアニメーションが超お手軽に実装できます。たとえばPopinでタイムラインのセルを右から左にスワイプすると拡大のバウンスアニメーションしながらボタンが出ますが、そのアニメーション用のコードは以下です。 CFTimeInterval duration = 0.75f; CAAnimation *appearAnimation = P

    iPhoneアプリ開発で使用したオープンソースライブラリまとめ - Qiita
  • iOSでTDDをしてみる-Kiwi-Expectations編 - Qiita

    KiwiのExpectationsについての簡単な解説です。これは、最新情報では無いかもしれません。細かいことについては、公式を見ることをおすすめします。 https://github.com/allending/Kiwi/wiki/Expectations/ 例示を用いてオブジェクトの動作を確認していく仕組みについてです。これはマッチャー式を用いて記述されます。 shouldとshouldNot [subject should]と[subject shouldNot]を用いて期待する動作になるかをテストします。subjectがnil出会った場合でも問題なくテストは動作します。ただし、あまりにもnilであることが自明な場合コンパイルエラーになります。 equal: 同値判定をする場合に用います。他にもの継承クラスでことの判定などのメソッドが用意されています。 [[subject shoul

    iOSでTDDをしてみる-Kiwi-Expectations編 - Qiita
  • gacco - すぐに始めてずっと続けられる動画学習サービス

    スマホやタブレットからも学びやすく! ビジネススキルから教養まで幅広いジャンルの講座がより身近に。 通勤・通学などスキマ時間での学習にぜひご利用ください。 ※一部の容量が大きい講座は、アプリでの表示に時間がかかる場合があります。 ※有料講座はアプリ非対応です。

    gacco - すぐに始めてずっと続けられる動画学習サービス
  • [iOS] Mac OS X に Jenkins 環境を構築して CocoaPods なプロジェクトをビルドする | DevelopersIO

    Jenkins で CocoaPods なプロジェクトをビルド 昨今では iOS アプリ開発でライブラリを扱う場合、CocoaPods を使うというのが定石になっていると思います。 Jenkins でビルドする話はこちらでも解説していますが、Xcode 5 になったのと Xcode Integration Plugin のバージョンアップもあり、手順が少し変わってきているようです。 ということで Mac OS X に Jenkins をインストールして、CocoaPods を使っている iOS アプリプロジェクトをビルドするまでの流れを改めてちょっとまとめてみました。 Jenkins のインストール まずは Jenkins のインストールです。ここでは Homebrew を使ってインストールします。Homebrew や Git などのインストールについては次の記事を参考にしてください。 H

    [iOS] Mac OS X に Jenkins 環境を構築して CocoaPods なプロジェクトをビルドする | DevelopersIO
  • iOS で CSS スキニング

    NUI を使って CSS スキニングしてみたお話

    iOS で CSS スキニング
  • iOSアプリの全てのビューコントローラーにGoogleAnalyticsを一括で設定する - yo_waka's blog

    つまり、UITableViewControllerをふんだんに使っていたり、UIViewControllerを継承したベースクラスを作っていると、1つ1つのビューに同じ処理を書かないといけない。 これは絶対入れるの忘れそうなのでなんとかしたい。。。と思って調べてみた。 Objective-CにはMethod Swizzlingという、すでに実装されているクラスのメソッドを自前のメソッドに入れ替えるやり方が用意されているらしい。 "objc/runtime.h"が提供している、method_exchangeImplementations関数を使えばクラスメソッドの入れ替えが可能になる。 これを使ってUIViewControllerのメソッドを入れ替えれば各画面ごとにアナリティクス処理を書かずに済みそう。 つまり、UIViewControllerのカテゴリ拡張を作って、viewDidAppea

    s_ryuuki
    s_ryuuki 2014/02/05
    "objc/runtime.h"が提供している、method_exchangeImplementations関数を使えばクラスメソッドの入れ替えが可能になる。