M4 MacBook Pro 入手

イメージ
 少し前から出る出ると言われていたM4のMacBook Proの噂を、気にしていましたが…。 発表→即発注! 10月30日に発注しましたが、発売日が11月8日で、自宅への配送が11月12日というスケジュールでした。 仕様は、 ・CPU:M4 ・メモリ:32GB ・SSD:1TB ・96W UCB-C電源アダプタ これに、ソフトウエアを追加(学生・教職員向けPro Appバンドル) ・Final Cut Pro ・Motion ・Compressor ・Logic Pro ・MainStage 少々盛ったおかげで、結構な金額になりました。 ただ、これまで使用していたM1 MacBook Proが6万円強で下取り可能ということでしたので、かなり嬉しい状況です。  4年間使用して、20万→6万なので、十分元が取れた気がしますね…。 移行アシスタント稼働 着弾したので、早速起動しました。 移行アシスタントを使えば、Thunderbolt経由なので結構速そう。 ということで、設定し開始! およそ、1時間ほどの予想時間でした。(300GB程度かな…。) 移行後の調整  今の移行アシスタントは、非常にしっかり動作してくれて、これまでの環境をすっかり持っていってくれました。  ただ、一部のWeb系のソフト(slackやsteamなど)で、再認証を行わないといけないものだけ手間がかかりました。 まぁ、全く問題ないレベルの作業です。 開発系の環境は、再設定しようと思い、homebrewを一旦すべて削除した上で、入れ直しを行いました。  バージョンはすべて新しめのものに差し替えて…。  ここまでで、約1日かかってますが、ほぼ運用開始可能な状況に。 とりあえず使った感想  速度は非常に満足なレベルです。  バッテリーの持ちが尋常じゃないです。  昨日、講義でプロジェクタ・外部ディスプレイ・内蔵ディスプレイで表示させながら、午前3時間、午後3時間フルに使用しましたが、帰るときには50%くらい残っていました。  90%以上充電されていれば、通常の使い方であれば丸2日は十分に使えそうです。 ACアダプタを念の為持っていきますが、出番はないです…。 (96Wのアダプタにする必要はなかった気がする) もう少し、色々と試して見ようかと思っています。 ちなみに、単純なBenchmarkの結果は以下の通り

PHP+sqliteでcoud not find driver

前回からの検討内容…

DBを使ったアプリを作成する依頼があったので、内容を検討。
ターゲットとなる環境が厳しいので、いろいろと検討し、そろそろ決めることにした。

クライアントが古めで、アプリを入れて動かすのは故障時のリスクが高すぎる。
何せ外部に接続していないXPマシンが1台含まれており、メモリが512MBと超遅め。
壊れるまで使いたいという希望。

3台のクライアントで利用するのだけれども、扱うデータは担当者別で同時に同じデータを触ることはない。
要はアプリは1種類で、データは3種類になるという縛りがある。
そのうちの1台が古いXPということなので、最低のマシンで動作するようにしないといけない。

そこで、当初LibreOffice上のBASE+マクロ(BASIC)で構築しようと思ったけれど、XPマシンに入れて快適に動きそうにない。
VB or VC# or etc.+SQLiteも検討したが、Microsoftに縛られたくない。

ということで、Linuxサーバ(内部向け)の上で、SQL+PHPで構築して、ブラウザで利用という事で進めることにした。

テスト環境を準備

通常なら、Virtualboxでサーバを構築して、その上で作業をするのだけれど、今回は14.04が出たばかりなので、検証を兼ねて14.04にUpgradeしたノートPC上を作業環境にしてみる。

まずは、apacheのインストール。

$ sudo apt-get install apache2
動作確認で、開いてみると「お!ぉぉ!!!」今までの殺風景な it worksではなく、洒落た画面になっていた。

ついでに、Firefoxも最新のものに更新したので、chromeみたいなタブになっていて、何だか違和感ww

一応スクリーンショットを撮ってみた。
ぱっと見た感じはchromeのようだけど…。確かにFirefoxなんだよね〜。

検索窓が別に用意されているけれど、アドレスバーの欄に入力しても検索してくれて変な感じ。

続いてphpのインストール

$ sudo apt-get install php5 
本当に、楽になったもんだ。依存する必要なモジュールは勝手に入れてくれるし…。

userdirを使えるようにmoduleをenableにし、phpもuserdirで動作するように、php5.confを編集。
ここで、apacheを再起動し、動作確認する。
<?php phpinfo(); ?>
という内容のファイルを作成して、確認しておく。

今度は、SQLite3を準備する

本当は、MySQLかPostgreSQLでも使おうかと考えたのだけれども、ローカルで動作させる可能性と、最悪Windows上で動作ということも考えて、ファイルで扱えるSQLiteを使ってみることにする。
バックアップがファイルコピーで完了するのと、複数ユーザによる同時アクセスが、ほぼ発生しないし軽いので…。
$ sudo apt-get install sqlite3 php5-sqlite
コマンドラインから、sqlite3で直接データ投入して確認する。

$ sqlite3 testdb
sqlite> create table testtable (id integer primary key);
sqlite> insert into testtable values (100),(101);
sqlite> select * from testtabl;

動作は問題ない。

これを、phpから同様に出力できれば、準備完了だ。

phpのコード

    <?php
      $dsn ="sqlite:testdb";
      $db = new PDO($dsn);
      $sql=$db->prepare('select * from testtable');
      try{
        if(!$sql->execute()){
          echo "Failed";
        }
        foreach ($sql->fetchall() as $key => $value) {
          echo "$key:$value[0]<br/>\n";
        }
      } catch(Exception $e){
        echo "Failed: ".$e->getMessage();
      }
    ?>

最低限しか記述していないが、問題なかろう…。(実際にはhtmlも記述してあるので抜粋)
コマンドラインから、確認する。

$ php5 test.php
    :
0:100<br>
1:101<br>
    :
はい、OK。

さて、ブラウザから確認してみると…。真っ白だし…。
何かエラー吐いてるな〜と。
ソースを見ても、何もないので、ログを確認。
[Wed Apr 30 18:10:00.836230 2014] [:error] [pid 12275] [client 127.0.0.1:48208] PHP Fatal error:  Uncaught exception 'PDOException' with message 'could not find driver' in /home/satoshi/public_html/test.php:12\nStack trace:\n#0 /home/satoshi/public_html/test.php(12): PDO->__construct('sqlite:/home/sa...')\n#1 {main}\n  thrown in /home/satoshi/public_html/test.php on line 12

この12行目というのは、new PDO($dsn)の行だ…。

おかしい…。
コンソールでは動作しているのに…。

しかも、driverが見つからないって、どういうことなん?

結局は解決したが…

まずは、ググって同様な報告が出ていないか確認する。
古いUbuntuでは、似たようなものがあったものの、最近の情報は見つからない。
ましてや、14.04での報告は皆無…。

書き方に問題があるのかと、別の書き方をしてみたり…。
「sqlite:」→「sqlite3:」
に書きなおしてみたり…。フルパスに変更してみたり…。

色々やってみたものの、一向にエラーは消えない。
ブラウザは真っ白なまま。とほほ…。

やはり14.04ではだめか?という考えがよぎる。
12.04でやり直すか…とも思う。

でも、コンソールでは動いて、apacheでは動作しない。という部分が引っかかる。
全く動かないのであれば、納得できるのだが。

所有者を変更したり、パーミッションを変えてみても、変わらず。

最後に思いついたのが、この書きかけのblog…。

よく見たら、php5-sqliteを入れた後、apacheを再起動していない!!!

原因はこれでした。
だから、コンソールでは動き、Webサーバ経由ではエラーということなのでした。

分かれば当たり前なのだけれど、書きながら作業したせいか、疲れからボケただけなのか…。
こんな初歩的なミスで、無駄に長い時間格闘してしまった…。

はぁ…。原因がわかって余計に疲れましたゎ。
ポカを何度も繰り返して、覚えるんだろうけど…。
って何年同じような作業やってんだ!って話ですな。

気をつけよう! モジュール入れた後の再起動!

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ