ハティフナット (HATTIFNATT) 高円寺のおうち
高円寺に用事があったのでハティフナットというカフェに寄ってみました。
店の入り口は子供の背丈にあわせて小さめに作ってあるらしいのですが、確かに身長の低い僕でもドアをくぐる感じでした。店内に入ってみるとホビットの洞窟に入ったような感覚になりました。
1階はレジとキッチンがあるだけのようで、手すりにつかまり急な階段をのぼり2階へと。
秘密基地って言えばこの感覚伝わりますかねぇ。少しばかり子供心を取り戻せた気がします。子供に合わせて作ってあると言われると逆に狭さもひとつの舞台装置になるし、物は言いようだなぁと思いましたね。
2階の半分は古民家カフェといった雰囲気でとても落ち着いた感じです。注文する際は柱についている紐を引っ張ってくださいとのこと。これもまた味がありますな。
ちなみにはしごを登った先の屋根裏部屋みたいなところにも席があるようです。スカートの女性はちょっと無理ですかねぇ。
注文頼み終わったあたりで奥の部屋からぽつぽつお客さんが帰っていったので、そちらへ移動させてもらうことにしました。
壁一面にファンシーな絵が描かれていて、絵本の中に入ってしまったような感じですね。
境目はこんな感じで、まったく雰囲気が変わります。
天井は取っ払われていて屋根むき出しになっているので高さ的に開放感あります。
お会計はテーブルに添えられている番号の書かれた木製のスプーンを1階のレジに持っていく仕組みとのこと。いろいろ芸が細かくて関心しますね。
ランチ時だったのでとりあえずドリアを注文。
デザートにはかぼちゃ君ちのモンブランと抹茶みるくを頼んでみました。
たまにはこういうメルヘンチックなカフェで時間を過ごすのもいい気分転換になるなと感じました。
タカノフルーツパーラー
TOHOシネマズ新宿で『君の名は。』を観ることになったので、その前に腹ごしらえをばと新宿駅前にあるタカノフルーツパーラーに来てみました。
まずはローストビーフサンドウィッチを注文。
こういうサンドイッチ頼むのが好きになってきたんですけど、なんだか大人になった感じしません?
ほのかなピリ辛がとてもいい。
限定メニューに弱いので恋姫苺のパフェも注文。
恋姫苺という文字列、女子力が高すぎやしませんかね?スイーツ(笑)とか軽口も叩きたくなりますわな。
が、食べ進めるうちに「なんなんだ、これは?!」という衝撃。
具材ひとつひとつが美味しい。
むしろ単体ではそこまで主張しすぎないようにわざと力を抑えている感じすらも。
なにが凄いってそれらを混ぜても美味しさが調和されているんですよ!逆に進化すら感じるくらいに。
これがミクロコスモスかとため息が出るほどで、タカノフルーツパーラーに敬意を表したいです。
Ti ROLANDE(ティ ロランド)のクレープを食べ納めしてきた。
松濤にあるティロランドが来月で閉店するとFacebookページに書かれていたので久しぶりに行ってきました。
渋谷から歩くにはちょっと離れているけど、Bunkamuraで展覧会などを見た帰りに寄るのにちょうどよかったんですよ。
赤と黒(Le Rouge et le Noir)を基調としたフランスっぽさを感じられる素敵な店内で、客層も落ち着いた年齢の方ばかりでいい雰囲気です。
ガレットコンプレットの特製トマトソース添え。コンプレットとは英語で言うところのコンプリートにあたるものなのですが、まさにこれぞ一つの世界と言いたくなるようなミクロコスモス的な美味しさなのですよ。
バラ色の人生と名付けられたミックスベリーのクレープ。
見てください、この美しさを!!
こちらはメープルシロップと栗のクレープのマロンアイスクリームとシャンティイクリーム添え。秋っぽい感じですよね。
閉店まで残りわずかですが、機会があったらぜひ。
メルセデスベンツコネクション東京スペシャルパーティー
新型モデル発表記念スペシャルパーティーに招待していただきましたので参加してきました。
今回はギブソンとコラボしているそうで会場のあちこちにギブソンのギターが設置されていました。どちらかというとギブソンのギターに目がいってしまいましたね(笑)
屋内での展示以外に、エビスビールとコラボしたYEBISU MEISTER inspires Mercedes-Benz Connection NEXTDOOR The TERRACEも貸し切りでした。
プールサイドテラスで飲むお酒は美味しいですねぇ。
シークレットゲストとして湘南乃風の若旦那氏が登場して、純恋歌とかを歌ってくれましたよ!
会場にいるおじさんたちは大盛り上がりでした。
CLADESIGN
アマンダンブルー鎌倉
道路挟んですぐ目の前が材木座海水浴場と言うロケーションにあるアマンダンブルー(AMANDAN BLUE) 鎌倉に来てみました。
江ノ電の和田塚駅から徒歩10分程度のところにある結婚式場なのですが、夏季限定でランチをやっているとの情報を聞きつけて。なんでもテラスハウスや最後から二番目の恋と言うドラマにも登場したらしいですよ。
結婚式場だけあって作りも豪華です。
中に入ってみるとこれまたオシャレ雑誌の中に出てくるような素敵な空間が!
目の前は街道なのですが、いい感じに車が隠れて海が見えるような内装になっておりました。
吹き抜けになっている光りあふれる階段を登り、2階の宴会場へと。
今回のプランは3,500円のお盆限定ランチビュッフェになります。本当は3階のプールサイドのテラスがよかったんですけど、席数も少なく即効で予約埋まってたもので…
一休経由で予約したらわざわざメールしてきてくれたので、ダメ元で窓際にして欲しいと伝えてみたところ「席の指定はできない」と言われてしまいましたがそこそこいい席にしてくれたので、早めに予約してちょっとお願いしてみるといいかもですね。まぁ他のお客さんとの兼ね合いでしょうけど。
ビュッフェの内容ですが、肉あり魚ありとバランスの取れたラインナップで心も体も満たされました。
スイーツも充実しておりましたぞ。
最初南国風スパにあるような花を浮かべた洗面器かなと思って近づいてみたら、これまた美しい見た目のフルーツポンチ!結婚式場だけあって見せ方わかってますねぇ。
食事のあと、3階のチャペルやプールテラスの見学もさせてくれました。値段が2倍くらいする3階席にしなくても、2階の席で結果的に十分だったなと(笑)
ソファー席での写真撮影サービスもありました。
帰りは経路を少し間違えて細い路地に入ってしまいましたが、それはそれで楽しかったです。
踏切渡るだけだけど、なんちゃってスタンドバイミー気分。
無事、和田塚駅に到着です。
インターンに来ている女子大生に「データベースの勉強したいんですけど」と言われた時用のLOVE理論
もしインターンに来ている女子大生に「せんぱぃ、データベースってやつを勉強したいんですけどぉ」と言われらどうすればいいか。
「OSは何使ってる?MySQLかPostgreSQLを自分のパソコンにインストールしてみるといいよ」、それが自分でできる女の子であればそもそもお前に質問してないであろうし、 こんな返事をしたらLOVE理論でお馴染みの水野敬也先生が聞いたら鉄拳が飛んでくるぞ!
「俺が個人的に借りてるサーバーにアカウント作ってあげるから使っていいよ」、一見太っ腹に見えるがあとで作業履歴をこっそり閲覧していることがバレたら確実にキモい人宣告されSNSで晒されるのでやめておくべき。それ以前に「ふえぇまっくろな画面とか怖ぃですぅ:;(∩´﹏`∩);:」なんて言われるのがオチだ。正直自分のサーバーにphpMyなんとかはあんまインストールしたくない。
そこでつるセコ世代のわたくしめがSQLの学習環境を無料で用意する方法を考案しました。底辺だからフリーミアムモデルの上澄みを啜って生きていくのは得意です(落ちぶれてすまん)。
ミッション系の大学に通う女子大生だから、英語のサイトでも拒否感ないという前提でいきますね。
一言でまとめると、HerokuのPostgreSQL上にテーブル作って、WebベースのデータベースクライアントであるJackDBから接続してブラウザ上でSQL使えるようにします。学習用データベースで容量食わないため、どちらも無料プランの範囲で済みます。ちなみにHerokuのアドオンにPostgreSQL Studioってのもあるのですが、ベータ版のためか挙動がいまいちで、確かアドオン使うにはクレジットカード登録しないとダメだったはずなのでパスしました。
VagrantとかでVirtualBox上に彼女専用の仮想環境をちゃちゃっと作ってあげて作業が終わったらまるごと削除し、ブラウザのシークレットウィンドウ使えば、紳士っぽくてよいと思います。
そもそも我々キモメンは、好感度を上げる以前にまず可能な限り減点を避ける方針をとるべきでしょう。
まずはSign up for freeから登録してください。
単純にデータベース作るだけならターミナルからログインしてSSH Keysの登録とか必要ないかも。ダメだったら上記の手順を参考にしてください。
DashboardからDatabasesをクリック。Create Databaseから下の方にひっそりと存在するDev Plan (free)を選択。
heroku-postgres-xxxxxx :: redというデータベースが作られているはずなのでそれをクリック。Connection Settings : Defaultという画面になると思いますが、ここではConnection Settings : PSQLに切り替えます。
psql "dbname=dokoka.amazonaws.com user=mononofu password=momoclo port=5432 sslmode=require"
こんな感じのコマンドが表示されるので、これをコピペしてPosgreSQLインストールした仮想環境からpsqlで接続します。
ちなみに今回勉強に使うのは、改訂新版 反復学習ソフト付き SQL書き方ドリルです。
架空の小さなお店の販売管理と従業員管理をイメージした学習用データベースを使ってお勉強していきます。なぜこの本を選んだかというと、ゆるい猫のイラストが可愛くて女子受けが良さそうだからです。さらに付属のCD-ROMにPostgreSQL用のサンプルデータが含まれていて都合がいいです。
いつでも貸してあげられるように一冊買って会社においておきましょう。
ちなみにマンガでわかるデータベースもいいとは思いますが、表紙がアレゲなのでよほどのイケメンでもない限りいきなりおすすめしないほうがいいと思います...
では、さっそくCD-ROMからcreate_for_postgres.sql data.sql drop_table.sqlを取り出して、Heroku上のPosgreSQLにテーブル作成してデータを突っ込みます。作業中会話に詰まって、「君へのINSERT権限くれないかな?」とか鉄板のオヤジギャク言っても時間はロールバックできないので気をつけてください。
\i ./create_for_postgres.sql
テーブル作成用のスクリプトを実行します。
\d List of relations Schema | Name | Type | Owner --------+-----------------+-------+---------------- public | belongto | table | mononofu public | categories | table | mononofu public | customerclasses | table | mononofu public | customers | table | mononofu public | departments | table | mononofu public | employees | table | mononofu public | prefecturals | table | mononofu public | products | table | mononofu public | salary | table | mononofu public | sales | table | mononofu (10 rows)
作成されているのが確認できましたね。
\i ./data.sql
サンプルデータを先ほど作ったテーブルにつっこむスクリプトを実行します。
nkf -g data.sql nkf -w --overwrite data.sql
日本語含まれているのでutf8になっていることを一応確認しておいたほうがいいかも。
\i ./drop_table.sql
削除用のスクリプトもついているので、テーブルをまっさらにするのもお手軽ですね。
\q
接続を切ります。
次にJackDBにアカウントを作って、Heroku上に作ったデータに接続します。GoogleかGitHubのアカウントがあれば、面倒くさい登録作業なしです。
メニューからData Sourcesをクリックして、Herokuを選択。OAuthでJackDBに権限を与えることによって、JackDBからHerokuのPostgreSQLに接続できるようになります。
Authorizing JackDB with OAuth
Connecting to Heroku
詳しくはドキュメントを参照。
メニューからConnectionsをクリックして、先ほど接続したHeroku上のデータに接続します。
Editor 1という画面の下にSQLを入力して、Executeボタンを押せば実行されます。試しに68ページの「最近の女性の名前って、昔みたいに〜子ってつく人少ない気がするんだよな。うちの会社だと何人いるんだろう」と言う上司からの指令を実行してみましょう。
SELECT COUNT(*) AS 子のつく社員の人数 FROM Employees WHERE EmployeeName LIKE '%子' ;
2と表示されましたね。
SELECT EmployeeName FROM Employees ;
+ボタンを押せばタブが増やせるので、本当にそうなのか社員データと見比べるのも楽ですね。Save SnippetでSQL保存しておくこともできるのも勉強に役立ちそうだし。
これでブラウザを開けばどこでもSQLの勉強ができるようになりました(やったね!)
基本的なSQL覚えてPostgreSQL自体の使い方を覚えたいと言ってきたら、LPI-Japanがクリエイティブ・コモンズで配布してくれているオープンソースデータベース標準教科書(PostgreSQL)が役に立ちそうですね。無料で使えて我々底辺にはありがたいっす。
万が一ですが本気で使いこなしたいと言ってきたら、鈴木啓修氏のPostgreSQL全機能バイブルをオススメしてあげるといいと思います。誰も教えてくれなくて(と言うかDB分かる人がいなかった)泣いてばかりいた新入社員当時、旧版には大変お世話になりましたm(__)m
他にもOreillyのPostgreSQL: Up and Runningとか。U.S. Census Bureau(アメリカ合衆国国勢調査局)のデータ利用したサンプルデータが置いてあったので参考にどうぞ。数カ月後に改訂版出るっぽいので買うの保留。
まぁ、世間的にはイルカなMySQLでしょうが、『キリンさんが好きです、でもゾウさんのほうがもっと好きです』なんて言ってた女の子もいたことですし、メジャーどころを避けるサブカル女子ウケ良かったりするかもですね☆
エンジニアのかれピッピに上記の設定作業頼めばすぐにやってくれると思いますし、オタサーの姫なら囲いにやらせればいいでしょう。万が一周りにその手の人がいない女子大生の方がいましたら、ac.jpアドレスからヘルプメールを送信してもらえればわたくしめがお手伝いしますので。
花見に誘われなくて暇だったので、頑張ってスクリーンショットとか加工してわかりやすくしたので皆様ご活用ください(;´Д`)
SpiderMonkey試してみた
JavaScriptの勉強し始めたのですが、基本的な構文試すのにconsole.logに出力して確認するのが面倒だったのでSpiderMonkey使ってみました。
ターミナルの中だけで完結できると楽ですよね。
お使いのパッケージマネージャーに多分入っていると思うので、各自サーチアンドインストールしてみてください。
//perfume.js var perfume = ["かしゆか", "のっち", "あーちゃん"]; var value; for (var i = 0; i < 3; i++) { value = perfume[i]; print (value + "です"); } print (perfume.length + "人合わせてPerfumeです!" );
js -f perfume.js
こんな感じでオプションを追加するとファイルに記載されたJavaScriptを実行することが可能です。
printだと改行してくれて、putstrだと改行なしです。
詳しくはマニュアルのBuilt-in functionsを参照してみてください。
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Introduction_to_the_JavaScript_shell
Sinatraの始め方
Ruby初心者がSinatraを使い始めてみたのでお勧めの本などを紹介します。
公式サイト
http://www.sinatrarb.com/
とりあえず公式サイトを見ながら、Hello World!をやってみて「おお、なんか簡単そう!」と感じたものの、なにか処理するには最低限Ruby書けないとやっぱりダメだなあと思い、一旦Sinatraから離れてRubyの初心者本を読み始めました。
『作りながら学ぶRuby入門』、本当にオススメです!
蔵書管理プログラムを作るために適宜それに必要な知識を順を追って少しずつ紹介してくれてくれるので挫折しにくいかと。
この本は言語関係なくプログラム初心者にもおすすめしたいです。
なんせプログラミング苦手な自分にでも理解しやすかったもので(;´Д`)
それとドットインストールのRuby入門とSinatra入門も必見ですね。
http://dotinstall.com/
Webでちまちま情報集めるのダルかったので以下の2冊を購入。
個人的にはPackt PublishingのInstant Sinatra Starterの方がハンズオン形式で環境構築からHerokuへのデプロイまでシンプルに書かれていてわかりやすかったです。なのでこちらの本を先に読んだほうがいいと思います。
Oreilly.comでPackt Publishingの電子書籍も扱い始めて半額セールやっていたので、ついでにCloning Internet Applications with Rubyも購入してみました。
こちらはSinatraを利用して、TinyURL/Twitter/Flickr/Facebookのクローンサービスを作ってみようという内容です。
まだ読み始めたところですが、こちらもハンズオン形式なのでわかりやすいです。
Sinatraとはちょっと話しズレますがHeroku便利ですねぇ。
ちなみにDigitalOceanと言うVPSでArchLinux使っているのですが、アップデートしたらPassengerが動かなくなって、しょうがなく自分でコンパイルしようとしたら512MBのメモリーじゃ足りないよってエラーが出てマジ勘弁して〜(;´Д`)ってなりました。
書籍代はかかりましたが、これらの知識で作ったサイトのアサマシで一ヶ月もせずに回収できたのでいい投資だったと思います。クソサイトなのでここでは紹介はしません・・。
OpenShift OnlineでMojolicious::Liteを動かしてみたい!
OpenShift Online
http://www.openshift.com/
OpenShift Onlineは、RedHatが提供するPaaSで、Java,PHP,Python,Ruby,Perl,Node.jsなどのプログラミング言語とMySQL,PostgreSQL,MongoDBのデータベースを利用できます。
https://www.openshift.com/products/pricing
Gearと言う名称がインスタンスの単位で、Free Planを選択すると3 Small Gearsまで無料で使えます。
もちろんFree Planはノーサポートですが、無料で使えるのですしマジリスペクトですよね!
ちなみに、1 Small Gearの中身はMemory 512MB、Storage 1GBになっています。
Gearの構築
今回はPerlで環境構築してみたいと思いまーす。
会員登録して、Create Applicationをクリック。
上記に記載したプログラミング環境などのミドルウェアはCartridgeと言う名前で提供されています。
Perl 5.10を選択します。
あとはPublic URLを入力すれば環境が完成です。簡単!
URLはこんな感じになります。
http://ApplicationName–YourID.rhcloud.com
ローカル環境の構築
gem install rhc
管理ツールをgemからインストールします。
rhc setup
インストールが完了したら、続いてセットアップです。
OpenShift Client Tools (RHC) Setup Wizard
This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly installed.
Login to openshift.redhat.com:
Password: ********OpenShift can create and store a token on disk which allows to you to access the server without using your password. The key is stored in your home directory and should
be kept secret. You can delete the key at any time by running 'rhc logout'.
Generate a token now? (yes|no) yes
Generating an authorization token for this client ... lasts about 22 hoursSaving configuration to /Users/otaku/.openshift/express.conf ... done
Your public SSH key must be uploaded to the OpenShift server to access code. Upload now? (yes|no) yes
Since you do not have any keys associated with your OpenShift account, your new key will be uploaded as the 'default' key.
Uploading key 'default' ... done
Checking for git ... found git
Checking common problems .. done
Checking your namespace ... sample
Checking for applications ... found 1
first http://momoclo-sample.rhcloud.com/
You are using 1 of 3 total gears
The following gear sizes are available to you: smallYour client tools are now configured.
ウィザードの指示する通りにログインして、トークンを生成して、公開鍵をアップします。
gitや公開鍵などは先に自分で用意しておいてくださいませ。
これでローカルの環境構築は完了です。
rhc Getting started: setup Connects to OpenShift and sets up your keys and domain create-app Create an application apps List all your applications cartridges List available cartridges add-cartridge Add a cartridge to your application server Display information about the status of the OpenShift service. logout End the current session Working with apps: tail Tail the logs of an application port-forward Forward remote ports to the workstation threaddump Trigger a thread dump for JBoss and Ruby apps snapshot Save the current state of your application locally git-clone Clone and configure an application's repository locally Management commands: account Display details about your OpenShift account alias Add or remove a custom domain name for an app app Commands for creating and managing applications authorization Show the authorization tokens for your account cartridge Manage your application cartridges domain Add or rename the container for your apps sshkey Add and remove keys for Git and SSH
rhcの管理ツール、とても便利ですね。
git clone ssh://foobar@momoclo-sample.rhcloud.com/~/git/momoclo.git/
cd momoclo/
gitでひな形を取得します。
perl/ For not-externally exposed perl code
libs/ Additional libraries
misc/ For not-externally exposed perl code
.openshift/ Location for OpenShift specific files
action_hooks/ See the Action Hooks documentation [1]
markers/ See the Markers section [2]
ディレクトリ構造はこんな感じです。
perl/index.pl
このファイルをいじればいいみたいです。
#!/usr/bin/env perl use strict; use warnings; use Mojolicious::Lite; # Route with placeholder get '/' => sub { my $self = shift; $self->render(text => "Yes! Yes! We are the ももいろクローバー れに かなこ しおり あやか ももか"); }; # Start the Mojolicious command system app->start;
Mojolicious::Liteのサンプルまんまを動かしてみます。
ローカル環境で表示できることを確認したら、OpenShift Onlineにデプロイしてみましょう。
git add .
git commit -m 'Initial Commit'
git pushCounting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 570 bytes, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: Waiting for stop to finish
remote: --> Working on Mojolicious::Lite
remote: Fetching http://mirror1.ops.rhcloud.com/mirror/perl/CPAN/authors/id/S/SR/SRI/Mojolicious-4.16.tar.gz ... OK
remote: Configuring Mojolicious-4.16 ... OK
remote: Building Mojolicious-4.16 ... OK
remote: Successfully installed Mojolicious-4.16
remote: 1 distribution installed
remote: skipping R/RJ/RJBS/perl-5.18.0.tar.gz
remote: skipping R/RJ/RJBS/perl-5.18.0.tar.gz
master -> master
これで動くはずだったんだけど、Internal Server Error〜(;´Д`)
rhc tail momoclo
管理ツールからログを確認してみると、[error] Can't locate Time/HiRes.pm in @INCと表示されていました。
モジュールが入ってないよってことなんだろうけど、どこからインストールするのが正しいのかよくわからなかったけど、
use Time::HiRes;
単純にソースにモジュールの記述追加して、デプロイしたらモジュールをインストールしてくれるみたいです。
サーバー設定する手間考えたらすごいお手軽だし、ちょっとしたデモプログラムをネット経由で人に見せるためとかに最適ですね!
Herokuでも頑張って設定すればPerl動くみたいですけど、デフォルトで対応してくれているOpenShift Online、なかなかいいのではないでしょうか。まぁ、Herokuのように色んなアドオン使えるようにならないとしんどいですが。
Mac上でのPerl環境
殴り書きメモっす。
Perlbrewを利用。
インストールする。
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed## Download the latest perlbrew
## Installing perlbrew
perlbrew is installed: ~/perl5/perlbrew/bin/perlbrewperlbrew root (~/perl5/perlbrew) is initialized.
Append the following piece of code to the end of your ~/.zshenv and start a
new shell, perlbrew should be up and fully functional from there:source ~/perl5/perlbrew/etc/bashrc
Simply run `perlbrew` for usage details.
Happy brewing!
## Installing patchperl
インストール完了。
使っているシェルにパスを追加しておく。
perlbrew available
perl-5.19.0
perl-5.18.0
perl-5.16.3
perl-5.14.4
perl-5.12.5
perl-5.10.1
perl-5.8.9
perl-5.6.2
perl5.005_04
perl5.004_05
perl5.003_07
利用可能なバージョンを表示。
perlbrew install perl-5.19.0
好きなバージョンのPerlをインストールする。
必要なコンパイルオプションあったら、その都度調べれば十分。
perlbrew switch perl-5.19.0
インストールしたバージョンに切り替える。
perlbrew install-cpanm
cpanmもインストールしておく。
find `perl -e 'print "@INC"'` -name '*.pm' -print
モジュールの位置を確認。
基本、Perlbrewのcpanm、この下にモジュールを追加するっぽい。
perlbrew lib create momoclo
みたいな感じで、モジュール環境分離できるみたい。
/.perlbrew/libs/perl-5.19.0@momoclo/lib/perl5/
モジュールがインストールされるパスはこんな感じ。
Google App Engine for PHP試してみたぉヽ(゚∀゚)ノ
Installing Python 2.7
何もいじってなければそのままで問題ないかと。
PHP
MacPortsを使えとのことですが、メインで使っているのがHomebrewなのでこっちで動かします。
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54 --with-cgi --with-debug --with-homebrew-openssl
brew install php54-apc php54-intl php54-oauth
チュートリアルに載っているけどHomebrewで見つからないパッケージに関しては今回無視します。
PHPのMac上での環境構築、よくわかってないんです・・(;´Д`)
export PATH="$(brew --prefix josegonzalez/php/php54)/bin:$PATH"
インストールができたら上記のコマンドを叩くか、お使いのシェルにパスを追加します。
こんな感じになればOKです。
SDK
%curl -O http://commondatastorage.googleapis.com/appengine-php/appengine-php-sdk-1.8.0.zip
%unzip appengine-php-sdk-1.8.0.zip
単純にダウンロードして展開するだけです。
Hello, World!
https://developers.google.com/appengine/docs/php/gettingstarted/helloworld
%tree helloworld/
helloworld/
├── app.yaml
└── helloworld.php
上記のような感じでファイルを配置します。
helloworld.php
<?php echo 'Hello, World!';
app.yaml
application: helloworld version: 1 runtime: php api_version: 1 handlers: - url: /.* script: helloworld.php
コピペします。
google_appengine/dev_appserver.py --php_executable_path=/usr/local/opt/php54/bin/php helloworld/
早速、動かしてみるぞ!
あれ・・、画面が真っ白・・(´;ω;`)
google_appengine/dev_appserver.py --php_executable_path=/usr/local/opt/php54/bin/php-cgi helloworld/
よく見たら、
おっちょこちょい!
うん、これで動きますね。
https://gaeforphp.appspot.com/
実際にデプロイしてみたかったのですが、現状人数制限しているそうなので、適当なアプリケーション名で新規作成して、上記のURLからとりあえず申請してみました。
しばし待ちましょうぞ。
Debian上でのiptablesの設定方法の続き
Apacheの設定ファイル、多すぎ〜(;´Д`)
Debian(Ubuntuとかも)を使い始めて、面食らうのがApacheの設定ファイルの構成かと思います。
- apache2.conf
- conf.d
- envvars
- httpd.conf
- magic
- mods-available
- mods-enabled
- ports.conf
- sites-available
- sites-enabled
とか分割されすぎ〜(;´Д`)ってなると思います。
慣れると分割されている方が、合理的でわかりやすいなぁとか思うようになったりします。
そもそもavailableとかenabledって何じゃこりゃって感じですよね。
availableの方に設定自体を書き込んで、有効化したいものだけenabledの方にシンボリックリンクします。
設定ファイルと、その設定の有効無効を分離しているのです。
まず、mods-ですが、Debianでは専用のコマンドが用意されています。
a2enmod rewrite
例えば、インストールしただけではApacheのモジュールは有効化されないので、上記のコマンドを打つ必要があります。
a2dismod rewrite
なんかエラーが発生した場合は、上記のように無効化して調べてみたり。
コメントアウトするよりはスマートですよね。
分割されていることによって、エラーの原因も把握しやすいですし。
sites-の方は、バーチャルドメインでたくさんのサイトを管理する際には便利だと思います。
a2ensite www.sample.com
a2dissite www.sample.com
とは言うものの、どのファイルにどの設定したかとかいちいち覚えてはいないので、
などと打ち込むはめにはなります(´Д⊂ヽ