2014-01-01から1年間の記事一覧

複数種類のiPhoneアプリを同時開発するときのTips

先日弊社からiPhoneアプリをリリースしました。 スポーツ動画アプリ全10種類 | 株式会社CFlat iPhoneで気軽にスポーツ動画を楽しめるアプリケーションをリリースしました。AppStoreにて配信中です。 このアプリではスポーツのハイライトや試合結果、最新ニュ…

CUDAでプログラミングする前にやっておきたいこと

こちらの記事もご確認下さい。 CUDA6.0用にCPUとGPUの速度比較コードを修正 - 株式会社CFlatの明後日スタイルのブログ GPUとCPUの速度比較をしたい 以前CUDAでのプログラミングが完成した際に、CPUとの速度比較を行いたいという当たり前の要望が上がりました…

PHPで返す304 Not Modified(2)

PHP

前回は、Last-ModifiedとIf-Modified-Sinceを用いてファイル更新の有無を確認しましたが、同じURLが状態に応じて別のファイルを表示する事がある場合には、上手くゆかない場合があります。例えば、ユーザーログイン時には指定した画像、そうでなければ別の画…

PHPで返す304 Not Modified(1)

PHP

普段なら、Apacheがファイル更新日を確認して適切にクライアントに返してくれるはずの304 Not Modified。これを「PHPを介してファイル内容を表示しよう」と思った瞬間*1、単純に実装するとリクエストの度にファイルコンテンツを全て送る事になって、特に画像…

MBaaSのParseでiOSにPush通知を送るチュートリアル

弊社の神経衰弱アプリシリーズではPush通知にMBaaSで有名なParseを使っています。Parseを使うと超簡単にモバイルアプリの通知を発行することができます。 神経衰弱アプリ三部作 | 株式会社CFlat まだ使ったことはありませんが、モバイルアプリやWebアプリの…

pythonで散布図アニメーションを試してみた

最近pythonを触り始めたのですが、散布図をアニメーションさせる方法が分からなかったので調べてみました。 散布図はmatplotlib.plt.scatter(x,y)で作成する事が出来ます。 また、アニメーションをさせる方法は二通りのやり方があるようです。 animation.Art…

数値計算ライブラリLAPACKはiOS標準で使えた

数値計算用ライブラリで有名なLAPACKですが、iOSではSDKのフレームワークをリンクするだけで使えるようになります。個人的には数値計算はまったくのノーマークだったので驚きました。 準備 プロジェクトにAccelerate.frameworkを追加。 で、インポート。 #im…

これでほぼ完璧! C++シングルトン基底クラスの決定版!

C++

シングルトンパターンは、デザインパターンがさっぱりわからないプログラマーでも聞いた事があるかもしれないくらい有名であるにもかかわらず、真面目に実装しようと思うと様々な問題が発生してしまいます。 具体的には、 static変数の初期化順序が未定義で…

iPhoneで音声解析!FFTで周波数特性を得る方法

iOSで音声を録音するのはもちろんできますが、FFTのライブラリも標準で組み込まれていて手軽に使えます。今日は録音した音声ファイルを解析して周波数特性(パワースペクトル)を得るところまでを紹介します。意外とそのものずばりの方法はなかなか見つから…

要らなくなったら勝手に消えるDictionary

C#

Dictionary で外付けプロパティを ある程度C#を使っていれば必ず使うことになる、System.Collections.Generic.Dictionary 。C++で言うところの std::map コンテナに対応するコレクションです。 キーと値の対応付けが簡単に作れるので、既存のオブジェクトへ…

Basecamp社(旧37signals)が推奨するリモートワークでのセキュリティ対策

2014年2月5日に37signalsがBasecampに社名変更しました。そのBasecamp社が37signals時代に出した本の中で一番新しい「強いチームはオフィスを捨てる: 37シグナルズが考える」を読み終えました。私達CFlatではリモートワークをしてもいいことになっているので…

Cocos2d-xの輪郭線とか影回りを実用的に魔改造してみた

つまり、CCLabelTTF::enableStroke やら CCLabelTTF::enableShadow のこと。Android ではどうだか確認していませんが、少なくとも iOS ではこんな感じの問題が起こりました:(1) iOS 7 で非推奨になった機能を使っているので、iOS 7 では輪郭線色が正しく出…

これだけ読めば全部がわかるC++のoperator new/deleteオーバーロードの注意点

……とか言いながら、全然「だけ」に留まらない分量になってるのは仕様(C++の)。 なお本記事は、operator new/deleteの概念はある程度理解し、その気になればメモリリークしない程度のoperator new/deleteを実装できるC++erに向けて書かれたものです。operat…

C++プログラマーよ!std::make_sharedを安易に使うべからず!

C++

boost::shared_ptrやstd::shared_ptrの便利さは、boostやC++11に慣れた方であれば当然ご存知かと思います(もちろん、循環参照の危険性や、それを回避するためのweak_ptrの使い方まで含めて)。 しかし世の中というものはさらに便利にできていて、この便利な…

iPhoneでお手軽画像変形

概要 斜めの方向から撮影してしまったけど、後から正面から撮った画像が欲しくなった事はありませんか? 例えば、以下の写真ような場合です。 実はこれを正面から撮ったように画像を変形する事が出来ます。 そう。ホモグラフィならね。こんな感じに出来ます…

60分で始めるiOSアプリのUI自動テスト

iOSのアプリケーションではモデル周りのテストと同じぐらいUI周りのテストが重要な気がするのですが、画面のテストってちょっと面倒ですよね。その上Xcode標準のテストフレームワークでは画面遷移などのテストができません。そこで、統合テスト用のテストフ…