BANSYSTEMSBLOG

Load of the ○○○○PHP!?

<?php
    define (’ECCUBE_INSTALL’, ‘ON’);
    define (’HTML_PATH’, ‘/httpdoc/eccube/’);
    define (’SITE_URL’, ‘http://tukihana.jp/shop/’);
    define (’SSL_URL’, ‘https://tukihana.jp/shop/’);
    define (’URL_DIR’, ‘/shop/’);
    define (’DOMAIN_NAME’, ”);
    define (’DB_TYPE’, ‘mysql’);
    define (’DB_USER’, ’system’);
    define (’DB_PASSWORD’, ‘eccube’);
    define (’DB_SERVER’, ‘localhost’);
    define (’DB_NAME’, ‘eccube’);
    define (’DB_PORT’, ”);
    define (’DATA_PATH’, ‘/httpdoc/eccube/’);
    define (’MOBILE_HTML_PATH’, HTML_PATH . ‘mobile/’);
    define (’MOBILE_SITE_URL’, SITE_URL . ‘mobile/’);
    define (’MOBILE_SSL_URL’, SSL_URL . ‘mobile/’);
    define (’MOBILE_URL_DIR’, URL_DIR . ‘mobile/’);
?>

購入手続きのボタンをクリックするとhttps://~に切り替わるようになる。
いつでも設定できる。

    define (’SSL_URL’, ‘https://tukihana.jp/shop/’);

FPDFのチュートリアルにサンプルがある。
http://www.fpdf.org/en/script/script36.php

Source

<?php
require('fpdf.php');

class PDF_JavaScript extends FPDF {

var $javascript;
var $n_js;

function IncludeJS($script) {
$this->javascript=$script;
}

function _putjavascript() {
$this->_newobj();
$this->n_js=$this->n;
$this->_out('<<');
$this->_out('/Names [(EmbeddedJS) '.($this->n+1).' 0 R]');
$this->_out('>>');
$this->_out('endobj');
$this->_newobj();
$this->_out('<<');
$this->_out('/S /JavaScript');
$this->_out('/JS '.$this->_textstring($this->javascript));
$this->_out('>>');
$this->_out('endobj');
}

function _putresources() {
parent::_putresources();
if (!empty($this->javascript)) {
$this->_putjavascript();
}
}

function _putcatalog() {
parent::_putcatalog();
if (!empty($this->javascript)) {
$this->_out('/Names <</JavaScript '.($this->n_js).' 0 R>>');
}
}
}?>

このSourceをpdf_js.phpと名前をつけて保存し、下記のソースを実行すれば良い。

実行ファイルは下記のようになる。

<?phprequire('pdf_js.php');

class PDF_AutoPrint extends PDF_JavaScript{function AutoPrint($dialog=false){    //Open the print dialog or start printing immediately on the standard printer    $param=($dialog ? 'true' : 'false');    $script="print($param);";    $this->IncludeJS($script);}

function AutoPrintToPrinter($server, $printer, $dialog=false){    //Print on a shared printer (requires at least Acrobat 6)    $script = "var pp = getPrintParams();";    if($dialog)        $script .= "pp.interactive = pp.constants.interactionLevel.full;";    else        $script .= "pp.interactive = pp.constants.interactionLevel.automatic;";    $script .= "pp.printerName = '\\\\\\\\".$server."\\\\".$printer."';";    $script .= "print(pp);";    $this->IncludeJS($script);}}

$pdf=new PDF_AutoPrint();$pdf->AddPage();$pdf->SetFont('Arial','',20);$pdf->Text(90, 50, 'Print me!');//Open the print dialog$pdf->AutoPrint(true);$pdf->Output();?>

このままコピーして実行すれば印刷用のダイアログが出るだろう。
 ダイアログを非表示にして目的である自動印刷がしたければ

$pdf->AutoPrint(false);

とすれば良い。

デフォルトではメソッド名を適当に指定されると、
missing controller 〜と表示されてしまう。

ピクチャ 15.jpg

  そこで、views/errorsに missing_action.ctp、missing_controller.ctpを追加して任意に編集する。

<!– コンテンツ部分 –>
  <div class=”contents”>
    <h2>Error page<br />
      指定されたページは存在しません。</h2>
    <p>アドレスを確認してください。</p>
  </div>
  <!– contents –>

そして下記のように存在しないアドレスの場合はエラーページを表示することができる。

ピクチャ 16.jpg


先日、取引先の製造会社へ行った時の事である。
部屋を入るなりその神秘的に銀色に光り輝く、またすべてを飲み込んでしまうような黒光りするリンゴ。
そこにあるのはまさに新型iMacであった。
実はそれ以前から購入したという話は聞いていた。
そしてそれが一昨日に届いたのである。

私が所有しているMacはiMacの20インチである。当初24インチか20インチでしばらく迷っていた。
ただし部屋を見渡すとモニターごろごろと眠っている事に気づき20インチにしたのであった。それでも当初は22万程度した。しかし今のMac15万程度で購入できてしまうのである。これにはとても驚愕した。
どこをどうみてもDOS/Vマシンより高価に見える。時代に感謝しなければならない。昔はMacは高価でなかなか新品には手は出せなかった。しかし今は秋葉原の中古屋を一日中探索する必要もない。
Appleの中古専門店の天狗になりきってしまった店員におびえながら物音一つ、音楽も流れていない静粛な店内で咳払い一つもできない状況で商品を吟味する必要もないのだ。

今でも鮮明に覚えている。当初パフォーマが一世を風靡したが20歳そこそこの学生が新品を買えるはずがない。
したがってそれはごく自然と秋葉原の中古屋へと足を運ばせるのであった。友人が買うときにでさえ今日はいいものがないかとつきあう。ただ今思えばそれはあの秋葉の腐った店員たちにおびえるあまり若い我々が行くには一人ではいささか気が引けてしまっていただけなのかもしれない。
そしてそこには人生の大半をMacに費やしてきた疲れきった中年のビジネスマンがいた。
彼はたいそう熱心にパフォーマを吟味してそれはそれは丁寧に眺めていた。そしてここぞとばかりに店員に質問を投げかけた。
しかし彼は必ずしも無知であったわけではない。むしろ店員よりもマッキントッシュには詳しい自負があった。それにもかかわらずあえて質問したのだ。それは一種のコミュニケーションというべきだろう。しかし当時の秋葉原にはコミュニケーションという概念自体が存在していなかった。
てんぐ店員は彼がまだ質問を言い切らないうちに、
「ありません!!」
といいはなった。
彼はぐう、と思わず口から出てしまった。それはやはり訊くべきではないということと、いやしかし思った以上に店員が天狗であったことを改めて認識させられたのである。その意味が含まれた「ぐう」なのであった。
しかしながら現在ではそんな、地の果ての中古屋にはいかずしても自分のデスク上で新品しかも低価格高性能のMacが購入できてしまうのである。

話はiMacの話に戻る。
取引先の方は筋金入りのいわゆるMac使いである。それはもう学生時代からMacなのであった。自宅にもWindowsのWの文字一つない。ずっとMacである。しかし当時勢力を誇っていたのはマイクロソフトであった。Windows95のブームがさめたかたと思うと98が出てさらに2000と追い討ちをかけてきた。必ずしもWindowsが良かったのかと思うと疑問であるがそれ以上にMacは高価であり更には当初問題であったかの有名な「爆弾」が存在した。
それはビジネス上では非常に邪魔な存在であった。ある意味ビジネステロリストといっても支障はない。
18歳の頃には1人1台は到底与えられるはずもなく10人に1台であった最高級のマッキントッシュを皆で囲み、作業をしている。そして皆口々にビジネスの話をしながら1人オペレータが作業をするのである。
そして仕事も架橋にかかり出す頃に、Kがいった。
「じゃあ最後にここをこうして終わりにしよう」
「わかった」とTがいった。
そしてTは慣れた手つきでマウスを動かしキーボードをさらさらとなでた。
その瞬間我々は凍り付いたかと同時にそれによってはじきとばされた。

あの「爆弾」が暴発してしまったのである。
まさしくそれは朝の会議におとずれた爆弾、ミーティングテロ、いやモーニングテロそのものだった。周りを囲んでいた9人は精神的ショックで崩れ落ちはじき飛ばされた。オペレータのTは一瞬、呼吸が止まりMとNで心臓マッサージをしたため一命は取り留めたものの自体は緊迫していた。実は我々は朝7時から作業をしていたのである。そしてその事故は9時に起きた。その2時間の作業は空白として流れ去ってしまった。我々はまさに空白いや空洞化してしまったのであった。

過去にはいろいろあった。それが現実である。
しかし今はそもそも爆弾というものが存在しない。爆弾にびくびくしておびえながら仕事をする必要が無くなった。またクラウドのおかげでメールデータはローカルに持つ必要もない。フリーズはPCにはつきものであるが、そのフリーズでさえもうおびえる必要はないのだ。

最後にiMacがコスト削減になることを簡単に説明しよう。
まずオールインワンであることがあげられる。
届いた時から下記の物がそろっている。
・カメラ
・マイク
※スカイプを使う場合はインストールするだけで使用可能。
・写真(アルバム、WEB作成機能あり)
・動画編集(YOUTUBEへアップロード可能)
・チャット、音声通話(標準)
・バックアップ(タイムマシーン)→あるコマンドを打つだけでNASでも使用可能。
・BootCamp(Windowsを使用可能にする)
※しかしデュアルブートになってしまうのでVMwareやパラレルがおすすめである。
VMWAREなら6000〜7000(ダウンロード)→しかしWindowsのライセンスは別途必要。

購入しただけですぐに使用可能である。
クリエイターが使うには絶対にMacであるが、SEが使う場合はどうするのか?
最近はWEB開発がメインである。よってサーバーの開発環境へ直接SSHで接続する方法も一つ。それはターミナルで行える。ターミナルは標準装備である。Linuxでいうコンソールだ。しかしどうしてもWindowsでないとだめな場合はVMWareを使えば良い。仮想メモリも1Gで設定すればさくさくと動くだろう。私はVisual Studio2008も入れているが問題なく動いている。

それでは問題のWindowsからMacへの移行はどうすれば良いのだろうか。
それも至って簡単である。

後で記事としてまとめようと思うが、VMware Converterを使えば良い。こちらも実績が昨日ある。取引先でおこなった。その方もWindowsからiMacへ移行するのだが古いマシンの移行が問題でなかなかMacへ乗り換えられなかった。そんな中私が読んでいた記事がためになった。コンバートする時間は1時間程度である。Windowsの環境をそのままそっくりVMwareファイルに変換してくれるのだ。そしてMac上でVMwareで実行すれば良い。<
br />ライセンスは再取得するかアクティべーションの適宜処理が必要であるので気をつけてほしい。ライセンス認証が終わればもともと実記で動いていたWindowsがMacの中で、しかもいささか実記よりもさくさく動くことが確認できると思う。これを実際に経験すれば感動する。
便利な時代だなあと心の中で誰もがつぶやくであろう。

さて、そういった事でWindowsからMacへの移行に悩んでいる方は是非Macへ乗り換えてほしい。仕事の効率が上がることは間違いないのである。また自然とコスト削減につながるのである。

21世紀の本格的なインフラ事業が始まっている。去る5月28日、アマゾンがクラウドコンピューティングに莫大な投資を始めると宣言した。

アマゾンの強みとは本業のネット小売り事業だ。ネットサービスにより蓄積されたIT技術を土台にして、自社のデータセンターを外部企業に解放する。

サーバー1台分の能力を1時間10セントで提供するとのことである。

さて、ここでクラウドコンピューティングについて復習しておこう。

昨今騒がれているクラウドとはいったいなんなのか。

簡単にいうとクラウドとはデータセンターを指しており、データセンター内のサーバーにソフトを集約する。またネットを図で表示する際に雲のイラストを用いることからクラウドと名付けられた。それと同時に雲の存在のように気にしなくて良いという意味あいにもとれる。

しかしクラウドコンピューティングが世間で騒がれているが、実はクラウドコンピューティングが始まったのは、2001年以降なのである。その以前がWEB2.0だ。

WEB2.0が始まったのは1999年である。日本でWEB2.0と騒がれた時はすでに時代はクラウド化していたのである。

1993年、グーグルのCEOエリック・シュミットは当時サンマイクロシステムズの最高技術責任者だった。そして次のように予測した。

「ネットワークがプロセッサと同じくらい速くなったとき、コンピュータは空洞化して、ネットワーク全体に広がるだろう」

[ニコラス・G・カー:クラウド化する世界より抜粋]

そして予想通りのことが今現実世界で起きている。

すでにユーザはクラウド部分を意識せずに様々な媒体をしようしてデータを活用しているのである。自分のデータが世界のどこにあるかわからないまま使用しているのである。

わからないといったら語弊が生じるがつまり気にしなくて良いのである。

インフラの話に戻るが、今日までに様々なWEBサービスが出現して一通り落ち着きを取り戻した感が感じられる。今これから新たな、または斬新な
WEBサービスを発明、開発、構築するのは理にかなっていない。すでにある物を使用して利益につなげた方がよっぽど効果的であるからだ。

そこで大手はインフラ事業の拡大に着目しているのだ。

ここで出遅れれば会社が倒産する自体にまで発展してしまうのである。

その典型的な例が、サンマイクロシステムズである。

そしてアマゾンは設備投資は非公開であるが、高性能サーバーのラッカブル・システムズの売り上げからすると前年比の35%増しとのことである。

これを新聞では猛烈な投資と表現している。

また世界全体での投資額は423億ドル、日本円にして4兆円になる。

それではクラウドコンピューティングにおける完全なインフラが整えばどうなるのか?

それはつまり顧客は従来型のパソコンを持つ必要はないということなのである。

求められる端末も変わるのだ。

先日述べたとおり自分で選択できるのである。

極端な言い方では、選択をしなければならないのである。

決められたパソコンを決められたOSで縛られて、決められたOfficeソフトやブラウザに縛られることはない。

10数年前はWindowsしか実用性がなかったため選択の余地は無かったのだが、しかし今は違う。

顧客が選択できるのだ。あえてWindowsを選ぶ必要もない。

MacOSであり、Linux、そして新たにグーグルOSも登場し、優秀なOSは他にもいくらでもある。

端末にしても、iPhoneや、Gphone、そしてネットブックであっても使用するソフトやサービスは全く同じものなのである。

そして最後の朗報がある。

ネットブックの先がけで有名なエイサーはグーグルOSを採用することを表明した。

そこで気になるのがマイクロソフトであるが、クラウドでは挑戦者扱いされている。

ただしWEBサービスには遅れを取りながらも力を注いでいる。グーグルほど流行らないのは個人的主観ではあるが、

広告の大きさがユーザーに不快感を与えているとしか思えないのである。

MS、Yahooしかり、エンジニアやデザイナーは広告さえなければと思っているかもしれない。

しかしながら重要な収益源である広告を粗末には扱えないのが現状であるのだろう。