コルーチン関連

処理内容

  1. ボタンを表示
  2. ボタンを押すと指定したSceneに遷移
  3. 裏で、指定したURLに接続

ソースコード

using UnityEngine;
using System.Collections;

public class Title : MonoBehaviour {
	void OnGUI () {
		if (GUI.Button(new Rect(Screen.width/2 -100 , 100, 200, 50), "GAME START"))
		{
			Application.LoadLevel("particles");
			StartCoroutine("LoadData");

		}
	}

	private IEnumerator LoadData() {
		string url = "http://localhost:3000";
		WWW hoge = new WWW(url);
		while (!hoge.isDone) {
			yield return null;
		}
	}
}

少しハマったところ

↑上記ソースコードの、

WWW hoge = new WWW(url);

の部分で当初、変数hogeの前の型宣言を書かずにビルドしたら、

hoge does not exist in the current context

と怒られた。

日本語配列キーボードなMacBook Proに行った設定

概要

職場で日本語配列キーボードのMacBook Pro(以下、MBP)が支給された。
US配列キーボードのものが欲しかったのだが、あまり贅沢は言えず。
とは言え、普段慣れ親しんでいるのはUS配列のキーボードなので、極力そちらに近づけたほうが良いということで、色々と試してみた。

各種設定

ThinkPadのUS配列USBキーボードを使用

MBPに接続して認識させた後、システム環境設定の「キーボード」にて少々キーバインドを変更する。
f:id:hchuno:20150109210105j:plain

メリット
  • ほぼUS配列キーボードのMBPと同じ挙動
  • トラックポインタが使える
デメリット
  • MBPの占有スペースが無駄
  • MBPのトラックパッドが使えない
  • 持ち運びにくい

キーバインディング変更ソフトを使用

  • Karabiner - OS X用のソフトウェア
    • 以前は「KeyRemap4MacBook」という名で知られていたソフト。OS X10.9から名前が変わった模様。
    • 言語に応じた細かい設定も可能になっており、「For Japanese」→「Change Keyboard Layout」とたどると以下の様な項目があった。「USE Japanese Kyeboard as US Keyboard」という項目もあったのだが、いまいち期待した挙動にならなかったため止めておいた。

f:id:hchuno:20150109210251j:plain

メリット
  • 場所を取らない
  • トラックパットが使える
  • 持ち運びしやすい
デメリット
  • ThinkPadキーボードと比べるとキー配列に違和感が残る
  • 表記と異なる挙動をするキーが存在する(普段の慣れに頼るしかない)
最終的な設定
  • かなりUS配列の挙動に近づいた!
    • 各キーの表記に釣られてしまうので、無刻印キーボードのつもりで慣れるしかない…

f:id:hchuno:20150112193925j:plain


結論

「腰を据えて使うときはThinkPadキーボード、持ち運ぶときはMBP単独」という使い分けができるようになっただけでもデカい。

rails console が動かなかった件

$ rails console
/home/vagrant/.rbenv/versions/2.1.5/lib/ruby/2.1.0/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)

readlineが無い」ということなので、rb-readlineをインストール。

$ gem install rb-readline

Gemfileを開いて、

gem ‘rb-readline’

を追記。

その後、bundle installを実行。

$ bundle install

再度、rails console を実行したら無事に動いた。

Chrome拡張のSilverBirdでリストが取得できなかった件

状況

  • リストを表示しようとしたら、「"undefined"(Not Found) updating tweets 」というエラーが出て表示できなかった

f:id:hchuno:20141101130059p:plain

対処方法

~/Library/Application Support/Google/Chrome
//Macの場合のパス。Windowsだと異なるが、ファイルの中身等やること自体は変わらない

この下に

lists_timeline.js

というファイルがあるので、find等で探して編集。

_extendParams
…
…
params.slug = this.listIdParts[2];
// ↑変更箇所

となっている箇所を

_extendParams
…
…
params.slug = this.listIdParts[3];

に変更し、SilverBirdを再起動。

2015-01-09補足

上記の方法でSiverBirdを再起動すると破損扱いされて「修復」を選ばざるを得なくなり、そうすると上記の編集がリセットされる。
そこで「拡張機能のパッケージ化」を利用して「独自設定したSilverBirdをインストールする」という方法を採ることにした。

lists_timeline.jsを編集後、SilverBirdの再起動は行わず、以下の場所にある「manifest.json」を編集する。

/Users/hchuno/ライブラリ/Application Support/Google/Chrome/Default/Extensions/ExtensionのID/バージョン名/

  1. 「key」「update_url」の行を削除して保存する。
  2. Chromeの「拡張機能」の画面を開く
  3. ディベロッパーモード」をチェックする
  4. 拡張機能のパッケージ化」ボタンを押す
  5. 拡張機能のルートディレクトリ」のところに、上記のバージョン名ディレクトリまでのパスを入れる
  6. 秘密鍵ファイル」は空欄にしておく
  7. 「ExtensionのID」ディレクトリ直下に「バージョン名.crx」というファイルが生成されているので、これを拡張機能画面にドラッグアンドドロップする
    • ディレクトリをFinderで表示させる場合は、Finderのメニューから、移動→フォルダへ移動、と選択して、上記のバージョン名までのパスを入力する
  8. オリジナルのSilverBirdの「有効にする」チェックを外す

PHPUnitのアップグレードやアンインストール等

sudo vim /etc/php.ini
以下を追記
include_path = ".:/php/includes:/usr/lib/php/pear"

sudo pear upgrade PEAR
pear config-set auto_discover 1
sudo pear install pear.phpunit.de/PHPUnit-3.7.32



phpunit -v
PHPUnit 4.0.11 by Sebastian Bergmann.
アンインストール
sudo pear uninstall pear.phpunit.de/PHPUnit

「Web共有」が見当たらない件

ちょっとしたPHPプログラムの動作確認するために、
「システム環境設定→共有→Web共有」
と辿ってApacheを起動しようとしたのだが、「Web共有」が見当たらなくなった。
※OSをMavericksにしてからか…??

仕方なく、コマンドラインからApacheを起動することにした。

$ sudo apachectl start


ブラウザでlocalhostにアクセスすると
「It works!」
と表示された。

ルートディレクトリが、

/Library/WebServer/Documents

なので、ここに件のPHPプログラムを置いた。

Missing Database Tableエラー

Table mychuno_users for model MyChunoUser was not found in datasource default.

CakePHP2.3.2ではModelにuseTableを明記しなくても発生しなかったが、2.5.5では明記しないとエラーが発生した。
ということで、useTableを追記。

<?php

class MyChuno extends …

…
…

$useTable = 'mychuno_users';

…
…