Written by Mattt February 18th, 2013 This article has been translated into: 中文 Languages are living works. They are nudged and challenged and bastardized and mashed-up in a perpetual cycle of undirected and rapid evolution. Technologies evolve, requirements change, corporate stewards and open source community come and go; obscure dialects are vaulted to prominence on the shoulders of exciting new
[前回] Cocoaの日々: [iOS] Static Library (6) OCUnitで単体テスト カテゴリが定義されている Static Library を使う場合、リンカフラグに "-ObjC" と "all_load" を設定する必要がある。リンカフラグを設定しない場合 "selector not recognized" 例外が発生しクラッシュする。 [49296:207] -[NSCFString extString]: unrecognized selector sent to instance 0x3044 [49296:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString extString]: unrecognized
公開鍵暗号をプログラムで扱う方法のまとめシリーズの終盤戦。ようやく実際のプログラム上で公開鍵暗号を使う話に入ります。 対象範囲 暗号化にもいろいろありますが、このシリーズでは、RSAに公開鍵暗号、電子署名だけをターゲットにしています。とはいえ、他の暗号化方式を使いたい方にも有用な情報はあると思います。 基本知識 非対称鍵による暗号や署名についての基本的な概念の理解を持っている必要があります。最低限以下の知識は必要です。 公開鍵とは何か 秘密鍵とは何か 証明書とは何か 公開鍵暗号は共通鍵暗号と比べてどういう特徴があるか 電子署名とは何か ダイジェスト値、ハッシュ値、ダイジェスト関数、ハッシュ関数とは何か 自信のない方は公開鍵暗号をプログラムで扱う方法のまとめシリーズを最初から読んでみてください。 iOSの暗号化フレームワーク iOSでは Security Frameworkというものが用意さ
var WebSocketServer = require('ws').Server , wss = new WebSocketServer({port: 8080}); wss.on('connection', function(ws) { ws.on('message', function(message) { console.log('received: %s', message); ws.send(message); }); }); SocketRocketの準備 https://github.com/square/SocketRocket のリポジトリ中のSocketRocketフォルダ内( https://github.com/square/SocketRocket/tree/master/SocketRocket )を利用します。 SRWebSocket.h SRWebSoc
CocoaTouch 64ビット移行ガイド より、iOS5.1.1以降で32bit/64bitの混成バイナリが利用可能と書いてあります。 しかし、ipaファイルを作ってiOS5.1.1にインストールしようとすると失敗してしまいます。 AppleのDeveloper forumに情報があったのすが、 https://devforums.apple.com/message/1071370#1071370 iOS5.1.1では64bitの入った混成バイナリのインストールが不可能で、古いデバイスに対応するためにどうやらApple側でAppStoreにサブミットされたバイナリをiOS5.1.1用に64bitバイナリを含めないように加工してるのでは、、みたいな憶測が書かれていました。 実際AppStoreからダウンロードしたらインストールできたみたいなことは書いてあったので混成バイナリであってもiOS
どういうものかをざっと把握するために、GithubのREADMEの一部を訳してみた。 ちょっとまだどこまで理解できているのかわからないので、次はサンプルアプリものぞいてみる。 参考:ReactiveCocoa Github:ReactiveCocoa/ReactiveCocoa ##Introduction ReactiveCocoaはリアクティブ・プログラミングの機能が実装されています。 **RAC(ReactiveCocoa)**は現在と未来の値をキャプチャしたRACSignalを提供します。 RACはソフトウェア側が継続的に値の監視を行う必要はありません。 RACはRACSignalに反応したり、連鎖させたり、結合させたりすることによって、宣言的に記述することができます。 RACSignalはFuture,Promiseデザインパターンのように、非同期処理を記述することができます。
libextobjc currently includes the following features: Safe categories, using EXTSafeCategory, for adding methods to a class without overwriting anything already there (identifying conflicts for you). Concrete protocols, using EXTConcreteProtocol, for providing default implementations of the methods in a protocol. Simpler and safer key paths, using EXTKeyPathCoding, which automatically checks key p
Objc-dependency-visualizerというOSSツールを使うと、アプリ内で使用している Objective-C クラスの依存関係をビジュアライズしてくれます。 試しに "iOS7 Sampler" でやってみると、こんな感じのを生成してくれました。 実行するのはrubyスクリプトで、依存関係だけが記述されているだけのシンプルなjsファイルが生成されます。 で、閲覧時にはリポジトリに同梱されている index.html 内のJavaScriptから、生成したjsファイルとビジュアライゼーション用 JavaScript ライブラリ「D3.js」を使用してビジュアライズされます。 そんなわけで、引っ張ったり特定の箇所にフォーカスしたり表示をいろいろカスタマイズしたりできます。 (SVProgressHUDにフォーカスした図) 使い方 GitHubからcloneしてきます。 git
A drop-in replacement for UILabel that supports attributes, data detectors, links, and more TTTAttributedLabel is a drop-in replacement for UILabel providing a simple way to performantly render attributed strings. As a bonus, it also supports link embedding, both automatically with NSTextCheckingTypes and manually by specifying a range for a URL, address, phone number, event, or transit informatio
This document introduces Reactive Cocoa, a framework for Functional Reactive Programming in Objective-C. It describes Reactive Programming as a paradigm oriented around data flows and propagation of change. It explains the key concepts in Reactive Cocoa including streams (signals and sequences), how they allow declarative data transformations, and examples of using signals to react to user interfa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く