MacでPHPを使ったページをテストしたかった。
apacheとPHPはlionには元々入ってる。
システム環境設定の共有の項目からWeb共有をオンにするだけで、
Webページが見られる。apacheの設定をいじればPHPページも実行できる。
この辺の詳しい手順は参考URLを見てください。
デフォルトでは~/Sitesが公開フォルダなわけだが、
自分はDropboxでファイルを共有しているので、
パスをDropbox内のディレクトリに設定したい。
調べると、/etc/apache2/users/{username}.conf
に公開パスの設定があるらしい。
しかし、設定を直して、アクセス権を整えてもどうもうまくいかない。
結局、原因はわからなかった。
けれど、調べてる内に他の方法があることに気づいた。
Sites以下にシンボリックリンクを置けばいいのだ。
まず、先ほどの設定ファイル内で
Options Indexes MultiViews FollowSymLinks
という風にFollowSymLinksを追記する。
ln -s ~/Dropbox/hogehoge/ public_html
みたいな感じでシンボリックリンクを作成する。
んで、apacheを再起動する。Web共有をオフにして再度オンにすればいい。
すると、localhost/~{username}/public_html/
で~/Dropbox/hogehoge/のファイルにアクセスできるようになりました。
参考URL
http://www.happytrap.jp/blogs/2012/01/21/6931/
http://eyenote.cocolog-nifty.com/blog/2011/08/mac-os-x-107lio.html
http://szdy.info/docs/apache_on_osx/
2012年6月22日金曜日
2012年6月20日水曜日
見慣れないfor文
『JavaScriptパターン』を読んでたら、見慣れないfor文が出てきた。
なんだこれ?ちゃんと動くのか?と思ってfirebugのコンソール上で
叩いてみると問題なく動いた。
何が引っかかったかというと、条件のところi--だよね。
これって何が評価されるの?
で、いろいろ試したり調べてたらわかってきた。
i--;
のような後置デクリメントはまず値が評価され、その後デクリメントが行われる。
インクリメントも一緒。
というか、ずっと勘違いしていたことに気づいた。
みたいな処理を書くとif文の中が実行されるのって代入が成功してtrueが返ってるんだと
思ってたんだけどホントはiに5が代入されてその値5が評価されてそれでifがtrueになってるんだね。
どういうことかというと、
っていうのでも実行されると思ってたけど、これはif文の中は実行されない。
結局、最初のi--;っていうのはまず値が評価されるわけだから、
みたいに書くと、
210と出力されるわけだ。
んー、でも、これって実はかなり基礎的なことだよなぁ。
色々な意味で勉強になった。
for(var i = length; i--;){ //hogehoge }
なんだこれ?ちゃんと動くのか?と思ってfirebugのコンソール上で
叩いてみると問題なく動いた。
何が引っかかったかというと、条件のところi--だよね。
これって何が評価されるの?
で、いろいろ試したり調べてたらわかってきた。
i--;
のような後置デクリメントはまず値が評価され、その後デクリメントが行われる。
インクリメントも一緒。
というか、ずっと勘違いしていたことに気づいた。
if(i = 5) { //hogehoge }
みたいな処理を書くとif文の中が実行されるのって代入が成功してtrueが返ってるんだと
思ってたんだけどホントはiに5が代入されてその値5が評価されてそれでifがtrueになってるんだね。
どういうことかというと、
if(i = 0){ //fugafuga }
っていうのでも実行されると思ってたけど、これはif文の中は実行されない。
結局、最初のi--;っていうのはまず値が評価されるわけだから、
for(i = 3; i--;){ console.log(i); }
みたいに書くと、
210と出力されるわけだ。
んー、でも、これって実はかなり基礎的なことだよなぁ。
色々な意味で勉強になった。
登録:
投稿 (Atom)