タグ

ブックマーク / dev.classmethod.jp (23)

  • [iOS 9] iOS 9 で追加された App Transport Security の概要 | DevelopersIO

    はじめに iOS 9 で追加された「App Transport Security」について調べてみましたのでご紹介します。 目次 App Transport Security とは App Transport Security の基動作 Info.plist に例外を設定 Info.plist の設定例 SSL/TLS 暗号スイート ログ出力について まとめ App Transport Security とは App Transport Security (以降、ATS と呼びます) は iOS 9.0 または OS X 10.11 以上で有効な機能であり、アプリとウェブサービスとの間のセキュアな接続のために利用できます。 ATS が有効の場合、HTTP での通信はできません。また、Apple が推奨する必要条件を満たさない接続は強制的に接続失敗扱いになります。例えば、Apple 推奨の

    [iOS 9] iOS 9 で追加された App Transport Security の概要 | DevelopersIO
  • 【API Blueprintの使い方】Web APIの仕様書を書く・読む・実行する | DevelopersIO

    API Blueprintの使い方】Web APIの仕様書を書く・読む・実行する できればドキュメント書きたくないなー。はやくAPI実装したい!俺の頭の中に全部仕様入ってるから!俺が仕様だ! ... その仕様、API Blueprintでドキュメントにおこしませんか? はじめに デバイスが多様化し、その違いを吸収する統一的なインターフェースが求められる昨今、Web APIはその回答のひとつといえます。弊社でも、モバイルアプリとWeb APIを組み合わせてサービスを構築することがあります。 Web APIが登場する開発では、モバイルアプリ(APIクライアント)メンバーと、APIサーバメンバーのコミュニケーションが不可欠です。開発を円滑に進めるために、APIの仕様書 が必要になります。お互いがAPIの仕様を想像して勝手に開発を進めたのでは、いざ結合したときに悲惨な結果になることが目に見えてい

    【API Blueprintの使い方】Web APIの仕様書を書く・読む・実行する | DevelopersIO
  • [Ruby] よく使うRspecのレシピ集(Rspec3.3) | DevelopersIO

    モバイルアプリサービス部の五十嵐です。 最近Rspecをガッツリ書いたので、調べたことをユースケースごとにまとめてみます。 対象バージョンはRspec3.3です。 リフレクション Rubyのリフレクションを使用したテストの書き方です。 インスタンス変数を操作したい インスタンス変数を取得したい場合はinstance_variable_get、設定したい場合はinstance_variable_setを使います。また、instance_variable_setでモックを仕込むことでレシーバオブジェクトのインスタンス変数や動作を操作することができます。 obj = Person.new(name: 'Hoge') # initializerで@nameにnameがセットされる想定 name = obj.instance_variable_get('@name') expect(name).to

    [Ruby] よく使うRspecのレシピ集(Rspec3.3) | DevelopersIO
  • 最近話題のWeb言語 Elixirのご紹介 | DevelopersIO

    ここ最近、Elixirという言語がWebプログラマー界隈で話題になっています。 ElixirはErlangのVM上で動くRuby風味の関数型言語で、RailsコミッタのJose Valimさんが作ったプログラミング言語です。 この言語はErlangの並行性とRubyの開発生産性を持っています。 今回はこの言語が出てきた背景と文法の特徴について書こうと思います。 Elixirが注目されている理由 ここ数年、Webアプリケーションは以下の問題を抱えています。 C10K問題 10000以上のクライアントがサーバに同時接続すると、HWの性能は足りていてもOS、ソフトウェアの問題で処理が破綻する ムーアの法則の限界 CPUチップメーカーの製造するチップのクロックレートの成長に陰り。代わりにマルチコアアーキテクチャのCPUが開発されている リアルタイムWeb サーバ、クライアントが常時接続するアプリケ

    最近話題のWeb言語 Elixirのご紹介 | DevelopersIO
  • VagrantとChefでRailsアプリのStaging環境をつくる | DevelopersIO

    Railsアプリケーションの検証用環境のお話です。 普段Railsアプリケーションを開発しているローカル環境とアプリケーションが番稼動する環境との間では、OS、ソフトウェアの種類、設定ファイルの設定値等にかなり差があります。そこで、番環境相当の環境(以後、ステージング環境と呼びます)をローカル端末の仮想マシン上に作成し開発中のアプリケーションを動かすことができれば、番環境でしか発生しないバグの対処や開発環境では動かす予定のない機能の検証が簡単にできるので非常に便利です。 環境構築は自動化し、環境を壊してもコマンド一つですぐにまた再構築できるようにします。 今回作成する環境の概要図です。 ローカルマシン上に仮想環境をコマンドラインで作成、操作するツールで、仮想化ソフトウェアのフロントエンドになります。開発環境や番環境で使いたいOS、ソフトウェアがインストールされた環境を簡単に作成する

    VagrantとChefでRailsアプリのStaging環境をつくる | DevelopersIO
  • はじめてのDocker on Mac OS X | DevelopersIO

    ども、大瀧です。 今週金曜日にあるDocker Meetup Tokyo #2という勉強会でLTすることになりまして、大慌てでDocker触ってます。Dockerの開発は非常に活発で、新機能や仕様変更が続々と出ており刺激的なのですが、手元の開発環境として使っているMBAでのセットアップ方法が以前と変わりすぎていたので、備忘録としてまとめておきます。 Dockerの実行方法はVagrantを使う方法などいくつかありますが、今回はDocker公式ドキュメントをベースに、Homebrewで簡単にインストールする方法をチョイスしてみました。すぐに陳腐化する恐れがありますので、そこんとこオナシャス!です。 必要なソフトウェア OS X Mavericks(DockerはSnow Leopard以降をサポート) VirtualBox Homebrew VirtualBoxおよびHomebrewのインス

    はじめてのDocker on Mac OS X | DevelopersIO
  • [イベントレポート] iOS オールスターズ勉強会 #dotsios | DevelopersIO

    iOS オールスターズ勉強会の最速レポート公開! こんにちは、横山です。iOSエンジニアの方であれば、大注目のiOSオールスターズ勉強会の最速?レポートしたいと思います。 我らiPhoneアプリサービス事業部のエース平井も、今回のイベントで「エンジニア戦記 ~ 小さなチーム 大きな未来 ~を発表させていただいたので、是非スライドをご一読いただければと幸いです! 主催協力 今回のイベントは、dots.様、がイベントの企画・運営を主導していただき、加えて維新株式会社様が協賛運営いただき 今回のイベントを開催の運びとなったそうです。当日はdots.の方々に司会進行や受付など、イベント進行全般に関して大変お世話になりました。 �参加者も定員の370人を超えて、キャンセル待ちもでる。注目度の高いイベントになりました。 会場 会場は恵比寿駅から少し歩いた、綺麗なビルの9Fで、エントランスもオシャレでし

    [イベントレポート] iOS オールスターズ勉強会 #dotsios | DevelopersIO
    ya_yohei
    ya_yohei 2015/02/18
  • [Swift] HTTP通信OSS Alamofire 導入編 | DevelopersIO

    Objective-Cでは有名なHTTP通信OSS AFNetworking がありました。Swift版 AFNetworking といえるOSSとして Alamofire フレームワークを記事では紹介します。 作者はObjective−Cの AFNetworking の作者と同じ Mattt Thompson 氏です。 導入方法 導入には git submodule を用います。まずはコマンドラインでプロジェクトのルートディレクトリ内に移動してください。 プロジェクトに git を導入していない場合はgit initでgitリポジトリを初期化してください。 その後、以下のようにサブモジュールを追加します。 git submodule add https://github.com/Alamofire/Alamofire.git これでプロジェクトディレクトリ内に Alamofire のフ

    [Swift] HTTP通信OSS Alamofire 導入編 | DevelopersIO
  • [iOS 8/Xcode 6] SwiftではじめるiOS開発 #1 [Table View] | DevelopersIO

    ただいま基動作を絶賛学習中です。 Table View ツール系のアプリで使う場面が多いリスト表示について実装してみたいと思います。 Objective-Cの記事ですが、UITableViewを使うにあたって、事前にこちらの記事を確認しておくと、スムーズに理解できると思います。 [iOS] StoryboardでUITableViewを実装し理解する [4月からはじめるiPhoneアプリ #1] プロジェクトの作成 Single View Applicationでプロジェクトを作成します。 作成したプロジェクトのMain.storyboardを開き、右下のコンテナからTableViewを選択してドラッグ&ドロップでstoryboardのViewControllerに追加します。 次に、先ほど追加したTableViewをViewController.swiftに登録します。 ひとまずこれで

    [iOS 8/Xcode 6] SwiftではじめるiOS開発 #1 [Table View] | DevelopersIO
  • 新しいプログラミング言語 Swift | DevelopersIO

    Objective-Cに替わる新しいプログラミング言語Swiftの登場 WWDC2014で発表された新しいプログラミング言語Swiftでできることを紹介したいと思います。 今までとこれから Swift使うとこんなにコードが短くなるぜという例です。 今まで これから 確かにスマートですね。 言語ガイドをダウンロード iBookでガイドを読めますのでダウンロードしてみましょう。 変数の宣言 varは変数、letは定数 var myVar = 42 myVar = 50 let myConst = 42 コントロール if,switch,for-in,for,while,do-while let individualScores = [76, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score >

    新しいプログラミング言語 Swift | DevelopersIO
    ya_yohei
    ya_yohei 2014/06/03
    “iBook”
  • AngularJSをはじめる前に#AngularJS入門その1 | DevelopersIO

    AngularJSをはじめよう ここにあるように、最近はWebアプリを作成する際にJavaScriptのフレームワークを使用するのが当たり前といっていいくらい、 さまざまなフレームワークが存在します。 弊社ブログでもember.jsの記事等、JavaScriptのいろいろなライブラリ・フレームワークを紹介していますが、 私が近頃AngularJSを使用する機会があり、とても使いやすかったので、改めてここで紹介しようと思います。 AngularJSとは もう一度「AngularJSとはなにか」という部分を簡単におさらいを。 AngularJSはGoogleとコミュニティより開発しているオープンソース(MIT)のJavaScript用MVWフレームワークです。 テンプレート言語としてHTMLを使用できたり、双方向データバインディングやDI(依存注入)が使用できたりと、 近年複雑化するWebアプ

    AngularJSをはじめる前に#AngularJS入門その1 | DevelopersIO
  • [iOS 7] JavaScriptCore Framework を使った Objective-C と JavaScript の連携ができるようになった | DevelopersIO

    はじめに iOS 7 / Mac OS X 10.9 から Objective-C から JavaScript の相互連携ができるようになりました。どんな感じで連携ができるのでしょうか。 サンプルコード Objective-C から JavaScript の式 [C] // コンテキストを作成 JSContext *context = [[JSContext alloc] init]; // 計算 JSValue *result = [context evaluateScript:@"1 + 2;"]; // 結果 NSLog(@"1 + 2 = %d", [result toInt32]); [/C] JSContextクラスからJavaScriptを実行する場所としてのインスタンスを作成し、- (JSValue *)evaluateScript:(NSString *)script;メ

    [iOS 7] JavaScriptCore Framework を使った Objective-C と JavaScript の連携ができるようになった | DevelopersIO
  • AngularJS コードの構造化 | DevelopersIO

    複数人で AngularJS を利用した Web アプリケーションを構築するときに必要なルールをまとめてみました。 ( あくまで策定中のルールであり、今後も改変する可能性があります。また、ベストプラクティスを謳うものではありません ) 使用 AngularJS のバージョン angular.js 1.2.5 angular-route.js 1.2.5 参考サイト Dan Wahlin's Blog | Structuring AngularJS Code http://weblogs.asp.net/dwahlin/archive/2013/12/01/structuring-angularjs-code.aspx GitHub | mgechev / angularjs-style-guide / README-ja-jp.md https://github.com/mgechev/a

    AngularJS コードの構造化 | DevelopersIO
  • GitHub と homesick を使って複数 Mac 間で dotfiles を同期する | DevelopersIO

    複数 Mac 間で、.vimrc や .zshrc などの設定ファイル(dotfiles)の同期って面倒くさいですよね。 dotfiles の管理には、GitHub とシェルで管理したり、Dropbox を使ったりあるようですが、 最近 homesick という gem を教えてもらい、簡単に管理することができたので、私はコレを使っています。 用意するもの GitHub のアカウント Mac *1 homesick のインストール homesick は gem install で簡単にインストールできます。 $ gem install homesick rbenv を使ってる場合は、rehash しておきましょう。 $ rbenv rehash GitHub に dotfiles リポジトリを作成 GitHub にリポジトリを作成します。 先ずは、ローカルに dotfiles ディレクトリ

    GitHub と homesick を使って複数 Mac 間で dotfiles を同期する | DevelopersIO
    ya_yohei
    ya_yohei 2013/11/20
    “homesick”
  • よく分かる!iOS アプリのリリース手順のまとめ | DevelopersIO

    2014/04/16 コンプライアンスの「Content Rights」と「Advertising Identifier」についての解説を追加しました。 はじめに iOS 7 がリリースされ、さまざまな新しい機能が使えるようになりました。iOS 7 SDK を使ったアプリをリリースしたい!と思っているかたも多いのではないでしょうか。しかし iOS アプリのリリース作業は手順が複雑そうで取っ付きづらい印象を持たれているかたが多いと思います。筆者もそうでした。 ということで、最新 (2013年10月21日現在) の iOS アプリのリリース手順についてできる限り分かりやすくまとめてみました。リリース時の参考にしていただければと思います。 概要 まずはじめに全体像を確認しておきましょう。iOS アプリのリリースは下図のようなフローで行います。 リリース用の Provisioning Profil

    よく分かる!iOS アプリのリリース手順のまとめ | DevelopersIO
  • [iOSアプリ開発] いまさら聞けないモダンな書き方 | DevelopersIO

    Xcode 4.4 から Objective-C が書きやすくなりました、という今更のいまさらな話ですが、ネット上に転がっている少し前のサンプルソースなどは古い書き方のものもあるようなので、今回はよく使う NSArray と NSDictionary と NSNumber の書き方についてだけ備忘録として残しておこうと思います。 NSArray インスタンスの生成 // 古い書き方 NSArray *oldArr = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil]; NSMutableArray *oldMutableArr = [NSMutableArray arrayWithObjects:@"value4", @"value5", @"value6", nil]; // 新しい書き方 NSArray *n

  • [iOS]Storyboardで始めるiPhoneアプリ開発 #1 – pushセグエを使う | DevelopersIO

    はじめに iPhoneアプリは、Macが1台あれば作ることができます。 (OSのバージョンは10.7.4以降である必要があります) 「とりあえず動くものを作ってみよう!」といった感じで簡単なアプリを作ってみたいと思います。 「アプリの画面」や「画面の遷移」を視覚的に作成できる「Storyboard」を使いながら、 コードを書かずにできるとこまでを今回はやってみます。 Storyboardとは Xcode4.2から導入されました。iOS5以降を対象としたアプリの開発で使用出来ます。 下の画像のような画面で「画面内のUIパーツのレイアウト」や、「画面から画面への遷移」を視覚的に作成出来ます。 開発の準備 用意するものは以下の通りです。 OS X 10.7.4以降がインストールされたMac 開発ツール「Xcode」 Xcodeは無料でインストールできます。最新版のバージョンは4.6.2です。 X

    [iOS]Storyboardで始めるiPhoneアプリ開発 #1 – pushセグエを使う | DevelopersIO
  • Backbone.jsでつくるMVPなUIパターン【リスト】 | DevelopersIO

    今回はBackbone.jsを使ってフォームから追加し、削除できるリストを作ってみたいと思います。デザインは前回同様Twitter Bootstrapで作成しました。 htmlはこちら! <div id="ui-list"> <div class="list-controls"> <form> <div class="input-append"> <input type="text" placeholder="Please type something" /> <input type="submit" class="btn" value="Add" /> </div> </form> </div> <div class="list-items"> <ul> <li class="list-item" data-cid="c1"> <a href="#" class="close">×</a

  • Backbone.jsにおけるModel-View-Presenterアーキテクチャパターン | DevelopersIO

    クライアントサイドJavaScriptのフレームワークとして人気のBackbone.jsが採用している Model–View–Presenter (MVP) というアーキテクチャパターン(以下MPVパターン)について考察してみます。 Model-View-Controllerなら聞いたことあるけど? 僕もそうでした。初めて知ったのはRuby on Railsを触った時です。 Modelはデータと手続きを担当し、ViewはUIを、Controllerは入力イベントを受付けてModelとView操作する…とまぁざっくり言うとこんな感じですよね。 MVPパターンも凄く似ていて、どうもMVCパターンから派生したものみたいです。以下が各パターンの図です。 Model-View-Controller PresenterがModelとViewを操作しているところがControllerに似ています。 決定

  • HTML5 × CSS3 × jQueryを真面目に勉強 – #13 iOSのUITableViewをjQueryで作ってみた | DevelopersIO

    HTML5 × CSS3 × jQueryを真面目に勉強 – #13 iOSのUITableViewをjQueryで作ってみた 2013年1月14日にjQuery Mobile 1.3.0 Betaがリリースされました。 Announcing jQuery Mobile 1.3.0 Beta jQuery Mobile 1.3.0 Betaの紹介記事はこちら。 AjQuery Mobile 1.3.0 Betaがリリース!変更点まとめ - へっぽこプログラマーの日記 弊社でもモバイルコンテンツの開発案件にて徐々に利用実績が積み重なっておりますが、初期ベータ版の頃より「なんで一向に実装されないのかなー…?」と僕がずっと手をこまねいて待ち続けている機能があります。 UI Table View風リスト iOS端末ではおなじみのリストビューです。 リスト項目をインデックスごとにグルーピングし、リス