Surface Pro 3

やっと日本向けにもSurface Pro 3 の発売日が発表されましたね。7月17日。意外と早いなー。前に日本向けは8月発売って聞いてたので・・・。

Surface Pro 2のような品薄にはならない、ような事をニュース記事で見たので、焦って買う必要はないかなと思う。僕はAdobe CC製品がWindows8.1への完全対応版をリリースするまで待ちかな。それからでも遅くないかな、と思っています。

個人的に、ヒジョーに残念な事が一つあって・・・それは、専用のタイプカバー。

僕が欲しいのはUS配列(英語版)のタイプカバー。・・・どういうわけか、日本では正規にUS配列のタイプカバーを手に入れることができない。

単に売れないからなのか、混乱を招くから売るのを避けているのか、どっちにしろ、日本でUS配列のタイプカバーを手に入れようとすると、6~8割増しのボッタクリ業者から買うか、自分で個人輸入するか、代行販売業者に依頼するしかなく、どっちにしろ、手間は掛かるし、割高になってしまう。

たかが、キーボード、されど、キーボード。

手書き入力なんかより遙かに早く入力できるデバイスなので、まだSurface Pro 3を買うとは決めていないが、US配列のタイプカバーを正規の価格+3000円程度で手に入れることが可能なら、今のノートパソコンをリプレースしてSurface Pro 3を速攻で予約するのだが・・・。

しかし・・・Core i5と Core i7の違いで25,000円の差は、両CPUの性能差を比較しても、高すぎる気がします・・・。AdobeCC製品使うならCore i7版を選ぶのが正解だと思うんだけど・・・体感できるほどの性能差があるのかな・・・?

雑記

「いいね」ボタンより、「だめだめ」ボタンが欲しい今日この頃です。

7月から別の部署で、違う人の下で仕事するようになってルーチンワークが続き、好き勝手できなくなったので(^^;;;、更新が途絶えてしまいました。

備忘録するネタはあるんですが、書くのに時間がかかりなかなか終わらない。もちっと暇になったら一気に更新しよう。

あ、iPad Air が発表されましたねー。僕は128GBのものに買い替えるつもり。どうせ1~2ヶ月は品薄で手に入らないんだし、来年頭ぐらいかな、買えるのは。

どんなプラットフォームでも、プログラムを書くって、言うと、ものすごく大層なことだと、誤解されていると思うことが多々ある。は???ってことに出くわす。

「データーベースとか使って、何でプログラム組んでるの? 言語なに?」
『んー、ほとんどPHPとかPerlとかスクリプトが中心かなー。』

とか言うと、半ば、見下される(笑) 別に見下されても悔しくも何ともないんだが。
たぶん、今なら
『 Java で Webシステムの構築とか、Access、SQLServerを使って業務系組んでます!』
とか恥ずかしい事を言うと、違った反応するのかもしれないw

プログラムのスキルってのは、使用しているプログラム言語やスクリプト、プラットフォームで決まるんじゃないんだよ。
どういう内容のプログラムを組んで、どういうアプローチでシステムを構築して、どういうコードを書いているかが、その人のスキルなんだよ。どういうフレームワークで仕事してるのか、どんな分担の仕事をしてるか、チームで組んだことはあるのか、ソースコード管理は?とか。コードのメンテ性を考慮してるか?とか。
C++やマシン語が書けても、簡単なWindowsのフォームベースのプログラムに何ヶ月も掛かってたんじゃ、意味ないんだよ。そんなのはスキルじゃないんだよ!

スーパーの特売日に、フェラーリやポルシェで買いに行くような、恥ずかしい真似はしたくない、のと同じように、データベース内のたかだかテーブル数個、一日数百レコードを更新するだけようなプログラムにこれ見よがしにJavaなんか使う必要あんの?

でも、実際は、あるんだよね(笑) ちゅーと半端にシステムをかじってる営業さんは、かっこいい横文字を使えば取引先に「どや顔」できるんだよね。。。そういう世界なんだよね。僕は営業ってできない。モノを売るってことの才覚はゼロ。だから、口には出さない。だから、ここで書く!(m_m)

閑話休題。

最近はjQuery + PHP にどっぷりはまってます。いや、僕的にはjQuery + Perl ( 時々C# )にしたいのだが・・・。
Wordpressのメディアの管理画面にようなモジュールが欲しくて、イチから組んでます。

最初はデータの保存にSQLiteを使用していたけど、SQLite関数を使わずPDOを使用してたので、どうせならMySQLでも切り替えて使えるように、データへのアクセスを抽象化したところから、ちょっと変な方向に・・・。

だいたい必要なものは組み込んだけど、後から後から、あれもこれもと、機能を組み込んでいくと、あっちゅーまにワケワカメなコードが・・・。

fileman02

エクスプローラ・フォルダの詳細表示ような画面が欲しくなって、リスト表示も。
後付け、後付けで機能を付け足すから、時間を無駄に食う。
fileman01

あとは、使い回せるように、モジュール化しないといけない。
自分でこういうコードを書いてて思うんですが、Wordpressって、ホントに良くできたシステムですよねぇ。

PHPの配列は9ソだ!

PHPの仕様に関して文句は別にないんだが・・・、あのPHPの配列だけは、どうにかならないものか・・・。

Perlだと、配列と連想配列は、配列なら、$array[0] 、連想配列なら、$hash{’00’}と、表記と共に明確に区別されているのでわかりやすいし、まぁ、間違えることは、少ない。

が、PHPのコードを書いてると、ホントにイライラする。ま、言語仕様を斜め読みしかしていない、あやふやな知識で書いているオイラが全面的に悪いんだけど。。。

データベースのとあるカラムからフェッチした、数字の文字列を、つい、うっかり、配列に入れて、foreachとかでぶん回していたら、あるはずのデータが未定義になる、という現象の解読に数時間費やしてしまった・・・。

$ar = array();

$ar[1] = 'ほげほげ';
$ar[23] = 'ほむほむ';

//$recordには、以下の値が入っていた。
//$record['date_begin_day'] = '01';

echo $ar[$record['date_begin_day']];

さて、僕は、当然 「ほげほげ」と出力されると信じて疑わなかった。
PHPで仕事している人は、たぶん、こう思うでしょう。

「おまえはアホか!もう一回、リファレンスを読めよ」

と。

echo $ar[intval($record['date_begin_day'])];
//intval関数を通さないといけなかった・・・。

perlなら配列の添字は数字に暗黙的に変換されるので何ら問題無い。

$ar[1] = 'ほげほげ';
$ar[23] = 'ほむほむ';

$record{'date_begin_day'} = '01';

print $ar[$record{'date_begin_day'}];

しかし、別の問題を引き起こすが・・・ま、一長一短ですかな・・・。

気を付けよう。。。

TortoiseSVN 1.8.0 でクライアント認証ができず・・・

Subversionが1.8にアップデートしたので、TortoiseSVN 1.8.0を何も考えずクライアントPCにインストールした。作業コピーに変更があったみたいで、作業コピーを片っ端からアップデートアップグレードした。

・・・結果、「TortoiseSVN 1.7.7でクライアント認証が失敗する」の二の舞を踏むことに・・・orz

インストールする時一抹の不安が過ぎったけど、後先考えず、「エイヤ!」ってな感じで。結局、やっぱり失敗。

一応サーバーはCentOS 5でApache 2.2.3 + オレオレ認証局のSSL環境。TortoiseSVN1.7.12を使っていたときはちゃんとクライアント認証のプロセスが通ったが、またしても1.8.0に上げたら今度は固まったまま。subversion自体がダメなのか、それともTortoiseSVNの部分がダメなのか、調べるだけの知識がないので、もうお手上げ。

検索してみたけど、やっぱりリリース直後なのでバージョン1.8の情報が出てこない。

結局、Apacheの設定で、SSLクライアント認証を解除して、ダイジェスト認証に切り替えることで、事なきを得た。

・・・が、Windows7上でTortoiseSVN1.8.0をインストールすると、ダイジェスト認証すらなんか怪しい挙動をする。作業コピーの更新をすると、ユーザー・パースワード入力ダイアログが出るのですが、正しいユーザー名・パスワードを入れてもエラーになる、あきらめてキャンセルすると、今度は違うダイアログ(Windows7の資格情報のダイアログ?)が出てくる。なんかワケ分からない。

ダメもとで何回もユーザー・パスワードの入力をトライしてみると、認証された。

よく分からん。

とにかく、元に戻そうかと・・・思ったけど、十数個ある作業コピーのチェックアウト作業がメンドクサイので、Apacheの設定をこのままにして、バージョンアップを待つことにする。

サーバーがオレオレSSLだからダメなのかなー・・・・とか、CentOS5のApacheのバージョンが低いのが原因なのかなー・・・とか思ったけど、確かめようがない。

この際だから、サーバー上のSubversionのバージョンを1.6系列から1.7系列最新の1.7.10にソースからビルドしてアップデートした。念のため、レポジトリのダンプをとったが、こちらは何ら問題なくバージョンアップ完了。さすがにサーバー上のsubversionを1.8.0にする気がしない。。。

知らなかった

perlで、use strict; してても$aと$bってmy or ourせずに使っても、
未定義エラーを吐かないんですね。。。知らんかったー。
といっても$a,$bなんていう変数名は僕的に滅多に使わないので、
別にどうでもいいっちゃ、いいんですがね^^;

PHP5はClassを定義して、OOPなコードが書けるので、修正や機能追加しやすいように依頼されたコードをクラスで書いて渡した。もし機能の追加・既存メソッドの修正があったら、ファイルを一個追加して、修正・変更が必要なクラスを派生させて(継承して)新しいクラスを作ればソースファイル管理もラクになるだろうし・・・と思ったんだよねぇ。

でも実際は違った。どうやらその人はPHPを「まともなコードが書ける人」じゃなくて、単に「PHPの文法が分かってるだけの人」なんだというのがやっと分かった。知らんかった-。

その人は、渡したファイルのクラスのメソッドを直接修正してるし・・・何のためにクラス化したんだよ orz
渡すとき、「変更があったら該当クラスを継承させて使ってねー」とか言っておくべきだった。

誰が、どの言語を、どの程度知っているのか、全く分からん!