2011/06/26

reversi

このエントリーをはてなブックマークに追加


reversi(リバーシ)です。
・最初からゲームしたいときは、リロードしてください。
・chrome12とfirefox5でテスト済みです。javascript(html5)にて動作します。canvasを使用していますので、未対応のブラウザだと正常に動作しないかもしれません。

2011/06/13

JavaやAcrobatReaderの自動アップデートを止める

このエントリーをはてなブックマークに追加
アップデートはいいとして、頻繁に再起動を求められるのはちょっとしんどかった。
とくに、JavaやAcrobatReaderはたくさんの人が利用していると思われるので、これら自動アップデートの黙らせ方を書きます。
もちろん、対応は個人の裁量でお願いいたします。

しかし、個人的な意見としては、今更逐次のアップデートをおろそかにしたくらいで、どうにかなるようなのって、アップデートしてもどうにかなるんじゃないだろうかと思わずにはいられないです。まあ思い出したら手動でアップデートしてあげましょう。

●Javaの自動アップデートを無効にする



コントロールパネル→Javaから、設定画面を起動させます。
アップデートのタブを開き、「アップデートを自動的にチェック」のチェックを外します。
了解、または、適用を押せば、終わりです。
画面はXPです。



手動でのアップデート操作は、このダイアログの「今すぐアップデート」から行うことが出来ます。


●AcrobatReaderの自動アップデートを無効にする



AcrobatReaderを起動させ、編集→環境設定から設定画面を起動させます。
アップデーターの設定から、「アップデータのダウンロードやインストールを自動的に行わない」にチェックを入れてOKを押せば終わり。
画面はAcrobatReader10(X)でXPです。



手動でのアップデートは、AcrobatReaderのヘルプ→「アップデートの有無をチェック」を選べばよいでしょう。
なお、AcrobatReaderのバージョン8-9でも似たような操作のようです。

アップデータの自動チェックを変更または無効にする方法 (Adobe Reader / Acrobat 8-9)
http://kb2.adobe.com/jp/cps/864/cpsid_86400.html

というか10が出てますので新しくしてもいいと思いますが。


何か頻繁にやいのやいの言ってくるようなソフトがあれば足していきます。

2011/06/11

Adsenseの広告が休止中になってた

このエントリーをはてなブックマークに追加
知らない間に、GoogleAdsenseの広告が休止中になっていて、ちょっとやきもきしていました。
どうやらPINコードがGoogleから郵送で送られていたのに、入力を怠っていたとのこと。PINコードは、支払い画面から入力することができます。

実施してみて、2時間ほどで復活を確認しました。わりとすぐでした。


しかし、やきもきしてしまった。
Googleから通知メッセージも何もなく休止中というよく解らない状態。
当然、広告が勝手に休止中になる原因を探るべく検索することになります。
出現するのは、ページが放置されている場合とか、そういう話。

アカウント無効という措置もあるようですが、それがどういう状態なのかもまたわからないから、どんどん不安になっていくわけです。何かの拍子にGoogleさんに嫌われてしまったのだろうかとか、アカウント無効の条件に該当しているのかとか。
しかし、アカウント無効は、どうやら通知メッセージが届くらしい。ということできっと該当しないので、一安心。

Googleに問い合わせてやろうと思った矢先に、PINコードの情報にたどり着けてよかった。どうやら半年以上、ほったらかしになっていたみたいです。

なにせAdsenseに関わる検索結果は、ギラギラした感じの、猛々しい内容です。ちょっと他の情報とは一線を画した印象で、近づきにくいのです。彼らはさすがAdsenseや、SEOを研究しているだけあって、全然関係ないキーワードでも強引にヒットしてくるようで、なかなか必要な情報にたどり着けないわけですね。

まあつらつらとここに書いているのは、そのヒガミみたいなものかも。
しかし、通知メッセージの一つくらいくれてもいいのになあ。

[javascript]子ノードを全探査する

このエントリーをはてなブックマークに追加
子ノードを取得するのはchildNodesで一発ですが、子供の子供までひっくるめて、全部のノード探索するコードを考える。

root
-node1
--node1-1
--node1-2
---node1-2-1
-node2
--node2-1

こんな感じのノードを、この順番のままにリストアップする(rootはいらない)という命題。順番が味噌です。

●再帰を使わないノード探査


最初、再帰しないで書いてみようと思った。すぐに再帰に頼りがちだけど、ループでもこんなの余裕だろうと。これが、なんとも意味なかった。
利点がないのでした。きっと、木構造の探査にありがちな、末端から上に見ていく命題にしておけばもっと簡単だったかもしれません。
コードを乗せておきます。
// 再帰しないノード探査
function searchNodesLoop(root)
{
var list = [];
var stack = [];
var node = root.firstChild;
while (node != null)
{
// まず自分を処理
list.push(node);
// 子供の有無をチェック
if (node.firstChild != null)
{
// 自身に次のノードがあればスタックに積む(戻ってこれなくなるから)
if (node.nextSibling != null) {
stack.push(node.nextSibling);
}
node = node.firstChild;
}
else if (node.nextSibling != null) {
// 自分の次のノードの有無を確認
node = node.nextSibling;
}
else {
// どんづまりの場合はスタックから呼ぶ
node = stack.pop();
}
}
return list;
}


結局、小一時間くらい、あれこれやった。

●再帰を使ったノード探査


なんだかなあと釈然としなかったので、再帰するのも書いてみた。

// 再帰を使ったノード探査
function searchNodes(root)
{
var list = [];
var search = function (node)
{
while (node != null)
{
// 自分を処理
list.push(node);
// 子供を再帰
search(node.firstChild);
// 次のノードを探査
node = node.nextSibling;
}
}
search(root.firstChild);
return list;
}


めっちゃ簡単に書けた。javascriptならではなところがいくつかありますが、構造がシンプルなので、それもまたよいのではないかと。

あえて言えば、searchNodes関数内でローカルに作られるsearch関数は、関数が呼ばれるたびに作成されてしまう。これは無駄なので、クロージャーを駆使して改善しておくとよいかもしれません。この辺は可読性との兼ね合いですか。

まあこれで十分。
当然のことだけれど、再帰使わないのがよいというわけではないですね。

2011/06/03

キーボードでの文字入力がおかしくなったときの対処

このエントリーをはてなブックマークに追加
PCの初心者様用に整理。
この内容はWindows(全般)を対象にしています。


普段は問題なくキー入力、漢字変換ができていたのに、気付いたら文字の入力がおかしくなっていたというケース。
まずは落ち着きましょう。
可能性が高いのは、キー入力のタイプミスによって、知らない間に、何かの機能のスイッチが入ってしまうことでしょう。
このケースの難儀なところは、そもそもどんな機能か有効になっているのかわからないので、原因と対処方法を調べるのに手こずってしまうところですね。

リストアップを書き出しておきます。該当する状況をもとに、解決への糸口にしていただければ幸いです。
  1. 数字が入力できなくなった
  2. 文字を入力すると下にある文字が消えていく
  3. 半角英数がShiftを押さなくても大文字になる
  4. 入力文字がカタカナになる
  5. 文章が勝手に選択される/カーソルが移動できない
  6. あるキーだけ何回か押さないと利かない/利きが悪い
  7. 押してないのに勝手に文字が入力される
おかしいと思われる状況の特徴を考えてみましょう。ここにリストアップされたものであるなら、うっかりオンになってしまった機能を、同じキー操作でオフにできるはずです。

1.数字が入力できなくなった


  • テンキーの数字が打てなくなった。入力を行うと別の動作が行われる。
  • キーボードにある数字では入力される。

NumLock(Num)機能がオンになってしまっていませんか?
テンキーにあるNumLockを押すと有効/無効を切り替えることができます。
NumLock機能は、テンキーを数値入力以外に、十字キーやPageUpなどの操作パネルとして利用するための機能です。
NumLockが有効になっているときは、テンキーの数字の入力はできなくなっています。
NumLockキー - Wikipedia

2.文字を入力すると下にある文字が消えていく


  • 入力すると文字が後ろに送られないで、上書きしてしまう。
  • 文字カーソルが一文字分の大きさで反転している。

文字入力のモードが挿入ではなくて、上書きモードになっている。
Insertキー(Ins)を間違って押してしまったかもしれません。Insertキーをもう一度押すと、上書きモードから挿入モードに切り替えることができます。
NumLockとの併用で、数字の0がInsertキーとして利いてくるので意図せずに機能をオンにしてしまったのかもしれません。
挿入キー - Wikipedia

3.半角英数がShiftを押さなくても大文字になる


  • 半角英数の入力が大文字になる。もともとは小文字入力。
  • パスワードを間違えていないのにアカウントにログオンできない/サインインできない。

CapsLockが有効になっている。
CapsLockキーとShiftキーを同時に押すと、機能の有効/無効を切り替えることができます。CapsLockキーは、ほとんどのキーボードは左側のShiftの上に位置しています。機能のオン/オフを確かめるようにキーボードにランプが付くものもあります。ランプが点灯しているときはCapsLockがオンになってしまっています。
CapsLockは大文字と小文字の入力を入れ替える機能です。この機能が有効なときに、Shiftを押しながら入力すると小文字入力になります。

間違っているはずがないのにアカウントのパスワードが通らないと思ったら、CapsLockのオン/オフを確認してみるといいことがあります。パスワードに入力している大文字/小文字が逆転していて通らないのかもしれません。
CapsLockキー - Wikipedia

4.入力文字がカタカナになる


  • 文字入力を行うと、カタカナで文字が打たれる。

無変換キーを押してしまったかもしれません。
文字入力されていない状態で無変換キーを押すと、入力モードを切り替えることができます。戻すには「ひらがな」→「カタカナ」→「直接入力」の順に切り替わるので、何回か無変換キーを押すと元の状態に戻ります。言語バーから、マウス操作で入力モードを「ひらがな」に戻してもよいでしょう。

5.文章が勝手に選択される/カーソルが移動できない


  • 意図せずにカーソルキーがジャンプする。
  • 勝手に文章が選択される。
  • カーソル移動ができなくなる。
  • 文字が打てなくなる。他の操作が勝手に入る。

固定キー機能がオンになってしまっているかもしれません。
妙なメッセージが出現しませんでしたか? Shiftキーを五回押すと、固定キーを有効にするためのスイッチになります。
固定キー機能は、ShiftやCtrlやAlt、Windowsロゴキーなどの補助キーを固定して、押しっぱなし状態にできる機能です。
この機能はコントロールパネルから解除することができます。必要ない場合は、無効にしておいても差し支えないないでしょう。むしろ紛らわしいので、私は無効にしています。

●固定キーの解除方法/ショートカットを無効にする
Windows7:
「コントロールパネル」→「コンピュータの簡単操作センサー」→「キーボードを使いやすくします」から解除することができます。

WindowsXP:
「コントロールパネル」→「ユーザー補助のオプション」から解除することができます。


6.あるキーだけ何回か押さないと利かない/利きが悪い


キーボードが壊れてしまったという可能性もあります。
よく叩く十字キーの下のキーだけ利きが悪いとか。

壊れてしまうことは止む得ないです。
だけど、そうじゃないのにキーボードのせいだとか思われてしまうことがあって、対処法で解決することもままあるということは知っておきましょう。
ほんとうにキーボードが壊れているかどうかを調べるのは、単純に、壊れていないキーボードと交換してみるとわかりやすいです。もしくは、おかしいと思っているキーボードを別のパソコンにつないでも再現するようなら、もうダメかもしれません。

7.押してないのに勝手に文字が入力される


キーボードが壊れてしまったのかもしれません。あるいは、接続している他のUSB機器なんかが邪魔をしているかもしれません。状況によってとても幅が広いので、確かなことはいえません。

間抜けな話ですが、キーボード本体が何かに接触してて押しっぱなしになってんじゃん、という経験があったりします。まずは落ち着こう。

○Windows基本機能による弊害なのかどうかを確かめる


使用しているアプリケーションだけの問題なのか、Windowsのどこでも発生する問題なのかを調べます。
今現在使用しているソフトではなくて、Windowsにはじめから用意されているメモ帳などでも、同じように入力不備が発生するかどうか調べましょう。もし、メモ帳ではその現象が発生しないとするなら、使用されているソフトに起因する問題かもしれません。
ソフトを一度立ち上げなおすなどすると解決される可能性もあるので、可能ならば試してみるとよいでしょう。
(データの保存は忘れないように)

そんな感じで、ざっと列挙してみました。