PHP: GETとPOSTの思想的違い

フォームなどからサーバーにデータを渡す時に使用する GET と POST は、主に形式的な違いのみが取り上げられがちです。私もそのように理解していました。しかしProgramming PHPにはそのように書いてありませんでした。

形式的な違い

GETはURLの後に?をつけて

http://rokujo.esy.es/StockHoloscope/chart.php?mcode=4753&start=20050601&end=20060531

のようにサーバーにパラメーターを渡してやる仕組みです(リンク先はライブドア爆下げの様子です)。データ量が多くなればURLも長くなるので、当然ながら転送量にも限りがあります。また、URLからパラメータが丸見えなのでデータの安全性が低いです。

POSTはURLには手を加えないで、サーバーに直接データを渡してやります。テキストだろうがバイナリだろうがOK、データ量の制限もありません。プログラマからするとPOSTの方がデータが取り出しにくくちょいと面倒です。

思想的な違い

GETはidempotentでないといけません。初めて聞く単語ですね。これは数学用語で、日本語では冪等(べきとう)と言います。定義は

「何回操作を行っても、得られる結果が同じ」

です。つまり、GETは何回行っても必ず同じ表示がされなければいけません。必ず同じ表示がされるならば、URLをブックマークすることも可能です。

これに対して、POSTはidempotentである必要はありません。POSTすることによってウェブページが変化しても問題ありません。むしろ変化することが当たり前です。POSTを行ったページを再表示すると「フォーム再送信の確認」とか「webページの期限切れ」などと表示されます。これはページがPOSTの度に変化してしまうということですから、POSTに冪等性が無いことを表します。ブックマークも不可能です。

例えば

http://this.is.bbs/bbs.php?author=gokuu&content=icchoyattemikka

(URLは架空です)と、形式的にGETで掲示板への書き込みのようなidempotentでない動作をさせることは可能ですが、思想的に許されていません。URLをクリックする度にデータを変化させるようなアクションがあってはならないのです。GETはGETの名前通り、データの取得に徹しなくてはなりません。


jQuery, エレメント作成時には予約語のclassに注意

jQueryはDOMエレメントを動的生成できます。私の探していた機能のうちの一つです。ところが、次のコードを見ると不自然なダブルクォーテーションが見つかります。

// Creating a new element with an attribute object.
$( "<a/>", {
   html: "This is a <strong>new</strong> link",
   "class": "new",
   href: "foo.html"
});

すごく直観的で分かりやすいコードなのに、”class”、が囲まれているのが不自然ですね。これは、classがjavascriptの予約語なのでそのまま class と書くことができないから、なのだそうです。

予約語一覧を見ると、他にDOM作成時に使われる可能性がある予約語はdefault, forくらいですが、あまり使う頻度は高くなさそうです。classはしょっちゅう使いますから、これだけ覚えておけば当面は問題なさそうですね。


鈴木康之 – 名作コピーに学ぶ読ませる文章の書き方

★★★★★

コピーライターの鈴木康之さんは1937年生まれ。今でも現役で講演活動をしていらっしゃいます。もう80歳近いのですね、お若いです。

内容

新聞広告を中心とした名作コピーを掲載し、鈴木さんがその文章のどこが素晴らしいのか、どのような点に着目してこの文章を書いたのか、書いた人はどのような気持ちで書いたのか、などを解説していきます。例として使われている英会話のGabaやJTの広告はリアルタイムで駅構内や電車広告で目にしていたので、感慨深いものがあります。

Gabaの広告から学ぶ「差別化」

例えばGabaです。ここでは「差別化」についての解説がされています。日本人は英語コンプレックスがあるので、英会話スクールの需要は今も昔も旺盛であり、そのためスクールは乱立しどこを選んだら良いのかさっぱり分かりません。そこで差別化が必要になります。同業他社と比べてオンリーワンな特性を顧客に提示し、「そうか、ここなら私にぴったりだ」と気付かせるための広告です。Gabaはマンツーマンレッスンを自社の特徴と位置づけ、次のような掴みのコピーで画面の大部分を占める広告を作成しました。

ボディコピー(本文)にもキモがあります。

たとえばあなたがおいしいお寿司を食べたいとき、天ぷらも焼肉も寿司もありますという店より、寿司だけ専門にしている店に足が向くのではないでしょうか。ひとつに集中している方が品質も期待できると考えるから。ぜひ、英会話スクールもその視点で選んでください。Gabaはマンツーマンレッスンだけの専門店。講師も1対1のための独自の指導法を身につけています。あなたをリラックスさせて、のびのび話す場を作る。Gabaのマンツーマンは、他とは違います。

わかりやすく、納得できるたとえ話です。この広告は主に山手線でよく見た記憶があります。解説には書いてありませんが、英会話スクールは主にビジネスマン向けですから、寿司や焼き肉を例に出すところがターゲット層の今日の晩御飯を的確に捉えています。「じゃあ、Gabaにしてみようかな。晩御飯も、ファミレスはやめて焼肉屋にしようかな」と思うこと請け合いです。

以上のように考えさせられるコピーがざっと20はあります。

人と同じことを思い、人と違うことを考えよ。

最も考えさせられた文句です。養命酒の広告を題材に、この言葉についての解説があります。前段は想像力について。多種多様な仕事に従事し一様ではない立場の人間が毎日生活し、どのようなことを考えているか想像し、言葉にする。その上で、想像した人間ともまた少し違う視点でものを見てみる。それが後段の「人と違うことを考える」ということです。いろんな人の「あたりまえ」をちょっと変わった言葉で取り上げる。すると次のようなコピーが生まれます。

30分半身浴するくらいなら、30分早く寝たい。

これは冷え性の女性を想像して書いた言葉です。

1年が過ぎるのは早いが、1日はなかなか終わらない。

これは疲れた男性を想像して書いた言葉です。いずれも、ターゲットとされている人間にとっては極めて実感が湧いてくる(人と同じことを思い)内容であり、かつ、言われてみればそうだけど自分で意識したことがなかった(人と違うことを考えよ)内容ではありませんか?

これらのコピーのあとに、「そんなあなたに養命酒・・・」というボディコピーが続いていくわけです。よくできてますよね。

天才なんかいない。いい文章を書くには、勉強と訓練しかない。

この本で学べること最も大事なことは、上のようなことだと思います。1つのコピーを書くためには、その何倍もの文章を書いて、さらにそれを何度も手直しせよ、という記述があります。プロでも言葉は大目に書いて、削っていく作業が重要だそうです。努力の必要な世界です。

著者の鈴木さんは、いいコピーに出会ったら必ず、まず何度も読み返すそうです。そしてそのコピーのどこが優れているのか研究し、自分の作品に取り入れていくという作業をずっと続けているそうです。ごく当たり前のことなのでしょうが、何事も努力しかないと超ベテランの方に言われるとうなずくしかありませんね。

買いか

買いです。これは文庫ですから、フルプライスでも十分おつりが来ます。自分としては学ぶところが大きかったと感じています。ただ1点気になるところがあり、日野原重明さんの新聞コラムを読むと感じることと同じなのですが、著者は謙遜しているつもりで「自分はこんなことやってきたんだぜー」という言いたがり感情が見えるところがあります。そこは年長者のご愛嬌、内容に期待してください。

なお、もう一点感動したところとして、書き出しのアンドレ・ブルトンにまつわるエピソードがあります。これは紹介するとつまらないので、ぜひ読んでみてください。。

 


クソ株イナゴツインタワー 8260井筒屋、8013ナイガイ。日本株は今日も確変継続中

f:id:happyholiday:20150623154404p:plain

本日驚異の+41.67%と値上がりのランキング1位を記録した8260井筒屋は北九州市を中心とする百貨店。調べてみるといわゆるクソ株でした。

前期決算は赤字子会社を合併したためマイナス47億の大赤字、2015年末に黒崎地区の店舗が赤字のため閉店、5年連続売上減少、借金まみれで自己資本比率11.8%、利益余剰金マイナス200億と地雷しか見えない会社です。

 

f:id:happyholiday:20150623154435p:plain

2位は+40.63%の8013ナイガイ、靴下・ソックスの小売。

 

値動きの激しい銘柄の掲示板は書き込みが常軌を逸してます。

井筒屋

出遅れインバゥンド銘柄です^^
井筒屋とヤマノHDを株雑誌で同アナリストが紹介していました^^
出来高、低位株、値動きバッグンです^^

将来性なさそうなのにどこがやねん。

 

ナイガイ

一発打ち上げ花火か、三段上げか悩むな。ストップ高直前で買いいれるかな。それとも上げすぎな感じなんで売りでINもいいんだが、長い底値錬り噴きは売りは怖いな。
大きく垂れたら大引けで買うべきか売るべきか。
ガラは一気なんで成り売りすぐクリックできるようにせんと。

何言ってるのかわかりません。

 

4678 秀英予備校

【監視しててやっぱりあかんなーと】
思ってたら特買来たから3万株乗ってやったらストップ鷹
で買えたわい♪
まあ今日はもう余裕じゃし、明日上がるの確定したようなもんじゃから
余裕でホールドじゃ!!!
明日700円で売れても210マンの儲けじゃあああ!!
楽しすぎるじゃあああ!!
今日も祝いにデリヘル18歳頼んでしゃぶり尽くすのじゃあああ!!

ギャンブラーにありがちなこと。

 

f:id:happyholiday:20150623154316p:plain

日本株は今日も確変モードですね。私の保有株もおおむね値上がりしました。昨日比+1.3%です。バブルです。8908毎日コムネットが+4.62%、4245ダイキアクシスが+4.60%と激しく上がっています。毎日コムネットはようやく権利落ち以来の上げとなりました。爆下げを覚悟していた2930北の達人は-0.84%と微減にとどまりました。

3908コラボスは果たして予想通り、寄り付きでかなり下がったのですぐ売りました。スイングトレードになって悲しい。

もう持っていませんが3665エニグモは6日ぶりに-4.05%と調整しました。今日の日経の爆上げにもかかわらず下げてますから、さらに下がる公算が高いです。押し目買いのチャンスかもしれません。


CDレビュー: Gary Peacock – Now This(2015)

★★★★☆

ゲイリー・ピーコックはアメリカ合衆国のジャズベーシスト(80歳!)。創作欲旺盛で、ECMからのリリースはなんと40枚目なのだそうだ。脳みそ刺激系の大展開を広げる曲は皆無で、全曲渋い。渋すぎる。ジャケットのせいで想起される宇宙に比べて私たちちっぽけすぎる感が充満しており、特にタイトル曲と思われる3曲目This, 4曲目And Nowで顕著である。目の前で演奏しているようなドラムスが気持ち良い。

 

 

ジャズの他のCDレビューはこちらです。


日本株が確変モードに。北の達人S高。

f:id:happyholiday:20150622212924p:plain

日経平均も日本株も絶好調です。私の保有株も軒並み高騰しています。金曜日は全銘柄が値上がりしましたが、今日もフジコーポ以外の全保有株が値上がりし、1日で年初来比2%増えました。とはいっても材料不在の不自然な値上がりをしている銘柄ばかりで、明日には今日の上げの半分くらいは吹っ飛ぶだろうと見ています。

f:id:happyholiday:20150622212937p:plain

2930北の達人が一時S高、終値は+16.20%となり、買値から39.16%値上がりしました。その他、8771Eギャランティが+9.82%、最近値下がったので買い戻した3908コラボスがいきなり+8.99%、昨日成長期として目を付けた3800ユニリタが早速+3.45%となりました。北の達人は何の要素もないので明日には爆下げになる可能性が高いです。

f:id:happyholiday:20150622213006p:plain

先週怪しい動きをした予備校株は下がりました。4645市進ホールディングスが-8.41%と値下がり二位。秀英予備校も下がっています。

f:id:happyholiday:20150622213114p:plain

3665エニグモは今日も上がりました。すごいですね。

株価というのはどれだけの金が市場に流れ込んだかを表す指数ですから、日本に金がやってきたということなのでしょう。

 ギリシャ支援問題をめぐり、現地22日にユーロ圏緊急首脳会議を控えるが、事態の進展思惑が根強いうえ、政府が近くまとめる成長戦略への期待も下支え要因として意識されたもよう。なかで、指数寄与度の高いファーストリテ <9983> が株式上昇により、日経平均プラス寄与分で70円近くに達した。

とのこと。人々の意識の集合体に私たちの資産が左右されているというのは、いやな感じですね。9983は3.34%しか動いてないのに70円も上がるんだったら、ユニクロ平均株価って改名した方が良いのでは。

f:id:happyholiday:20150622213044p:plain

 日経225と大体同じ形ですね。


今日からケイタイ

今日から敬体にします。

これまではここを個人的な雑記と位置づけ、他人が見ることなど全く気にしない文章を書いていました。しかしウェブで文章を公開するということは必ず読む人間がいるということです。

はてなダイアリーからはてなブログに記事を移行した際、「アクセス解析」という機能が付いていました。ここには、見られたページがリアルタイム・ランキング形式で逐一表示されます。面白いので毎日チェックしています。

私のブログは1日平均PVが100に満たない、超弱小サイトです。ユーザー登録されている記事なんてありゃしません。しかしながら、アクセス解析結果を見ると、いくつか安定して読まれている記事があるようです。例えば次のような記事です。

Windows8ではユーザー名を漢字にするな – diary 六帖

JavaScript→PHPに多次元配列を渡す – diary 六帖

日常PCを使う際に困ったこと、プログラミングで疑問に思ったことは、他人も困ったり、疑問に思うことが多いらしいことが分かります。私の文章力などたかがしれていますが、見られている以上、伝えるための文章を書く必要があります。常体は日本語としておかしいところはありませんが、冷たい印象を与えます。私は発達障害と診断されていることもあり、変に気取った文章になりがちです。

読む人間に少しでもいやな感じを与えたくない。そのためのケイタイです。


CDレビュー: Hecq – Mare Nostrum(2015)

★★★☆☆

前作が割と良かったので、2枚目として聞いてみた。

a large glass box and a loud hum fill the nave of the deconsecrated chapel. inside the box is marenostrum, the largest computer in spain. from the outside, the only sign that it is alive are the blinking lights and the noise from its ventilators. but marenostrum can say much more – it just needs someone who can hear it.

スペインにある最大のコンピュータ、marenostrumを使って作曲したそうだ。CDの限界80分近くまで電子音を詰め込むわ詰め込むわ。そこから出てくるのは絶望の海か暗黒の夜明けか。。聴いていると滅入る。1曲19分は長すぎで、私には体力が続かなかった。

ジャケットから飛べるリンク先で視聴できます。

こちらのブログで未収録の5,6曲目が紹介されています。

 

電子音楽の他のCDレビューはこちらです。


PHP、traitsってどう使うのさ?

traitsとは、PHP5.4で実装された複数のクラスに実装する共通メソッドを定義するための仕組み。Programming PHPを読んでもtraitsの使いどころがわからない。スーパークラスじゃダメなの?

web検索すると、疑問にズバリ答えてくれるブログが見つかった!

要約すると、traitsは「多重継承を実現するための仕組み」で、「デザインパターンなど、必ず共通で使う枠組みでソースのコピペをなくしたい時に使用」するものだそうだ。ここではSingletonを例にとって説明してくれている。

 

<?php
trait SingletonTrait
{
    private static $instance;
 
    private function __construct() { }
 
    public static function getInstance()
    {
        if (!isset(self::$instance)) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

class SomeManager
{
    // シングルトンパターンを利用する
    use SingletonTrait;
 
    public function processSomething()
    {
        // ...
    }
}
 
// クラスの利用
$mngr = SomeManager::getInstance();
$mngr->processSomething();

 なるほどね!ありがとうございます!