月別アーカイブ: 2008年4月

XOOPS CUBE Legacy 2.1.4 導入

社内の情報共有用に入れてみました。

最近のXOOPSはすごい簡単に入れられるのにビックリ。

こういった導入のし易さが敷居を下げるんだろうな、と実感。

昔のXOOPSと違うのか、デフォルトでフォーラムのモジュールがなかった。

フォーラムは別で入れなきゃダメなのかな?

他のサイトを見ると、デフォルトで入ってるっぽいのだが・・・

まぁ、探して入れてみます。

明日・明後日は別件のサーバ構築。

久々にコンテンツ・DBバックアップ用のShellを書くのが楽しみである。

色んな案件のサーバ構築が一手に自分のところに来るが、

忙しい合間を縫っての普段とは違う業務って、息抜きになるからいいね。

ホントはプログラムやりたいんだけど。。。

遊ぶようにノートPC1台買おうかな・・・

でわ。

Flashは粘土、Silverlightはレゴブロック

@ITより。

ソース:http://www.atmarkit.co.jp/news/200804/22/silverlight.html

ふむ。

デザインとロジックの分業が可能だから、FlashよりSilverlightの方が開発し易い、

と。

反論。

設計の仕方で如何様にも、ですよ。

Flashで開発するにしても、MVCの形で設計すれば十分分業は可能。

今はそうやってFlashの開発やってますよ。

デザインリソースはデザイナに作ってもらって、

ロジックは開発側でやってる。

切り分け出来てます。

Silverlightでも設計次第では分業出来ないし、

そもそも内部のロジックが変わる事でデザインには影響出ないでしょう。

影響が出るのであれば、設計が悪い。

だから、一概にこういった事は言えないと思うのだが・・・

ただ、少なくともFlashの悪い部分は分かった上でのSilverlightだと思うので、

Flashよりは開発はし易いとは思います。

C#やVBでロジックを組めるのもSilverlightの強みですな。

でわ。

ミクロな視点

プログラマが

「うまくいかないっす・・・」

って言ってたので、後ろでちょっと見てた。

小手先のデバッグで何とか障害位置を特定して対応しようとしていたが、

時間がかかるばかりで、どうしようもない。

結局は、

「エラーログ、見た?」

の一言で終了。

ログには見事に障害内容が書かれていた。

小手先の方法でこねくりまわして3時間かかるより、

1時間、デバッグの対応(ログ出力コードの埋め込み)をやって

障害対応した方がよっぽど効率的だ。

マクロの視点を常に忘れずに。

でわ。

I.E多バージョンテストについて

開発の現場、特にWeb系では、I.Eのバージョンによって云々がありますね。

いちいちそのバージョンのI.Eを用意してテストをするのは大変です。

って事で、「 IETester 」。

ソース:http://www.my-debugbar.com/wiki/IETester/HomePage

IE5.5, IE6, IE7, IE8beta1の確認が同時にできるというなかなかのツール。

世の中便利がいいですね。

某SNSでネタになっていたので、ちょっと紹介してみました。

でわ。

IME

現状、ATOKユーザなのだが、ふとした瞬間にIMEに戻ってたりする。

腹が立ったので、IMEを削除した。

いつでも追加出来るので問題なし。

設定はユーザのプロファイルに保存されるので、他のユーザに影響は出ない。

なんか、Microsoft が年々嫌いになっていくなぁ・・・

Win2000 が一番気持ちよく使えたな。

安定してたし。

Vista は時代の流れに逆行してるような感じがするし、Windows7 はどうなるのだろうか、と。

業務改善の為の内部資料作りはまだ続く。。。

でわ。

Office2007

最近、仕事で使う端末が変わった事もあり、

OfficeXP → Office2007

になった。

なに、この使いにくさ。

ちょっとセルの色変えて保存しようとしただけで、

「Office2003と互換性ないよ。」

のメッセージが。

しかも、UIが激しく変わっていて、クラシックモードみたいに、

前のバージョンのUIに戻すって機能がない。

サードパーティのアドイン入れればイケるみたいだけど、30$。

もうね、作業効率が落ちて落ちて仕方ない。

Office2003以前のOfficeに慣れてる人は、

Office2007を買う前に、一度触ってみてください。

でわ。

JavaScriptでのコンボボックスの連動

※他Blogリニューアルの為、記事を転載

同じ値が設定されているコンボボックスが2つあり、

一方が選択されたら、もう一方も全く同じ値を表示するようにしたい場合、どうしたらよいか。

一覧が表示されるようなページでヘッダとフッタにこんなのがあったりしますな。

で、こんな感じ。

【ヘッダーコンボボックス】

<select name=”combo” onChange=”chCombo(‘header’);” id=”header”>

  <option value=”1″>1

  <option value=”2″>22

  <option value=”3″>333

  <option value=”4″>4444

  <option value=”5″>55555

</select>

【フッターコンボボックス】

<select name=”combo” onChange=”chCombo(‘footer’);” id=”footer”>

  <option value=”1″>1

  <option value=”2″>22

  <option value=”3″>333

  <option value=”4″>4444

  <option value=”5″>55555

</select>

【選択時に実行されるスクリプト】

function chCombo(type) {

  if (type==”header”) {

    document.getElementById(“footer”).selectedIndex = document.getElementById(“header”).selectedIndex;

  } else {

    document.getElementById(“header”).selectedIndex = document.getElementById(“footer”).selectedIndex;

  }

}

今日はこんな感じで。

でわ。

JavaScriptでの日付の計算

※他Blogリニューアルの為、記事を転載

例えば、本日日付から3ヶ月前の日付を取得したい場合、どうするか。

色々考えた挙句、以下のような方法になった。。

※コメント全然書いてないですが。。。

1) まず、本日日付の取得(yyyymmddの文字列とする)

nowdate = new Date();

var nowyear = nowdate.getFullYear();

var nowmonth = nowdate.getMonth() + 1;

var nowday = nowdate.getDate();

if (nowmonth.toString().length == 1) {

nowmonth = “0” + nowmonth;

}

nowday = “” + nowday;

if (nowday.toString().length == 1) {

nowday = “0” + nowday;

}

var result = nowyear + “” + nowmonth + “” + nowday;

結果:20070321

2) 3ヶ月前の日付を取得(単純に月に3を減算する)

var befyear = parseInt(result.substring(0, 4));

var befmonth = parseInt(result.substring(4, 6));

var befday = parseInt(result.substring(6, 8));

if ( befmonth < 4 ) {

befmonth = befmonth + 12;

befyear = befyear – 1;

}

befmonth = befmonth – 3;

// 連結

result = befyear.toString() + befmonth.toString() + befday.toString();

結果:20061221

上記で3ヶ月前の日付を取得出来そうなのだが、例えば、

2007/05/30

の3ヶ月前の場合、上記だと、

2007/02/30

となってしまう。

こんな日付は無いので、どうするかと言うと・・・

3ヶ月前と取得した、20070230 を・・・

var UCTDate = new Date(result.substring(0,4) + “/” + result.substring(4,6) + “/” + result.substring(6,8));

// 1970年1月1日0時0分0秒(UTC)からのミリ秒数換算

result = UCTDate.getTime();

とする。

2007/02/30 を一度DATE型へキャストし、キャストしたDATE型の日付を、ミリ秒へとキャスト。

※1970/01/01 00:00:00.00 からの経過ミリ秒数

んでもって、

var tDate = new Date();

tDate.setTime(result);

// それぞれ取得

var tmpyear = tDate.getFullYear();

var tmpmonth = tDate.getMonth() + 1;

var tmpdate = tDate.getDate();

// yyyymmddのフォーマットへ

if (tmpmonth.toString().length == 1) {

tmpmonth = “0” + tmpmonth;

}

if (tmpdate.toString().length == 1) {

tmpdate = “0” + tmpdate;

}

// 連結

result = tmpyear + “” + tmpmonth + “” + tmpdate;

ミリ秒数へとキャストした値を、もう一度DATE型へ戻す。

すると、

2007/02/30 としていた日付が、2007/03/02 へ変更されるのです。

本日日付に90日を減算してもいいのだが・・・

とりあえず、現状は上記にて落ち着いた感じですわ。

他にいい方法があれば、教えてくだされ。

でわ。