活動記録の最近のブログ記事
丁度、ずっと使ってきた三菱の17インチモニター(2001年末に6万円ほどで購入)がだんだんガタがきて、表示も暗いし色もときどき変になるしで、先月思い切って買い換えました。
デルの19インチワイドモニター(SE198WFP)を2つ。合わせて4万円。
注文確定をクリックするのに勇気が要りましたが、設備投資じゃーと自分に言い聞かせて注文クリック。
これが12/11ごろのこと。
さすがはDELLで、わずか3日後に家に届きました。
早速梱包を解いてセッティングと。
何も考えずにディスプレー2台をデスクトップPCにつなげようとしたら、アレ?
PC側には出力端子がオンボードのやつ1つしかない。
うぐぅ。
グラフィックカードを買わないといけないのね。。
すぐさまヤフオクで1500円のDVI出力ロープロファイルビデオカードを購入し、PCに装着。
よっしゃこれでデュアルディスプレイや!とディスプレイつないでみたら、何故かオンボードでつないだ方のディスプレイに映像が出ない。
この時点でPCにはマザーボードオンボードのDSUB出力端子が1個と、後から装着したグラボのDVI出力端子が1個あるわけですが、私はこれでデュアルディスプレイができると思い込んでいたわけです。
ところが、グラボとディスプレイをつないだ瞬間に、オンボードの方が表示されなくなる。
ちょっと調べてみたら、たいていのマザーボードはこういう仕様になっていて、グラボから映像出力するとオンボードの方が自動的に無効になるそうですね。
うぐぐぅ。。。
しょーがない。気を取り直して、カカクコムでデュアル出力対応のロープロファイルグラフィックカードを買う。玄人志向のGFX5200-LA18Cというやつ。4500円なり。
(結局、先ほど購入したグラボはお蔵入りにorz )
発送でかなり待たされて、やっと届いた新グラボをさっそく装着。
よく見たら片方がDVIで片方がDSUBなんですね。ちょっと残念。
気を取り直して接続。
ちゃんと2画面に映像が表示されました。
おーっと感動しようとしたが、よく見るとDVIから出力した方の映像がちょっとおかしい。
気持ち映像が横長に伸びて見えるし、文字が横につぶれてかすんで見える。DOS窓で字が読みにくい。
ウィドウを最大化すると横がちょっとだけ画面からはみ出す。
なんじゃこりゃ?
どう見てもモニタの解像度と出力映像の解像度があっていない。
しかしデスクトップのプロパティを見ても、ちゃんと解像度1440x900に設定されている。
うごごぉぐぅあおお~~~~
DELLのモニタが悪いのか、グラボのハードウェアの故障か、ドライバの不具合か、さっぱりわからん。。。いったい誰に文句を言えばいいのか?
とりあえず抱えているWEBサイト開発案件が手一杯だったので、不具合解決はいったんあきらめて、片方のディスプレイの映像がかすんだままプログラム開発を続行。
perlの文字化け問題(0x5C問題)と格闘しながら年が暮れる。
年が明けてちょっとスケジュールに余裕が出来たので、改めてこの「かすれ」問題に取り組む。
まず、DELLの不良かどうかを確かめるために、2台のディスプレイのDVIとDSUBを逆にしてみる。
お、今度もDVIでつないだ側がかすれて表示される。DSUBでつないだらきれいに表示される。
ということはモニタの以上ではないな。
次に、ドライバを疑ってみる。
天下のnVIDIAに限って、ドライバの不具合などないだろうとタカをくくっていたのだが、nVIDIAのサイトから最新のドライバをインストールしたらあっさり解決した。
あ、ドライバの不具合だったの。
なんてあっけない結末。
というわけで、かれこれ1ヵ月の格闘の末、やっとデュアルディスプレー環境が構築できました。
こんな感じです。
めちゃめちゃ快適です。
作業効率が数十%向上するというのもあながち嘘ではないかも。
(ちょっと横の広さを持て余し気味ですがw)
というわけでみなさん、デュアルディスプレーにするときは、一筋縄でいかないことがあるのでよく調べてから環境構築をしましょう。
反省点
環境エラー
- ローカル環境(windows)で作って、本番環境(linux)に移行した段階でエラー多発。
- ブックマークが使えなくなって作業効率低下。
- FTPアップロード忘れが多発して作業効率低下。
- PHP.iniの設定が違うので挙動が変わり、作業効率低下。
→ 早い段階から本番環境で開発してればよかった。
ファイル命名規則の失敗
当初、confirm_form のように動詞_名詞方式でやっていたが、これがいけなかった。ファイルを探すのにう~んと考える →作業効率低下・ストレス増大
form_confirmのように名詞_動詞方式でやっていれば、先頭の名詞をカテゴリラベル代わりに使えた。
→ phpのファイル名は、名詞_動詞.php 方式がよい。
ページ遷移図、ファイルリストの不備
実装を最優先にして、整理業務を怠ったために、どこに何があるか収集がつかなくなった。そのため、後半に能率が大幅ダウン。
→ 最低限のドキュメントを、開発初期に作るべき。
いろんなファイルにコードを分散
いろんなphpファイルに、コードを書き散らして収集つかなくなった。最初から、全ての関数をプロジェクト共通ファイルにまとめて書けばよかった。
個々のPHPファイルからは、それらの関数を呼び出すだけにするべき。
→関数を作る時点では、その関数を後で使いまわすかどうかは予測できない。
最初からライブラリに書くべき。
配列の使い方のルール
・二次元配列を多用して自爆→ 二次元配列はなるべく使わないこと。 foreachループがネストして苦労する。
・配列の添字に0始まりと1始まりといろいろあって統一してなかった。
→ 配列の添え字は0始まりに統一すること。
関数の仕様を途中で変更して自爆
関数の戻り値を1次元配列→2次元配列に変更したら、これが原因で大量のエラー発生。元の関数は保持したまま、新しい別の関数を作って徐々に移行すればよかった。
セッション変数はデフォルトでダンプすべき
良かった点
- ieHTTPHeaderが超便利
- クッキーの値を確認するのに役立った。
- PHPはオンラインマニュアルが充実している
- 定数を使ってページ先頭で遷移先を記述。define("NEXT","form.php"); これで可読性向上した。
無職3ヶ月目に突入しますたw
友人が独立して受託Web開発をやっているので、そこに弟子入りしました。
PHPを教えてもらいながら初めてWEBサイト開発をやりました。
弟子入りなので、無償ですw (来月の家賃払えるのか>オレ)
延べ1ヶ月かけて、友人に助けてもらいながら小規模なWebサイトを作りました。
内容は、資格試験の自己採点サービスです。
最初の方は、PHPを勉強しながらさくさくスクリプトを書く感じで、スピードは遅いものの順調でした。
初期でつまづいたのはこれです。
セッション変数? $_SESSION ? 何それ?
「セッション変数」という、PerlにはないPHP独自のセッション管理機構を理解するのが難しかったです。
私のようなPerl初級プログラマは、クッキーしかしらないので、
「 は?セッション変数?何それ?
HTTPにはステータス情報がないからクッキーでセッションIDをやりとりするのは知ってる。
けど、セッション変数って何?クッキーのことじゃないの?」
というありさま(><)
結局、
「セッションIDに紐づくユーザの情報を、Apacheがメモリ上に保持してくれるので、ページ間で変数を共有できる」
ということだったようです。
いわゆるショッピングカートとかのあれですね。
これを理解するのに3日かかりました。
だってPerl/CGIには、Apacheのメモリ上にデータを保存するなんて発想はできないんですもの。
しかし覚えると便利ですね、$_SESSION。
根気よく教えてくれた友人に感謝。^^
前回、宣言したとおり、3年勤めた会社を12月末で退職しました。いわゆる脱サラというやつです。
辞めた理由は、独立起業しようと思ったからです。
なんで待遇のよい安定した大企業を捨てて独立しようと思ったか、その理由と決断にいたるまでの心境の変化をここに記録しておきます。
誰かの役に立つかもしれないし、自分でも初心を忘れないために。
1.もともと起業するのが夢だった。
なんで起業する夢を持っていたのかはよくわかりません。
僕が社会に出た2001年という年が影響しているかもしれません。
その年はまさに起業ブームでした。
前の会社に転職したとき、次辞めるときは起業するときだと決めていました。
ただ、そのときは個人投資家として株式投資でやっていく計画でした。
実際、株の運用成績はかなり上出来で、このままいけば数年後には独立できるはずでした。
2.新興株バブルに乗って大敗北
幸いライブドア株は持ってなかったですが、市場全体が冷えこんだのに巻き込まれ、大損。
このとき、自分は投資家としての重要な資質を欠いていると自覚しました。
このときの損は結果的にほぼ取り戻したけど、やはり投資家は向いていないなと自覚。
3.プログラムを書き始める
これがまた面白くてのめりこみ、ぐんぐん上達しました。
そんなおり、自分が使っていた「早起き生活」というWebサービスが、個人によって運営されていることを知りました。
他にも、グリー、del.icio.us、frendsterなんかも開発者が一人で始めたサービスだと知り、衝撃を受けました。
そして自分もそういうサービスを作りたいと思うようになりました。
4.他にいろいろなとこから影響をうける
・大学時代の後輩sinjiが先に起業したこと
・スティーブジョブズのスピーチ
・はてなの近藤社長
5.サイドビジネスでやろうと試行錯誤
でも、本業があるとなかなか時間がとれず、思うようにサービス開発ができませんでした。
すごく焦りました。
6.宮崎駿
あるテレビ番組でスタジオジブリのドキュメンタリーを見ました。
テレビ画面に、宮崎駿が作った作品が走馬灯のように流れるのを見てこう思いました。
そうだ、何かをつくりたい。
自分のつくったもので人を感動させたい。
寝食も忘れて、何かをつくりたい。
集中したい。のめりこみたい。
その中で、笑ったり泣いたり悔しがったりしたい。
大企業で係長とか課長とかになりたくない。
自分の作品を世に出したい。
スティーブ・ジョブズや宮崎駿みたいに。
これが最後の一押しになって、去年の6月ごろ、独立を決心しました。
起業する理由としてはヘンかもしれません。まあ起業の理由に正解とかないと思います。
上記で思い描いた自分に近づけるように、死ぬ気でがんばりたいと思います。
あらかじめCPAN::Miniを使って全CPANデータをローカルにコピーしてからCatalystのインストールを始めたんですが、
それでもめちゃくちゃ時間かかりました。3~4時間はかかった。
途中でちょこちょこ意味のわからない質問を聞いてきて一時停止するので、エンターキーをセロテープで止めとけばよかったかも。
さて、無事インストールが終わって、本どおりにBookmarkアプリを作ってみる。
・・・んがっ、Bookmark::Schemaが動かなくてエラー。
あえなく頓挫。(><)
MySQLのDBとの接続がうまくいってないのかな?原因がさっぱりわからん。