日々精進

新しく学んだことを書き留めていきます

2012-08-01から1ヶ月間の記事一覧

prosessing.jsをインストールしようとすると「../src/Canvas.h:19:10: fatal error: 'cairo/cairo.h' file not found#include 」

IT

prosessing.jsというJSの画像のリサイズとかができるライブラリをインストールしようとして以下を実行した。 npm install processingそうすると以下のエラーが出た。 ../src/Canvas.h:19:10: fatal error: 'cairo/cairo.h' file not found#include <cairo/cairo.h>調べてみ</cairo/cairo.h>…

正規表現チェッカー

IT

最近正規表現をあまり書いてなかったので、正規表現を書くのに苦労してたところ下記サイトを発見。 PHP正規表現チェッカー 正規表現が文字列のどの部分にマッチするのかをリアルタイムに表示してくれる。超便利!

node.jsからAWS S3へファイルをアップロードする

awssumというライブラリを使えばできるっぽい。 chilts/node-awssum · GitHub javascript - Upload S3 knox node js (signature doesnt match) - Stack Overflow このライブラリの初期化コードのなかでRegionを指定してるんだけど、これがどこを指しているの…

httpでファイルを取ってきて保存する

httpでファイルを取ってきて保存しようとすると以下のエラーが出た。 { [Error: getaddrinfo ENOENT] code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo' }これはDNSがドメイン名を解決出来なかったことが原因だった。通信経路をLAN経由からWim…

ParseのREST APIを使うと{"error":"unauthorized"}が返ってくる

IT

ParseのREST APIを使いたいと思ってREST API | Parseを読んでみた。 この中にObjectを作るときのサンプルコードが「Creating Objects」セクションに載っているが、これをそのまま実行すると{"error":"unauthorized"}が返ってくる。 ググるとERROR: response …

HomeBrewをインストールしようとするとNot Foundになる

IT

HomeBrewで検索すると以下のコマンドでインストールできるよ、という情報が引っかかるけど、これは古い。 /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)" 以下を実行し…

Mac OS Lionにportをインストールしようとすると「Your existing MacPorts or DarwinPorts installation is too old to be upgraded by this installer. Please install MacPorts 1.7.1 first.」エラーが出る

IT

タイトルのような状況になって、いったん1.7.1を入れようとしたものの、Lion用の1.7.1のインストーラがなかった。 下記がportがインストールされているフォルダなので、これを削除してからインストーラを実行するとインストールできた。 /opt/local/etc/port

AppCodeのWatchesに式を入れると「Property 'aVariable' not found on object of type id」のようなエラーが出る

AppCodeは非常にいいIDEで愛用してるけど、ウォッチウィンドウに式を入れても「Property 'aVariable' not found on object of type id」となって値が確認できないことが多いのが難点だった。 この問題について調べたら↓が見つかった。 objective c - Propert…

カスタムViewクラスをViewControllerのviewプロパティとして使う方法

ViewのレイアウトはXIBファイルに書く。 ViewクラスのinitメソッドでXIBファイルを読み込む。 CustomView.m - (id)init { NSArray *ary = [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:nil options:nil]; if (ary && ary.count > 0){ self = [a…

ParseのiOS Guide抄訳5

IT

今のところParseのiOS Guide抄訳はここまで。PushNotificationセクション以降は使うときが来たら訳してみます。 // デフォルトではキャッシュは無効。cachePolicyに値を渡すと有効になる。 query.cachePolicy = kPFCachePolicyNetworkElseCache; // kPFCache…

ParseのiOS Guide抄訳4

IT

// whereKey:matchesKey:inQuery:でInnerJoinっぽいことができる // 検索結果の最大件数1000件の制限はteamQueryとuserQueryの両方にかかるので注意すること! PFQuery *teamQuery = [PFQuery queryWithClassName:@"Team"]; [teamQuery whereKey:@"winPct" g…

ParseのiOS Guide抄訳3

IT

// ↓を実行するとcurrentUserに紐付くpostすべてがとってこれる [[relation query] findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if (error) { // There was an error } else { // objects has all the Posts the current user …

ParseのiOS Guide抄訳2

IT

// オブジェクト間の関連を設定する方法。 PFObject *myPost = [PFObject objectWithClassName:@"Post"]; [myPost setObject:@"I'm Hungry" forKey:@"title"]; [myPost setObject:@"Where should we go for lunch?" forKey:@"content"]; PFObject *myComment…

ParseのiOS Guide抄訳1

IT

最近話題のParseを使ってみたが、これはおもしろい。 サーバサイドで複雑な処理をすることはできないっぽいが、サーバを単なるデータ共有用ストレージとして使うなら機能は十分。 そして超簡単に使える。 https://www.parse.com/docs/ios_guide:ParseのiOS G…

cocoaPodsのpodspec作成ではまる

自作ライブラリの.podspecを作成したが、どうしてもうまく動かなくて困った。 ・最初は他のプロジェクトのpodspecを参考にしながら書いていたが、うまくいかなかった。 pod spec createでspecファイルのひな形を作り、それを修正して作成したほうがいい。 ・…

エキスパートObjectiveーCプログラミング 6

・dispatch sourceを使うとカーネルで起こったイベントきっかけで処理を実行できる。イベントにはタイマーイベントやファイルの読み書きイベントなどいくつかの種類がある。 ・dispatch queueはキャンセルできない!dispatch sourceはキャンセルできる。キャ…

エキスパートObjectiveーCプログラミング 5

・dispatch queueは自分で作らなくてもmain dispatch queue とglobal dispatch queueが最初から用意されているのでそれを使う方が楽 ・いくつかのタスクが終わったら終了処理をしたい、という場合はdispatch groupを使う。 ・DBへの書き込み処理のように他の…

エキスパートObjectiveーCプログラミング 4

○GCDについて ・タスクキューの種類 一度に一つのタスクを実行するserial dispatch queueと 複数のタスクを並列実行するconcurrent dispatch queueがある。 ・タスクキューはARCが効かないので自分で参照カウントを管理する必要がある dispatch_releaseとdis…

エキスパートObjectiveーCプログラミング 3

・ARC無効の場合にBlockの循環参照を避ける方法 ARC無効の場合、Blockをスタックからヒープにコピーする作業は手動でやる。つまり、Blockはインスタンス変数にする。 typedef int (^blk_t)(int); @implementation MyClass { blk_t block_on_heap; } - (void)…

エキスパートObjectiveーCプログラミング 2

・Blockは循環参照になりやすいので注意。Block内からselfを参照する場合は__weakを使うこと。 例は以下。 - (void)method{ id __weak weakSelf = self; blk_t blk = ^int (int count){ NSLog(@"%p", weakSelf); return 0; }; } ・以下のコードはBlock内でse…

エキスパートObjectiveーCプログラミング 1

○ARCについては目新しい情報無し ○Blocks ・構文は以下。戻り値の型と引数リストはvoidの場合省略可能。 ^戻り値の型(引数リスト){式} ・typedefを使って型宣言を簡潔にできる。Blockは普通の変数と同じように代入したりできる。 typedef int (^blk_t)(int…

cocoaPodsでライブラリをインストールしたらLexical or Preprocessor issue 'Xxx.h' file not foundエラー

cocoaPodsでライブラリをインストールしたら 以下のエラーが出るようになった。 Lexical or Preprocessor issue 'Xxx.h' file not foundobjective c - Lexical or preprocessor Issue: 'MyViewController.h' file not Found - Stack Overflow 上記サイトなん…

githubでtagを追加する

下記サイトの通り。もっとgitの勉強しないとな。。 GitHub でタグを打って tgz/zip アーカイブ をダウンロードできるようにする - Goodpic

macの.DS_Store

IT

.DS_Storeってファイルが勝手にできるので何かと思ったらFinderの設定ファイルだそうで。 Macでアイコンやフォルダのトラブルを「.DS_Store」ファイルを削除して対処する方法 / Inforati フォルダ毎に設定ファイル作るのうざいなぁ。。

.gitignoreの書き方

IT

最近遅れ馳せながらgitを使用中。 下記サイトを参考にして.gitignoreを書いてます。 Git Cheat Sheets JP

有効数字を指定して丸める

自分で実装しても難しくないけど、めんどいときは↓からコピってくるといいと思います。 objective c - rounding with significant digits - Stack Overflow

Static Library: Cannot find interface declaration for 'UIView'

以下をやったら「Cannot find interface declaration for 'UIView'」というエラーが出るようになってしまった。 ・ワークスペースを作る ・Static Libraryプロジェクトをワークスペースに追加 ・ライブラリのデモ用プロジェクトをワークスペースに追加 ・デ…

LocalNotificationが通知センターに表示されない

UILocalNotification UILocalnotification(2)|よこちんのアプリ開発ブログを参考にしてLocalNotificationを実装してみたものの、通知センターに通知が表示されない。 didReceiveLocalNotificationは呼ばれるのに。。。なぜー?と思ったらUILocalNotificatio…

Viewの内側に影をつける

下記サイトで紹介されているように、新しいレイヤを作ってそこから影を落とせばOK。 Cocoaの日々: CALayer を使ってビューの内側に影を落とす せっかくなのでUIViewのカテゴリとして実装して簡単にViewに影をつけられるようにした。 そして初Githubで公開! …

自作Viewの初期化

初期化は普通initメソッド内でやるが、自作のViewクラスの場合、 XIBファイルからinitWithCoderが実行されて初期化されることが多い。 そうすると、初期化に必要な引数をinitメソッドに渡せない。 よって親ビューコントローラのviewDidLoad内でセッターを使…