Visual StudioをMicrosoft Azure管理ツールとして使う

AWSやMicrosoft Azureの両者共に言えることなんですがWebの管理画面の使い勝手がそれほど良くはありません。例えばストレージやキューにデータを手動で置いたり削除したりするのはとても面倒です。Azureのキューに至ってはデータを閲覧できません。 Microsof…

Unity Cloud BuildでUnityのビルドやバイナリ配布を自動化しよう

お金を払ってProライセンスを使っている人に朗報です。Unityがベータ版として提供する Unity - Cloud Build を使えば、いわゆる継続的インテグレーション(CI)が簡単に行えます。 弊社では「レポジトリの特定のブランチを監視させ、変更があったらiOS版とAn…

UnityでのXcode設定をUnityEditorのスクリプトだけで自動化する

Unityが出力したiOS用プロジェクトの手動編集をなんとかしたいと考えていたら、同じような人がやはり多いようでいろいろな方法がブログエントリで紹介されていました。 UnityでXcodeのプロジェクト設定を自動化したい(c#でPostProcessBuildを書く場合) - Q…

Rails+Sidetiqでお手軽定時処理 on Heroku(無料!)

Railsで定時処理をやろうと思って色々トライしました。Sidekiq+Sidetiqを使ってHerokuの無料分で動作させることができたのでその手順を紹介します。 Railsでの非同期処理 古いものから新しいものまでいろいろ選択肢があります。 collectiveidea/delayed_job …

jQuery の関数をオーバーライドする方法

今回は、jQuery を使って$('#hoge').hoge()とした時に、元のhogeの機能に加えて追加のコードが走るようにしたいですね、というお話です。 普通の JavaScript で関数をオーバーライドする方法 こちらは JSer なら常識ですね。 var orgHoge = window.hoge; win…

UnityのTranslateにご注意

UnityのTransform.Translate関数には、じつはちょっと注意が必要です。 簡単に言うと、transform.Translate(Vector3.right)とtransform.position += Vector3.rightは異なるというお話です。 手順1 まず、原点に球体を用意します。 手順2 次にInspector上でPo…

UnityでOpenCVまとめ

Unityで画像処理と言うと、まだあまり需要がなさそうですが、Oculus Riftの流れ的にも、これからニーズが増えそうですなあ。 さて、弊社でもUnityでOpenCVを利用したくなったわけですが、現在パーフェクトな環境はまだなさそうです。 そこそこ調べたので、ま…

const int よりも int const と書こう、という提案

c++

……という提案を、試しにちょっとしてみます。 ポインタ型とconst C++er の皆さん、次のコードを正しく説明できるでしょうか? int hoge = 42; const int * p1 = &hoge; int const * p2 = &hoge; int * const p3 = &hoge; もちろん答えはこうなります: int h…

問.Cでオブジェクト指向プログラミングを行なえ

C

問.Cでオブジェクト指向プログラミングを行なえ。ただし「オブジェクト指向プログラミング」とは、次のような特徴を持つプログラミング技法であるものとする: オブジェクトの実装はオブジェクトのユーザーからは隠蔽される(カプセル化/隠蔽) 同一型のオ…

Javascriptを使ってiOSのWebViewからネイティブにデータを返そう

Swift使っていますか?弊社ではまだほとんど使っていません。今日もObjective-Cの話題です。 iOSアプリを作るとき、すでにWeb版で実装されている機能をiOSでもそのまま使いたいがためにUIWebViewを使うということがあると思います(あると言ったらある)。そ…

openFrameworksを使ったフレーム編集

概要 動画からフレームを抜き出してOpenCVで加工する環境をopenFrameworksで準備してみました。 日本語パス周りで少しハマったのでメモ代わりにブログに残しておきます。 動作環境 Windwos7 64bit openFrameworks0.8.4 visual studio 2012 professional open…

開発時に便利なUnityのTips

今週はUnity開発時のTipsをいくつか。 取り込んだ画像の画質が悪い Aniso Levelの引き上げることで、急な角度でテクスチャを見る場合にテクスチャの品質を向上させる。 ついでにpng等透過画像の場合はAlpha is TransparencyのチェックをONにする。 この項目…

GreaseMonkeyのGM_setValue()の値はどこに?

以前もご紹介した GreaseMonkey にて、GM_setValue() 関数がどこに値を保存するか、纏めてみました(Firefox のみ)。 以下、[@namespace]は GreaseMonkey スクリプトのメタタグ@namespaceに設定した値、[@name]は同じく@nameに設定した値、[設定項目]はGM_s…

fixedしたポインタにスコープを越えさせる

C#

皆さん大好き*1unsafeコード。 滅多にない事ですが、P/Invoke を使ってなんかいろいろと変な事をしていると、こんなコードを書きたくなってくる事があります: class Hoge { private byte[] m_ptr; public unsafe byte* GetPointer() { // &(m_ptr[0])を取得…

アニメ風レンダリングが簡単にできるBlenderのFreestyleを試してみた。

Blender2.67から利用できるようになったFreestyleレンダリングが面白そうだったので、以前作ってみた動画で試してみました。 以前作った動画 今までにBlenderとpythonを使って下記のような記事と動画を作りました。 Blenderの物理シミュレーションをpythonス…

Ansibleで自社Wordpressを移行を自動化

先日弊社Webサイト、http://www.cflat-inc.com のサーバーをAWSからさくらVPSに移行しました。元々t1.microを使っていたのですが、さすがに非力すぎて時折アクセスできないこともありました。かといってsmallを使うとスペックの割にコストがかかると考えさく…

CUDA6.0用にCPUとGPUの速度比較コードを修正

以前の記事でCUDAプログラミングする際に、CPUとGPUを切り替える方法を書いたのですが、 その2日後にCUDA6.0が正式リリースされ、Unified Memoryという 新しいメモリ確保の仕組みが提供されました。 メモリ確保が簡単に CUDA5.5まではCPUとGPUの両方にメモリ…

setTimeout() vs ハッカー、仁義なき戦い

早速ですが、以下のHTMLを見て下さい……。 <html> <head> <meta charset="UTF-8"> <title>サンプル1</title> <style> #counter { font-size: 3em; font-family: monospace; color: blue; } </style> <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.1.min.js"></script> </meta></head></html>

下手な高速化で地獄を見たお話 ~ XCode編 ~

こういうエラーが起きました。 「Could not insert new outlet connection: Could not find any information for the class named」というエラー。 第一手:IDEIndexDisableという犯人 スタックオーバーフローさん等でいろいろ解決方法が載っており、それら…

Xcodeで余計なCleanを避けるスクリプト

XCodeでフォルダ内のファイルを全てプロジェクトに追加する方法には、二種類あります。 一つは「Create groups for any added folders」、もう一つは「Create folder references for any added folders」です。フォルダの色が黄色か青色か、という区別の仕方…

Parse.comのREST APIを使ったPush通知

複数のアプリに対してParse.comを介してPush通知を送りたい場合、Webインターフェースでポチポチやるのは効率が悪く、とても辛い作業になってしまいます。Parse.comのサイトはレスポンスが少し遅いなと感じる程度である上に、1回1回が退屈な作業を何度も繰り…

Unityで忍者アプリを作ってみた

さて、Unityで忍者アプリを作ってみました。 短期開発ですが、今回は欧米狙いの色が強いアプリに仕上げています。 忍者は愛を斬らないCFlatゲーム無料 Android版はこちら↓ https://play.google.com/store/apps/details?id=com.cflat.ninja フィールドはアセ…

C++からC++らしくJNIを呼んでみる

JNI(Java Native Interface)はJavaとCの連携技術です。Javaアプリケーションの一部ロジックをCで書いたり、さらにその中からJavaのメソッドを呼び出したりする事で、アプリケーションの実行環境が制限される代わりに高速化、あるいは非Javaプラットフォー…

cocos2d::CCGLProgramがアレなワケ

前回のオマケ的な何か。 前回記事の最後で、私は次のように書きました: ともあれ、上記の結果から、原則としてfor版を使いつつ、for版が使えない時にだけ非for版を使ってやればよさそうだとわかります。 実はこの部分にもこっそりと妙な罠が潜んでいるので…

ワールドカップに合わせてUnityでサッカーゲームを作ってみた

AppStoreの審査が開幕のブラジル戦に間に合うのかどうか、これが一番の懸案でしたが、1回リジェクトくらったため間に合いませんでした。コートジボワール戦にも間に合わず、何とかギリシャ戦には間に合ったという惨状です。 さて、会社でUnity Proも購入した…

空前のパズルブームを予想してCocos2dでパズルゲームを作ってみた

この度、弊社よりパズルゲーム『Fuse 〜 導火線パズルドカーン! 〜』(以下『Fuse』)がリリースされました。 Fuse(iPhone版) Fuse(Android版) 開発はCocos2d-x 2.2.2で行ないました(今までちょこちょことCocos2d-x関連の記事があったのは、これのため…

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

以前の記事に引き続き。 以前、「輪郭線が iOS と Android にしか対応していなくて云々」というような理由で GLSL を用いた輪郭線表示を行なうようにしましたが、これを Android で実行してみると機種によってはこうなります。 error C5013: profile does no…

☆C++11テクニック☆ 配列を配列で初期化する方法+α

C++

メンバー変数の初期化 例えば、こんなコードがあったとします。 template <class T> struct Hoge { Hoge(const T &v) : value(v) {} T value; }; template <class T> Hoge<T> make_hoge(const T &v) { return Hoge<T>(v); } #include <iostream> #include <cxxabi.h> #include <cstdlib> #include <memory> template <class T> std::</class></memory></cstdlib></cxxabi.h></iostream></t></t></class></class>…

ある三角形の頂点のうち、最後の頂点を求める方法

今日は小ネタです。三角形ABCの各頂点の座標が、a, b, c であるものとします。 この三角形ABCのうち、外から渡した座標 d, e のいずれでもない、最後の頂点を求めて下さい。ただし d, e は、必ず a, b, c のうちのいずれかと一致し、また d≠e であるものとし…

☆CSSテクニック☆Borderの継ぎ目

まず最初に、ありがちな次のようなものを作ってみました。HTMLはだいたいこんな感じ。 HTML+CSS3で作る×ボタン .popup { background-color: white; color: #888; border: solid 1px; border-radius: 10px; position: absolute; top: 5em; left: 5em; width:…