馬鹿なことをやっていた 今気づいたけど

さて、kamakuralive.netは鎌倉ライブの Home Pageですが、先日までサーバーの切り替えですったもんだしたのです しかし、このクラウド・ベースのサーバーになり速度は明らかに早くなり安定しています

ここのプログラムは何回も言いますが、全てゼロから僕自身が html, css, jQuery, javascript, php, sql (mysql)を用いてプログラムを書いてきたものです

基本的にデータ構造は、たった3つのテーブルを使用するのみです それは、それぞれ dr_tbl, session_tbl, role_tblと名付けていますが、論理的にはお互いにリンク付けられ、関係データベースを形成しています

そのように作ったつもりだったのですが、今日突然気づきました それは database sqlのデバグをしている段階だったのです 何と role_tblsが session_tblを指すべき indexを作っていなかったのです!!!

もちろん今からこれを作るのは簡単ですが、そうなるとそこに関係したプログラムのみならず、既に入力されているデータそのものも変更が必要となります 参りました

そんなことをすれば膨大な時間がかかりますので、とりあえずはこのままにすることに決めました ほとんど不都合は発生しませんが、役割の時間帯重複を sqlで検出することが困難なのです

あっという間に目まぐるしく二週間が過ぎ

あっという間に二週間が過ぎてしまいました この間、TAVIにかかりきりかと言えば、そうでもなく しかしながら激しいTAVIに各地で付き合いました

その中で、先週は島原ライブで四例治療し、その中の一例はかなり高難度のCTOでしたが、それもうまくやり、昨日は函館で非常に難度の高いCTO二例を我ながら信じられないような強い意志の力と、これまでの知識、積み上げてきたテクニックを総動員してやり遂げました 集まっておられた韓国の先生方 (第11回 日韓友好TRIセミナー)もすごく満足されました TRIの可能性の限界への挑戦でした でも疲れきりました CTOの一例目で渾身の力を使いましたので、CTOの二例目の時には左手の指や足底の筋が痙攣(つる)していました この二週間で何例のTAVIとCTO三例を含めたPCIを行ってきたのでしょうか

その一方で鎌倉ライブのHome Page programmingにとりかかりました 暫く javascript/sql/jQuery/phpなどと何ヶ月も付き合ってきませんでしたので、自分の知識と感覚を取り戻すのに時間がかかっています 実はこの数週間、「深層学習」の勉強を Kindle本でやっていたのです 偏微分や行列計算などこれまで避けてきたことにも再挑戦しています そんなこんなであっという間に時間が流れていったのです あ~~~~ こんなことではいけない いけない

うーん 何だか難しいなあ

Dynamic DNSというものの存在を教えて頂きました しかし、何だか難しいなあ 実際にいじくって自分でやらないと理解できないような気がします

それよりも今直面しているのは これが理解できないのです うーん何と説明すれば

まず、Laravelを /Sites/myapp/にインストールしました

そして、/myapp/に移動し、$php artisan serve でサーバーを立ち上げました

そして、/Sites/myapp/routes/web.php の中に /helo でroutingを行う命令を書きました

そうすると アドレスバーで localhost:8000/helo とすれば、そのページが出力されます

ところが、ここで artisanを停止し、XAMPPで apacheを立ち上げます 僕のapacheの document rootは /Sites/にしてありますので アドレスバーで localhost:8000/myapp/helo とすれば同じ出力されると思ったのですが サーバーが反応しません

うーん 分からない apacheのポートは何番なのでしょうか?

分からない分からない分からない

Laravel 5.3の download

さて、昨日 Laravel5.3を downloadしようしたらば最新版の5.4が downloadできてしまい、5.3をdownloadできなかった話をしました

しかし、これは当たり前でしたね だって、

$ composer create-project laravel/laravel=dev-develop laravel53

などと打ち込み、5.3をdownloadした気分になっていたからです composerのコマンド体系を見れば、これでは laravel最新版を downloadすることになりますよね いやきっと そのように予想できます

従って、Laravelの開発ページを見に行く必要があります そこで、githubを探すと ここにありましたね

さて、このページの左上の方を見ればこのようになっています

Github

ここでこのselect buttonをいじくると 出てきました 5.3が

Laravel5.3の選択

これで5.3を選択し、downloadなりすれば良さそうです とは言うものの、もうすぐ朝カンファランス そして 怒涛の外来診療ですのでとりあえずここまでにしておきましょう

 

Laravel 何だかややこしいな

Laravelの最新version = 5.4です しかし、Web上の情報はほとんどが良くて 5.3 大多数の日本語サイトは 4.3です 要するにものすごいスピードで version upされているようなのです

それはそれで嬉しいことですが、問題は言語仕様がどんどん変化しており、英語の on-line manualを読まねば最新の仕様がわからないという点です これは辛いです 仮に日本語だとしても理解は困難な上に、それが英語であればどんな事態になるか想像できますよね

という訳で Kindleで書籍を探しました 日本語書籍は最新のものでも Version 5.1です 英語のものでようやく 5.3です そして、5.1から 5.3に version upした時点で Laravelの dirctory構造が大きく変更されたようなのです 具体的に僕が気づいたのは Routingの directoryが大きく変更になり、この時点で日本語サイトや日本語書籍はあまり参考にならなくなってしまいました

それでは、敢えて down gradeして、Version5.3をインストールすれば良いとも思いますよね それでサイトを探し、このサイトに巡り会いました そして、ここに書いてあるように

$ composer create-project laravel/laravel=dev-develop laravel53 --prefer-dist

と打ち込みましたところ、見事にエラーで撃沈 そこで今度は最後の –prefer-distをとって打ち込みました

$ composer create-project laravel/laravel=dev-develop laravel53

そうするとLaravelのインストールが始まりました しかし、ここで

$ php artisan -V

と打ち込むと、そんなコマンド無い、とエラーが出たので、

$cd laravel53

としてから、

$ php artisan -V

と打ったところ、今度は反応しました しかし、しかし、しかし、その答えは

$ php artisan -V
Laravel Framework 5.4.15

という悲劇的なものでした これを受けて laravel53/ directoryを完全に削除するしかありませんでした 要するに、指定の laravel versionをうまいこと導入する手段は無いのでしょうか

Laravel すぐに躓き

さて、このページにあるように routingを試してみました ところが、ここに書いてあるファイルがそもそも存在しないのです このページではどうやら Laravel 4.xでの説明のようですが、僕がインストールしたものはどうやら Laravel 5.4という最新 versionなのです

結局、Laravel 5.4に web manualを参照すると、どうやら routes/ folderの中の  web.phpに書くことで routingがされそうです このファイルは最初はこのようになっています

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

この最後に以下をつけたしてみました

Route::get('/helo', function () {
    return '<h1>Hello Worl</h1>
this is sample page.'; });

そうして、 localhost:8000/heloにアクセスしたところ、やったね、

やったね

出ました

おおおおお

指示にある通り 開発用 local serverを立ち上げました 実は、何時も XAMPPで立ち上げているので最初うまくいかず、XAMPPの Apacheを停止してからやったところうまく行きました Browserの address barに下記を打ち込みました

http://127.0.0.1:8000

これは要するに local server IP address = 127.0.0.1の port=8000にアクセスしろ、という命令ですね そうすると下記の画面が表示されましたよっ

Laravel開発画面

うわあ なんかかっこいい 僕みたいなミーハーはこれだけでもう心キュンです

おお すごい

そのまま指示に従ってやってみました

$cd myapp
$ php artisan serve

そうすると 見事開発用サーバーが立ち上がりました

Laravel development server started: <http://127.0.0.1:8000>

問題は、この後も僕の根気が続くかですね まず 99%は途中で投げ出し、その内忘れてしまいまから

これは期待持てるかも

早速、「Laravel入門」というサイトを開いて勉強開始です まずは、プロジェクト・フォルダの作成です このサイトに書いて有るように composerコマンドを入力しました

composer create-project laravel/laravel myapp --prefer-dist

そうすると、すぐに反応し downloadが始まりました こんな具合です

Installing laravel/laravel (v5.4.15)
  - Installing laravel/laravel (v5.4.15): Downloading (100%)         
Created project in myapp
> php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 59 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-mbstring (v1.3.0): Downloading (100%)         
  - Installing symfony/var-dumper (v3.2.6): Downloading (100%)         
  - Installing jakub-onderka/php-console-color (0.1): Downloading (100%)         
  - Installing jakub-onderka/php-console-highlighter (v0.3.2): Downloading (100%)         
  - Installing dnoegel/php-xdg-base-dir (0.1): Downloading (100%)         
  - Installing nikic/php-parser (v3.0.5): Downloading (100%)         
  - Installing psr/log (1.0.2): Downloading (100%)         
  - Installing symfony/debug (v3.2.6): Downloading (100%)         
  - Installing symfony/console (v3.2.6): Downloading (100%)         
  - Installing psy/psysh (v0.8.2): Downloading (100%)         
  - Installing vlucas/phpdotenv (v2.4.0): Downloading (100%)         
  - Installing symfony/css-selector (v3.2.6): Downloading (100%)         
  - Installing tijsverkoyen/css-to-inline-styles (2.2.0): Downloading (100%)         
  - Installing symfony/routing (v3.2.6): Downloading (100%)         
  - Installing symfony/process (v3.2.6): Downloading (100%)         
  - Installing symfony/http-foundation (v3.2.6): Downloading (100%)         
  - Installing symfony/event-dispatcher (v3.2.6): Downloading (100%)         
  - Installing symfony/http-kernel (v3.2.6): Downloading (100%)         
  - Installing symfony/finder (v3.2.6): Downloading (100%)         
  - Installing swiftmailer/swiftmailer (v5.4.6): Downloading (100%) 

何だか期待持てますねえ

PHP Frameworkである Laravelを使用したいな

いい加減 PHPでプログラムを素で書くのはやめたいな そのためには色々な Frameworkがあるんだよね 例えば日本では一番有名なものとして CakePHPなんて有名ですよね あるいは Zend Framworkも有名だし・・・

でも一度なんか CakePHPに手を出し見事撃沈、新たに覚えることが多すぎて、僕の既に RAM容量が破裂しそうな脳みそには無理です そんななか、色々読んでいると Laravelというのが良いかも知れない、と思い出しました そこでそれをインストールしようと思いました

通常 Frameworkのインストールと言えば Framework全体、これは PHPで書かれた巨大なプログラムですが、これを downloadしてそれをコピーするだけ、そんなものと思っていましたが どうやら Laravelではそんなことはしないらしいのです そんなことすると色々なファイルの依存性関係が崩れてうまくいかないらしいのです

そして、その方法には色々あるけど、まずは composerというプログラムを downloadせねばならないようです

ところがですねえ、これを Macにインストールするのはどうするの???

どうやら色々あるらしいけど、Homebrewは何となく使いたくなかったので、この PHPを用いてインストールする方法でやったところうまくいきました

 

$ composer -V
Composer version 1.4.1 2017-03-10 09:29:45

というのがきちんと表示されました とは言ってもこれから Laravel本体をインストールせねばならないのでしたね