プログラム: 2008年8月アーカイブ

Shift2回でカーソル切り替え

| | コメント(0) | トラックバック(0)
Ctrl2回はすでにOrchisに取られているので。
パクリ元はここ


; Shiftキーが押されたことを検出する
~Shift::
SetTimer, Shift_CheckCnt, 300
Shift_cnt += 1


if(Shift_cnt == 4)
{
; 4回押しの時の機能を書く
}
return


; Shiftキーが押されてから一定時間押されていないことを検出する
Shift_CheckCnt:
Hotkey, ~Shift, Off ; ここでShiftが押されるとややこしいことになるので


SetTimer, Shift_CheckCnt, Off


if(Shift_cnt == 2)
{
Run, "D:\usr\bin\rc.d\cbros\cbros.exe";
}
else
if(Shift_cnt == 3)
{
; 3回押しの時の機能を書く
}


Shift_cnt = 0
Hotkey, ~Shift, On
return

onsubmit()はsubmitボタンをクリックしたときしか呼び出されない

| | コメント(0) | トラックバック(0)
formのsubmit()を呼び出してもonsubmit()は呼ばれない。
(textにfocusしてenterでも呼ばれるかもしれないけど)

ただ、jQueryでは呼ばれてる気がする。なんかやってるのかな。

カーソル兄弟

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

非常にいい。複数ディスプレイ使ってるとカーソルの移動量が劇的に減る。

ただ、vistaのせいか、切り替え後にクリックでwindowがアクティブにならないことがある。
(一回右クリックすると解消する)
あと、切り替え直後はztopでスクロールがカーソル直下のwindowに行かない。

マウスクリックでしかカーソル切り替えできないのは微妙だけど、これはAutoHotKeyとかでキーボードからも切り替えられるようにすればいいか。
(Ctrl+Tabとかで切り替えられたらいいのに)

mod_rewriteとdnsmasqでバーチャルドメイン量産

| | コメント(0) | トラックバック(0)
apache2.confをこんな感じにする
NameVirtualHost *
<VirtualHost *>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^(\w+)
        RewriteRule ^(.*) /mnt/win/%1/$1
</VirtualHost>

で、dnsmasq.confをこんな感じに。
address=/localdomain/192.168.11.150

後は、windowsのdnsをlinuxに向ければ、http://hoge.localdomain/は/mnt/win/hoge/を見るし、http://huga.localdomain/nnnは/mnt/win/huga/nnnを見る。

ドメイン追加したかったらディレクトリ掘るだけ。

andLinux on Vista

| | コメント(0) | トラックバック(3)
普通にインストールしたけど、なぜかandLinux内から名前解決ができなかった。
/etc/resolv.confに上位DNSのIPを直接書いたら解決。

andLinux内からはpingが通らないので注意。
(wgetでどっかIPが判明しているところと通信して通るかどうかで判断)

sidebar gadghetのexternalinterface

| | コメント(0) | トラックバック(1)
sidebar gadghetでもweb上のswfを読み込めば
普通にexternalinterfaceが使える。
今までの苦労はいったい。。。

裏*じぇねれーたー

| | コメント(0) | トラックバック(0)
裏*じぇねれーたー

<frame src="http://example.com" style="filter:fliph();">
こうか

setTimeoutで処理をずらしつつ普通に呼び出されたかのように振舞う

| | コメント(0) | トラックバック(0)
setTimeout((function (self, arg) {
    return function () {
        (function (arg1, arg2) {
            console.log(this, arg1, arg2);
        }).apply(self, arg);
    };
})(this, arguments), 0);
setTimeoutで処理をずらしつつ普通に呼び出されたかのように振舞う。

XHRの同期通信

| | コメント(0) | トラックバック(0)
XHRのasyncをfalseにする(同期通信にする)とsetTimeout('', 0)見たいに
処理の流れをきらずに通信ができる(少なくともIEは)
JSONPとかでも、サーバと通信するものは処理の流れが切れる前提だけど、
これは結構面白い特徴かも。

gadgetでtail -f

| | コメント(0) | トラックバック(0)
gadgetでconsole.logすると指定ファイルに追記するようなwrapperと
そのファイルをtail -fするgadget作るとうけるかも。
System.Debug.outputString読むのって管理権限必要だし、
(管理権限で動くアプリはマウ筋で「常に手前に表示」ができないので不便)
DebugViewはインターフェイス的にかなり微妙。

jQueryの削除

| | コメント(0) | トラックバック(0)
jQueryを使ったgadgetを使わない形へ修正。ものすごく不毛。。。
ただ、これでjQueryのありがたみを味わう。
とりあえず、最悪jQueryがなくても何とかできることは確認できた。

$sf_context->getModuleName()

| | コメント(0) | トラックバック(0)
symfonyのviewの内でmodule名とaction名がほしい場合
<?php var_dump($sf_context->getModuleName()) ?>
<?php var_dump($sf_context->getActionName()) ?>

click="この中"

| | コメント(0) | トラックバック(0)
<input type="text" onchange="このなか">はこんな感じになっている
with (window) { // これはどこでも一緒だけど、念のため
    with (document) {
        with (this.form) {
            with (this) {
                このなか
            }
        }
    }
}
つまり、<a href="#" click="alert(getElementById('id'))">とかできる。
(非推奨)
あと、$('form :input[name="window"]')があると
window.openとかが呼べなくなる。
(「this.form.window.open」になるので)

HTMLElement.prototype拡張

| | コメント(0) | トラックバック(0)
HTMLElement.prototype拡張。
「すべてのdivに初期値を突っ込む」とかできる。
普通にイベント張ってくほうが便利で柔軟だけど、
「$(function () {})のタイミングでも遅い(ほんとにDOM追加直後に実行した
い)」とか「全部のelementsをなめていろいろ設定するから重い」とかの場合に
はありかも。
(ほんとにそれに使えるかは不明だけど)

http://d.hatena.ne.jp/shogo4405/20060919/1158673964

続setExpression

| | コメント(0) | トラックバック(0)
以下のコードはdocument.body.scrollTopか、
document.documentElement.scrollTopが再評価されるときに呼ばれる?
$0.style.setExpression('top', '(document.body.scrollTop ||
document.documentElement.scrollTop) + "px"');

http://www.microsoft.com/japan/msdn/columns/dude/dude061198.aspx

「悪意のあるソフトウェアの削除ツール」の責任は700 円

| | コメント(0) | トラックバック(0)
「悪意のあるソフトウェアの削除ツール」のライセンス条項には
「マイクロソフトおよびその供給者の責任は、
700 円を上限とする直接損害に限定されます」とある。
何で700円なんだろう?

setExpression

| | コメント(0) | トラックバック(0)
全画面jack系blogpartsをposition:fixedとsetExpressionで実装してみた。
IE系は以下のコードでスクロールに追従してくれる。
$0.style.setExpression('behavior', 'style.top = (document.body.scrollTop
|| document.documentElement.scrollTop) + "px"');

最初は↓みたいにしてたけど、こうするとsetInterval('document.recalc(true)
', 30);見たいな感じにしないと更新されないので微妙。
($(window).scroll(function () {document.recalc(true)})でもいいのかな?)
$0.style.setExpression('top', '(document.body.scrollTop ||
document.documentElement.scrollTop) + "px"');

FF3でのfirebug

| | コメント(0) | トラックバック(0)
FF3でのfirebugはbodyの下にdiv入れてる気がする。
<html><body></body><div id="_firebugConsole"></div></html>
こんな感じで。
もしかしてこれいじるとscript内からfirebugいじれるんじゃ。。。

SWFAddressのURIの#以降に%

| | コメント(0) | トラックバック(0)
SWFAddressの最新版(2.1)はURIの#以降に%を入れると
#の無いアドレスへジャンプする。
問題なければ2.0を使うほうが無難。

screen.updateInterval

| | コメント(0) | トラックバック(0)
screen.updateIntervalで画面の更新頻度を変更できる。
FF1+って書いてあるけど、FF2ではundefinedになっていた。
(undefinedだけど、値を振れば有効になる?)
vista gadgetはcpu負荷取れるので、
cpu負荷にあわせて更新頻度変えるとかやったらいいかも。

http://javascriptist.net/ref/screen.updateinterval.html

IEでoptionのdisabled

| | コメント(0) | トラックバック(0)
IEはoptionのdisabledに対応していない。
(IE7でも!)
以下JSで一応対応可能。
(背景色の変更と、非選択項目選択時にselectindexを初期化する)

http://www.lattimore.id.au/2005/07/01/select-option-disabled-and-the-javascript-solution/


JSでcssのstyleを切り替える

| | コメント(0) | トラックバック(0)
JSでcssのstyleを切り替えるには<link rel="stylesheet">の
disabledプロパティを切り替えればOK

Companion.JSを入れてみた

| | コメント(0) | トラックバック(0)
Companion.JSを入れてみた。
(こっちは非個人でも無料っぽいので)
MicrosoftScriptDebuggerが必要とのことなのでそっちも入れたけど、
MicrosoftScriptDebuggerを入れた時点でIEが起動しても固まる状態になる。
とりあえずいったん削除して保留。
(IEが動かないとOSの入れなおしくらいしか復旧方法無いので)

POPFileでお勧めがどうかを出すサービス

| | コメント(0) | トラックバック(0)
RSSの内容をメールで送れればPOPFileでフィルタできる。
どっかのページのURLを入力すると自分のベイジリアンフィルタにかけて
自分にお勧めがどうかを出すサービスとか面白いかも。
はてぶやデリシャスの新着をそれにかけて
過去に見た内容と似てるものだけ出してくれるとか。
また、他人のフィルタを勝手に使えるとか。
(フィルタのマージってできるのかな?)
SBMのタグ付けと他人がブックマークしている
内容の評価を自動化できるといいなぁ。
(「この人の過去の評価から察するにこのページはいけてる」とか出せる)

suspendとAutoHotKey

| | コメント(0) | トラックバック(0)
windowsのsuspendから復帰するとAutoHotKeyが効かなくなる。
右クリックメニューのSuspend HotKeysをOn、Offすると復旧する。

ORDER BYのNULL位置

| | コメント(0) | トラックバック(0)
PostgreSQLのORDER BYは基本nullを最後に表示する。MySQLは最初に表示する。
MySQLでPostgreSQLのように取得したい場合、以下のようにSQLを発行する。
SELECT * FROM counter ORDER BY count IS NULL, count;

addAscendingOrderByColumn

| | コメント(0) | トラックバック(0)
CriteriaのaddAscendingOrderByColumn、addDescendingOrderByColumnは
列名の「後」にはある程度SQLが書ける。
「前」に書くと実際SQL組み立てる部分でエラーになる。
(列名の最初の部分からテーブル名を取得しているので)

ExternalInterfaceのJSからASを呼ぶ部分のコード(IE7)

| | コメント(0) | トラックバック(0)
function () {
    return eval(instance.CallFunction("<invoke name=\""+name+"\"
returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) +
"</invoke>"));
}
__flash__argumentsToXMLで引数をXML化してる。
後はinstance.CallFunctionが見れればいろいろわかりそう。
window.__flash__tmpとかいうのが気になる。

このアーカイブについて

このページには、2008年8月以降に書かれたブログ記事のうちプログラムカテゴリに属しているものが含まれています。

前のアーカイブはプログラム: 2008年7月です。

次のアーカイブはプログラム: 2008年9月です。

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

ウェブページ

Powered by Movable Type 4.1