2010/04/20(火)Javascript での画像情報取得

久々かと思ったら、また Javascript の話。
    function check_image(uri) {
    imgobj = new Image() ;
    imgobj.src = uri ;
    var iwidth  = imgobj.width ;
    var iheight = imgobj.height ;
    var sparam  = 'width=' + iwidth + ',height=' + iheight + ',toolbar=0,menubar=0,scrollbars=0' ;
    subimg = open(uri, "imgdisp", sparam) ;
  }
上記のように記述したら、子ウィンドウがパラメータ uri で指定する画像のサイズに合わせて開く計算だったのだが、1回目に所定より小さいサイズの子ウィンドウが開き、そのウィンドウを閉じた上でもう一度実行させると、やりたいことが出来るという現象。

uri に指定するのは、画像のURLを指定するようにしていますが、これがフォームでアップロードさせた画像ファイルなせいか、適切な拡張子をつけないせいか、どうにも上手くいきません。

結局、CGI 側にて、アップロードした画像ファイルのサイズを抽出し、上記の Javascript にそのサイズを指定するようにすることで回避しました。こんな感じ。
  function check_image(uri,iwidth,iheight) {
    var sparam  = 'width=' + iwidth + ',height=' + iheight + ',toolbar=0,menubar=0,scrollbars=0' ;
    subimg = open(uri, "imgdisp", sparam) ;
  }

2010/04/05(月)ついにバージョン1.0― OpenSSL

2017/10/12 3:52 サーバ運営・管理
とくにUnix系で SSLセキュア通信を行う際に欠かせない各種暗号通信ライブラリやユーティリティ群を提供するOpenSSL が 0.9.8n あたりから 1.0.0 になった模様。

http://slashdot.jp/security/10/04/02/0451245.shtml 〔スラッシュドット〕

まだ、依存する既存ソフトウェア等との整合性の問題などあるようですが、すこし枯れたバージョンが提供されたということで、ひと区切りという感があります。

2010/03/25(木)FreeBSD 7.3R リリース

2017/10/12 3:51 サーバ運営・管理
2010/03/23 付けの模様。
いつものアナウンスメールは来なかった。7.3R の日本語マニュアル提供の情報など流れていたので、変だとは思っていたが、、orz

今回のハイライトは以下のようだ( http://www.freebsd.org/releases/7.3R/relnotes.html ) :
#適当な訳なので、間違いは補足よろしくです。

・ZFS ファイルシステムをバージョン13にアップデート。
・スレッド環境における malloc(3) のロック機構不具合を解消。
・sched_ule(4) のデッドロック不具合を解消。
・sysctl (8) に security.bsd.map_at_zero を追加。デフォルトは1。仮想アドレス0にオブジェクトを置くのを許可することを制限する機能のようで、NULL ポインタの悪用や誤用でカーネルアタックを防ぐことを 狙った(ものらしい・・・)
・loader(8) に gptzfsboot を追加。GPT と ZFS ファイルシステムからのブートを可能にする。
・CLFLASH という、CPU キャッシュの最適化機構を導入。[i386,amd64 のみ]
・amdsbwd(4) にて AMD SB600/SB7xx を新たにサポート。
・hwpmc(4) というハードウェアモニタ機構を新たに追加。[i386.amd64 のみ]
・DRM にて Radeon HD 4200 (RS880), 4770 (RV740), R6/7xx 3D, Intel G41 を新たにサポート。
・alc(4) にて、新たに AR8131/AR8132 PCI Express イーサネットドライバをサポート。
・cas(4) にて、新たに DP83065 をサポート。[sparc64 のみ]
・mfiutil(8) を追加。mfi(4) に作用する。
・mptutil(8) を追加。mpt(4) に作用する。
・yp(8) にて、shadow を新たに追加。
・service(8) を追加。rc.d スクリプトインタフェースを簡単にするものらしい。
・BIND を 9.4-ESV にアップデート。
・sendmail を 8.14.3 から 8.14.4 にアップデート
・GNOME を 2.28.2 にアップデート
・KDE を 4.3.5 にアップデート
・FreeBSD リリースにおけるISO イメージ中のファイル名にて、'FreeBSD-' という文字列を最初に付加するようにした。

あと、7.2R で結構問題だった、イーサネット回り全般の不具合はかなり修正したように見受けられます。
amd64とi386 においては、FreeBSD 6.2R 以上のバージョンでアップデート可能の模様。

2010/03/19(金)最新版のChrome でJavascriptの不具合?

現象の確認に何時間も填まったのでorz
先ず、提起のJavascript
  function rateing_submit() {
    var formElem = document.getElementById('form1') ;
    formElem.submit() ;

    window.opener.location.reload() ;
    self.close() ;
  }

続いて HTML側
<form name="form1" id="form1" action="/cgi-bin/request.cgi" method="POST">
  <input type="hidden" name="mode"  value="addrate">
  <input type="hidden" name="lisid" value="21">
  評価する曲 :ベートーベン - 第9<br>
  現在の評価 :3.0 (3 人の平均)<br>
  評価をどうぞ :
  <select name="addrate">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3" selected>3</option>
    <option value="4">4</option>
    <option value="5">5</option>
  </select><br>
  <input type="button" name="action" value="評価登録"onClick="javascript:rateing_submit()">
嫌い→気に入った<br>  1・・・・5<br>
</form>
こうすると、Chrome では、Javascript の formElem.submit() が全く機能しません。
サーバにPOSTデータが行かないのです。HTML側で method を GET に変更しても現象は同じ。
これは、Chrome 固有で、手元のFirefox 3.6、IE8 では問題なく機能します。
別の関数などあるのかどうかも調べがつきませんでした。
おそらく、Chrome のJavascript で単純にバグがあるものと考えています。

2010/03/04(木)抵抗器などのカラーコード

2017/10/12 3:47 電子工作
たまには、電子工作の基礎的な内容を・・・
20100304.jpg

電子工作をしたことのある方々には見覚えのあるものか、と思います。
これを理解していると、ラジオキットなどの組立が楽に、面白くなります。

抵抗器にも色々な大きさや形状のものがありますが、多くは上記の画像のように4本ないし5本のカラーコードが書かれています。
大抵は端に寄っている側から読んでいきます。
端に寄っている側から
・実数部(最初の2本:4本ものの場合、又は3本:5本ものの場合)
・仮数部(10の何乗かを示す)
・許容誤差(実際の抵抗値は表記値よりどの程度の誤差があるかを%単位で示す)

カラーは0から9に特定の色が割り当てられており、以下のようになります。

 実数部仮数部誤差
 (茶)×10±1% 
 (赤)×100±2%
 (橙)×1000
 (黄)×10000
 (緑)×105±0.5%
 (青)×106 
 (紫)×107 
 (灰)×108 
 (白)×109 
 (黒)×1 
 (金)×0.1±5%
 (銀)×0.01±10%


判り難い場合も多々ありますが、その場合は金や銀のカラーコードで無い側から読んでいきます。
上記画像の上の抵抗器の例では、
緑・青・赤・金の順になっていますので、5・6・×100・±5%ということになり、
56×100 ±5% → 5600Ω ±5% → 5.6kΩ±5% ということになります。

また、上記画像の下の抵抗器の例では、
茶・黒・黒・橙・茶の順になっていますので、1・0・0・×1000・±1%ということになり、100×1000Ω ±1% → 100000Ω ±1% → 100kΩ ±1%ということになります。

2010/02/20(土)発信元 0120-835078 な電話

2017/10/12 3:46 雑多なトピック
ソフトバンク携帯にほぼ毎日のようにかかってくる。
最初は 2/12 でした。呼び出し音2~3回で切断するので、まるでワンギリかのような挙動。

もちろん、身に覚えが無いので、応対はせず無視。たまに非通知が来ることもありますが、無視するのが通常です。

あまりにしつこいので、調べてみると、同様の状況になっている方々は既に大多数らしく、YahooBB の営業電話だそうで。

営業なら電子メールとTV・ラジオCMで留めておけばよいのに、これでは企業イメージダウンになる。仕事依頼の電話だったら、喜んで沢山受けるんですけどね。

2010/02/11(木)chrome のHTTP非同期通信・コールバック

ウチでβ版運用中のBCLサーチ。
https://www.basekernel.co.jp/pc/elec/BCLlib.html

上記で検索条件設定の上で検索すると、検索結果が一覧表示され、「詳細表示」の部分をクリックすると、さらに細かい情報が以下のような感じで表示できる仕組みにしてあります。
20100211.png

Firefox だと正しく機能するものの、Chrome だと同じ内容が2回表示される問題があったが、やはり javascript の仕様が違うことによるもの。
要点を以下に示します。
  getdata = new XMLHttpRequest() ;
これは、非同期HTTP通信を行うときのオブジェクト設定。ここは Firefox も Chrome もたぶん同じ。
  getdata.onreadystatechange = function() {
    if (getdata.readyState == 4) { setsdata(rownum,getdata) ; }
  }

  if (navigator.userAgent.indexOf('Firefox') > -1) {
    getdata.onload = function() {
      if (getdata.readyState == 4) { setsdata(rownum,getdata) ; }
    }
  }
ここは、ちょっと注意しなければいけません。
上3行は IE と Chrome では有効ですが、Firefox では上手くいきません。
下の5行は、navigator.appName で、 Netscape とすると、Firefox でも Chrome でも有効になります。
javascript において、navigator.appName は、Firefox でも Chrome でも Netscape を返します。
上記のようにしたところ、Chrome でも表示は正しくできるようになったのですが、他の Gecko エンジン使うブラウザでは、逆に動作に問題起きるかもしれません。

2010/02/05(金)FreeBSD バージョン別のサポート期限

2017/10/12 3:43 サーバ運営・管理
FreeBSD Security Officer によると、FreeBSD のバージョン別サポート期限は以下の通り。

6.x Release 2010/11/30
7.1 Release 2011/01/31 (Extented 扱いなので通常より1年程度長い)
7.2 Release 2010/05/31
8.0 Release 2010/11/30

7.2 Release のサポート終了期限が迫っていますが、5月末までに 7.3 Release を出すか、7.2 Release のサポート期間延長がされるのではと考えています。

6.4 Release 以前のバージョンは、2010/11/30 でサポート終了です。
外部公開サーバの場合は、なるべくサポート期間内のバーションを採用することをお勧めします。

2010/02/04(木)Apache 1.3系最後のリリース 1.3.42

2017/10/12 3:42 サーバ運営・管理
日本Apacheユーザ会によると、昨日あたりに 1.3.42 がリリースされた模様。

今は、主な Apache ユーザが 2.0/2.2 系に移行したこともあってか、1.3系は最後のリリースになるそうです。
以後、1.3系では重大な問題が出た場合、パッチ提供で対応するらしいです。

ウチでも3年ほど前に 1.3 から 2.0 に移行し、昨年 2.2 に移行しました。
2.0 系もサポート打ち切りが近い将来見込まれるので、 1.3 系から移行する場合は、特殊な事情でも無い限りは 2.2 系にしたほうが後々の負担は軽いと思います。

2010/01/27(水)SpamAssassin 3.3.0 リリース

2017/10/12 3:41 サーバ運営・管理
日本SpamAssassinユーザ会 の情報によると、本日、久々のアップデート版 SpamAssassin 3.3.0 がリリースされた模様です。

SpamAssassin は、メールサーバに組み込む spam メールフィルタとしてよく知られたものになっています。
ただ、まだ色々バグなどがあるようで、乗り換えるには人柱になる覚悟がいる様です。

最も注意点としては、 Perl 5.8.8 以前のバージョンでは動作保証外ということです。
(Perl 5.8.9/Perl 5.10.1 推奨)

ウチでももう少し SpamAssassin 3.2.5 で頑張ろうか、と思っています。
ただ、 CPAN で単純に install Mail::SpamAssassin として新規インストールすると、3.3.0 がインストールされてしまいますかね・・