日々精進

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

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

AltJS

今はAltJSとしてCoffeescriptを使ってるけど、やっぱり静的に型付けしたい。。 型がないと以下の問題がある。 ・影響範囲の調査が難しい ・このオブジェクトがどんなデータを持っていて、何が出来るかがわかりづらい。よってコードを読みづらい・書きづらい…

testacularでunit testとe2e testの両方を一度に実行することは出来ない

詳しくは以下。Angular-Seedでやられているように、e2eとunitで設定ファイルを分けるのがいいらしい。 angularjs - Is it possible to mix Testacular (Karma) with angular-scenario? - Stack Overflow

hardlinkを使ってコードを共有

IT

クライアントサイドとサーバサイドの両方で使うクラスはクライアントフォルダとサーバフォルダの両方の下からリンクを置いてアクセスしたくなる。 シンボリックリンクを使うと、Gitでリソース管理をする時に困る。シンボリックリンクをコミットしても、チェ…

testacularでRequirejsを使ったモジュールのテスト

サポートされたばかりということもあり、 testacularでRequirejsを使ったモジュールのテストを書くのは難しい。てか情報が少ない。 ヒントはほぼ下記からのリンクのみ。 https://github.com/vojtajina/testacular/issues/15 はまったポイントは以下。 ・Erro…

testacularでテスト環境を整備する

JSのテストドライバーはbuster.js、jsTestDriver、testacularなど色々あるけど、testacularを使ってみることにした。理由は以下。 ・WebStormと相性がいい(これは公式サポートされてるjsTestDriverの方が上か) ・AngularJSと相性がいい ・チュートリアル動…

httpモジュールでクッキーを使う方法

↓で書いてあるけど、セミコロン区切りのクッキー文字列をヘッダーに渡さないといけない。 node.js - How do I create a HTTP Client Request with a cookie? - Stack Overflow

nodeのhttpモジュールでプロキシ経由のリクエストを出す方法

↓に書いてあるけど、hostやheadersの指定がトリッキーなのでおとなしくrequestモジュールを使った方がいいね。 How can I use an http proxy with node.js http.Client? - Stack Overflow

httpリクエストでgetaddrinfo ENOENTエラーが出る

これはhttpのoptionのhostにプロトコル(httpとか)を書いてしまってる場合にでるらしい。 node.js - nodejs httprequest with data - getting error getaddrinfo ENOENT - Stack Overflow

libsystem_c.dylibからメモリリーク

iOS

メモリリークの調査をしていたら、libsystem_c.dylibからメモリリークしているところがあった。 これはiOS SDKのメモリリークなのでアプリ側はどうしようもないっぽい。 まあ少量だから問題ないとは思うけど。。 iphone - Memory Leak in libsystem_c.dylib …

nockでhttpモジュールをmock

httpクライアント機能のテストに使えそう。 pgte/nock · GitHub

RequireJSをnode.jsで使う

クライアントサイドとサーバサイドの両方でJSのコードを使いたい場合、 Requirejsを使うが、以下のようなコードを書いたらcls.coffeeで エラーが出た。 main.coffee cls = require "./cls" requirejs = require('requirejs') requirejs.config nodeRequire: …

macのatokのショートカットキーを無効にする

mac

ATOKのショートカットキー無効化MS-IMEが使いにくいので、最... - Yahoo!知恵袋 上記質問のようなことがやりたいんだけど、Macの場合は以下の手順でできた。 言語バー右クリック→環境設定→キー・ローマ時カスタマイザ→キー設定 ここで文字未入力列のショート…

JIRAでunicode 0xe3809cをEUC-JPに変換できなかったというエラーメッセージが出る

全角チルダをコメントに書いて書き込もうとしたらエラーが出た。これはよくある波ダッシュ問題が原因らしい。「〜」を他の文字にして書き込んだら直った。 よくわかる波ダッシュ問題: 朗読オーレ! 別館

npmをプロキシ経由で使う方法

以下のコマンドを各自環境に合わせて修正して実行すればいいっぽい。 npm config set strict-ssl false npm config set registry "http://registry.npmjs.org/" npm --proxy http://username:password@cacheaddress.com.br:80 これでパッケージインストール…

frameworkのデバッグ

iOSアプリ開発で使われるFrameworkの実態は色んなリソースをまとめたフォルダらしい。 (旧) 猫好きモバイルアプリケーション開発者記録 Xcode 4におけるiOS Frameworkの作成方法 自作のframeworkを他のプロジェクトで利用している場合、framework内のコード…

UIViewがユーザに見えているかどうかを調べる

UIViewがユーザに見えているかどうかを調べるのは難しい。 viewWillAppearなどのライフサイクルメソッドが実行されたかどうかを確認するだけだと、他のビューの下に隠れている場合や表示領域外にある場合を考慮できない。 以下を地道にコードを書いてチェッ…

initの中でselfのnilチェックをする理由

init系メソッドの中では以下のようにnilチェックをするコードを書くことが多い。 - (id)init{ self = [super initWithNibName:nil bundle:nil]; if (self) { // 初期化 } return self; } なんでselfのnilチェックが必要なのかよくわかっていなかったので調べ…

reveal.jsで発表資料作成

前回勉強会で発表した時はdeck.jsで発表資料を作ったけど、今回はreveal.jsを使ってみた。 使っててreveal.jsの方が優れていると思ったところは以下。 ・markdownが使える 今回の発表資料では使ってないけど。。次回は使いたい ・下と右の2方向に次のスライ…

なるべく安くて速いMacを調達する方法

・RetinaモデルでないMac Book Proを買う。価格.com - APPLE MacBook Pro 2500/13 MD101J/A 価格比較とか。 ・8GBのメモリを2枚買う。価格.com - トランセンド JM1600KSH-8G [SODIMM DDR3 PC3-12800 8GB] 価格比較とか。 ・ノートPC用SSDを買う。自分の場合…

transitionFromViewでフリップアニメーションしない

下記コードではアニメーションなしでViewが切り替わった。 [UIView transitionFromView:self.view toView:self.boardOrderViewController.view duration:0.2 options: UIViewAnimationTransitionFlipFromLeft completion:^(BOOL completion){ }]; 調べたとこ…

UIコンポーネントをXIBファイルで定義して再利用したい

UIButtonみたいなUIコンポーネントをXIBファイルで定義して、それを他のXIBファイルに使う方法。 awakeFromNibメソッド内でloadNibNamedを使ってXIBファイルを読み込めばいいらしい。詳細は↓ http://www.awaresoft.jp/ios-dev/item/93-%E5%86%8D%E5%88%A9%E7…

step.jsのgroupを使ったときに次の関数に渡される結果がすべてundefinedになる

以下のコードだとnumsがすべてundefinedの配列になる。 step( -> group = this.group() func = (done) -> done(1) for i in [0..10] setTimeout func(group), 100 , (err, nums) -> console.log nums )これは非同期関数のfuncの第一引数がエラーオブジェクト…

step.jsとcoffeescriptを一緒に使うと挙動がおかしくなる

step.jsを使って非同期処理をわかりやすくしようとしたらはまった。 step(-> request uri:uri headers: headers , this , -> console.log arguments )上記だと二段目の関数の引数にrequestオブジェクトが渡される。 responseが取れなくて、なぜ〜?と悩んで…

セクションヘッダが画面上に残らないようにする方法

UITableViewの仕様はテーブルをスクロールさせてセクションヘッダがスクロールアウトしそうになっても、画面の上端に残り続けるようになっている。 これを残らないようにするにはスクロールイベントハンドラでセクションが画面内にあるかどうかを判定し、画…

UITableViewに異なる高さのセルを表示する方法

(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath を実装して各セルの高さを返してやればいい。 てかデフォルトの実装を↓のようにしてくれればいいのに。。パフォーマンスを上げるために固定値にしてるのかな…

UITableViewのセクションヘッダを非表示にする方法

何も表示させない場合は下記のブログの記事のようにすればいいらしい。 Cocoaの日々: UITableView - 特定のセクションヘッダの高さを0にする バッドノウハウだなあ。。

jasmineとmochaの比較

テスティングFWのjasmineとmochaのどっちを使おうか迷ったので比較記事を調査。 Jasmine vs. Mocha Javascript testing for Rails 3.1+ - Stack Overflow 記事の内容は以下。 自分的にはブラウザでのテストにはJasmine、Node.jsでのテストはMochaがいい気が…

coffeescriptの自動コンパイル

今までcoffee -wc **/*.coffeeを使ってたけど、以下の問題があった。 ・新しく追加したファイルをコンパイルしてくれない ・すべてのサブフォルダにあるcoffeeファイルをコンパイルしてくれない 調べてみるとjitterというnodeのパッケージを使えば上記の問題…

すべての実行されたメソッド名をログに出力する方法

環境変数のNSObjCMessageLoggingEnabledをYESにするとできる。 デバッグに使えるかな?と思ってやってみたけど、呼ばれるメソッドが多すぎて使えなかった。。何らかの基準で絞らないとだめだ。 下記のように絞ったら役に立つかも。 tail -f msgSends-19721 |…

HTMLテンプレートをHTMLと同じように色分けする

Webstormで拡張子が.templateのファイルとHTMLと同じように色分けするには、ファイルタイプを追加すればいい。 手順は以下。 Creating and Registering File Types これでHTMLテンプレートも見やすくできる。