最終更新: 2009-12-30T04:34+0900
ケ | CoolerMaster COSMOS 1000 | ¥27000 | パ |
---|---|---|---|
ケ | CoolerMaster SIDE WINDOW BLACK (for COSMOS S) | ¥6500 | 吸音材はなくなるけど中が見えると楽しい。(自分で組んだからなおさら) |
PSU | Owltech Seasonic M12 600W (SS-600HW) | ¥16500 | 効率はより新しい M12Dシリ |
M/B | MSI 790FX-GD70 (MS-7577) | ¥20000 | シ |
CPU | AMD PhenomⅡ X3 720 Black Edition (Socket AM3) | ¥15000 | Windowsスコア 5.8(Windows 7では 6.7)。コア数よりクロ |
CPUク | CoolerMaster V8 | ¥10000 | 見た目と存在感のみで選んだ。ケ |
RAM | BUFFALO FIRESTIX DDR3-1066 2×2GiB (FSX1333D3G-K4G) | ¥7800 | Windowsスコア 5.9(7.5)。赤いヒ |
VGA | SAPPHIRE ATI Radeon X1600 (DDR2 512MiB) | SN25Pから移植 | Windowsスコア 4.5(4.5)(Aero)、4.9(4.6)(Game)。 |
HDD | いくつか | SN25Pから OSごと移植 | Windowsスコア 5.9(5.9)。Windowsのライセンスを有効にするために電話が必要だ |
光学ドライブ | DVDいろいろ対応(IDE接続) | SN25Pから移植 | |
FDD | ふつ | SN25Pから移植 | M/B付属のケ |
RAID | HighPoint RocketRaid 2302 | SN25Pから移植 |
COSMOSと 790FX-GD70の組み合わせは良い。ケ
COSMOSの電源LEDは青色で点灯・消灯の 2モ
今使
閑話休題。COSMOSについて。COSMOSの天板は他で言われているように振動して音を出す。いまは無事でもそのうち音を出すようになります。何か物を置くか、内側におもりを貼り付けでもすればよいか。>>>プチプチを詰めました。
排気フ
今はグラフ
SpeedFan 4.37はこのように報告する⁂が
Win9x:NO 64Bit:YES GiveIO:NO SpeedFan:YES Scanning ISA BUS at $0290... Scanning AtiIgp SMBus at $0B00... F75387 found on SMBus at $2E F75133S found on SMBus at $36
GreenPowerCenterⅡによると LPC I/Oは Fintek F71889Fだ。(OC Dialの上に蟻
本当に楽しみだから、待ちきれずに届く前に書いてしまう。次の PCのためにケ
いかにも PCという見た目の無骨なタワ
最終更新: 2010-01-30T00:03+0900
キ
省スペ
Insert | Home | PageUp |
Delete | End | PageDown |
MSの今使
Home | End |
Insert | PageUp |
Delete | PageDown |
縦長の配置にな
一般のキ
終了。
一般的な配置の場合、Insert、Home、Endをロ
Home | End | PageUp |
Delete | Insert | PageDown |
こうしたら、左上辺(Home, End)、右辺(PageUp, PageDown)、左下角(Delete)として、よく使うキ
Majestouchがもうじき届くのでキ
今使
(旧) BenQ FP937S+ | (新) MITSUBISHI MDT243WG | ||
---|---|---|---|
サイズ | 19インチ(376mmx301mm) | 24インチ(518mm×324mm) | 大きくな |
解像度 | 1280×1024 | 1920×1200 | 縦にも横にも広くな |
横:縦 | 5:4 | 16:10 | ワイドにな |
画素ピ | 0.294mm | 0.270mm | 画素の密度が上が |
パネル | TN (Samsung, AUO) | A-MVA (AUO) | TNから VAに。旧モニタが初めての液晶モニタだ |
輝度 | 300cd/㎡ | 500cd/㎡ | 500は明るすぎ。今のモニタでもブライトネス 0で使 |
コントラスト比 | 700:1 | 1000:1(2000:1 CRO) | VAパネルの黒に期待。 |
視野角(上下/左右) | 135°/150° | 178°/178°(コントラスト比10) | TNは見下ろす角度以外では使い物にならないので、ごろ寝も縦置きもできない。カタログスペ |
応答速度 | 8ms | 6ms (gray to gray), 16ms | 旧モニタは黒背景に白文字が覿面に弱か |
入力 | DVI-D, ミニD-SUB 15ピン | DVI-D(HDCP対応), ミニD-SUB 15ピン, HDMI×2, D5端子, S端子, コンポジ | PS2を、映ればもうけもんみたいな NOVAC EntaVision HDで接続するのをやめたか |
消費電力 | 40W(最大) | 110W(最大) | 画面サイズの差を差し引いても、TNパネルは消費電力と価格の低さが魅力。 |
VESAマウント | 100mm×100mm | 200mm×100mm | 200×100は一般的じ |
その他 | グランツ | リモコン付き。前後傾以外に首振り、高さ調節可能。前モデルと同様、ミ |
海外レビ
Regular Expression Cookbook
Oreilly & Associates Inc
¥ 4,073
「XRegExp: JavaScript regex library」は、「SyntaxHighlighter(Ver.2.0)」で使われていたので知
XRegExp(Ver.0.6.1)が、Firefox 2,3、Internet Explorer 5.5-8β1、Safari 3.1、Opera 9.27の JavaScriptに付け加えて利用可能にする正規表現の機能は
後方参照も可。String.replace()での使用も可。
「.」が改行にもマ
ほとんどの空白を無意味なものにしたり(=パタ
(?#ここにコメント)
こんなの。\p{L}, \p{M}, \p{N}, \p{InHiragana}, \p{InKatakana}。否定は大文字のPで \P{}。
文字集合の中で使えないという制限があるが、若干の工夫でなんとかなる。
使い所が限定されていそうだ
(独り言) 名前付きキ
XRegExpのコンストラクタに「脳log[2008-01-11-p01] 鬼車すごい。正規表現で再帰ができる。」で書いたようなパタ
正規表現に関連するいくつかのメソ
IEなどが、幅0の文字にマ
(独り言) limitを指定したときに戻
例えば再帰の深さの上限を 10や 20と決めてしま
驚いた。大部分がライブラリの機能紹介という退屈な(<作者本人が一番よく知
1.0のソ
最終更新: 2014-12-24T10:54+0900
個人的にはなくても不便はないけども、番号を表示する方法のアテができたので。
求める条件は
SyntaxHighlighterのように "view source", "copy to clipboard"機能を用意して、行番号が一緒にコピ
WP-Syntaxがや
でも行番号あり・なしで二通りの出力フ
つまり、CSS2の counter-reset, counter-increment, counter に全面的に頼
pre.sh_sourceCode.sh_numbered .odd:before, pre.sh_sourceCode.sh_numbered .even:before { counter-increment: sh_sourceCode; content: counter(sh_sourceCode, decimal-leading-zero) ": "; }
--- sh_main.js-0.4.2 Mon May 12 23:07:40 2008 +++ sh_main.js Fri Mar 13 23:29:34 2009 @@ -60,6 +60,8 @@ currentStyle = style; }; + var oddLine = false; + var endOfLinePattern = /\r\n|\r|\n/g; endOfLinePattern.lastIndex = 0; var inputStringLength = inputString.length; @@ -78,6 +80,7 @@ } var line = inputString.substring(start, end); + builder.startElement((oddLine = !oddLine) ? 'odd' : 'even'); var matchCache = null; var matchCacheState = -1; @@ -158,6 +161,7 @@ builder.endElement(); } currentStyle = undefined; + builder.endElement(); if (endOfLineMatch) { builder.text(endOfLineMatch[0]); } @@ -307,8 +311,13 @@ @param element a DOM <pre> element containing the source code to be highlighted @param language a language definition object */ -function sh_highlightElement(htmlDocument, element, language) { +function sh_highlightElement(htmlDocument, element, language, firstline) { sh_addClass(element, "sh_sourceCode"); + if (firstline !== null && ! isNaN(firstline)) { + // cssのセレクタで区別できるように。 + this.sh_addClass(element, "sh_numbered"); + element.style.counterReset = "sh_sourceCode " + (parseInt(firstline) - 1); + } var inputString; if (element.childNodes.length === 0) { return; @@ -345,7 +354,8 @@ if (prefix === "sh_") { var language = htmlClass.substring(3); if (language in sh_languages) { - sh_highlightElement(htmlDocument, element, sh_languages[language]); + // firstlineなんて非標準属性をでっちあげないで + // スクリプトにパラメータを渡す方法は? + // (class属性を乱用するのは気に入らない) + sh_highlightElement(htmlDocument, element, sh_languages[language], element.getAttribute("firstline")); } else { throw "Found <pre> element with class='" + htmlClass + "', but no such language exists";
sh_main.js (version 0.5)への変更も似たようなものだけど、sh_load()の中にも変更すべき場所がある。
sh_main.js (version 0.6)を対応させるのは面倒なので省略。0.4.2も実はそうだ
// URL inside comment. <http://vvvvvv.sakura.ne.jp>
ハイライトされた結果の HTMLはこうなる。
<span class="sh_comment">// URL inside comment. <</span><span class="sh_url"><a class="sh_url" href="http://vvvvvv.sakura.ne.jp">http://vvvvvv.sakura.ne.jp</a></span><span class="sh_comment">></span>
フラ
<<< language, number >>>
を
<pre class="sh_language" firstline="number"> </pre>
に変換します。
--- hikidoc.rb.108 Thu Aug 28 22:11:00 2008 +++ hikidoc.rb Fri Mar 13 23:05:05 2009 @@ -335,7 +378,7 @@ @output.preformatted(@output.text(text)) end - BLOCK_PRE_OPEN_RE = /\A<<<\s*(\w+)?/ + BLOCK_PRE_OPEN_RE = /\A<<<\s*(.*\S)?/ BLOCK_PRE_CLOSE_RE = /\A>>>/ def compile_block_pre(f) @@ -665,9 +706,18 @@ end def block_preformatted(str, info) - syntax = info ? info.downcase : nil + syntax, firstline = *(info ? info.split(/\s*,\s*/) : []) + syntax = syntax.downcase if syntax + firstline = /\A[-+]?\d+\z/.match(firstline).to_a[0] if firstline if syntax begin + attr_firstline = firstline ? %Q( firstline="#{escape_html_param firstline}") : "" + @f.print %Q(<pre class="sh_#{escape_html_param syntax}"#{attr_firstline}>), text(str), "</pre>\n" + @f.puts inline_plugin(%Q(shjs #{syntax.dump})) + return + convertor = Syntax::Convertors::HTML.for_syntax(syntax) @f.puts convertor.convert(str) return
お試しください。
Firefox> 行番号が選択されたり選択されなかったりする。見た目の選択範囲に関わらず行番号はコピーされない。 Safari> 行番号も選択範囲に入るがコピーはされない。 Opera> 行番号がコピーされる。 IE8> 行番号がコピーされる。ダメダメだあ。(この機能は封印しよう)
や
この方法だと、preを一旦取り除いて tableの下に追加する関係からか、同じ preにハイライト処理が二回走
Internet Explorerは 8にな
二重処理を防ごうと Array.prototype.sliceを使
<table>を使うとその中の <pre>の幅が、内容に同期している(最小にして十分なサイズ)。他の <pre>と同じように、いつでも本文と同じ幅に揃えたいな
<pre class="sh_javascript" firstline="00339"> このような <pre>を出力すると…… </pre>
00339 00340 00341 00342 00343 00344 00345 00346 00347 00348 00349 00350 00351 00352 00353 00354 00355 00356 00357 00358 00359 00360 00361 00362 00363 00364 00365 00366 00367 00368 00369 00370 00371 00372 | sh_putLinenumber: function(element, param, inputString) { var startline = parseInt(param, 10); var opt = /^([-+]?)(0*)(\d+)/.exec(param); var opt_explicit_sign = (opt[1] === '+') ? '+' : ''; var opt_zero_padding = (0 !== opt[2].length) ? new Array(opt[2].length + opt[3].length + 1).join('0') : ''; var re_zero_padding = new RegExp('^0+(?=\\d{' + opt_zero_padding.length + '})'); var nums = inputString.match(/(?:\r\n?|\n)(?!$)|$/g); if (0 !== opt_explicit_sign.length || 0 !== opt_zero_padding.length) { for (var i = 0; i !== nums.length; ++i) { nums[i] = (0 < startline + i ? opt_explicit_sign : startline + i < 0 ? '-' : '') + (opt_zero_padding + Math.abs(startline + i)).replace(re_zero_padding, '') + nums[i]; } } else { for (var i = 0; i !== nums.length; ++i) { nums[i] = '' + (startline + i) + nums[i]; } } var d = element.ownerDocument; var e = {table:'table', tbody:'tbody', tr:'tr', tdLeft:'td', pre:'pre', tdRight:'td'}; for (var p in e) { e[p] = d.createElement(e[p]); } element.parentNode.replaceChild(e['table'], element); e['table'].appendChild(e['tbody']).appendChild(e['tr']); e['tr'].appendChild(e['tdLeft']).appendChild(e['pre']).appendChild(d.createTextNode(nums.join(''))); e['tr'].appendChild(e['tdRight']).appendChild(element); e['table'].className = 'sh_sourceTable'; e['pre'].className = 'sh_sourceCode sh_numbers'; return element; }, |
341-344、346-354、358行がオプシ
固定幅というわけではなくて、0の数以上に繰り上がれば桁が増える。上の場合では 99999行目を超えたとき。テストする段で気付いたが、最低でも 92行のソ
正規表現を持ち出すまでもなく、適切な数の 0をく
<pre>直後の改行は存在しないかのように扱われるが、</pre>直前の改行は存在する(スクリプトで取得できる)ものの表示されない(4つのブラウザで確認)。というわけで、末尾の空行に行番号を付けてしまうと列の左右で行の数が一致しなくなる(だから除外する)。
Google Chrome(1.0.154.53)は
<pre>.innerHTML = <pre>.innerHTML
とやるたびに先頭の改行文字を取り除いてい
トンデモ IEさんは <pre>.innerHTML= だろうと <tag style="white-space:pre">.innerHTML= だろうと空白をトリミングしてくれますしね。
テストが不十分なので、langフ
最小化方法は JSMin。ためしに YUI Compressorにもかけてみたがロ
小手先の変更もいくつか加えた。(ブラウザ判別コ
♭ 通りすがりのTブラウジングしていたらたまたまこの記事を見つけました。 キ ー配置の意見は僕も全く同じです。 次キ ーボ ードを買い換える..