2013年12月3日火曜日

FuelPHPのindex.phpを省略する

前回の状態でセットアップは完了かなと思っていたのですが、コントローラを追加しても上手く表示できませんでした。
試してみたところ、URLにindex.phpをつければ大丈夫なようでした。
でもスカッフォルドで作ったページで、編集ページへのリンクのindex.phpが省略されていてリンクが機能していません。

FuelPHPに最初から入っている .htaccessにmod_rewriteの設定がコメントアウトされている状態で入っていたので、これを有効にすると index.php を省略して表示できるようになりました。

ファイルを開けばすぐにわかると思いますが、変更内容はこんな感じ。
RewriteBaseの値は、動かす環境に合わせる必要があります。
diff --git a/public/.htaccess b/public/.htaccess
index bffe79e..e99dd49 100644
--- a/public/.htaccess
+++ b/public/.htaccess
@@ -9,7 +9,7 @@
 
        # NOTICE: If you get a 404 play with combinations of the following comme
nted out lines
        #AllowOverride All
-       #RewriteBase /wherever/fuel/is
+       RewriteBase /~ユーザ名/プロジェクト名/
 
        # Restrict your site to only one domain
        # !important USE ONLY ONE OPTION
@@ -26,9 +26,9 @@
        #RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
 
        # Remove index.php from URL
-       #RewriteCond %{HTTP:X-Requested-With}   !^XMLHttpRequest$
-       #RewriteCond %{THE_REQUEST}                             ^[^/]*/index\.ph
p [NC]
-       #RewriteRule ^index\.php(.*)$                   $1 [R=301,NS,L]
+       RewriteCond %{HTTP:X-Requested-With}    !^XMLHttpRequest$
+       RewriteCond %{THE_REQUEST}                              ^[^/]*/index\.ph
p [NC]
+       RewriteRule ^index\.php(.*)$                    $1 [R=301,NS,L]
 
        # Send request via index.php (again, not if its a real file or folder)
        RewriteCond %{REQUEST_FILENAME} !-f

FuelPHPのプロジェクトをgitにツッコむ

歳を取ると、昨日のことでも自分が何をやっていたか分からなくなるときがあります。

下手したら昨日どころか、1時間前のことですら怪しい時もあります。

そんな時にも役に立つのがバージョン管理システム、VCSってやつですね

ということで、FuelPHPでプログラム作るにあたってgitにツッコミたいところですが、FuelPHPのプロジェクトを作った段階でgithubからクローンしてきているので、.gitができていたりしています。

とりあえず .gitフォルダ削除して git initしてしまえば、加齢による記憶障害には問題ないのですが、FuelPHPのバージョンが上がった場合に手動で入れ替えないといけないのがちょっと面倒そうです。

そこでWebをグルグルしてみると、参考になる記事がありました。今回はこちらの記事を参考に、gitに突っ込んでみました。

FuelPHPで作成するアプリケーションをGitHubで管理する

プロジェクト作る度に、コマンド打ってられないのでファイル削除して、サブモジュール追加してチェックアウト部分をシェルスクリプトにしておきました。

#!/bin/sh
rm -rf .git .gitmodules *.md docs fuel/core fuel/packages
git init
git submodule add git://github.com/fuel/core.git fuel/core
git submodule add git://github.com/fuel/oil.git fuel/packages/oil
git submodule add git://github.com/fuel/auth.git fuel/packages/auth
git submodule add git://github.com/fuel/parser.git fuel/packages/parser
git submodule add git://github.com/fuel/orm.git fuel/packages/orm
git submodule add git://github.com/fuel/email.git fuel/packages/email
git submodule foreach 'git checkout 1.7/master'
#git remote add origin [リポジトリURL]
#git push -u origin master

fuelphpgitmod.shとかってファイル名で保存しておいて、oil createしたフォルダに移動して実行すればOKです。というか、oil createする時にこういった状態になったほうが素敵ですね。

そんな変更の動きはないのかな?と思ってgithub覗いてみたんですが、oil createがどこでやってるのか分かりませんでした(´・ω・`)

https://github.com/fuel/oil/tree/1.7/master

2013年11月27日水曜日

FuelPHPはじめてみます

PHPご指名で、RESTfulな機能を作ることになったので、調べてみたらFuelPHPが良さそうな気がしたのでちょっと試してみます。

インストールしようと思ったら、fuelphpのサイトに繋がらないでやんす。
いくなり心が折れそうになったのですが、日本語ドキュメントサイトがあるじゃないですか!

日本語ドキュメントの「インストール方法」http://fuelphp.jp/docs/1.7/installation/instructions.html
を読んでみるとGitHubで提供されていることが判明。
gitクローンでインストールできました。

とりあえずの開発環境は、Mac OSに最初から入っているApacheを使っています。
Apacheのユーザディレクトリを有効にしています。
/Users/ユーザ名/Sites の中が http://localhost/~ユーザ名/ で参照できるようになります。

gitクローンしたフォルダの中のpublicフォルダのシンボリックリンクを 上記Sitesの中に作ってあげます。
$ cd
$ git clone --recursive git://github.com/fuel/fuel.git testapp
$ cd ~/Sites
$ ln -s ~/testapp/public testapp
これで http://localhost/~ユーザ名/testapp/ でアクセスできるようになりました。

と思ったら、「Composer is not installed. Please run "php composer.phar update" in the root to install Composer」と表示されます。

よくわかりませんが、言われるがままにコマンドを叩きます
$ php composer.phar update
コマンド実行すると、ターミナル上に 警告 が表示されてドキっとしてしまいます。
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "composer.phar self-update" to get the latest version.
とりあえず言われるがままにコマンドを叩きます
$ php composer.phar self-update
とりあえず怒られなくなりました。
ということでブラウザをリロード。

怒られた!
まあ、これは単純にログファイル書こうとして、権限がないだけなので安心して対応できますね。
とりあえず fuel/app/logsのパーミッションを 777 にしちゃいます。
(本番環境では777なんて指定しないでね)
$ cd ~/testapp/fuel/app
$ chmod 777 logs
で、再度ブラウザをリロード。
で、また怒られます ><

システムで設定されているタイムゾーンを使うのは危ないから、ちゃんとタイムゾーン設定してね、みたいなこと言われてる?なんでシステムで設定されてるのだめなん?とか思いつつ、ググります。

PHPバージョンアップの際に発生するタイムゾーンエラーの対処方法


うむ、とりあえず .htaccess に設定することにしました。
$ cd ~/testapp/public
$ vi .htaccess
で、末尾に php_value date.timezone Asia/Tokyo を追記しました。
diff --git a/public/.htaccess b/public/.htaccess
index bffe79e..537ae15 100644
--- a/public/.htaccess
+++ b/public/.htaccess
@@ -54,3 +54,4 @@
        </IfModule>
 </IfModule>
+php_value date.timezone Asia/Tokyo
で、再度ブラウザをリロード。
来たよ!来たよ!僕のマックにもFuelPHPが来たよ♥
ということで、いつか分からない次回に続く。

追記 

日本語ドキュメントの「設定」を読んでたら、タイムゾーンの設定はFuelPHPのconfig.phpでも指定できるみたい。
.htaccessは環境によって使わないかもしれないので、config.phpでタイムゾーンを指定するようにしました。

diff --git a/fuel/app/config/config.php b/fuel/app/config/config.php
index 5993891..6790f3d 100644
--- a/fuel/app/config/config.php
+++ b/fuel/app/config/config.php
@@ -94,7 +94,7 @@ return array(
         * default_timezone             optional, if you want to change the serv
er's default timezone
         */
        // 'server_gmt_offset'  => 0,
-       // 'default_timezone'   => null,
+       'default_timezone'   => "Asia/Tokyo",
 
        /**
         * Logging Threshold.  Can be set to any of the following:

たまにはブログでも書いてみようと思ったら、botObjectsのことを思い出した

家の中で立ち上がろうとして、足の骨折れちゃいました >o<

と、そんなことはどうでもいいのですが、FuelPHPっていうフレームワークを使ってみようと思い、久しぶりにブログでも書こうと思ってBlogger開いたらbotObjectsのProDesk3Dの事を思い出してしまって、ググってしまいました。

なんか日本の代理店が決まってるみたいです。

648,000円って高けぇぇえ!

とはいえ、10月末から11月頭の段階で代理店さんの方にも、ブツは届いていないようです。
10/26〜11/4のイベントで展示する予定だったみたいですが、可哀想です。



本家の方を見てみると、今日注文したら12/20にお届予定ってな感じで絶賛注文受付中。
文面を見ると、既に出荷は始まっていそうな雰囲気もありますが、ググった感じだと、製品が届いたって記事が全く出てこないので、相変わらず出す出す詐欺を続けているんでしょうかね。

2013年7月9日火曜日

3DプリンタのProDesk3Dをポチろうとして思いとどまった

3Dプリンタで遊んでみたくて、少し前から調べていたのですが、30万円でフルカラーの3Dプリンタが出るって記事をみて興味津津になったりしていました。

http://makerslove.com/1062.html

botObjectsのProDesk3Dってやつ
http://botobjects.com/

仕様を見ると、スゴく魅力的です。
で、ホームページの右上に[Pre-Order Online Now]ってボタンがあるのでポチってしまおうかと思いました。プレオーダーだと$400も安くなるみたいだし。

と、プレオーダーの画面を開いたら、決済にPayPal使ってるようでして、商品の発送前にPayPalからの請求の引き落としがありそうでちょっと不安になりました。
ちょっと不安になったので、不安を拭い取ろうとホームページをもう少しよく見てみたところ、さらに不安になったでゴザルというお話。

Latest Updates ってページにProDesk3Dで出力したらしき花瓶とかロボット、笛の写真が載っているんだけど、なんかCGっぽくて本物らしくない。特に違和感があるのが、オブジェクトよりもテーブルと影。

そしてその下には、男性2人とProDesk3Dっぽい箱の写真が載っています。

 え、あ、いや、この箱、3Dプリンタに見えないんですけど・・・。
なんだか側だけって感じがしました。

-- 追記 --
 ちゃんと読んだら見出しに"prototype case"って記載がありますね。なので側だけの写真みたい。
ただ、文書では"the founders showed a glimpse of the ProDesk3D standard edition in person"って書いてあって、紛らわしい感じです。
----------

と、不安を払拭するつもりが、さらに不安になってしまったのでもう少し様子をみようと思います。
3Dプリンタが動いている動画が公開されたら、不安もなくなるのかなと思うので、今後に期待です。

2013年2月21日木曜日

SteamがLinuxに正式対応したのでGentooに仕込んでみた

パソコン用のゲームプラットフォームのSTEAMがLinuxに正式対応したみたいです。
Linuxに正式対応といってもUbuntu用のdebファイルが提供されているだけなので、Ubuntuに正式対応って感じですけどね。

Linux対応を記念して、今日の夜中(22日の午前3時)までセールをしてるみたいです。
サイト上は21日午前10時って書いてますがタイムゾーンがPSTになってます。日本語訳するついでにJSTにしてくれたらいいのになぁ・・・

http://store.steampowered.com/sale/linux_release/



で、さっそくGentooに入れて見ました。
ベータ版の時からWikiが整理されていて、overlayを作っている人もいるみたいで何も困りません。
http://wiki.gentoo.org/wiki/Steam

overlayを使ってお手軽にインストールしてみました。

sudo layman -a stream
sudo emerge stream-meta
SteamでFlashを使っていて、amd64の場合は32bit版のFlashをインストールしておいたほうがいいみたい。
sudo flaggie adobe-flash +32bit
sudo emerge -1 adobe-flash
あとはホームディレクトリの~/.local/share/Streamにファイルが色々作られるみたいなので、ここにflashライブラリを置いて上げます。
mkdir ~/.local/share/Steam/plugins
ln -s /opt/Adobe/flash-player32/libflashplayer.so ~/.local/share/Steam/ubuntu12_32/plugins/
とりあえずセール中のゲーム買ってみたけど、データサイズでかくてまだダウンロードが終わりません。

2013年2月6日水曜日

なにこれヒドイ

小学生のころから、夏休みの絵日記をまともに書いたことがないのですか、久しぶりに自分のブログ見てみたら、最後の更新が8ヶ月前で、しかもGoogle IO旅行日記書きかけで、中国どまりてアメリカにすらたどり着いていなかった…

もう少し何とかしようと思った次第です。

みなさん、明けましておめでとうございます :)