テレビで放送も!iPhoneアプリ格安プロモーション4選

先日、弊社アプリ『音感検定 - 音の神経衰弱 -』がテレビ東京番組『オードリーの神アプリ』で紹介されました。 放送内容はこちらから見ていただけます。今回は、CFlatがアプリをリリースする際に行ったプロモーションに関して、記事にしたいと思います。 大…

フリーViewerで可視化するためのボリュームデータ出力方法!

今回は高機能フリーViewerであるParaViewを使ってボリュームデータを可視化する方法をご紹介します。 ParaViewをインストール まずはここからParaViewをインストールして下さい。 ParaViewの基本的な使い方はチュートリアルで学べます。ここに日本語のチュー…

Pivotal TrackerクローンのFulcrumは使えるのか

アジャイルなプロジェクト管理ツールの定番はPivotal Trackerと言っていいでしょう。Pivotal Trackerではユーザーストーリー(フィーチャ)やベロシティといったアジャイル開発の概念をそのままの形で表してくれるのですんなり入り易いです。なお、Pivotal T…

C++テクニック!可変長引数テンプレートの値をインデックスで取得

c++

早速ですが問題です。次のような場合、一体どうすればよいでしょうか? template <class T...> class Hoge { private : // TODO: T...のうち、N番目の引数の型を取得したい! } ; 何のためにそんなのが欲しくなるのかはいまいち謎ですが、まあ、やるとしたらこんな感じに</class>…

全宇宙の素粒子の数を超えて…C++で巨大数に挑戦!(おまけ)

c++

こんにちは、株式会社CFlatです。 前回『巨大数の計算』では、次のように書きました。 本当は不要な部分は元の値を参照した方が(特にBigIntを使う場合に)都合がよいのでしょうが、今回は割愛します。 が、折角ですのでもうちょっと頑張ってみます。人類の…

全宇宙の素粒子の数を超えて…C++で巨大数に挑戦!

c++

こんにちは、株式会社CFlatです。 早速ですが、C++で、巨大数の計算を行なってみたいと思います。 といっても今回は、多倍長整数、いわゆるBigIntとかそういう話ではなく、巨大数を表現するための表記……具体的には「コーンウェイのチェーン表記」の話です。 …

GPUの中を覗く!Visual StudioでCUDAをデバッグ

こんにちは、株式会社CFlatです。CUDAを利用したGPU側の処理をデバッグしようと思ったのですが、古い環境での記事しか見つからなかったのでメモしておきます。 と言っても私の環境も最新ではなく、window7, Visual Stdio 2010, CUDA Toolkit v5.0, Nsight Vi…

カオス的挙動をBlenderのpythonスクリプトで作成

Blenderシリーズ第3段はカオス的挙動に挑戦してみました。 カオス的挙動 Blenderでは簡単に力場を設定できるので、もしかしたら簡単にカオス的挙動が作れるのではと思い実際にやってみました。 結果は最後に動画を載せておきますが、それっぽい動きをしてく…

画像から3次元形状を復元!OpenMVGでSfMを試してみた

こんにちは、株式会社CFlatです。今回は2次元の形状からカメラ位置や3次元形状を特定する手法である、SfM(Structure from Motion)を試してみます。SfMを手軽に実行出来るツールとして、 Bundler VisualSFM 等があります。Bundlerはオープンソースですがソー…

Redmine裏技!複雑なチケット管理をカスタムクエリで超簡単に

こんにちは、株式会社CFlatです。Redmineといえばプロジェクト管理ツールの定番といっていい強力なツールですよね。弊社でもプロジェクトによってはタスク管理に使用しています。Redmineでは機能やタスクはチケットとして登録されていきますので、プロジェク…

アプリ収益が大幅アップと評判の『全面広告』の収益性が確かに高い件

こんにちは、株式会社CFlatです。以前の記事で、アプリ内広告の種類とメディア一覧について、まとめました。 アプリ開発初級者向け!アプリ内広告の基礎知識と各種メディア一覧今回の記事では、全面型広告についてまとめてみたいと思います。 全面広告とは …

スマホアプリ開発初級者向け!今流行りのアプリ内アイコン型広告

こんにちは、株式会社CFlatです。前々回の記事で、アプリ内広告の種類とメディア一覧について、まとめました。 アプリ開発初級者向け!アプリ内広告の基礎知識と各種メディア一覧今回の記事では、はやりのアイコン広告についてまとめてみたいと思います。 ア…

アプリ開発初級者向け!アプリ内広告を最大化するSSPの基本と比較

こんにちは、株式会社CFlatです。前回の記事で、アプリ内広告の種類とメディア一覧について、まとめました。 アプリ開発初級者向け!アプリ内広告の基礎知識と各種メディア一覧今回の記事ではその中でも、アプリ内広告の収益を最大化するのに欠かせない、SSP…

アプリ開発初級者向け!アプリ内広告の基礎知識と各種メディア一覧

こんにちは、株式会社CFlatです。本日、弊社のiPhone・iPad新作アプリ3本をAppStoreで公開しました。 音感検定 - 音の神経衰弱 - かっぱのぷぅ - 絵合わせ音合わせ - 痩せる神経衰弱 - ゲンナリ - 今回のアプリプロデュースで我々が得たアプリ内広告の知識を…

継承できないクラス

C++

こんにちは、株式会社CFlatです。C++11ではfinalキーワードが導入され、継承できないクラスを作ることが容易になりました。 例えば次のようなHogeクラスを継承しようとすると、エラーが発生します。 class Hoge final {}; クラス自体は継承可能だけれども、…

GreaseMonkeyによるAjaxのすすめ(実装編)

前回はGreaseMonkeyによるAjaxなユーザースクリプトを書き始める段階までやりました。 それでは今回は、実際にAjaxな感じにCFlatのホームページを動かしてみましょう。 無名スコープで囲む JavaScriptでは、普通に関数を定義するとwindowオブジェクトのメン…

GreaseMonkeyによるAjaxのすすめ(準備編)

ウェブサイトが複雑化し、アクセス解析や広告なども含めると1ページにつき無数のHTTPリクエストが行なわれるようになった昨今。いくらブロードバンドが普及し、端末やブラウザのレンダリング能力も向上したとは言っても、ウェブサイトの読み込みとレンダリ…

MySQLのレプリケーション遅延をローカルで再現させる手順 その2

こんにちは、株式会社CFlatです。 前回の続きです。 ローカルで立ち上げた2つのMySQLインスタンスをMaster-Slaveにする [mysqld1]をMaster、[mysqld2]をSlaveにするための設定をしていきます。 /etc/my.cnfを書き換える 設定ファイルに2行を追加してMySQLを…

MySQLのレプリケーション遅延をローカルで再現させる手順 その1

レプリケーションとその問題点 データベースへの負荷を分散させるための手段はいくつかあるのですが、比較的簡単な手段としてMaster-Slave構成によるレプリケーションを使う方法があります。レプリケーションではMasterサーバーを書き込み専用に、Slaveサー…

ミルククラウンをBlenderのpythonスクリプトで作成

こんにちは、株式会社CFlatです。blenderの流体シミュレーションを試してみたかったので、pythonスクリプトでミルククラウンを作ってみることにしました。 適当にオブジェクトを配置して、特にパラメーターを凝らなくても下図にあるミルククラウン風の結果が…

OpenSSL Tips/Windows Azure+α

Windows Azureで仮想マシンを立ち上げるときに必要な証明書を発行する こんにちは、株式会社CFlatです。クラウドプラットフォームであるWindows Azureを使う機会がありました。仮想マシンを立ち上げる際に証明書を作成してアップロードするというプロセスが…

AnyCPUなC#モジュールからx86/x64のDLLを呼び分ける方法まとめ

C#

こんにちは、株式会社CFlatです。C#には、実行環境が32ビットか64ビットかを問わず、適切なモードで実行できる、AnyCPUという仕組みが存在します。 ところがこの機能、裏を返せば実行時まで32ビットか64ビットかわからないという事でもあるわけですので、Any…

CakePHP2.3のfind()に、行ロック機能を追加してみた

PHP

こんにちは、株式会社CFlatです。※ CakePHPのコアライブラリを弄ります。CakePHPのアップデート時などには注意して下さい。また、修正は自己責任でお願いします。 PHP用のフレームワークは数多かれど、中でもそこそこ名前の挙がるCakePHP[1]。単純なWebアプ…

OpenGLをC++11でラップしてみんとてするなり 番外編:Qt5+OpenGLの落とし穴

先日、ひょんな事からglutで作ったライブラリをQt5に移植してみることになりました。 作業自体は大変なことではなく、glutのラッパーとして作った各種のクラス群を、QGLWidgetのラッパーとして作り変えてやるだけです。当然、理想的な設計がされたライブラリ…

Blenderの物理シミュレーションをpythonスクリプトで作成

こんにちは、株式会社CFlatです。この動画が面白かったので、似たような動画をpythonスクリプトで作ってみることにしました。 環境はmac+Blender2.66以上ですが、windowsでも下にあるpythonファイルを使えば簡単に実行できると思います。 ターミナルでBlende…

Xcodeのworkspaceのプロジェクトのリンク

こんにちは、株式会社CFlatです。Webに情報が少なかったので、書きます。 workspaceとは XcodeのworkspaceはXcode4で追加された機能です。 複数のプロジェクトを管理する際に便利な機能で、workspace内でビルド結果を参照することができます。 ライブラリを…

XCodeでハマったこと

こんにちは、株式会社CFlatです。XCodeにて、C/C++ Library(Type=Dynamic)と、Command Line Tool(Type=C++)の、2つのプロジェクトを用意します。そしてそれぞれに次のようなコードを書いて、デバッグビルドします。 A.h (project1) #include <cstdio> #include <string> clas</string></cstdio>…

実行時間の長いコマンドの終了をGrowlやメール通知するRubyスクリプト

こんにちは、株式会社CFlatです。ビルドなどの処理時間が長いコマンドを実行したあとって、どうせ待つぐらいならはてブでも見るかとかyoutubeでも見るかとなって、大抵気がついたときにはコマンドもとっくに終わっているということになりがちです。 かといっ…

フーリエ変換の縦横波パスフィルタ

こんにちは、株式会社CFlatです。2次元画像のフーリエ変換について、ハイパスフィルタやローパスフィルタは良く見かけるので 縦横波パスフィルタなるものを試しに作ってみました。下記は256*256の2次元画像と、それをフーリエ変換した際のパワースペクトル画…

4次元の回転行列

こんにちは、株式会社CFlatです。前回は下図のように4次元超立方体を2次元ディスプレイに表示しました。 今回は4次元超立方体を回転させてみます。 zw平面で回転 次元がいくつ増えても、ある平面を回転するだけなら回転行列の算出は難しくありません。 下図…

4次元から2次元への変換行列

2次元の正方形から1つ次元を増やしたら3次元の立方体になります。 3次元の立方体から1つ次元を増やしたら4次元の超立方体になります。今回は4次元超立方体を2次元ディスプレイに移す変換行列のお話です。 まずは3次元から2次元へ 例えば下記の絵は単なる線分…

C++とfinally(おまけ)

こんにちは、株式会社CFlatです。今回のタイトルはC++ですが、試しにC++以外の幾つかの言語におけるデストラクタやfinallyの相当機能について、少々見ていきたいと思います。 Java finallyとは別に、クラスにfinalize()メソッドを実装することができます。 f…

C++とfinally

C++

こんにちは、株式会社CFlatです。あれほど何でも取り込むC++がC++11になってもいまだに採用しない言語仕様で、他の言語にはよく採用されているもの。 幾つかありますが、代表的なものがGC(ガベージコレクション)とfinallyブロックでしょう。 ただ今回は、G…

オイラー角と回転行列

こんにちは、株式会社CFlatです。とあるお客さんからオイラー角の質問を受けたので少し調べてみました。 その際に計算結果は色んなサイトに載っていましたが、計算過程が見つからなかったのでメモしておきます。 オイラー角とは オイラー角とは3次元空間に…

KVO(key value observing, キー値監視)について

今回は便利なKVOについて紹介します。 KVOはKVC(key value coding)とペアになって使われるもので、特定のオブジェクトのプロパティが変化したことを 監視する場合などに使います。私も言葉は聞いたことがありましたが使う機会がありませんでした。今回実際に…

JavaScriptでコールバック連結 (2)

こんにちは、株式会社CFlatです。 一週挟みましたが、「JavaScriptでコールバック連結」の続きです。 それでは前回の処理の流れを、もう一度見ていきます。(1) ボタンを表示するためのアニメーションを実行する (2) スロットアニメーションを読み込む (3) (1…

Rails3でアイデア管理アプリ「Bulbo」をつくりました

僕個人が使いたいこともありましてRuby on Rails 3でアイデアを管理するためのWebサービス「Bulbo」をリリースしました。Bulboという名前は電球を意味するスペイン語から。閃きとかピコーンとかそういうわかりやすいイメージで名づけました。Bulbo今のところ…

Rails3でアイデア管理アプリ「Bulbo」をつくりました(旧)

先日、『Rails3でアイデア管理アプリ「Bulbo」をつくりました』という記事を書きましたが、この記事のみいいねボタンが押せないという問題が発生していることがわかりました。「アカウント」「カラースキーム」という単語がまずかったようなので、それらを置…

JavaScriptでコールバック連結 (1)

2012年11月からスタートした本ブログも、めでたく今週で20記事目を迎えました。今後とも株式会社CFlatをよろしくお願いいたします。 さて、本題へ。 JavaScriptは、登場直後である1990年代中頃を除けば、言語自体の機能としてはさほど大きな変化を経験しては…

CreateJSでハマったこと

長らく仕様策定に手間取っていたHTML5が大きく推進することになった理由の一つには、やはりAppleがiPhoneのFlashへの非対応を発表したことがあるでしょう。HTML5自体はいまだ完全には標準化されていませんが、主要ブラウザでは既にcanvasによる描画処理をサ…

doubleのRadixSort

バケットソートの欠点を補える基数ソート(RadixSort) バケットソートは計算量O(N)の素晴らしい必殺技ですが、 如何せんバケツのサイズに限度があり、用途が限定されます。 この問題を、痛みを伴いながら一部解決できる方法として、基数ソートが上げられます…

BitbucketにSSHでアクセスする(複数アカウントもおっけー)

BitbucketのリポジトリにはHTTPSでアクセスすることができますが、毎回パスワード入れるのも面倒だし、pushする情報が多すぎてエラーになることもあります。SSHを使えばそれを解消できるのですが、公式以外にあまり情報がなかったんでここに書いておくことに…

LAN内のSubversionで管理されているソースをGitでなんとかしたい(その2)

開発プロセス このプロジェクトでは機能X、機能Y、機能Zといった機能単位でのコミットをすることになっていました。とは言え1つの機能に数日かかるような規模でしたので、全て完了してからコミットするというのは非現実的です。Gitはコミットに対してあとか…

LAN内のSubversionで管理されているソースをGitでなんとかしたい(その1)

ソース管理のためのSubversionのサーバーを自社内に持つクライアントと仕事をしたことがあります。SubversionのサーバーはLANにあるので社外からのアクセスは許されていません。この仕事は常駐ではなかったのでSubversionのサーバーに直接アクセスすることは…

Windowsストアアプリ(XAML)でコレクション要素を思ったとおりに並べたい

今回は弊社初のWindowsストアアプリ「Ippin」の開発に絡めた記事です。すごく基本的な内容なのかもしれませんが情報が少なかったので残しておきます。Windowsストアアプリ イッピン(Ippin) | 株式会社CFlatXAMLではコレクションな要素を画面上に並べて配…

OpenGLをC++11でラップしてみんとてするなり 第7回

今回のテーマはテクスチャ。今までと比べると単に作って破棄する機能が増えただけに見えて、実はかなり厄介です。 というのも、インスタンスの作成から破棄までの間でコンテキストが切り替わらない今までの機能とは異なり、コンテキストが切り替わってもデー…

OpenGLをC++11でラップしてみんとてするなり 第6.5回

そういえば、gl::Matrixクラスの各種操作がMatrixにしか対応していなかったので、Matrixにも対応するようにしましょう。 まずは、行列操作関数をまとめた次のようなクラスを作り、必要な型(floatとdouble)に対して特殊化をします。それ以外の型に対しては…

OpenGLをC++11でラップしてみんとてするなり 第6回

それでは今回は、行列計算のラッパークラスを作りたいと思います。 ●4x4行列 OpenGLでの行列のメモリモデルは、次のようになっています。次元数を任意に拡張して、さらに要素型も任意にできるよう、次のようなクラスにしてみます。 今回は長くなるので省きま…

右辺値参照とムーブセマンティクス

資料だけならWeb上に多かれど、いまいちピンとこないのがこの2つの機能ではないかと思います。大体この2つはセットにして語られるので、どこからどこまでが右辺値参照の機能でどこからどこまでがムーブセマンティクスの機能なのかを混同してしまう、というこ…

OpenGLをC++11でラップしてみんとてするなり 第5回

早速、前回(第4回)で作ったDepthTestのインスタンスを、gl::Contextのメソッド中で作成するようにしてみます。 gl/Context.h namespace gl { class Context : noncopyable<Context> { // 一部省略 public : DepthTest depth_test(bool enabled) { return DepthTest(</context>…