アーカイブ: 投稿

IE6でSSL通信の場合、xmlHttpRequestのonreadyStateChangeがうまく拾えない場合がある

投稿者:isc_blog

この現象は IE6(InternetExplorer6)でhttps://~ で発生します。
サイト上から下記Javascriptのような処理を行ったところ
非同期通信でデータを取得し取得が完了したら結果をサブウィンドウに表示する処理なのだが
一度目はデータを読み込みサブウィンドウを開いて表示したものの
2回目はサブウィンドウを開くそぶりもない・・・
JavaScriptにalert()を入れてみたところ
「きたよ!」が出ない・・・

どうやら通信に行っていないようだ
[javascript]
xmlHttpRequest.onreadyStateChange = function() {
// ↓ここにalert
alert(‘きたよ!’);
if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
subwin = ("","subwin","width=400,height=370");
subwin.document.open();
subwin.document.write(xmlHttpRequest.responseText);
subwin.document.close();
}
}
[/javascript]
なにが悪いのかな・・・・と調べたところ
どうやらIE6でSSL通信の場合キャッシュを見てしまって通信すら行かないらしい・・・

上記ソースの場合、通信しないとサブウィンドウが開かないので
シレっと何事もないようになってしまうから厄介だ・・・

この場合、手っ取り早いのは
リクエスト送信時にタイムでも付けてしまうこと・・・
[javascript]
var time = (new Date()).getTime();
xmlHttpRequest.open("GET", "/service/AAAA?" + time);
[/javascript]
IE7やFireFoxでは再現しないみたい(IE8以降は試してません)

キーワード
onreadyStateChange キャッシュ ssl サブウィンドウ

2011年5月13日

Microsoft Power Point の覚え書き

投稿者:isc_blog

最近ほどパワポことMicrosoft Power Pointを多用することがなかったので
今更ながら得たちょっとしたコツを覚え書きとして書いておいきます。

カラー印刷するにはもったいないな~と思って白黒印刷したときに
「ハッ」としたこと
白黒だと背景が表示されないんですね・・・初めて知った。
対策はここに書いてありました(本家サポートですね)↓

パワーポイントの白黒印刷で背景を印刷する方法
パワーポイントを白黒印刷する際に背景を印刷する方法

上記サイトより引用 —–

この現象は PowerPoint 色付きの背景を含むスライドのモノクロ プリンターを印刷する方法を最適化するために発生します。

既定で、色付きの背景で、PowerPoint プレゼンテーションは、モノクロのプリンターに印刷されません。 これは、色付きの背景情報、プレゼンテーションを白黒プリンターに印刷するときに、スライドを妨げますがためです。

ということで対策方法は

以下も引用です。

色付きの背景を含む PowerPoint プレゼンテーションを開きます。
Microsoft Office PowerPoint 2003 および以前のバージョンの PowerPoint、[ ファイル ] メニューの [ 印刷 ] をクリックします。

Microsoft Office PowerPoint 2007 で、 Microsoft Office ボタン) をクリックして、 印刷 、[ 印刷 ] をクリックします。
[表示 色/グレースケール ] ボックスの一覧 の色 。

・・・最後「[表示 色/グレースケール ] ボックスの一覧 の色 」という表現がありますが
「カラー」だと思います。(Office2002だと「カラー」でした。)

もう一点。
パワーポイントの印刷時ページ数を表示する方法

1. パワーポイントで、[表示] メニューの [マスタ] をポイントして、[スライドマスタ] をクリックします。
2. 左下の「数字領域」とかかれている点線のボックスに、「/70」と入力します。
3. [表示] メニューの [標準] をクリックします。
4. [挿入] メニューの [スライド番号] をクリックします。
5. [スライド番号] チェック ボックスをオンにして、[すべてに適用] ボタンをクリックします。

Yahoo!知恵袋より引用
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1112615366

2011年5月12日

Twitter発言をjQueryとJSONPで取得して表示してみました

投稿者:isc_blog

先日紹介したWEBサービスで使用されている「jsonp」で取得と表示を簡単に出来ないかな?と思い「Twitter」のAPIを利用してデータを取得しJSONPで表示するものを書きました。

※JSONPについては→JSONPとは

[html]
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>JSONPでTwitter発言表示してみました</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery", "1.6.0");</script>
<script type="text/javascript">
function dispTweet() {
// 一度クリアにする
$("#recent").html("");
// ユーザーアカウントのデフォルト値
var screenName = "isc_web";
// デフォルト表示件数
var count = 20;
if ($("#sname").val() != "") {
screenName = $("#sname").val();
}
if ($("#count").val() != "" && !isNaN($("#count").val())) {
count = $("#count").val();
}
var url="http://api.twitter.com/1/statuses/user_timeline.json?screen_name=" +
screenName + "&count=" + count + "&callback=?";
$.getJSON(url , function(data){
$.each(data,function(i){
// 取得できるデータは
// http://dev.twitter.com/doc/get/statuses/user_timeline
// にて確認してください。
$("#recent").append("<li>"+this.text+"</li>"); // とりあえず記事本文のみ出力
});
});
alert("OK");
}
</script>
</head>
<body>
<strong>TwitterのつぶやきをJSONPで取得表示する</strong><br />
表示したいアカウント:<input type="text" id="sname" value="">&nbsp;
表示件数:<input type="text" id="count" value="">※デフォルト20件<br />
<input type="button" value="ツイート表示" onclick="dispTweet()">
<div id="recent"></ul>
</body>
</html>
[/html]
サンプルはこちら

即できました。
アカウントと表示件数を変更できるようにしてみました。
ちょいちょい改造すれば普通に見られる感じになります。
※あくまでも基本だけでスミマセン。

参考資料
無題メモランダム:jQueryでJSONP

2011年5月11日

プログラミング言語ってどのくらいあるのかな・・・

投稿者:isc_blog

ふと考えた・・・
プログラミング言語ってどのくらいあるのかな・・・と

そして調べたら次のサイトを発見!

プログラミング言語リンク集

まとめてくれてありがとう!

日経ソフトウェアで取り上げられていた
Scalaについても載っていたので関心しました!

チュートリアルなども一緒に掲載されているので重宝しそうです。(言語マニアとしては・・・)

2011年5月10日

スマートフォン向けアプリ開発フレームワーク

投稿者:isc_blog

先日、アシアル株式会社主催の「iPhone/Androidアプリ制作セミナー」に出てきました。
そこで習った「PhoneGap」を深めようといろいろ作ったりしています。
※発表は後日・・・(出来るかな・・・出来るといいな)

他にもこのようなフレームワークがないかと調べたところ
やっぱりまとめてくれている方がいらっしゃいました。

某開発者の独り言: スマートフォン向けアプリ開発フレームワーク

参考にさせていただきます!

※社内向け覚え書き的な・・・投稿ですみません。

「参考資料」
PhoneGap Fan:アシアル株式会社さんが運営しているサイトです。

2011年5月9日

RubyでCGI作ってみた

投稿者:isc_blog

PythonでCGI作ってみたのRuby版です。

Python版で「とっても稚拙で申し訳ない」といいつつ
稚拙なものを移植しただけで申し訳ないですが全く同じ挙動のものです。

下記を「HelloRuby.cgi」というファイル名で保存し
ウェブサーバー上にアップロード。
属性変更して実行権を与えてから・・・
※パーミッションを755にします。
webブラウザでアクセスします。

[ruby]
#!/usr/local/bin/ruby
#ヘッダ出力
print "Content-type: text/html\n\n"

#CGI 読み込み
require "cgi"
cgi = CGI.new

#リクエスト内容取得
yourName = cgi["yourName"]

#中身出力
print <<EOM
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<script type="text/javascript">
var yourName = "#{yourName}";
function init() {
if (yourName != "") {
alert("YOUR NAME IS " + yourName);
}
}
</script>
</head>
<body onload="init()">
<form action="HelloRuby.cgi">
<input type="text" name="yourName" value="" />
<p>
<input type="submit" />
<p>
</form>
</body>
</html>
EOM
[/ruby]

コードはこれだけ
実行結果はこんな感じ
HelloRuby.cgi実行結果
コード的には
1.「yourName」っていうパラメータがリクエストに存在したら
2.Javascriptでアラート表示
3.送信フォーム表示
・・・・これだけです。
※この説明も「PythonでCGI作ってみた」とおんなじですみません。

 

Pythonもそうなんだけどリクエストの取扱い方がPerlより簡単でいいなぁ!

「参考になったサイト」
Rubyはじめました:RubyでCGI.フォームデータを受けとる
cgi – Rubyリファレンスマニュアル

2011年5月8日

技術系のブログでHTML書くときに便利なGoogle Chrome 拡張機能

投稿者:isc_blog

技術系のブログ投稿でHTMLソースを記述する際にHTMLタグのエスケープを行ったりするのが
ちょっとめんどくさいかったんです。
ワードプレスだと「ビジュアル」モードでHTMLタグをエスケープしないままコピペして・・・
って出来るもののなんだか「改行」がメチャクチャになっちゃう(自分の設定が悪いのかな?)ので
改行差し込んで・・・ってやっていたんですが、ちょっと良い物がないか探してみました。

そしたら、こんなのがありました!!
HTML Escape Helper」 chromeウェブストアより

使い方は上記よりGoogle chromeに拡張機能をインストールして「&lt;」ボタンを押したら開くテキストエリアにHTMLコードをコピペしてから「ESCAPE」ボタン押すだけ!
コピペしたHTMLコードがそのままエスケープされます。

Chrome使用率が高いので重宝しそうです。

今回「chrome アドオン」で検索したんですが、他にもいろいろあるんですね・・・・
ちょっと調べたらいろいろ入れちゃいそうな自分が怖いです。

2011年5月8日

Ruby版 逆ピラミッドを作る

投稿者:isc_blog

java , Python で「逆ピラミッド」プログラムを書いてきましたが

今回は「Ruby」で書いてみます。

Rubyは何度か習得しようとしているんですが・・・・未だ身についてません。

ま、早速行ってみます。


# Pyramid
# @author: tasa
i = 10
for j in 0..i
puts (“*” * (i-j))
end
puts(“\n”)


これだけです。
Pythonより1行多いかな・・・
Rubyも面白そうなので深くツッコミたいと思います。

実行結果


**********
*********
********
*******
******
*****
****
***
**
*


※追伸
Twitterより返信がありました。
一行で書けるとのこと


10.downto(0){ |i| puts ‘*’ * i }


なるほど!奥が深いなぁ~

2011年5月7日