Shift + ←→↑↓
直感的にリンク間を移動できる、特筆すべきショートカットです。
Navigate Up 等か。Highlight next URL よりは Opera6 のものに近いかな。
と思ったら駄目だ。Navigate Up なら文字通り上にしか進まない。つまり、横一列にリンクが並んでるような場合はリンクを辿れない。
Opera6 と Opera7 での挙動の違いは、ページの途中で A または Q でリンクを辿る際、どのリンクにフォーカスが移るかという点です。Opera7 の方が素直でいいような気はするのですが、Opera6 のものに慣れすぎてるのでどうにも不便。
こういうのはどうしようもないか。
で、xoblite のせいでやたらハングしては強制電源オフを繰り返していたためか、Opera6 が起動しなくなりました。起動しようとすると即座にクラッシュする。
いい機会だと思って Opera7 に乗り換えようとしてるのですが、やはり微妙な挙動の違いが引っかかってしょうがない。特に A / Q でのリンクの選択 (Highlight next URL / Highlight previous URL)。これさえどうにかできれば Opera6 を捨てるんですが。
Blackbox 0.0.82 から xoblite 0.3.8.29 に変更したら、BBKeys で他のプログラムを起動しようとするたびにハングアップします。XP なのに Ctrl-Alt-Del すら利きません。
以前試したときは問題なかった (Ctrl-Alt-Del すら利かないことがあったなら覚えてる) と思うのですが、何でだろう。プラグイン周りの相性か。
BBKeys が使えないと何もできませんよ。どうしたものか。xoblite の変更点を考えると使いたくなるのに。
3D Color Changer 4 ですが、私の環境では文字色と背景色が同じ色になってしまって使えたものではありませんでした。配色が原因かと思って標準の配色に戻しても変わらないですし。
という訳ですぐに削除。
以前のバージョン (3000) のものとは共存できませんので注意。どちらもレジストリの同じところを参照していますから。
また、4 のインストールとアンインストール時にレジストリが変更されるため、既に 3000 をインストールした状態だと少々面倒なことになります。手動で設定しなおせばいいだけですが。
ただし shareware になってしまっている。一つ前のバージョン (多分 3000) はフリーなので、US $10 を払いたくなければ前のままでもいいか。
と思ったのですが、3D Color Changer 4 の配布元をちらっと見た限りでは、機能の制限とか、支払いを促すようなメッセージとかはないらしい。むしろ donation-ware に近い (何て訳すんだろう。カンパウェア?)。
後で試してみるか。
とある書店、情報関係の本が置いてある辺りの一角。
いやまあ、言いたいことは解りますが。
Perl 関連の書籍までこの一角に押し込められてるのも解らなくはありません。でも C 言語は置く場所が違うと思います。
なかなか興味深い。考えてみればゲーム機はハードの制限が結構厳しいし。ゲーム屋じゃないとなかなか気付けないな。
後、やはりインターポジショニングは微妙なライン、というところか。
139 名前: デフォルトの名無しさん 投稿日: 2001/02/23(金) 23:26
ゲーム機のプログラムではmalloc使うと怒られます。
153 名前: 虹 投稿日: 2001/02/25(日) 03:28
ヒープ(malloc)でのメモリ確保だと、malloc/freeする順番により
隙間ができたりするのでデバッグが大変だと思うのですが。
ゲーム開発で使うなんて信じられん。
154 名前: デフォルトの名無しさん 投稿日: 2001/02/25(日) 05:20
mallocというか、ヒープはつかうでしょ、普通。
虫食いは確かに困るけど、そのへんは気をつけて組むし。
ヒープ禁止して異様なプログラムスタイルになるほうが
よっぽど害になると思うのだが。
155 名前: デフォルトの名無しさん 投稿日: 2001/02/25(日) 09:24
ヒープは使うが、malloc相当のものは自分で用意するし、
コーディング自体も、不確定な領域を適当にmalloc相当関数で
取得する、なんて事は絶対しないな。
156 名前: 144 投稿日: 2001/02/25(日) 12:51
>>153 メモリ上に常駐する領域と、一時領域の確保戦略を違うものにすれば、
隙間ができる問題はほとんど無視できるでしょ。
>>155
malloc相当のものを自分で用意するかはいつも悩むんですが、
システム側の関数(特にprintf系)がmallocを使っていることが
多くて、なかなか悩ましいですね。
mallocのインターポジショニングで確実にシステムライブラリ内の
メモリ確保系を乗っ取れているのか確認が難しいしなぁ...
164 名前: デフォルトの名無しさん 投稿日: 2001/02/25(日) 16:29
>>155 言ってる事が良くわかんないのですが。。。
malloc相当のものは自前で用意するのに、
その用意した関数でメモリ確保したりしないの??
malloc相当のものを自作して使用するのなら、
素直にmalloc使っておけ、と思うのは間違ってますかね?
その自作したmalloc相当のほうが、
はるかにメモリ割り当て戦略が優れている、とか、
ぜったい隙間ができない、というのなら自作も良いかも知れないけど。
というか、そういうヒープ管理の方法あったら教えて欲しい。
165 名前: デフォルトの名無しさん 投稿日: 2001/02/25(日) 21:49
隙間ができたらつめるってのはどうですか?
アドレスが変わるじゃねーかゴルァというツッコミに対しては、
ポインタはテーブルで引くことにすれば解決。
166 名前: デフォルトの名無しさん 投稿日: 2001/02/25(日) 21:54
>>165
それはMS-Windows 3.x以前やSX-Windowで言うところのメモリハンドル
みたいなもんなので、MMUがなかった昔のコンピュータが使ってた常套手段。
コンパクションすると、マーク&スイープ式ガベージコレクタみたいに
処理が止まるとこが、ゲーム屋的に許容できないと思う。
167 名前: デフォルトの名無しさん 投稿日: 2001/02/25(日) 23:19
>>164 155ではないが、mallocを自作するのは優れているからというより、
メモリ管理まわりの挙動を自分で管理したいからってのが本音だね。
で、結局不確定なサイズを取得したり開放したりを繰り返すのは、
どうしてもメモリに虫食いが出来るので、あまりやらない。
虫食いが出来ると、メモリに収まるようにデータ・使用メモリサイズ
設計していても、失敗する可能性が出てくるので、限界までメモリを
使うことが出来なくなってしまうし。
だから結局ある程度計画的にメモリ確保や開放を行うので、パソコンで
プログラムする人がやるような、必要なところで確保して、使い終ったら
すぐ開放するみたいな使い方はしないのです。
168 名前: デフォルトの名無しさん 投稿日: 2001/02/25(日) 23:32
>>164
家庭用ゲーム機やアーケードのゲームだと
ある1シーン内(タイトル画面とか、戦闘モードとか)で使うメモリを
自作mallocで確保して、シーンが変わったら
ヒープまるごと初期化とかよくやるっす。
これなら少々予期しないリークがあっても大丈夫なので。
169 名前: デフォルトの名無しさん 投稿日: 2001/02/25(日) 23:43
ゲーセンだと最低14時間(10:00〜24:00)ピンピン動いてくれなきゃ困るし、
50時間かかるRPGをノンストップでクリアするよーな人もたくさんいますからな。
しかもメモリは2MB〜32MB程度、仮想記憶という保険もなし。
となると、メモリ管理面でPCとは別の戦略が発生するのは必然って感じダスな。
ま、最近だと安易にmalloc使っちゃうけど(ぉ
173 名前: 164 投稿日: 2001/02/26(月) 00:27
いや、私もゲーム屋なんですよ、一応・・・
結局必要なのは計画的なmallocの使用であって、
mallocを全面禁止というわけではないですよね?
その際、自作mallocか出来合いのmallocかは
それほど関係ないと思ったのでした。
(自作のほうが挙動全て把握できるというのは了解です)
いや、なんかみんな「mallocつかうと虫食いになるからダメ」
って感じだったんで、そうじゃないでしょ、計画的に使えば
全然おっけーでしょ、って主張したかったのでした。
Python 2.3.2: re 周りで不可解な現象の答え。
どの段階で fix されたかわからないけど、 2.4 ブランチでは fix されています。
おかしかったのは「select」だったか……
Perl の $var のような変数の表記で思い出した。N88-BASIC だと文字列変数は var$ のように記述したはず。整数だと var%、単精度実数だと var!、倍精度実数だと var# だった気がする。で、サフィックスがないと単精度実数扱い。
今見るとすごく変だ。Perl は……まあ変じゃないけれど、ソースを見たときに $ の嵐で嫌になる。
解らない。
Python で以下のことをしてみる。
Python 2.3.2 (#1, Oct 9 2003, 12:03:29)
[GCC 3.3.1 (cygming special)] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from re import compile
>>> r = compile(r"([a-z]+)(?:[ \t]+(?:([0-7]{3})|(text|binary)|([a-z]+)))*")
>>> r.match("file").groups() # 1
('file', None, None, None)
>>> r.match("file 604").groups() # 2
('file', '604', None, None)
>>> r.match("file 604 text").groups() # 3
('file', '604', 'text', None)
>>> r.match("file 604 text alias").groups() # 4
('file', '604', '', 'alias')
>>>最初の三つは期待した結果なのに、四番目の場合に match.group(3) で空文字列が返ってくるのが理解できない。マッチしたなら 'text' か 'binary' となるはずで、マッチしなかったなら None となるはずだ。なのに空文字列。何故だ。
Perl で同様のことをしてみる。
$r = '([a-z]+)(?:[ \t]+(?:([0-7]{3})|(text|binary)|([a-z]+)))*';
@a = ("file", "file 604", "file 604 text", "file 604 text alias");
foreach $i (@a) {
$i =~ m/$r/;
print "$i: `$1', `$2', `$3', `$4'\n";
}で、上記の出力が、
file: `file', `', `', `' file 604: `file', `604', `', `' file 604 text: `file', `604', `text', `' file 604 text alias: `file', `604', `text', `alias'
となる。ちゃんと $3 (Python で云うと match.group(3)) に 'text' が入ってるのですよ。
正規表現が誤っていたのなら Perl でも Python でも同じ結果のはずだが、Perl だと期待通りの動きをしている。何故だ。
「select」はおかしくない、はずだろうし。ドキュメント読み直すかな。
余談: 上のコードを書こうとして気付いたのだけれど、すっかり Perl のことを忘れてる。foreach $i in @a {...} とか書いちゃったよ。混ざり過ぎだ。
Ion was written as an experiment on a different kind of window management model and it tries to address the navigation problem by having the screen divided into frames that take up the whole screen and never overlap.
(適当な訳) Ion は一つの異なるウィンドウマネージメントモデルの実験として書かれ、また、スクリーンを複数のフレーム (スクリーン全体を占め、決して互いに重ならないよう) に分割することでナビゲーションの問題に取り組もうとしています。
壁紙見れないじゃん、という無粋なツッコミは入れちゃ駄目か。
beatmaniaIIDX 4th style -new songs collection- 買っちゃった。
取り敢えず、鍵盤七つだと指が足りません。むずぃ。