テクノロジの最近のブログ記事

Movable Typeは、Blogger XML-RPC APIを適用できる箇所に対し完全に実装しています。

ということでこのXML-RPCを使い、メールから投稿可能なものを作りました。

maimo(Mail Entry Tool for Movile)

PHPで作りました。公開は・・・できるように整備してから公開します。

自宅のPCをすべてVistaにしました。

快適に思ってたんですが、なんだか接続できないサイトがある。

なぜだ?といろいろと調べていたら、IPv6が原因と判明。

IPv6をはずすことで問題解決。あっけなく。

 

VistaだとIPv4は標準であたりまえですが、IPv6も標準で有効になってます。ですが、重要なのは、名前解決。ドメイン名からIPアドレスに変換し、そのIPアドレスにアクセスするわけですが、

まず、DNSでIPv6対応になっているか、で、対応してなければ使えません。

さらに、DNSがOKでも、ルータがIPv6を理解できるか。ってことになります。私の場合は、DNSが対応しておらず、名前解決できず、アクセスできないと。

しかし、IPv6が優先されていたとは。こりゃわかりませんよ。Vistaユーザの皆様は、このあたりどう解決されたのでしょうか。気になります。

 

また、無線LANについても同様で、ルータ側がIPv6対応してないらしく、コネクションは確立できたもののIPv6が解決できず、断続的にコネクション切断、接続を繰り返していました。

私の購入した無線LAN内臓ルータについて、どうような現象が価格コムのレビューに報告されてましたが、無線LANルータの問題のようにかかれてましたが、実は、IPv6というオチ。

中には返品した人もいたみたいですが、まずは、IPv6を疑ってみてはどうでしょう。それでもだめなら返品ですかね。

しかし、こんなにトラブルになってしまったIPv6。これでは、普及が難しいですな。早急にプロバイダのDNSおよび、ルータのIPv6化を進める必要がありそうですね。。

 

Firefox3.0

| コメント(0) | トラックバック(0)

FireFox3.0でバグ?発見。

コメントタグ

<!-- -->

これですが、これをつかって、ソースを見やすくするために

<!------------------------------------------------------------>

こんな感じで区切りを入れてたんですが、なんとこれがNG。

 

どうやら、

<!--このあとに--とハイフン2つあるとなにやら制御記号らしく、閉じるコメント-->を無視してしまうんです。不思議。

 

kernel - user.phpの

140行目あたり。

 

 function getUnameFromId( $userid, $usereal = 0 )

これにより名前を取得している。

この第2引数でuname か nameの指定ができるが、ほぼ、全般的にgetUnameFromIdを使っているところは、第2引数を利用せずデフォルトの0がセットされるようになっているので、これを

 function getUnameFromId( $userid, $usereal = 1 )

というように変更。

 

これでほぼ全部の名前部分が本名に変更される(とおもわれる)

Windows-31J

| コメント(0) | トラックバック(0)

まだまだ知らないことがいっぱいです。

「Windows-31J」というcharsetがあったんですね。文字コードです。

Windows-31J(Wikipedia)

CP932(Microsoft Code Page932)という文字コードがあるんですが、これは知ってました。機種依存文字も含めた文字コードが入っているんですが、詳しくは上記リンクのwikipediaで。

 

sc0003.png

Ext.JSでグルーピング表示のサンプルがあったので、使ってみました。以下Ext.JSのサンプルページ

http://extjs.com/deploy/dev/examples/grid/grouping.html

集計もやってみましたが、集計はまだExt。JSには実装されていないようで、サンプルページのJavascriptからいただいて実装していますが、割愛させていただきます。

ソース中に静的に書かれたデータをds(以降、データストア)に読み込み、GroupingViewで表示するサンプルでしたが、このデータをAjaxで取得して動的に更新できないものかやってみました。

まず、AjaxでJSON形式のデータを取得するので、dsにJsonStoreを使おうとしましたが、できませんでした。

そもそも、グルーピングの基本は、dsにGroupingStore(Ext.data.GroupingStore)を使わなければなりませんでした。以下サンプルです。

補足:指定期間のデータを取得してきて、「division」フィールドでグルーピングします。sort情報(sortInfo)という項目ですが、必須のようです。なので、データにtypeがあり、そのtypeで昇順にソートを指定してます。listenersのbeforeloadでds.load()される前に、textFiled(monthDate)の値を取得してセットしています。

ds = new Ext.data.GroupingStore({
                                proxy    : new Ext.data.HttpProxy({
                                    url        :     '/ajax.php', // ajaxでjsonを返却するもの指定
                                    method    :    'POST'
                                }),
                                baseParams : {
                                        dateFrom            : '20080406',
                                        dateTo                : '20080412'
                                },

                                reader    : new Ext.data.JsonReader({
                                    root : 'results',  // JSONのrootタグをresultsとしてます。
                                    totalProperty : ''
                                },  rec  //rec は別途Ext.data.Record.createで作ったレコードの型
                                ),
                                groupField    : 'division', // divisionでグループ化
                                sortInfo    : {field:"type",direction:"ASC"},
                                listeners:    {
                                    'beforeload'    :     function(){
                                                            var month = Ext.get('monthDate').getValue();
                                                            if(month != ""){
                                                                this.baseParams.dateFrom     =month;
                                                            }
                                                        }
                                    }

 あとは、dsをExt.grid.GridPanelのstoreで指定します。

次にExt.grid.GridPanelのview部分ですが、
view : new Ext.grid.GroupingView({
  hideGroupedColumn : true
})
で、グループ化したフィールドを非表示にできます。そのあたりは、サンプルにもあるので、割愛します。

 データストア(ds)という、データが保存されている場所とそれらを表示するGridなどのビューの部分の関係がすこしばかりわかったきがしました。

以前CAPTCHAという

sc0003.png

こんなやつを設置しましたが、上記みてもわかるように、文字がよくわかりません。

コンピュータに識別できなくするのが目的なのに、人間でもわかりにくくなってるような気がします

 

そこでなんとかわかりやすくできないかなと思い、サポートに問い合わせたところ、Captchaの画像をカスタマイズする機能はMTに備えておりません。とのことでした。

だけど、ね、自分でも他の人のMTのコメントしようとしたとき、上記文字の入力ミスが多くて、困ってますので少しだけカスタマイズできたので報告します。

MTインストールディレクトリのmt-static/images/captcha-sourceここに

background1.png~background5.pngのファイルがあります。

この画像を編集し少々明るくしてみました。

それだけです。すると

sc0001.png
 

こんな感じになりました。どうでしょう。すこしは読めるようになりましたでしょうか。

また、そのディレクトリ内を見たときにわかったのですが、表示される文字の画像がすべて入っていました。
ということは、それらの文字ももうすこしわかりやすい文字フォントで置き換えればよいのかなと思ったりしてますが、そちらはまだやってません。

またディレクトリ内を見てみると数字の「1」の画像がありません。ずっとわかりづらかった「1」(イチ)と「「l」(小文字エル)。1が存在しないことがわかりました。ちなみに、「o」(小文字オー)はありましたが、「0」(ゼロ)もありませんでした。

 

Ext.JSを使っていて、まだまだわからないことばかりです。その度にweb検索をしていますが、なかなか良いサイトがみつかりません。

そこでいくつか参考になったサイトをまとめておこうとおもいます。

Ext.JS 参考サイト

サイト名URL備考
Ext
Client-side JavaScript Framework
http://extjs.com/本家
Ext JS - Client-side JavaScript Frameworkhttp://extjs.com/products/extjs/ 
ExtJapanhttp://www.ext-japan.org/ 日本語
ExtJapan
Ext 2.0 - API ドキュメント & チュートリアル
http://www.ext-japan.org/docs/ 
code:x - Ext JS JavaScript Libraryhttp://code.xenophy.com/?page_id=7クラス一覧などがあります。
code:x - Exthttp://code.xenophy.com/?page_id=90サンプルもある。
TONTTU.NEThttp://www.tonttu.net/フルExt.JSで自社ページを作られている。
Ext JS例文辞典http://www.openspc2.org/reibun/ExtJS/library/サンプルが多く掲載されています。
inputlog

http://blog.kyosuke.jp/category/javascript/ext-js

Ext.get()やExt.select()など、参考になります。
   

※随時更新していきます(たぶん)

Flickr API

| コメント(0) | トラックバック(0)

Youtubeが動画投稿であれば、こちらは、画像投稿です。

Youtubeもそうなのですが、これらのサービスの面白いところは、

自分のブログへ貼り付けができること。

 

もちろん、著作権とかの問題がありますが、下記ブログにありますが、ライセンスを指定して、転載がOKなものを検索できるものがあるようです。

画像(素材)をwebで探しても、けっきょく権利関係をチェックすると勝手には使えないようなことが書いてあったりしてましたが、それを検索条件で探せる、というのは、良い考えだと思います。

 

http://gol.startforce.jp/blogs/2007/09/api.html

Ext.JS s.gif

| コメント(0) | トラックバック(0)

Ext.JSを使い始めて2週間。

いろいろ作りました。生産性がかなり向上し、工数がかなり削減!となったのですが、たまたま、わかりやすいものだったのですが、最近、複雑な要求が増え、google検索とExt.JSの日本のサイトを見ている毎日。

そこで、いろいろと覚えたことを書き留めます。

 

s.gif

これは、1×1ピクセルの透明なgifファイルです。これが、ダウンロードしたExt.JS内にもあるのに、なぜか外部接続をしようとします。

http://extjs.com/s.gif

ここを参照しているようです。

これをサイト内にあるs.gifを指定するように修正します。

Ext.BLANK_IMAGE_URL = '/js/ext-2.1/resources/images/default/s.gif';

ちなみに、/js以下にext-2.1を置いています。

これでOK。

とくに、社内システムで利用する場合は、勝手に外部に接続していることになるので、必ず指定しましょう。

それから、まだ解決してませんが、Ext.JS内のどこかで、Google Analyticsサービスを呼んでいるところがありました。これは、解決したら報告します。

 

このアーカイブについて

このページには、過去に書かれたブログ記事のうちテクノロジカテゴリに属しているものが含まれています。

前のカテゴリはサイト紹介です。

次のカテゴリはメモです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。