技術メモ カテゴリー

web系技術メモ

某試験問題に挑戦してみた

[技術メモ] 2010年1月14日(木曜日) 16:46

レベル1

人材獲得作戦・4 試験問題ほか
に面白そうな問題が。
とりあえず javascript でやってみるか。→判定はレベル1
ちょwww時間なさ過ぎ。俺ダメすぎ(ノ∀`)

迷路最適化→ツリー化→しらみつぶし
の予定が、迷路最適化までで3時間終了\(^o^)/

途中で放り出すのも気持ち悪いので、完走はしてみました。
動作URL

ほとんどデバッグだった

一昔前に比べると、ウェブのお陰で言語に関する資料はたんまりあるので、
言語使用を確認しながらのプログラミング。

javascript ってこんなに厄介だったっけ……
配列やオブジェクトのコピーだけでウルトラテクニックが必要だったり、
ちょっと深い再帰をさせるとメモリ不足になったり。

作戦立案終了 1時間経過
迷路最適化終了 3時間経過……む、終わってるwww

翌日続きに取りかかる。
とりあえず動いたものの IEなどでstack overflow(ノ∀`)
ショックで挫折。

更に翌日の今日、
必死デバッグで完走。
なんか、正味でも、10時間以上掛かっちゃったんですけど。
ソースも汚いし、ダメすぎだろ俺

追加

敗因分析

やっぱ、クラス分けとアルゴリズムがかみ合ってない。
現在地データ用に用意したクラスで最後まで突っ走ったので、
現在地座標のスコープが広すぎて、そのせいで無駄に苦労している。
突っ走って壁に当たったら、走る前の所から考え直す視点が弱かった様です(ノ∀`) アルゴリズム自体が縮図になっててちょっと切ない
四苦八苦する過程こそが真の迷路なのだよガッハッハということか

コメント (0)

トラックバック URL :

もしかすると、バージョン的にはもっと前からかも知れません(´・ω・`)
なぜかOpera10.10で、他のモダンブラウザに無い空白が入ってるじゃありませんか……

結論としては、
javascriptで、
document.execCommand(‘BackgroundImageCache’, false, true);
としていたのが原因。
hoverでちらつくIE6用のおまじないがOperaで異常を起こすようになっていました(ノ∀`)

と言う訳で、おまじない部分を

try {
	if( navigator.appVersion.indexOf("MSIE 6",0) != -1) document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}

に変更

コメント (0)

トラックバック URL :

旧環境からディレクトリ毎移しただけで、なまじ動いてしまうので盲点でした。
それぞれインストーラを起動して上書きインストールでOK。

これで、
コントロール パネル\すべてのコントロール パネル項目\既定のプログラム\既定のプログラムを設定する
等にも出現しました。

コメント (0)

トラックバック URL :

ページトップへ

window 7 移行メモ

[技術メモ] 2009年11月4日(水曜日) 18:47

メインの作業環境をwindows 7 x64に移行したので作業メモを残します。

マルチブート化

ハード丸ごとの新調はせず、HDD追加のみでの移行を決定。
進行中の作業が止まらないように、旧環境を残しつつマルチブート化。
旧環境を壊さないように7は新HDDへインストールし、ハード起動時にブートドライブを変える事で旧環境が立ち上がる仕様。
また、OSとアプリドライブ以外はドライブレターも含めて、新旧兼用。

アンチウイルス

Microsoft Security Essentialsにしてみました。流石に相性問題は少ないでしょうから。

アーカイバ

条件反射で+Lhaca 1.2x系 デラックス版
暗号付きアーカイブを作ったり等々用に7-Zip もインストール。

操作系調整

自動ログイン化

Windows Vista でパスワードを入力しないで自動ログインする方法を参考に自動ログイン化。

キーボード、マウス調整

キーボードのリピート設定が気に入らない(´・ω・`)一番早いと早すぎるけど、1段落とすと遅すぎる

UAC

「通知しない」に(ノ∀`) ごめんなさい

クイック検索窓

googleツールバーでクイック検索窓が使えなかったので、AHKでctrl+spaceで検索窓を開くように。

タスクバー中クリックでアプリを閉じる

Taskbar Overlordにて、同じくAHKで対応。

ホイール操作で裏の窓をアクティブに

ZTop version 1.73 で対応。ただし、エクスプローラのビュー間の挙動はいまいち。なお、
「ホイールを直下のウインドウへ送る」はoffチェック
「直下のウインドウをアクティブにする」をチェック

エクスプローラ中クリックで上階層へ

同じくztopで対応。ただし、用意されている機能では上手く動かず「マウスボタン」の変換機能で「ホイールクリック」で「 Alt+Up 」を送る設定にして対応。弊害が出る可能性あり。要留意。
弊害が出たので、AHKで対応。(“タスクバー中クリックでアプリを閉じる”分もついでにインチキ対応)

MButton::
	CoordMode,Mouse,Screen
	MouseGetPos, x, y, , WinUnderMouseClass,1
	yposition := A_ScreenHeight - y
	if (yposition < 40) {
	;if ( (yposition < 40)&&(x > 1600) ) {
		Send,{LButton}{LButton}
		Send,!{F4}
	} else {
		Send,{MButton}
		WinGetClass, class, A
		if (class == "CabinetWClass") {
			Send,!{UP}
		}
	}
return

ATOK

「無変換」をIMEオン/オフに変更。辞書を移行。

ブラウザ関係

IE

やっとシェアでIE7を逆転した8をメインに。IE7Proも概ね動き(一部動いてないアドオンもあり)快調。
ローカルflashチェック用に、セキュリティを中にし、『インターネット オプション(O)』『詳細設定』タブ『マイ コンピューターのファイルでのアクティブ コンテンツの実行を許可する*』にチェック
IE7環境は予備機に残し、IE6環境はOS新機能のXPmodeのIE6をそのまま利用することに。

その他

FireFox、Opera、Safari、Chromeの最新版をそれぞれインストール。特にFireFoxはフォルダ丸ごと(AppDataのデータフォルダも)移すだけでアドオンも動いて感動。

周辺機器のドライバ

案外困ったのがこれ。レーザープリンタ(LBP5000)、PCFAX兼スキャナ(MFC-5840CN)がどちらもwindow 7(x64)では切り捨てに。
結局、MFC-9120CNに買い換える事にしました(´・ω・`) とは言え、LBP5000は替えトナーまであるので予備機として保存。

その他

ローカルサーバ

旧環境に合わせてxamppで構築。でもVertrigoのが楽かもしれません。
phpが5.3になり、「Warning: strtotime()」が出たので、
PHP Warning: strtotime():なエラーに倣って、php.ini に date.timezone = “Asia/Tokyo” を追加。

タスクスケジューラ

データファイルのバックアップやcronが使えない環境の日時指定更新等で希に使用するタスクを移行。
エクスポート機能が便利でした。

時刻調整

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
\W32Time\TimeProviders\NtpClient のSpecialPollInterval の値を変更。
「32」と言うのがなんか引っかかりますがとりあえず。

アイコン間隔

「デザインの詳細設定」でアイコンの間隔も変えられました(Vistaでもできた)。
デフォルトではVistaより広くなっていてアイコンを並べられなかったので……

ウィンドウ背景色

デフォルトの#ffffffでは、背景入れ忘れを見落とすので若干グレーに変更。

所感

  • FireFoxの移行が楽でしかも細部まで移せて素敵だった
  • エクスプローラがvistaより遥かに素直だった
  • でも細部のカスタマイズはやはりサード頼み
  • 大量ファイルのコピーはwindows 7 x64では大幅に改善されていた(vista32 では絶望だった)
  • x64は筋が良い。ただし古い機器のドライバ以外
  • 実はあんまりvistaと変わらないが、デフォルトの操作性が素直になってるので、vistaと違って初心者にもお勧めできる

コメント (0)

トラックバック URL :

今年、2件ほどギャラリーサイトをコーディングしました。
JSでゴリゴリと動かす感じ物でしたが、その際何気にハマったのが表題の件。
横スクロールさせる上で、まず、横一列に並べなくてはなりません。

改行させない

サンプルはこちら。
まずは、inlineで並べた要素を改行させない命令が肝。


#thumbnails {
	white-space: nowrap;
}

でもこのままでは余白がグチャグチャなので、それらを整える必要があります。

整える

#thumbnails {
	display:block;
	margin:0;
	padding:0;
	font-size:9px;
	font-family:sans-serif;
	white-space: nowrap;
}
#thumbnails img {
	margin:0;
	padding:0;
	border:0;
}
#thumbnails a {
	display:inline;
	margin:0 -2px 0 0;
	padding:0;
	border:0;
}

我ながら強引(ノ∀`)
inlineで何となく開く要素間マージンをフォント指定で調整し、その後マイナスマージンで詰めています。
このケースの場合、IE6~8、FF3.5、Chrome3.0、Safari4.0.2、mac Sarfari4.0.3、mac FF3.5 での横マージンが同じになりますが、フォントファミリー、フォントサイズ指定によって、ズレますOrz
恐るべしinline。
素直にtableを使うべきか。

コメント (0)

トラックバック URL :

最大化だって!?

コンテンツ側でブラウザサイズを変えるなんてとんでもない!と思っておりますが、
希に、ブラウザサイズを変える仕様を求められる事があります。
個人的な信念がどうあれ、仕様がないケースも(ノ∀`) ダジャレ

タグブラウザ時代

window.resizeTo(screen.width,screen.height);
window.moveTo(0,0)
コードとしては↑な感じですが、これが近頃鬼門。ブラウザのタブ化と共に、挙動が結構変わってます。

Firefox

タブが2つ以上ある状態でブラウザサイズが変わるのはFirefoxくらいです。

IE8,Safari

IE8やSafariは、タブが1つの状態もしくはスクリプトから開いた新窓ならリサイズされます。
ただし、IE8の場合はリサイズ結果は必ずしもフルスクリーンとは限らず、その挙動の差異もいまいち原因不明。

その他

Chromeは、スクリプトから開いた新窓ならリサイズされますが、手動で開いた窓はリサイズ無効。
Operaに至っては、MDI(ノ∀`)

結論

全画面化が強く求められるコンテンツはflash化が良さそうです。
その他はほどほどの対応が現実的でしょうか。

コメント (0)

トラックバック URL :

半透明のナビゲーションをホワホワさせようとして失敗の巻
$(“#sample”).fadeIn(“slow”); 等、にて透過PNGを扱うと、
IE(6も7も8も)では透過部分が黒く崩壊(ノ∀`) おのれIE

コメント (0)

トラックバック URL :

近頃、javascriptでインターフェイスを実装する機会がありました。
クリックしたり~~のイベントをjavascriptレベルで実装するのですが、押せる所でカーソルが手の形にならないんですね。
そこで、
cursor:hand;
等とCSSレベルで指定してみます……むむむFireFoxで「手」にならない(‘A`)
まぁ、そう言うモンかな……で、妥協できるシェアでも無い昨今。
調べてみると、なんと、handはIE仕様だったんですね(><)
cursor:pointer;
と記述することで解決しました。
忘れませんように。

コメント (1)

トラックバック URL :