@blog.justoneplanet.info

日々勉強

Xcode 5.1にアップデートするとビルドできなくなる

arm64に対応していないものが原因である。

■Build Settings>Architectures

CocoaPodsに対応するため以下の部分を

$(ARCHS_STANDARD)

以下のように修正する。

$(ARCHS_STANDARD_32_BIT)

変更後、以下のコマンドを実行する。

pod update

■JSONKit

isa is deprecatedと表示されてビルドできないので、Podfileに以下を追記する。ちなみにcompiler flagに-ferror-limit=0を設定してもビルドできない。

post_install do |installer_representation|
    installer_representation.project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['CLANG_WARN_DIRECT_OBJC_ISA_USAGE'] = 'YES'
        end
    end
end

JSONKitをやめてNSJSONSerializationにしたいのだが某SDKが使用しているので諦める。

■OpenSSL

OpenSSL-for-iPhoneを再ビルド

cd OpenSSL-for-iPhone/
vim ./build-libssl.sh

以下のように修正する。というかmasterからpullすると7.1になっている。

VERSION="1.0.1e"                                                          #
SDKVERSION="7.1"           

以下のコマンドでビルドしてできるlibcrypto.aとlibssl.aで上書きする。

./build-libssl.sh

参考

Xcode4とgitignore

なかなか良い設定が見つからない。現状のgitignoreは以下のようになっている。

# Xcode
build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData

# osx noise
.DS_Store

途中で変更した場合は以下のコマンドでgit管理から外す。

git rm --cached filename

MacのXAMPPにXdebugを入れる

UNIXベースなので以下のコマンドでインストールしてみる。

/Applications/XAMPP/xamppfiles/bin/pear upgrade pear channel-update pear.php.net
/Applications/XAMPP/xamppfiles/bin/pear upgrade pear upgrade PEAR
/Applications/XAMPP/xamppfiles/bin/pecl install xdebug

コンパイルで大量のエラーが出て上手くいかないはずだ。

■解決策

Komodo Remote Debugging Package Downloadsで、「Downloads > PHP Remote Debugging Client > Mac OS X (universal)」をクリックしてダウンロードし、PHPのバージョンに合ったファイルを以下のコマンドでコピーする。

cp /Users/[user]/Downloads/Komodo-PHPRemoteDebugging-6.1.0-60797-macosx/5.x/xdebug.so /Applications/XAMPP/xamppfiles/lib/php/php-5.x.x/extensions/no-debug-non-zts-20xxxxxx/xdebug.so

設定ファイル

以下のコマンドを実行する。

vi /Applications/XAMPP/xamppfiles/etc/php.ini

次に、以下の一行を加える。

[xdebug]
zend_extension ="/Application/XAMPP/xamppfiles/lib/php/php-5.x.x/extensions/no-debug-non-zts-20xxxxxx/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "/Applications/XAMPP/xamppfiles/htdocs/_xdebug_profiler"
xdebug.profiler_output_name = cachegrind.out.%s
基本設定

ついでにマルチバイト系の設定をし忘れてたのでやっておく。

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8
expose_php = Off

500個めの記事でしたーσ°▽°)σ

eclipseでJavaScriptの単体テストをする

つまずいた部分があったのでメモっておく。φ(-ω-。`)。

■ダウンロード

eclipse downloadsのJavaScript版をダウンロードした。

■プラグイン

JsTestDriverを使用する。

まず、「ヘルプ > 新規ソフトウェアのインストール > 有効なソフトウェア・サイト」を選択し、フィルタに「http://js-test-driver.googlecode.com/svn/update/」と入力する。

次に、一覧にパッケージが表示されるので、バージョンが新しいものを選択しインストールする。

■使用方法

用意するファイルは3ファイルである。以下のサンプルソースはドキュメントのコードを使用させていただいた。

projectdir/src/Greeter.js

myapp = {};
myapp.Greeter = function(){ };
myapp.Greeter.prototype.greet = function(name){
    return "Hello " + name + "!";
};

projectdir/src/GreeterTest.js

テストコードである。

GreeterTest = TestCase("GreeterTest");

GreeterTest.prototype.testGreet = function(){
    var greeter = new myapp.Greeter();
    assertEquals("Hello World!", greeter.greet("World"));
};

projectdir/jsTestDriver.conf

クラスのディレクトリとテストコードのディレクトリを設定している感じだ。

server: http://localhost:42442

load:
  - src/*.js
  - src-test/*.js

どうやらプロジェクトルートに置く必要があるようだ。また、ファイル内のパスは注意して正しく記述する必要がある、

ビューの表示

「ウィンドウ > ビューの表示 > その他」を選択し、JavaScriptの中からJsTestDriverを選択すると表示される。

設定1

「ウィンドウ > 設定 > Js Test Driver」を選択し、各ブラウザのexeファイルと関連付ける。要はパスを通すって感じだ。

設定2

プロジェクトを選択した状態で、「実行 > 実行の構成」を選択したら、「実行 > Js Test Driver Test > 新規構成」を選択し、以下のように入力する。

project
projectdir
Conf File
jsTestDriver.conf

実行

JsTestDriverビューの「サーバーを始動」のボタンを押し、テストするブラウザのボタンを押す。するとブラウザが立ち上がるので、ビューに戻り「return last configuration」をクリックするとテストが実行される。

eclipseでPHPの開発環境を構築する

忘れちゃうから書いておくことにしたφ(-ω-。`)。新しいマシンにを使うたびに古いマシンを見ながらセットアップするのは意外に手間だったり省エネでもないし。。。そんな感じで本年も宜しくお願いします。

■ダウンロード

eclipseのサイトから、Eclipse for PHP Developersを選んでダウンロードする。別のパッケージでもイイんだけど簡単にできるにこしたことはない。また、個人的にはPHP用のeclipseとしてJava用とは別にセットアップするのをお勧めする。

■起動

解凍後、eclipse.exeをクリックして起動する。workspaceはxamppのhtdocsディレクトリを指定するのが良いと思う。起動後、workbenchをクリックする。

■プラグイン

日本語化

まず、Pleiadesからプラグインをダウンロードする。

次に、ダウンロードしたファイルを解凍し、含まれているディレクトリ(plugins、featuresの二つ)をeclipse本体の同名ディレクトリに上書きする。

最後に、eclipseのディレクトリにあるeclipse.iniに以下のラインを追記する。

-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
Macの場合

eclipse/Eclipse.app/Contents/MacOS/eclipse.iniのファイルに以下を追記する。

-javaagent:../../../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
日本語化の別解1:All in oneパッケージを使う

PleiadesからAll in Oneパッケージをインストールすると最初から日本語化されている。但し、現時点では32bit版のwindowsパッケージしかない。

日本語化の別解2:Babelを使う

まず、BabelのBabel Update Sitesの中から、eclipseのバージョンに合ったURLをコピーする。

次に、Eclipseに戻り「help > Install New Software」を選択し、Work withの欄に上述でコピーしたURLをペーストすると、各種言語が表示されるので「Japanese」だけ選んでインストールする。

但し、Windows Vista(32bit版)と7(64bit版)のPCを使用しeclipse 3.6の場合、ビューが開かなくなるという致命的な不具合が起こった。また、日本語化されていない部分がPleiadesより多い。

subversive

Gitブームだけど、まだまだ実際のプロジェクトでは現役なのでプラグインをインストールする。

まず、「ヘルプ > 新規ソフトウェアのインストール > 有効なソフトウェア・サイト」を選択し、フィルタに「subversive」と入力する。

次に、ピックアップされたURLのチェックボックスにチェックを入れOKをクリックしたら、作業対象の欄に「http://download.eclipse.org/technology/subversive/0.7/update-site/」と入力する。一覧にパッケージが表示されたら、全部選択しインストールする。

egit

やっぱりGit環境も必要なので以下のサイトを使用してプラグインをインストールする。

http://download.eclipse.org/egit/updates/

拡張フォーマット

より細かいフォーマット設定をPDTで行うためのプラグイン。sourceforgeからダウンロードしてインストールする。

Quantum Database Utility

データベースを操作するプラグイン。phpMyAdminがあるから必須というわけでもない。

まず、Quantum Database Utilityのサイトからダウンロードし、解凍したファイルをeclipseのプラグインディレクトリに配置する。

次に、MySQL JDBC(MySQLのJava用ドライバ)が必要なので、サイトからダウンロード・解凍したファイルの中の「mysql-connector-java-5.x.xx-bin.jar」を「C:\xampp\mysql\bin」に配置する。

MakeGood

PHPでテスト駆動開発をしたいのでインストールする。

ます、作業対象の欄に「http://eclipse.piece-framework.com/」と入力する。一覧にパッケージが表示されたら、「MakeGood」を選択しインストールする。

MakeGoodでのユニットテスト

Eclipse PDT 上でユニットテストを実行するためのテストランナーで、PHPUnitにも対応している。

ユニットテストのコード例

PHPUnitでは、例えば以下のようなテストコードでユニットテストをすることができる。今回の開発環境の構築には直接関係しないがなんとなく掲載しておく。

require_once 'PHPUnit/Framework.php';
require_once 'Shain.php';

class ShainTest extends PHPUnit_Framework_TestCase
{
    /**
     * testGetName
     * 社員の名前でインスタンス化し
     * getNameしたときに正しく名前を返すかチェックする
     */
    public function testGetName()
    {
        $shain = new Shain('yamada');
        $this->assertEquals('yamada', $shain->getName());
        $shain = new Shain('tanaka');
        $this->assertEquals('tanaka', $shain->getName());
    }
}

上述のテストコードは以下のコードに対応する。

class Shain
{
    private $_name;

    /**
     * __construct
     * @param string $name
     */
    public function __construct($name)
    {
        $this->_name = $name;
    }

    /**
     * getName
     * @return string
     */
    public function getName()
    {
        return $this->_name;
    }
}

ちなみにテストコードのコメントは丁寧に細かく書くこと。

■設定

「ウィンドウ > 設定」をクリックする。

テキスト・エディター

「一般 > エディター > テキスト・エディター」で「行番号の表示」と「空白文字の表示」にチェックを入れる。

文字コード

「一般 > ワークスペース > テキスト・ファイルのエンコード」で「その他 > UTF-8」を選択する。

タブ

「PHP > コード・スタイル > フォーマッター」でタブポリシーをスペースに、サイズを4にする。

PHP Executables

「PHP > PHP 実行可能ファイル」で「追加」をクリックし、以下のように設定する。

名前
PHP_5.3.1
実行可能ファイル・パス
C:\xampp\php\php.exe
/Applications/XAMPP/xamppfiles/bin/php
PHP ini ファイル
C:\xampp\php\php.ini
/Applications/XAMPP/etc/php.ini
SAPI Type
CLI
PHP デバッガー
XDebug

PHP インタープリター

「PHP > インタープリター」でデフォルトを設定する。新しくプロジェクトを作るときにも設定できるのでプロジェクトごとにバージョンが違ったりしている場合はそちらでも設定する。

PHP マニュアル

「PHP > PHP マニュアル」で「新規」をクリックし、以下のように日本語マニュアルを追加する。

名前
PHP.net/ja
リモートサイト
http://www.php.net/manual/ja

追加したら選択状態で「デフォルト」をクリックする。

デバッグ

「PHP > デバッグ」で以下のように設定する。

PHP デバッガー
XDebug
サーバー
Default PHP Web Server
PHP 実行可能ファイル
PHP_5.3.1

PHPライブラリー

「PHP > PHPライブラリー」で「新規」をクリックし、「PEAR」と入力し「Add to enviironment」にチェックを入れた後、「外部フォルダーの追加」をクリックし「C:\xampp\php\PEAR」を指定する。

但し、このままでは「MakeGood」でインクルードしてくれないので、プロジェクトで右クリックし「プロパティ > PHPインクルード・パス > ライブラリー > ライブラリーの追加」で上述の「PEAR」を追加し、パスを通す必要がある。

アウトラインビュー

メソッドの戻り型を表示したいので、「PHP > 外観」の「メソッド戻り型の表示」にチェックを入れる。

■表示

タスク

//TODOなどのコメントを一覧表示してくれるプロジェクトの味方。

「ウィンドウ > ビュー > タスク」をクリックして表示させておく。

テンプレートファイル

CakePHPの.ctpファイルなどPHPとして表示して欲しい場合は以下のように設定する。

  • 「一般 > コンテンツタイプ」の「PHP Content Type」に*.ctpを追加する。
  • 「一般 > エディタ > File Associations」の「PHP Content Type」に*.ctpを追加しPHP Editorをデフォルトに指定する。

再起動すると.ctpファイルがPHPと同じようにカラーリングされる。

■XDebug

xamppに含まれているXDebugを前回の記事を参考にして有効にすればPHPのステップ実行も可能になる。

eclipseでJSP・Servletの開発環境を構築する

■ダウンロード

eclipse

Eclipse DownloadsからEclipse IDE for Java EE Developersを選択しダウンロードする。

日本語化については、以前の記事を参考にセットアップする。

サーバー

Apache+MySQLについてはxamppをインストールして使用する。

但し、MySQLにはJavaから接続することになるので、以前の記事を参考にしてMySQL用JDBCドライバをインストールする。

xamppのアドオンのTomcatについて

eclipseとの連携で失敗するので、xamppのアドオン版のTomcatは使用しないこと。

JRE

eclipseの実行に必要になるので、ダウンロードしてインストールする。

JDK

Java SE Development Kit 6u23をダウンロードし、インストールする。

インストールすると環境変数の設定が必要になる。Windows 7の場合、「スタート > コントロールパネル > システム > システムの詳細設定 > 詳細設定 > 環境変数」で、「システム環境変数」の変数Pathに「;C:\Program Files\Java\jdk1.6.0_23\bin」とJDKがインストールされたパスを追記する。

■設定

「ウィンドウ > 設定」をクリックする。

文字コード

「一般 > ワークスペース > テキスト・ファイルのエンコード」で「その他 > UTF-8」を選択する。

さらに、「Web > JSPファイル > エンコード」で「UTF-8」を選択する。

Tomcat

「サーバー > ランタイム環境 > 追加」で、「Tomcat6」を追加し「次に」をクリックした後、「ダウンロードしてインストール」をクリックし、「C:\tomcat6」にインストールする。インストールが終わったら、以下のように入力する。

名前
Apache Tomcat v6.0
Tomcatインストール・ディレクトリ
C:\tomcat6

Eclipse3.4でインデントにスペースを使用する

まず、「ウィンドウ > 設定」で設定パネルを開く。

■テキスト・エディタの設定

「一般 > エディター > テキストエディター」の「タブでスペースを挿入」にチェックを入れる。

テキスト・エディタの設定

■フォーマッターの設定

「Java > コードスタイル > フォーマッタ―」の「編集」をクリックすると、画像の様なウィンドウが出現するので「タブポリシー」を「スペースのみ」にする。この過程でデフォルトの設定は上書きできないと言われるので、適当な名前を付けて設定を保存する。

フォーマッターの設定

設定箇所は多いが好みのスタイルに勝手になるように調整すると俄然やる気があがる。