※ パクレゼルヴではWeb開発エンジニアを大募集中!詳細はこちら

Archive

Author Archive

キーパーソン  

2008/10/31 金曜日 20:59:20

お疲れ様です

のびーにょです。

プログラムってちょっと書けるようになると結構いろいろ出来るような気になりますよね。
でも、既存のソースの修正であったり追加であったりなんかだと、追加の方がはるかに楽だったりしますよね。
修正の場合は何処がどのようになっているかをある程度把握しなければなりません。
追加でもそうですけど、データ追う量が全然違いますよね。

と、いうかですね。
修正する場合はその周りのソースを8割ぐらい理解した方がいいと思う訳ですよ。
そうすれば次の修正や追加の時に作業が軽減できますし、そのソース(システム)に精通した人になれます。

ま、何しててもそうだと思いますけど、いかに自分のポジションを良い状態に持っていけるかってのは会社、社会で働いて生活していく上では結構重要なことだと思います。

別に出世がどうとかじゃなくて、少しでも働きやすい、生活しやすい、”楽しい”状態に持って行くにはそういう重要な人(キーパーソン)になるのがお勧めです。

で、プログラマなら重要なシステムに精通している、管轄しているって言うだけでも結構そういう位置に行きやすいですよね。
たとえば、『あのシステムと●●社のシステム繋ぎこみして新たな事業展開をしたい』ってなったとするじゃないですか。
で、そのシステムに一番詳しい人に(別にリーダーじゃなくてもいいわけですよ)聞きに来たり、その人呼んで会議したりしますよね。
だから機能を限定して、この部分ならこの人が一番詳しい みたいな人になるのから始めてみるのがいいんじゃないかなぁと思います。
そのポジションで学べることもたくさんあります。

でも、さっさと全体を見た方がいいと思います。個人的にですけどね。
ポジションが人を育てる 
って言うのは間違ってないと思っていますので。

のびーにょ その他, システム

可変変数  

2008/10/23 木曜日 17:28:26

お疲れ様です
のびーにょです。

今日は可変変数について。

可変変数って何?とか言ってる当社の社員はググれ
まず以下

$hoge = 'aaa';
$$hoge = 'bbb';
echo $aaa;

出力結果は

bbb

って出ますね。

つまりそういうこと。

変数に格納されている値を変数名として使えたりする

厳密に言うともっと色々あったりするんですけど、まぁそんな所
結構トリッキーな事する時によく使ったりします。

メジャーな使い方としては
HTMLの値の受け渡しとかで(POSTで来ているものとする)

$d = array('hoge','hoge2','hoge3','hoge4');
foreach($d as $val){
    $$val = $_POST[$val];
}

とかやると配列に入れている値がすべて変数に格納されたりして便利ですよね。
このあたりでヴァリデートしてやれば一か所で終わりますし。

あ、あとTips的にこんなことできますよ

$cName = 'Contents';
$insC = new $cName();

変数に文字列入れて、その文字列でインスタンスを生成することができます。
私が作ったフレームワークでも使ってたりするのですが、生成するクラスが違う時等に利用しています。

たとえば拡張クラスを作る場合は”ext”をつけたクラスを作成し、”ext”が付いているクラスがある場合はそちらでインスタンスを生成し、ない場合は”ext”が付いていないクラスでインスタンスを生成する、等という使い方をしています。

$ClassArray = array('aClass','bClass','cClass','dClass');
foreach($ClassArray as $class){
    if(class_exists('ext'.$class)){
        ${$class} = "ext".$class;
    }else{
        ${$class} = $class;
    }
}
$insA = new $aClass();
$insB = new $bClass();
$insC = new $cClass();
$insD = new $dClass();

ま、トリッキーになるんであまり多用しないことをお勧めします。

のびーにょ PHP, Tips

自社で使っているフレームワークの便利な機能  

2008/9/30 火曜日 21:11:36

お疲れ様です。

のびーにょです。

表題の件
簡単に説明すると社内PCからのアクセス時とモバイル端末からのアクセス時で表示が変わります
え?普通ですって?

まぁ普通です
以下画像を見てください。
lab1.jpg
こんな感じでPCでデバッグできるようになっています。

最近はめっきり減りましたが昔はHTMLの表示部分も意識して作っていたので、フレームワークの記述ルールに従えば
一つのソースでHTMLとXHTMLと表示が変わっていました。(サンプルの画像のソースはXHTMLのみの記述)

モバイルからアクセスした場合はきちんとモバイルのみが出力されてるわけです。

んで、右側

こっちはデバッグ領域
直接画面に出力するわけじゃないので実運用中でもある程度のデバッグが可能です。

設定ファイルを書き換えればデバッグ内容をログに出力することもでき、携帯からアクセスしてもデバッグできます。

絵文字もフレームワーク規定の書き方をすれば当然3キャリアごとの出力です。

こんなの使ってても、結局最後は端末でデバッグしますが、開発中のデバッグはかなり楽なので結構いい感じです。

のびーにょ PHP, キャリア, システム, 携帯電話

PHPのecho と print について  

2008/9/29 月曜日 14:39:31

のびーにょです

今日は表題のことについて

実はprintはもechoも関数ではありません
両方とも言語構造です。
だから()でくくる必要がないのです。

何が違うのか

実はprintは返り値がありますがechoにはありません。
以下に例を出してみましょう

$data = print "はろーわーるど";
$data = echo "はろーわーるど";

上記内容、echoの方でエラーが出ます。

また、echoには複数の引数を指定することができますがprintはできません。
以下例

print "はろー","わーるど";
echo "はろー","わーるど";

上記内容の場合はprintの方でエラーが出ます。
注意点として、複数の引数をechoに渡す場合は()でくくってはいけません。
エラーになります。

echoとprintでは戻り値がない分、echoの方が早いです。
個人的にはHTML中で表示するような場合はechoで
スクリプトでデバッグやHTMLを表示しないようなプログラム(APサーバ)中はprintを使っています。

普通に使っている分にはあまり意識しないかも知れませんが、知っておくと何かと役に立つかも?
いえ、たぶんあんまり変わらないと思いますけど

のびーにょ PHP, Tips

新規開発と保守  

2008/8/30 土曜日 0:12:53

ぞっす!
のびーにょです

タイトルについてです。

個人的には新規開発より保守の方が長くやっています。

あたりまえですね。

新規で2,3か月かけて作ったものをさらに改良して1年、2年と運用していくわけですから。

で、僕は初めて仕事したときも当然保守から入りました。

いろいろなサイトをやりました。

サービス開始から5年も6年もたっているサイトや、オープンしたてのサイト等など

担当(修正、保守)したサイトの数は20や30ではありません。(微々たる修正も含めて、ですけど・・・)

色々なサイトのソースを見て思ったのが、最初は
『これはないわ・・・』
って思いました。

今は少し変わって、
『何でこんな状態になるんだろう?』
です。

そもそも想定していたものとは違う形でサイトが発展していくと、初期の設計から逸脱した物になっていくものです。
それは往々にしてありえることなので問題ない(しかたない)事だと思います。
昔はこのあたりを見て『これはないわ・・・』って思ってたわけです。

何かしら理由があってそうせざるを得なかった場合というのは、長く運営していればいるほどありえる話です。

そして今思うこと
『何でこんな状態になるんだろう?』
です。

そもそも想定していた物と違ったり、システムの根幹にかかわるような変更が入った段階で作り直すべきだと僕は思います。

WEBの世界は流れが非常に速いと思いますし、流行ったり廃れたりするのも非常に頻繁に起こることだと思います。

ならば短い期間で(1年なら1年、2年なら2年)でフルリニューアルを行うのも一つの手かな、と思います。

設計が古臭かったり、新しい技術を使えばもっと色々なことができたり、楽にできたり、代替案があったり・・・
色々あると思います。
エンジニアとしては新しい技術等は色々試してみたかったりするものですしね。

ただ、長く使っていればそれだけソースは枯れてきますし、ノウハウもたまってきます。(バッドノウハウがほとんどでしょうが・・・)

初期のころの想定通りにサイトが発展していけば、逆にリニューアルする必要はないのかも知れません。(デザイン的な物は別として)

ただ、いちエンジニアとしての意見だと、『自分で設計してみたい。』と誰もが思うでしょう。

そして、そのチャンスに巡り合えた時、『保守しやすいように作ろう』と思う人が多いと思います。
(特に保守をやってから新規開発を初めてやる場合)

ただ、与えられた環境や状況により、それは叶わないこともあるでしょう。

でも、なるべくがんばってください。

あなたが2,3ヵ月で作り上げた物を、誰かは1年、2年と保守をするのです。

あなたのかけた時間以上を誰かはそのサイト(システム)に費やすのです。

使いやすい。
わかりやすい。
親切な設計だ。

そう言ってもらえるようなシステムを僕は組んでいきたいと思います。

ま、どう組んだってわかりやすさや使いやすさは人それぞれなんですけどね。

のびーにょ システム