技術を活かし、新しい価値を創造する DeNAのエンジニアは、想像を超えるDelightを届けるために何ができるかを考え、技術力と発想力で新しい価値を生み出しています。 多様な専門性を持ったエンジニアが切磋琢磨し、互いに刺激し合える環境や制度がさらなる成長へとつなげます。
![DeNA Engineering - DeNAエンジニアのポータルサイト](https://cdn-ak-scissors.b.st-hatena.com/image/square/517c1260a938563aeea8af27498de5573a67f4c7/height=288;version=1;width=512/https%3A%2F%2Fengineering.dena.com%2Fog.png)
gistfile1.md 未修正のアプリが数多く残っている状態なので、パブリックな場所での言及には注意して下さい 未修正のアプリが数多く残っている状況ですが、すでに広く情報が公開されており、2.5.2で修正されたという情報が広まると混乱が生じるため広く周知する次第です。 問題と経緯 AFNetworking 2.5.1 にMITM攻撃を許す脆弱性があり、2.5.2で修正された、 と報道されていますが、これは誤りです。 http://blog.mindedsecurity.com/2015/03/ssl-mitm-attack-in-afnetworking-251-do.html 2.5.2では問題が修正されていません。また、2.5.1だけではなく、他の 2.x 系列のバージョンにも脆弱性があります。次のリリースで問題が修正される見込みです https://github.com/AFNet
だいぶ小ネタ。 コード #if (arch(i386) || arch(x86_64)) && os(iOS) AFNetworkActivityLogger.sharedLogger().level = .AFLoggerLevelDebug AFNetworkActivityLogger.sharedLogger().startLogging() #endif UIDeviceを使う方法もあるが、そちらは実際に動いたときに判別することになる。 こちらだとそもそもiPhone用のアプリからはこのコード自体省かれる形になる。 意味 arc(i386) 32bitのMac(シミュレータ)用のビルド arc(x86_64) 64bitのMac(シミュレータ)用のビルド os(iOS) ターゲットがMacじゃなくてiOS オマケ ぼくの手元では、デバッグ実行時に #if DEBUG printl
ことはじめ こんばんは! 最近、未知のunsigned charたちと戯れていたあらかわです。 今回はiOSアプリ開発において、HTTP通信ライブラリのデファクトスタンダードとなっているAFNetworkingのAFHTTPSessionManagerについて書いていきます。 ※基本的な事は弊社平井の記事「ド定番OSS!AFNetworking 2.xの使い方」で解説してありますのでそちらをご覧下さい。 CocoaPods CocoaPodsの導入から解説していますので、既にご存知の方は次の見出しまで飛ばして下さい。 まだ使ったことのない方は是非この機会に使用してみましょう! AFNetworkingはCocoaPodsでインストールすると良いです。 CocoaPodsがまだ入っていないという方はターミナルにて以下のコマンドを入力して下さい。 $ sudo gem install coco
Alamofireとは https://github.com/Alamofire/Alamofire Swiftで書かれたHTTP通信ライブラリ。 AFNetworkingの作者であるmatttさんの新作。 AFNetworkingをリプレースするものではなく、AFNetworkingはSwiftでも安定して動くのでそのまま使えるとのこと。(参考: http://nshipster.com/alamofire/の最後の方) ファイルはAlamofire.swiftだけで1000行に満たない。 使い方 Alamofire.request(.GET, "http://httpbin.org/get") .responseJSON { (request, response, JSON, error) in println(JSON) } Alamofire.request(.GET, "http
はじめに ひと月程前に、ViewControllerを肥大化させないためのMVC構成案を書いたのですが、その後もアプリ開発の勉強をひそかに続けておりまして、その過程で単純なMVC構成のアプリを作りました。 (入力→確認→登録実行のWEBではよくあるフローの事です) アプリ自体はダミーのため、全く存在価値がないのですが、せっかく作ったので記念に公開します。 (需要があるのかは分からないですが) (ちなみに、前回の記事はソースコードでのUI実装を前提に書いたのですが、今回はStoryboardを使用しました。あと、 DataSourceは今回分けてないです) サンプル置き場 以下のライブラリを使用しますので、 CocoaPods にてインストールしてください。 (動かさないのであれば特に不要です。というかダミーなのであまり動かす意味がない)
DeNAで取り組んできた非ゲームの新規事業開発。その新規サービスの中で、iOS開発にフォーカスして、利用頻度の高かったライブラリやサービスをランキング形式でお届けします。 紹介してくれるのは、DeNAエンターテインメント事業本部でiOS/サーバ周りを担当している沖津貴智さんです! by 馬場美由紀 (CodeIQ中の人) DeNAにおけるiOSアプリ開発 DeNA沖津です。DeNAでは、エンターテインメント事業本部という部署を新設し、非ゲームの新規事業開発に取り組んできました。 1年以上経過した現在、十数のサービスを開発し、リリース・運用を行ってきました。社内のGithub Enterprise上には、たくさんのプロジェクトのリポジトリが作成されており、エンジニア全員が自由に閲覧・プルリクエストを送れる環境にあります。 詳しくは、デブサミ2014「DeNAにおけるゲーム以外の新規事業の立ち
概要 スタートアップiOS勉強会 #3 http://www.zusaar.com/event/4557003 自分もこれで話す内容についてずっと考えていて、laisoさんのスタートアップの人材戦略とは何かを読むと先にLTの内容を公開していたのでこちらも公開することにした。 10分以下のLTだと細かいことは多分話せないので、先におおまかに公開し実際のLTでは自分の特に話したいことを集中して話すようになるのではないかと思う(もしくはジョブズが成仏した話みたいに当日思いつきでぜんぜん違うことを言うかもしれないし、もしくは近所にガールズバーができたから行ってみたらビール一杯3080円だった話になるかもしれない)。 スタートアップに関する話について 経験上、iOSアプリ開発ではWebアプリ開発のようにいきなり大人数で開発を進めることがないので、iOSアプリ開発での技術的ノウハウやあるあるネタはスタ
こんにちは!エンジニアの川崎です。 先週行われた Consumer Service Engineer MeetUp Vol.1 ~iOS編~ というイベントで「WantedlyではどうやってiOSアプリ開発しているのか」というテーマで発表してきました。 僕自身の普段の担当は、全体の設計やサーバ側の開発、プロジェクト進行あたりなので、 今回はWantedlyでiOSアプリを「プロトタイピング」し「開発」そして「テスト」するまでで使ってるツール・取り組みをざっくり紹介させていただきました。 意外とこの手の話をする機会はいままでなかったので、 現在開発中のアプリも含め、今現在うちでは何をどうやっているのかまとめられてよかったかなと思います。 以下、発表で紹介したURLなどです。 プロトタイピング ホワイトボードでアイデアだし moqupsでモックアップ作成 Popを使って実機でプロトタイプを触っ
Update 1/18/2014: Fully updated for iOS 7 and AFNetworking 2.0 (original post by Scott Sherwood, update by Joshua Greene). In iOS 7, Apple introduced NSURLSession as the new, preferred method of networking (as opposed to the older NSURLConnection API). Using this raw NSURLSession API is definitely a valid way to write your networking code – we even have a tutorial on that. However, there’s an alte
画像を表示しようとしたら遅いよ! 外部データを取ってきて表示するときにまずはまるのが画像の処理だと思います。非同期で必ず処理しましょう。 画像の非同期ロードはライブラリを使った方が早いと思います。 ヘッダーやフッタをつけたいよ! tableView.tableHeaderView tableView.tableFooterView に突っ込む方法を書いてあるのが多いんですが、今回はもっと簡単な方法としてStoryboardなどでこれらのビューを直接突っ込んで管理できるのでおすすめ。 テーブルビューの上や下にUIViewをドラッグすると UIViewをIB上で直接追加できます。 後はIBでレイアウトをくめばok 使用するクラス、フレームワーク、ライブラリ ビュー UITableViewController https://developer.apple.com/library/ios/doc
今更なんだよ?って気がしますが、うちのブログにAFNetworkingについての記事が無いので軽く書いてみます。 2.x系になって変わったこと まず、一番の変更点はAFHTTPClientがいなくなったことでしょうか。変わりにAFHTTPOperationManagerやAFHTTPSessionManagerなるものや、AFXxxRequestSerializer、AFXxxResponseSerializerなどが追加になりました。また、動作可能なiOSのバージョンは6.0以降になってました。 なんだこれ?ってわけで早速触ってみます。 AFXxxManager AFHTTPOperationManagerとAFHTTPSessionManagerがありますが、どうやらiOS 6.xに対応するのであればAFHTTPOperationManagerを、iOS 7.x以降であればAFHTTP
In the previous installments of this series, we've taken a close look at the NSURLSession API introduced in iOS 7 and OS X Mavericks. Networking on iOS and OS X has become much simpler and more flexible thanks to the NSURLSession API. Does this mean that you should stop using AFNetworking for your networking needs? And what about AFNetworking 2.0, which was introduced a few months ago? In this fin
2013-12-18 ブラウザ開発で使用した超絶便利なオープンソースライブラリ10選 こんにちはnasustです。Showrtpathブラウザ( http://showrtpath.com )の開発で使用したオープンソースを全て紹介したいと思います。 正直言って、このオープンソースが無ければ3倍近くの開発期間が延びたでしょう。ちなみにShowrtpathブラウザの開発期間は、大凡2人月ぐらいです。 BlocksKit https://github.com/pandamonia/BlocksKit このライブラリが無ければ、iOS開発の面白さは半減するでしょう。iOSのクラスにあるデリゲータと対応するBlocksのメソッドを追加してくれます。 [Button addEventHandler:^(id sender) { //Buttonが押された時の処理 } forControlEvents
概要 2.0になってから更にシンプルに記述できるようになっています。 下記が必須要件となっていますので導入前に確認してください。 Xcode 5以上 iOS 6.0以上 大きな変更点としてドキュメントにあるようにiOS7以降のサポートのみでよければAFHTTPSessionManagerのサブクラスを作成して実装することが推奨されています。 iOS6やそれ以前のバージョンをサポートする場合の選択肢としてAFHTTPRequestOperationManagerが用意されています。 ここでは主にAFHTTPRequestOperationManagerの使い方について触れておきます。 使い方 インストールもCocoaPodsで簡単に導入できますので、下記Podfileをプロジェクトのルート直下に作成してインストールしましょう。 AFHTTPRequestOperationManager* m
1.3系を使っていたのですが、2.0系にバージョンアップして 色々変わっていたのでよく使うものだけ、備忘録がてらまとめてみました。 Manager 1.3系ではAFHTTPRequestOperationを作成して、GET/POSTの設定等を 行っていましたが、2.0系からはそれを管理してくれるManagerが出来ました。 使い方は超簡単 AFHTTPRequestOperationManager* manager = [AFHTTPRequestOperationManager manager]; [manager GET:@"http://hoge/sample.json" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { // 成功時の処理. }]; } failure:^
KIF2.0 は 自動テスト用のライブラリです. 詳しくはこちらをご覧ください. https://github.com/kif-framework/KIF また @_ishkawa さんのこちらの記事をご覧いただくと動作イメージが掴めると思います. http://blog.ishkawa.org/blog/2013/08/31/kif-next/ 1. Podfileに以下を記入 pod 'AFNetworking' target 'Acceptance Tests', :exclusive => true do pod 'KIF', '~> 2.0' end exclusive => true にすると Acceptance Tests ターゲットには AFNetworkingが含まれなくなります. 2. Xcodeで新しくターゲットを追加. ターゲット名は Acceptance Tes
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く