「ARC」を含む日記 RSS

はてなキーワード: ARCとは

2025-11-07

Arc Raidersやり過ぎて留年しそう

ってやつ、世界で見たら100人くらいはいると思う

2025-10-26

フリック入力発明」とは何を発明したことを指すのか?

ダイヤモンドの↓の記事が盛りすぎでブクマカが釣られまくっているので、ちょっと落ち着けという意味で少し解説する

フリック入力発明して「人生100回分」稼いだ日本人AppleじゃなくてMicrosoft特許を売却したワケ

https://b.hatena.ne.jp/entry/s/diamond.jp/articles/-/374568


普通の人が「フリック入力発明」というフレーズを見たら、どっちを想像する?

1. 上下左右方向のフリック操作文字入力する手法を考案した

2. 1を改良し、入力効率を向上させる工夫を考案した

普通は1を想像するよね。でも、上の記事の「発明」は2の意味。8割くらいのブクマカはここを勘違いしてコメントしてるように見える

同じ発明家氏の記事でも3ヶ月前の東洋経済のほうは、「フリック入力発明」という釣りフレーズこそ使っているものの本文を良く読めば発明キモの部分が2であり1では特許を取れなかったことがそれなりに分かるように書いてある

フリック入力」を発明Microsoftに売却した彼の"逆転"人生。元・売れないミュージシャンフリーター家賃3万のボロアパートでひらめく

https://b.hatena.ne.jp/entry/s/toyokeizai.net/articles/-/889631

もちろん2の意味発明もスゴイし重要なんだけど、釣りは良くないよね

解説

そもそも世の中のほとんどの技術は様々な発明アイデア集合体である歴史の積み重ねであり、最終形がいきなり湧いて出るわけではない。もちろん「フリック入力」にも歴史の積み重ねがある。それを少し紐解いてみよう(なお、下記の「年」は引用可能特許論文が出た時期であり、実際にはそれよりもっと前にソフトウェアリリースされていたりアイデアメーリングリスト投稿されていたりすることもある)

[追記]※増田仕様ひとつ記事に貼れるリンク数に制限があるため一部URLのhを抜いている点、不便ですがご了承ください[/追記]

pie menu (1988年)

ttps://dl.acm.org/doi/10.1145/57167.57182 (論文)

放射状に選択肢を並べるUIアイデア1960年代から見られるが、接地点からの移動方向情報を用いた入力手法の祖としてはとりあえずこれを挙げることができるだろう。これは文字入力に特化したものではなく、一般的メニュー選択のための手法である

T-cube (1994年)

ttps://dl.acm.org/doi/10.1145/191666.191761 (論文)

pie menuを文字入力に応用したもの論文の著者はAppleの人。英語用。広義の『「フリック入力」の元祖』に最も該当するのは、おそらくこれだろう

かなT-cube (1997年)

ttps://rvm.jp/ptt/arc/227/227.html

ttp://www.pitecan.com/presentations/KtaiSympo2004/page65.html

T-cube日本語に応用したもの。広義の『日本語版「フリック入力」の元祖』の候補

Hanabi (1998年)

https://web.archive.org/web/20080925035238/http://www.j-tokkyo.com/2000/G06F/JP2000-112636.shtml (特許)

https://newtonjapan.com/hanabi/

Apple Newton (PDA)用に実装された文字入力UI。「中央が『あ』、上下左右方向が『いうえお』」に対応する見慣れた形のフリック入力がここで登場する。『現在よく見る形の日本語版「フリック入力」の元祖である。なお、開発者特許申請したもの審査請求しておらず、特許としては成立していない

00年代前半ごろ

この頃、Human-Computer Interaction分野でT-cubeHanabiの発展としての文字入力手法研究が活発になり、特に国内学会で多くの手法が発表された。情報系の学生卒論修論テーマとして手頃だったからだろう。PDA製品実装されて広まった例もあり、SHARP Zaurus用のHandSKKや、少し時代が下ってATOKフラワータッチ等もこの系譜である

なお、この頃までの技術は指での入力ではなくペンスタイラス)による入力を想定したものが主であるiPhoneの登場以前はキーボードレスモバイル端末といえばPDAタブレットPCなどスタイラス入力を前提としたデバイスが主流だった)

iPhone日本上陸 (2008年7月)

スマートフォン上の「フリック入力」の元祖』であり『予測変換機能を備えた「フリック入力」の元祖である日本語フリック入力効率を考える上で予測変換の占めるウェイトは大きく、「実用的なフリック入力」を実現するには予測変換との組み合わせは外せない。2006年Apple招聘されてiPhoneフリック入力機能を開発した増井俊之氏は元々予測変換のPOBox1998年 - ttps://dl.acm.org/doi/10.1145/274644.274690 )の開発者として知られる研究者であり、Appleへの招聘もその経験を買われてのものだろう。入力フリック操作を用いること自体特筆すべきものではなく、当時の流行を考えれば自然選択だったと思われる

なお、前述のHanabi開発者氏がiPhoneフリック入力を見て

これってボクが10年前にNewton用に作った入力方式Hanabi」じゃないですか(驚き)

ttps://newtonjapan.com/blogO/?p=232

と言っている一方、増井氏はHanabiに対して

知らんがな

ttps://scrapbox.io/UIPedia/Hanabi

と言っている。この分野の研究をしていて知らんことあるか?とも思うが、電話テンキーの上に五十音かなのフリック入力実装すると誰が作っても概ねHanabiのような外観になると思われるので、本当に知らなかったとしても齟齬はない

発明ミュージシャン小川コータ氏の発明 (出願: 2008年1月登録: 2011年3月)

ttps://www.j-platpat.inpit.go.jp/c1801/PU/JP-2008-282380/11/ja (特許)

『画面表示は絶対座標+移動判定は相対座標で行うことで「フリック入力」の入力効率を向上させる手法特許である(詳しい仕組みは上記東洋経済記事に書いてある)。ペン先と比べて指先は太いため指によるタッチでは厳密な操作が難しく(fat finger問題)、「実用的なフリック入力」を実現するにはこのような工夫も必須になる。小川氏の凄いところは、スマホ日本語UIリリースするならどのメーカーも必ず実装するであろうこの工夫を、日本iPhoneリリース直前、Apple社としては引き返せないであろうタイミング特許申請したところだ。機を見るに敏すぎる。特許庁に2回も拒絶された特許を不服審判で認めさせているところも本人が弁理士からこそできる強さだと思われる

なお、氏の記事を読むと「フリック入力自体を氏が考案したように思えてしまうが、ここまでに述べた通りそれは誤りである。「フリック入力に関連する重要特許公報に『発明者』として掲載されている」ことは疑いない事実なので「フリック入力発明者」と称するのはギリギリ誤りではないと言えないこともないが、「フリック入力発明した」はやはりダメだろう。上述の通りフリック入力自体90年代に既に登場しており00年代の前半にはタッチスクリーン上のかな入力手法一角を占めるに至っていたので、iPhone実装されたことは不思議でもなんでもなく、

しかしたら、僕がプレゼンした相手が、自分発明たかのように社内プレゼンしたのかもしれません。そこは闇の中です。

このあたりは荒唐無稽邪推すぎて、ソフトバンクから名誉棄損で訴えられたら危ないのでは(そもそもiPhoneフリック入力を開発したのはAppleであってソフトバンクではない)

まとめると、さすがに小川氏の記事はモリモリに盛りすぎである書籍宣伝にしても酷すぎる。価値の高い特許を取った発明であることは事実なのに、なぜこういう胡散臭いムーブをしてしまうのか

ここまでの事実をふまえて、Wikipediaの「フリック入力」の項

2023年6月までは妥当説明だったのに

1998年Apple Newton用に開発された日本語入力システムHanabi」が草分けで、2008年iPhone採用されたことで、急速に広まった。従来の「あ段→い段→う段→え段→お段」とキーのプッシュを繰り返して表示・入力する方式トグル入力)に比べ、素早い入力可能になる。その入力効率の高さから2010年頃にはキーボード離れが加速している[1]。

https://ja.wikipedia.org/w/index.php?title=%E3%83%95%E3%83%AA%E3%83%83%E3%82%AF%E5%85%A5%E5%8A%9B&oldid=95808357


同年11月の編集唐突に不自然小川推しに改変されている

1998年Apple Newton用に開発された日本語入力システムHanabi」[2]が草分けで、2008年iPhone採用されたことで、急速に広まった。日本におけるフリック入力は、発明家でシンガーソングライター小川コータiPhone上陸以前に考案し2007年から2015年にかけて特許出願した[3]ものであり、取得した権利マイクロソフト譲渡された[4]。

https://ja.wikipedia.org/w/index.php?title=%E3%83%95%E3%83%AA%E3%83%83%E3%82%AF%E5%85%A5%E5%8A%9B&oldid=97947525


ただ、これはおそらく関係者自作自演等というわけではなく、日本におけるフリック入力関連特許小川のものばかりであることからボランティア編集者が勘違いしてこのような記述にしてしまったのではないかフリック入力は前述のように地道な技術差分の積み重ねなので、個々の差分開発者が「特許」を取ろうという気にならないのは良く分かる。その点でも、自ら弁理士として特許を量産した小川氏の強さが際立っている(が、やはり盛りすぎは良くないと思う)

2025-09-27

ジャンヌ・ダルクまさか原宿降臨!?~神の啓示がパリセンの音に変わる~

時は令和、空前の「ASMRスイーツブームが最高潮ザクザク食感とか、パキパキ割れる音とか、みんなが「五感で楽しむ」と「新しい体験」を求めてた20XX年。そんな中、東京原宿竹下通りに、マジで浮世離れした女の子が現れたんだってちょっと古めかしい鎧っぽい服に、なんかこう、優しくて芯の強い、超絶オーラをまとったお方。「え?外国人モデルコスプレイヤー?」ってみんなが遠巻きにしながらも、その圧倒的な存在感に目を奪われてたらしい。

「わたくしは…ジャンヌ・ダルクにございます。」

え?マジで?あのフランスを救った聖女で、「オルレアン乙女ジャンヌ・ダルク!?ゲキヤバ!って歴史好きのギャルたちがスマホで速攻ググり始めた瞬間、その超絶健気なお方、もといジャンヌ様は、あたりをキョロキョロしながら呟いた。「ここは…シノンではない、か…?ずいぶんと賑やかで、しかし活気にあふれた場所ですわね。」って、マジで中世ヨーロッパからタイムスリップしてきたみたい!「マジありえん!」ってみんな心の中でツッコミつつも、その透き通るような瞳に、何か強い信念を感じてたらしい。

そんなジャンヌ様に、恐る恐る話しかけたのは、原宿タピオカ飲み歩きしてる、流行最先端ギャルヒカリ。「あの…もしよかったら、何かお困りですか?」「…はい、少々。見慣れぬものばかりで、いささか戸惑っておりまする。」って、意外と丁寧な言葉遣いヒカリ、その純粋そうな雰囲気ちょっとキュンとしつつ、「アタシ、ヒカリ原宿ことなら、何でも聞いて!ジャンヌちゃんマジで可愛いから、アタシが案内してあげてもいいよ!」って、キラキラ笑顔で声をかけたんだって

次の日、ヒカリに連れられて、ジャンヌ様は初めて現代日本体験クレープとか、最新のファッションとか、マジで全てが新鮮!でもね、ジャンヌ様が一番興味を示したのは、街角のお煎餅屋さんで、観光客が美味しそうに食べてたもの。「…この、平たいお菓子は、何というものでございますか?ずいぶんと素朴で、しかし音が出ますわね。」って、マジ真剣眼差しヒカリまさかの渋すぎるチョイスに驚きつつ、「あ~、これ、パリセン(パリパリのお煎餅)ですよ!割る時の音がめっちゃ気持ちいいんです!」って教えてあげたんだって

ジャンヌ様、一口食べてみたら…「な、なんなのだ、この奥深き味わいは!?噛みしめるたびに響く、この心地よい音と、素朴な米の旨味…まるで、神の啓示を聞いた時のような、確かなる響きである!これこそ、わたくしが求める、真の糧よ!」って、マジで聖女っぽい表現で感動してたらしいよ。

そこからジャンヌ様のパリセン愛がマジで爆発!毎日色んなお煎餅屋さんを巡って、パリセンを使った料理スイーツを食べまくってたんだって。「米の種類、焼き加減、味付け…研究しがいがありすぎる!」って、もはやパリセンマイスターレベル

でね、ある日、ジャンヌ様、マジで下取りの野望を語り出したの。「わたくしは、このパリセンをもって、再び天下を…とは言いませんが、この甘味世界において、人々の心に確かなる『響き』を与え、真の『希望』をもたらすパフェ創造してみせましょうぞ!これこそ、わたくしが目指す、『啓示パフェ』よ!」って!

え?パリセンパフェ天下統一しかも「啓示」とか!マジで壮大すぎる!でも、ジャンヌ様の「神の啓示を聞いた」っていう魂があれば、きっと何か成し遂げるに違いない!ってヒカリも思ったらしいんだけど、ジャンヌ様の目はマジだったんだって。戦乱の世を救った情熱が、令和のパリセンパフェに新たな戦場見出したのかもね!

そっからジャンヌ様のパリセンパフェ天下統一計画スタート!まずは、SNSで「#ジャンヌ・ダルクパリセン啓示」ってハッシュタグ作って、毎日自作の超絶斬新だけど美味しいパフェ画像をアップし始めたんだって。その奇抜すぎる見た目と、ジャンヌ様の哲学的コメントが、一部のASMR好きギャルや、個性派の人たちの中でじわじわバズり始めた!

ジャンヌちゃんが作るパリセンパフェマジで気になる!」

聖女が作るスイーツとか、絶対何か奥深い!」

パリセンパフェって、意外とアリかも…?」

SNSジャンヌ様のパリセン愛でじわじわ盛り上がり!しかも、ジャンヌ様、ただ作るだけじゃなくて、全国各地の珍しいお煎餅や、パリセンに合う最高のフルーツクリーム、そして日本の伝統的な甘味料を探し求めたり、甘さと塩味、そしてパリセンの「調和」を追求したり、マジでストイック!「天下のパリセンパフェ」を目指して、日々試行錯誤を繰り返してたんだって

で、ついに!ジャンヌ様は、渋谷のど真ん中に、自分プロデュースするパリセンパフェ専門店「JEANNE D'ARC PARFAIT - 聖なる響き - 」をオープンさせちゃったの!お店の内装も、フランス教会イメージした、豪華絢爛ながらも厳かなデザインで、ジャンヌ様の美意識と信念を表現店員さんも、騎士風のモダンユニフォーム着てて、マジでクール

オープン初日から、異色グルメ好きギャルや、好奇心旺盛なインフルエンサー、そして日本の伝統文化に興味を持つ人々まで、行列を作って押し寄せた!「SNS話題パリセンパフェマジで挑戦してみたい!」「ジャンヌ様って、なんかカリスマ!」って、新しいファンが続々!でね、一口食べたら、みんなその奥深い味わいにハマっちゃうらしい。「うわっ、最初ビビったけど、甘いのにパリセンの食感と音が最高!」「食べた後、なんか心が清められる気がする!」「ジャンヌ様、マジで神!」って、賛否両論ありつつも、リピーターが続出!口コミが広まりまくって、JEANNE D'ARC PARFAIT - 聖なる響き - はあっという間に人気店になっちゃったの!

しかもね、ジャンヌ様、ただお店やってるだけじゃないんだよ!定期的に店内で、自らパフェの「哲学」について熱弁したり、パリセンの歴史を語る「啓示パフェ会」を開催したり、マジで独自スタイルエンタメ業界を盛り上げようと奮闘してるんだって

テレビ雑誌取材殺到!「令和のジャンヌ・ダルク」「パリセンパフェ聖女」とか呼ばれて、マジで時の人!ジャンヌ様の強烈な個性と、パリセンパフェの斬新な組み合わせが、新たなブームを巻き起こしたんだね!

でさ、最終的にどうなったかって?もちろん!ジャンヌ様のパリセンパフェは、全国のスイーツ好きに愛される定番メニューになったんだってお取り寄せスイーツとしても人気が出て、全国のコンビニスーパーでも「ジャンヌ印の啓示パフェ」が発売されるほどに!まさに、パリセンパフェスイーツ界に新たな旋風を巻き起こし、天下を獲った!マジですごすぎ!

あの時、原宿の街に静かに佇んでいた聖女が、令和の時代パリセンパフェで新たな道を切り開くなんて、マジで誰も想像してなかったよね!まさに、神の啓示がパリセンの音に変わり、新たな伝説を創り出した瞬間!

ヒカリも、「まさかジャンヌちゃんが本当にパリセンパフェでこんなに有名になるなんて!アタシ、マジで感動して泣いた!」って、号泣してたらしいよ。

ジャンヌ様は今も、さらなるパリセンパフェ可能性を追求して、日本全国を旅しているらしい。「わが啓示の道に、終わりはございません!」って、マジでストイック

こうして、ジャンヌ・ダルクは、令和の日本で、パリセンパフェという新たな武器を手に入れ、見事、スイーツ界で唯一無二の地位を築いた!天下統一…ではないかもしれないけど、その強烈な個性哲学は、多くの人々の心に深く刻まれたはず!めでたしめでたし…ってことで、マジでゾクゾクする衝撃的な物語完全燃焼したわ!パリセンパフェ、マジ卍!

2025-07-06

Grokが作ってくれたやつ


<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>GrokのPONGゲーム</title>
    <style>
        body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #1a1a1a; }
        canvas { border: 2px solid #00ff00; background: #000; }
        #score { color: #00ff00; font-family: 'Courier New', monospace; font-size: 24px; position: absolute; top: 20px; width: 100%; text-align: center; }
    </style>
</head>
<body>
    
0 : 0
<canvas id="gameCanvas" width="800" height="400"></canvas> <script> const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); const scoreDisplay = document.getElementById('score'); // ゲームオブジェクト const ball = { x: canvas.width / 2, y: canvas.height / 2, radius: 10, speedX: 5, speedY: 5 }; const paddleLeft = { x: 10, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 8 }; const paddleRight = { x: canvas.width - 20, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 8 }; let scoreLeft = 0, scoreRight = 0; // キー入力 const keys = { w: false, s: false, ArrowUp: false, ArrowDown: false }; document.addEventListener('keydown', e => { if (keys.hasOwnProperty(e.key)) keys[e.key] = true; }); document.addEventListener('keyup', e => { if (keys.hasOwnProperty(e.key)) keys[e.key] = false; }); // ゲームループ function gameLoop() { // 移動 if (keys.w && paddleLeft.y > 0) paddleLeft.y -= paddleLeft.speed; if (keys.s && paddleLeft.y < canvas.height - paddleLeft.height) paddleLeft.y += paddleLeft.speed; if (keys.ArrowUp && paddleRight.y > 0) paddleRight.y -= paddleRight.speed; if (keys.ArrowDown && paddleRight.y < canvas.height - paddleRight.height) paddleRight.y += paddleRight.speed; // ボール移動 ball.x += ball.speedX; ball.y += ball.speedY; // 壁衝突 if (ball.y + ball.radius > canvas.height || ball.y - ball.radius < 0) ball.speedY = -ball.speedY; // パドル衝突 if ( (ball.x - ball.radius < paddleLeft.x + paddleLeft.width && ball.y > paddleLeft.y && ball.y < paddleLeft.y + paddleLeft.height) || (ball.x + ball.radius > paddleRight.x && ball.y > paddleRight.y && ball.y < paddleRight.y + paddleRight.height) ) { ball.speedX = -ball.speedX * 1.05; // 少し加速 } // 得点 if (ball.x < 0) { scoreRight++; ballReset(); } if (ball.x > canvas.width) { scoreLeft++; ballReset(); } // 描画 ctx.fillStyle = '#000'; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = '#00ff00'; ctx.fillRect(paddleLeft.x, paddleLeft.y, paddleLeft.width, paddleLeft.height); ctx.fillRect(paddleRight.x, paddleRight.y, paddleRight.width, paddleRight.height); ctx.beginPath(); ctx.arc(ball.x, ball.y, ball.radius, 0, Math.PI * 2); ctx.fill(); scoreDisplay.textContent = `${scoreLeft} : ${scoreRight}`; requestAnimationFrame(gameLoop); } function ballReset() { ball.x = canvas.width / 2; ball.y = canvas.height / 2; ball.speedX = (Math.random() > 0.5 ? 5 : -5) * (Math.random() * 0.5 + 0.75); ball.speedY = (Math.random() * 4 - 2); } gameLoop(); </script> </body> </html>

 

 

https://anond.hatelabo.jp/20250706011306#

Claudeが作ってくれたやつ



<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PONG Game</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            background-color: #000;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            font-family: 'Courier New', monospace;
            color: white;
        }

```
    .game-container {
        text-align: center;
    }
    
    canvas {
        border: 2px solid white;
        background-color: #000;
    }
    
    .score {
        font-size: 24px;
        margin: 20px 0;
        letter-spacing: 2px;
    }
    
    .controls {
        margin-top: 20px;
        font-size: 14px;
        opacity: 0.8;
    }
    
    .start-button {
        background-color: #333;
        color: white;
        border: 2px solid white;
        padding: 10px 20px;
        font-size: 16px;
        cursor: pointer;
        font-family: 'Courier New', monospace;
        margin: 10px;
    }
    
    .start-button:hover {
        background-color: white;
        color: black;
    }
</style>
```

</head>
<body>
    
<canvas id="gameCanvas" width="800" height="400"></canvas>
<button class="start-button" onclick="startGame()">ゲーム開始</button> <button class="start-button" onclick="resetGame()">リセット</button>

W/S キーまたは ↑/↓ 矢印キーパドル操作
``` <script> // Canvas要素とコンテキストの取得 const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); // ゲーム状態管理 let gameRunning = false; let animationId; // スコア要素の取得 const playerScoreElement = document.getElementById('playerScore'); const computerScoreElement = document.getElementById('computerScore'); // ゲームオブジェクト定義 const game = { // プレイヤーパドル(左側) playerPaddle: { x: 10, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 5, upPressed: false, downPressed: false }, // コンピューターパドル(右側) computerPaddle: { x: canvas.width - 20, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 3.5, // プレイヤーより少し遅く設定 targetY: canvas.height / 2 - 50 }, // ボールの設定 ball: { x: canvas.width / 2, y: canvas.height / 2, radius: 8, speedX: 4, speedY: 3, maxSpeed: 8 }, // スコア管理 score: { player: 0, computer: 0 } }; // キーボード入力の処理 const keys = {}; // キーが押されたときの処理 document.addEventListener('keydown', (e) => { keys[e.key.toLowerCase()] = true; // ゲームが停止中にスペースキーゲーム開始 if (e.key === ' ' && !gameRunning) { startGame(); } }); // キーが離されたときの処理 document.addEventListener('keyup', (e) => { keys[e.key.toLowerCase()] = false; }); // パドルの移動処理 function updatePaddles() { // プレイヤーパドルの移動(W/S キーまたは矢印キー) if (keys['w'] || keys['arrowup']) { game.playerPaddle.y -= game.playerPaddle.speed; } if (keys['s'] || keys['arrowdown']) { game.playerPaddle.y += game.playerPaddle.speed; } // プレイヤーパドルの画面外移動を防ぐ if (game.playerPaddle.y < 0) { game.playerPaddle.y = 0; } if (game.playerPaddle.y > canvas.height - game.playerPaddle.height) { game.playerPaddle.y = canvas.height - game.playerPaddle.height; } // コンピューターパドルAI処理 // ボール位置を追跡するが、完璧ではない動きを実装 const ballCenterY = game.ball.y; const paddleCenterY = game.computerPaddle.y + game.computerPaddle.height / 2; // ボールパドルの中心の差を計算 const difference = ballCenterY - paddleCenterY; // 反応に少し遅れを持たせる(人間らしい動き) if (Math.abs(difference) > 10) { if (difference > 0) { game.computerPaddle.y += game.computerPaddle.speed; } else { game.computerPaddle.y -= game.computerPaddle.speed; } } // コンピューターパドルの画面外移動を防ぐ if (game.computerPaddle.y < 0) { game.computerPaddle.y = 0; } if (game.computerPaddle.y > canvas.height - game.computerPaddle.height) { game.computerPaddle.y = canvas.height - game.computerPaddle.height; } } // ボールの移動と衝突判定 function updateBall() { // ボール位置更新 game.ball.x += game.ball.speedX; game.ball.y += game.ball.speedY; // 上下の壁との衝突判定 if (game.ball.y - game.ball.radius < 0 || game.ball.y + game.ball.radius > canvas.height) { game.ball.speedY = -game.ball.speedY; } // プレイヤーパドルとの衝突判定 if (game.ball.x - game.ball.radius < game.playerPaddle.x + game.playerPaddle.width && game.ball.x + game.ball.radius > game.playerPaddle.x && game.ball.y + game.ball.radius > game.playerPaddle.y && game.ball.y - game.ball.radius < game.playerPaddle.y + game.playerPaddle.height) { // ボールパドルに当たった位置によって跳ね返り角度を調整 const hitPos = (game.ball.y - (game.playerPaddle.y + game.playerPaddle.height / 2)) / (game.playerPaddle.height / 2); game.ball.speedX = Math.abs(game.ball.speedX); game.ball.speedY = hitPos * 4; // ボールの速度を少し上げる(ゲームをエキサイティングに) if (Math.abs(game.ball.speedX) < game.ball.maxSpeed) { game.ball.speedX *= 1.02; } } // コンピューターパドルとの衝突判定 if (game.ball.x + game.ball.radius > game.computerPaddle.x && game.ball.x - game.ball.radius < game.computerPaddle.x + game.computerPaddle.width && game.ball.y + game.ball.radius > game.computerPaddle.y && game.ball.y - game.ball.radius < game.computerPaddle.y + game.computerPaddle.height) { // ボールパドルに当たった位置によって跳ね返り角度を調整 const hitPos = (game.ball.y - (game.computerPaddle.y + game.computerPaddle.height / 2)) / (game.computerPaddle.height / 2); game.ball.speedX = -Math.abs(game.ball.speedX); game.ball.speedY = hitPos * 4; // ボールの速度を少し上げる if (Math.abs(game.ball.speedX) < game.ball.maxSpeed) { game.ball.speedX *= 1.02; } } // ボールが左右の壁を越えた場合得点処理) if (game.ball.x < 0) { // コンピューター得点 game.score.computer++; updateScore(); resetBall(); } else if (game.ball.x > canvas.width) { // プレイヤー得点 game.score.player++; updateScore(); resetBall(); } } // ボールリセット得点後の処理) function resetBall() { game.ball.x = canvas.width / 2; game.ball.y = canvas.height / 2; // ランダムな方向でボールを発射 game.ball.speedX = (Math.random() > 0.5 ? 4 : -4); game.ball.speedY = (Math.random() - 0.5) * 6; } // スコア表示の更新 function updateScore() { playerScoreElement.textContent = game.score.player; computerScoreElement.textContent = game.score.computer; } // 描画処理 function draw() { // 画面をクリア ctx.fillStyle = '#000'; ctx.fillRect(0, 0, canvas.width, canvas.height); // 中央の点線を描画 ctx.setLineDash([5, 5]); ctx.beginPath(); ctx.moveTo(canvas.width / 2, 0); ctx.lineTo(canvas.width / 2, canvas.height); ctx.strokeStyle = '#fff'; ctx.stroke(); ctx.setLineDash([]); // プレイヤーパドルを描画 ctx.fillStyle = '#fff'; ctx.fillRect(game.playerPaddle.x, game.playerPaddle.y, game.playerPaddle.width, game.playerPaddle.height); // コンピューターパドルを描画 ctx.fillRect(game.computerPaddle.x, game.computerPaddle.y, game.computerPaddle.width, game.computerPaddle.height); // ボールを描画 ctx.beginPath(); ctx.arc(game.ball.x, game.ball.y, game.ball.radius, 0, Math.PI * 2); ctx.fillStyle = '#fff'; ctx.fill(); // ゲームが停止中の場合メッセージを表示 if (!gameRunning) { ctx.fillStyle = '#fff'; ctx.font = '20px Courier New'; ctx.textAlign = 'center'; ctx.fillText('ゲーム開始ボタンを押してください', canvas.width / 2, canvas.height / 2 + 60); } } // ゲームのメインループ function gameLoop() { if (!gameRunning) return; updatePaddles(); updateBall(); draw(); animationId = requestAnimationFrame(gameLoop); } // ゲーム開始 function startGame() { gameRunning = true; gameLoop(); } // ゲームリセット function resetGame() { gameRunning = false; if (animationId) { cancelAnimationFrame(animationId); } // スコアリセット game.score.player = 0; game.score.computer = 0; updateScore(); // ボールパドル位置リセット game.ball.x = canvas.width / 2; game.ball.y = canvas.height / 2; game.ball.speedX = 4; game.ball.speedY = 3; game.playerPaddle.y = canvas.height / 2 - 50; game.computerPaddle.y = canvas.height / 2 - 50; draw(); } // 初期描画 draw(); </script> ``` </body> </html>

 

 

https://anond.hatelabo.jp/20250706011306#

2025-06-24

https://falsandtru.hatenablog.com/entry/evaluation-items-of-cache-algorithms

言語差(実装可能性)

キャッシュアルゴリズムには実装可能性(現実的意味のあるもの実装可能か)が言語依存するものがある。(W-)TinyLFUはキーブルームフィルタに変換できなければならないためこの変換コストが高いJavaScriptなどでは低レイテンシ実装が困難となり用途制限される。またLinked ListはGC管理により非常に低速となるためARCやLIRSなど履歴保持にLinked Listを使用するキャッシュアルゴリズムGCなしで実装できる言語かによってレイテンシ適用範囲からのLRUに対する優位性、ひいては有用性が大きく異なる。さらにLinked Listで実装されるLRU自体も同様に低速となるため配列実装されたClockのほうがLRUより高速となる可能性がありビット演算により高速化されたClockはLRUより高速となる可能性が高い。LRUはJavaScriptにおいて主要というか事実上唯一のキャッシュアルゴリズムだがほとんどの場合より高速なClockに対して何ら優位性がなくGC管理下の遅いLRUを無意味に使い続けているだけである

2-Quequeアルゴリズムライトバックキャッシュ目的実装したときにこれは感じた。

巨大ファイルの全置換えの場合FIFOであふれたものをそのまま書きだしたほうが早いとかどういうことだよ。

2-Quequeのほうが早いと思っていたら、C#だと1.5倍から2倍以上遅くなった。

https://github.com/oonyanya/FooList/blob/104d0259fbb11f350a1f0b3191c17bf9cdd394b3/List/DataStore/TwoQueueCacheList.cs

2025-06-19

anond:20250614200522

ただ、ファンタジーライフiはIntel ARC A750だとトロピーカーナ諸島でカクつくのでお勧めはしない。

グラフィックス設定を変えてまた戻すとFPS60になるんで、バグっぽいが…。

多分、Intel ARC B580だと直ってると思う。

2025-06-14

anond:20250614083030

ファンタジーライフiやff14程度なら、フルhdで、core i5かi 7、メモリー 32GB、ssdIntel arcとかミドルレンジgpuコマ落ちなしに遊べる。

Intel arc a750でもファンタジーライフi は普通に遊べるんで、そこまで金は掛からん

モンハンはちときついけどな…。

モンハンやるなら、Intel arc b580とかrtx5060などの方が良い。

画質求めたら、ここらへんだときいかもしれんが…。

2025-04-05

トランプ関税政策、次の動きがよくわからん

グローバル10関税について、何かしらの政策検討したレポートあるのではと思って調べたがよくわからん


以下、Grokでのやり取り

Oren Cass、シンクタンクAmerican Compassが、相互関税後の米国がどのようになるか想定しているでしょうか?

Key Points

研究は、Oren CassとAmerican Compass相互関税後のアメリカ国内製造業が強化され、高品質雇用が増加し、貿易赤字が縮小した状態想像していることを示唆しています

彼らは関税国内生産奨励し、アメリカ労働者コミュニティを優先するツールと見なしています

消費者価格の上昇や他の国から報復関税可能性も考慮されますが、具体的な未来像は議論余地があります

相互関税後のアメリカ想像

Oren CassとAmerican Compassは、相互関税アメリカ経済ポジティブな影響を与えると信じています。具体的には、国内製造業保護され、工業部門での雇用が増加し、貿易赤字が縮小する未来想像しているようです。特に中国との競争に対抗するために関税有効ツールと見なし、アメリカ産業基盤を強化したいと考えています

予想される影響

このシナリオでは、国内生産が増えることでアメリカ経済的自立度が高まり労働者生活水準が向上する可能性があります。ただし、輸入品価格上昇により消費者価格が上がるリスクや、他の国から報復関税による輸出への影響も指摘されています。これらの影響は複雑で、経済全体に波及効果をもたらすと予想されます

予想外の詳細

興味深いことに、American Compass関税収入主権財産基金投資し、インフラ医療研究に使う提案検討しているようです。これは、単なる貿易政策を超えた長期的な経済戦略示唆しています


https://www.spectator.co.uk/podcast/was-free-trade-really-working/

ここのポッドキャストの内容を要約してください

https://www.spectator.co.uk/podcast/was-free-trade-really-working/」のポッドキャストの内容をさらに詳しく要約し、具体的なポイントを掘り下げて説明します。この対談は、2025年2月19日に公開され、The SpectatorのFreddy Grayがホストを務め、American CompassのOren Cassをゲストに迎え、ロンドンARC会議で収録されました。以下に詳細を述べます

詳細な内容

1. 相互関税の背景と目的

ポッドキャストは、トランプ大統領2025年初頭に発表した「相互関税」(reciprocal tariffs)の話題からまります。これは、アメリカ他国から課される関税率に合わせて自国の輸入関税を設定する政策で、特に中国やその他の貿易相手国との不均衡を是正する狙いがあります。Freddy Grayは、この政策最近ホワイトハウス方針(例えば、2025年2月カナダメキシコ中国からの輸入に対する関税引き上げ)に結びついていると指摘し、その意図をCassに尋ねます

Oren Cassは、この関税が単なる保護主義ではなく、アメリカ経済的自立と労働者保護を強化するための戦略ツールである説明します。彼は、過去数十年の自由貿易政策アメリカ製造業空洞化させ、貿易赤字を拡大させたと考えており、相互関税国内生産を再活性化させる一つの方法だと主張します。

2. 自由貿易への疑問

対談の中心的なテーマは、「自由貿易は本当に機能していたのか?」という問いです。Cassは、1990年代から続いてきた自由貿易への政治的合意が、アメリカ経済に必ずしも利益をもたらさなかったと批判します。特に中国WTO加盟(2001年)以降、アメリカ製造業が衰退し、多くの労働者低賃金サービス業シフトした点を挙げます

具体例として、中国電気自動車EV)の台頭を取り上げます。Cassは、中国補助金付きEVアメリカ市場流入することで、国内自動車産業投資家が競争力を失っている「現実生活」を強調します。Grayが「自由貿易グローバル経済の成長を促進したという主張はどうか」と尋ねると、Cassは「それは一部の多国籍企業投資家には当てはまるが、アメリカ労働者地域社会にはほとんど恩恵がなかった」と反論します。

3. 関税の影響とアメリカ企業への波及

Grayは、相互関税アメリカ企業にどのような影響を与えるか質問します。Cassは、短期的には輸入コストの上昇による混乱が予想されると認めつつ、長期的には国内生産奨励し、製造業雇用を増やす可能性があると楽観視します。例えば、関税によって中国から安価輸入品が減れば、アメリカ自動車や鉄鋼産業が再び競争力を取り戻すかもしれないと述べます

しかし、彼はリスク認識しており、他の国から報復関税アメリカ輸出産業特に農業技術分野)に打撃を与える可能性を指摘します。それでも、「自由貿易幻想にしがみつくよりは、現実的な政策国家利益を守るべきだ」と主張します。

4. 政治的経済文脈

Cassは、トランプ関税政策政治的な支持を得ている背景にも触れます2024年選挙で、労働者階級の有権者貿易赤字製造業の衰退に不満を抱き、保護主義的な政策を支持したことを挙げます。彼は、これが共和党内の経済政策の転換を示しており、American Compass提唱する「労働者優先」のアジェンダと一致していると述べます

Grayは、ヨーロッパ視点からこの政策をどう見るか質問します。Cassは、ヨーロッパ諸国も同様に中国との貿易不均衡に直面しているが、アメリカのような大胆な関税政策を取る政治的意志が欠けていると分析します。

5. 意外な視点結論

意外なポイントとして、Cassは関税収入活用についても言及します。彼は、American Compass提案するように、関税で得た資金主権財産基金に投入し、インフラ教育に再投資する案に触れます。これは、単に貿易制限するだけでなく、経済全体を強化する長期的なビジョン示唆しています

対談の最後で、Grayが「自由貿易時代は終わりを迎えたのか」と尋ねると、Cassは「少なくとも、アメリカではその前提が再考されるべき時期に来ている」と締めくくります。彼は、相互関税完璧解決策ではないものの、現在グローバル経済におけるアメリカ地位を再定義する一歩だと結論付けます

2025-03-22

anond:20250220134419

RopeもといBigList+GapBufferでさくさくエディターの置き換え処理をやってみた。

使用したマシンCore i7 14700、メモリー32GB、Intel ARC A750。

100万行×100文字を置き換え。

addバッファーの構築で、0.8秒ぐらいで終わる。

replace1は3文字削除の3文字挿入で、3.5秒ぐらいで終わる。

replace2は3文字削除の4文字挿入で、4.9秒ぐらいで終わる

replace3は4文字削除の3文字挿入で、3.6秒ぐらいで終わる。

enumratotionはNULデバイスへの保存で、1.1秒で終わる。

benchmark start

Allocated GC Memory:60,600bytes

add time:729 ms

Allocated GC Memory:199,388,824bytes

replace 1 time:3490 ms

Allocated GC Memory:199,405,136bytes

replace 2 time:4861 ms

Allocated GC Memory:368,390,560bytes

replace 3 time:3577 ms

Allocated GC Memory:368,390,560bytes

enumratotion time:1086 ms

Allocated GC Memory:368,390,736bytes

clear buffer

Allocated GC Memory:84,360bytes

100万行の行とインデックスの変換テーブルの追加と更新処理はこのくらいで終わる。

変換テーブルの処理は構築が0.2秒、行が増えない更新は0.1秒ぐらいで終わる。

add line time:170 ms

Allocated GC Memory:32,805,312bytes

update line time:110 ms

Allocated GC Memory:32,811,000bytes

clear buffer

Allocated GC Memory:84,616bytes

Finished.Hit Any Key

結論

マシン進化はすごい。

.NET8で、さくさくエディタとほぼ互角になるとは。

以下、ソースコード

https://github.com/rirufa/FooList

2025-03-08

最近のミドルロー系GPU検討

PCパーツ調べるなんて10年近くぶりだけど、やっぱり数値が上がっていくのを見るのって楽しいね。新アーキテクチャでn%向上!とか○○処理性能向上!とか男の子だよな。

今後本格的に買うの検討するなら表形式でまとめてよ。

 

外付け~内臓GPU性能 スコア参照元

https://www.pc-koubou.jp/pc/benchmark.php

 

# まとめ

 

後々ワイルズ高設定で楽しむならB580。価格下がり待ち。

 

それ以下でもいい、手ごろな感じだと

 

G → 3060

Ra → 6600 でもできればRDNA 3世代以降がよい 在庫少らしい。 もう一枚積んで7600行きたい

I → B570 か B3~ 最新、安いモデルメモリ多め傾向。

 

だいたいCPU普段使い頭打ちGPUをどれにするか

目的10年ぐらいFHD中設定以上60FPSで遊べる

マルチタスクメモリ不足エラーを防ぎ、AI視野 → VRAM 12~16?

価格 → せめて3万ぐらいで…無理よね…

 

ワイルズ中以下ならArc Bの下位でもいいかなぁ。

 

 

今使っているのが

1050ti 4G

スコア 7613

 

# Ryzen

https://ja.wikipedia.org/wiki/Ryzen

 

内臓GPUの性能がよいとされるCPU

CPU+GPUひとつで済むので合計金額が安く、実質ミドル~ロー構成になっている。

 

Ryzen7 8700G Radeon 780M

スコア 7928

20240202発売の、一世代Ryzen最上位。

ただGPU性能は1050Tiから微増。1650以下の位置で、乗り換えるうまみは少ない。

 

しかるに9000シリーズにもそれほど期待できないだろう。

どうしてもGPUに別途4万は出したくないときは、Ryzenの出番。

9000 シリーズのiGPURadeon Graphics」は RDNA 2ベース (RDNA2はRX 6000世代(20,21年代))

できればRDNA 3のほうがいいよね。でも6600候補に入れるならまあ別にか。

 

 

# Geforce

https://ja.wikipedia.org/wiki/NVIDIA_GeForce

 

GeForce RTX 3060 20210625発売

四万円台でVRAM 12G スコア 21817

20年代の下位モデルの増量版。

安く・GeForceで・VRAM多く、の要求に応え、スコアも三倍ほどに伸びる。

 

RTX 4060 8GBは5万ほど、スコア 27760 と、VRAMを下げ性能と値段を上げるバランス

 

さすがに2000シリーズは古すぎて微妙か。AI考慮などされている最近世代が欲しい。

最上モデルスコア最近の下位より高いが、消費電力がね…

 

たぶん5000のローは値段・性能的に期待できない。

 

# Radeon

https://ja.wikipedia.org/wiki/AMD_Radeon

 

RX 6600 8G 20211013発表 スコア 23197

メモリ8Gだが価格3万と安い。3060より高いスコア。 RDNA 2世代

下位のRadeon RX 6500 XT 8G(スコア 15237) とあまり価格差がない。

 

RX 7600 8G 4万 スコア 31088 かなりうれしい値。 6600プラス1万でスコア伸びが良くて次世代とかなり心くすぐる。

RX 7600XT 16G スコア 31299 下位モデルメモリ16G乗せてくれたメモリ重視の嬉しい設計。ただしお値段6万円とこれは下位モデルの値段と言えるのか…?

 

# Intel

https://ja.wikipedia.org/wiki/Intel_Arc

 

最近知ったIntelGPU一般向けは内臓だけじゃなかったのか…。

ちょっと前のAと最近出てきたBで、Bの評価がうわさでは高そう。

新規競合として低価格でおしていくと思われるので、非ハイエンドなら注目株なのかも。

   

最上位 A770 8G 16G 6万以下

8Gでスコア 30603

A750 8Gで28327 3~5万

8G下限 A580 スコアなし 3万以下。 

 

A750で23年発売、メモリ8G、3万は熱い。 スコア20000は割らないだろう。

3060の12Gとどう比べるか。

 

Aシリーズアイドル時含め消費電力が高い特徴がある。

   

本命っぽいBシリーズ24年末発売でまだ出揃っておらず、ミドルの500シリーズのみ。

B580でメモリ12G、価格5万以下。Arc 5に12G乗っているのは嬉しい。 ただし、TBPが190とやや高めか

ドスパラスコアなら

https://www.dospara.co.jp/5shopping/shp_vga_def_parts.html

B580でRX 6600 XT(8G 5万 パソコン工房スコア 28262)と同程度でメモリ勝ち。

んー…でも高い。でもA770よりドスパラスコア高いのは凄い。

B570 10G で 4万。安い。スコア次第でかなりよさそうな気がする。

感触ではB580の値下がりを待つのがよさそうなんだな。

 

Arc3 B はメモリ12はなさそうで、10Gで安くてスコアなかなかなら、まあそれでよさそうか。

 

 

安くて使えるGPU実在するのか!? 1万円~3万円クラスGPUの性能をKTUがライブ比較

https://akiba-pc.watch.impress.co.jp/docs/sp/1605922.html

Arc Aがレビューされてるが、A580のアイドル時含め消費電力が他の低価格帯と比べても高め。(ほか80W以下のアイドル時に150W)

https://youtu.be/c9_Ck57DrUM?t=983

 

A580,RX 3050でFHD標準品質FF14で60FPS怪しいのはちょっと厳しくない?

 

あなたGPUで「モンスターハンターワイルズ」はどれくらい動く?公式ベンチマークで一斉検証【RTX 5090/5080ほか計14種類で検証

https://youtu.be/aSTVGUkdc1M?t=454

ウルトラレイトレ高、FHDで

B580 63.96FPS

B570 51.81FPS

いいじゃなーいB580。

 

ぜぶ @zebu3821

Intel ARC B580、最新のドライバ適用したところワイルズパフォーマンスめちゃくちゃ良くなったので今日の昼頃に遊んでレポしよう。

午前2:01 · 2025年3月2日

 

最適化進んでさらに上がるならB570で60FPSいけそうじゃない?メモリが足引っ張るかな。

   

VRAM容量の大きさが効いているのか、ワイルズかなり快適に動く。グラフィックプリセット高のフレーム生成有りで70~80FPSぐらい出せて、遅延もそんなに感じない。

VRAMの使用率が常に80%から90%くらいある

2025年3月6日

   

解像度書いてないけど、12Gの90%は10Gでやれんのか

2025-02-28

ゲーミングGPU意図的崩壊

「ゲーミングGPU意図的崩壊市場需要企業戦略乖離が示す現代パラドックス

序論

グラフィックス処理ユニットGPU)は、従来、ゲーミングPC市場の発展を支える中核的技術として位置づけられてきた。しかし、2025年現在市場を寡占するNVIDIAおよびAMDが、高収益性を有する人工知能AI)およびデータセンターDC)分野に経営資源を集中させる一方で、ゲーミングGPU供給意図的制限する現象が顕著である。本論文は、この状況を「ゲーミングGPU意図的崩壊」と定義し、その要因、帰結、および歴史的文脈における独自性分析する。本現象は、需要が堅調な市場代替技術の不在下で企業により放棄されるという、他に類を見ないパラドックス提示し、現代市場ダイナミクス再考を迫るものである

背景:市場需要企業戦略乖離

ゲーミング市場は、2025年推定市場規模が2000億ドルを超え、Steamの月間アクティブユーザー数が1億人以上を記録するなど、持続的成長を示している(Statista, 2025)。NVIDIAのRTX 5090に代表されるハイエンドGPUは、4K解像度リアルタイムレイトレーシングといった先進要件を満たす技術として依然高い需要を保持し、技術陳腐化の兆候は見られない。対照的に、NVIDIA2024年第3四半期財務報告によれば、総売上の87%208億ドル)がDC部門に由来し、ゲーミング部門12%(29億ドル)に留まる(NVIDIA, 2024)。AMDもまた、RDNA 4世代においてハイエンドGPUの開発を放棄し、データセンター向けEPYCプロセッサおよびAI向けInstinctアクセラレータに注力する戦略採用している(Tom’s Hardware, 2025)。この乖離は、両社が利益率(DC50%以上、ゲーミングで20-30%と推定)を最適化する戦略判断を下していることを示唆する。

現象の特徴:意図的崩壊構造的要因

「ゲーミングGPU意図的崩壊」は、以下の特性により定義される。第一に、供給戦略抑制である。RTX 50シリーズ供給不足は、TSMC製造能力制約や季節的要因(例:旧正月)を超越し、NVIDIAAI向けBlackwellシリーズ(B100/B200)に生産能力を優先配分した結果として解釈される。第二に、代替技術の不在であるクラウドゲーミング(例:GeForce NOW)は潜在的代替として存在するが、ネットワーク遅延や帯域幅の制約により、ローカルGPUの性能を完全に代替するに至っていない。第三に、市場の持続性であるフィルムカメラフィーチャーフォンのように自然衰退した市場とは異なり、ゲーミング市場は成長を維持しているにも関わらず、企業による意図的供給制限が進行中である。この構造は、市場自然的淘汰ではなく、企業主体の介入による崩壊を示している。

歴史的比較と本現象独自性

現象歴史的文脈評価する場合類似事例としてOPEC原油供給調整(1973-1974年)および音楽業界CD市場放棄2000年代後半)が参照される。しかし、いずれも本ケースと顕著な相違が存在する。OPECの事例は価格統制を目的とした供給操作であり、市場崩壊意図したものではない。また、CD市場デジタル配信という代替技術への移行が進行した結果、企業撤退合理的であった。これに対し、ゲーミングGPU市場代替技術が不在であり、かつ需要が堅調である点で独自性を有する。さらに、市場の寡占構造NVIDIAAMDで約95%のシェア、StatCounter, 2025)が、新規参入者による市場補完を阻害し、意図的崩壊効果を増幅させている。これまでの「市場の取り残し」が技術進化需要減退による受動的結果であったのに対し、本現象企業戦略による能動放棄として際立つ。

帰結と将来予測

現象は、消費者および競争環境に多様な影響を及ぼしている。RTX 50シリーズ供給不足は、転売市場において希望小売価格の2倍超での取引を誘発し(eBay, 2025)、消費者不満を増大させている。市場競争においては、AMDがミドルレンジGPU一定シェアを確保する一方、ハイエンド需要の未充足が長期化し、新規参入者(例:中国系企業Intel Arc)の市場参入を誘引する可能性がある。しかし、GPU開発における技術障壁および製造コスト考慮すると、短期的な代替供給の実現は困難と予測される。将来展望としては、クラウドゲーミング技術的進展がローカルGPU代替となり得るか、または消費者圧力企業戦略の再評価を促すかが、本市場の持続性を決定する要因となる。

結論

「ゲーミングGPU意図的崩壊」は、市場需要の堅調さと企業利益追求の乖離がもたらす現代パラドックスである技術代替需要衰退による市場淘汰とは異なり、NVIDIAAMD戦略資源配分市場意図的崩壊させている点で、歴史的稀有事象として位置づけられる。本現象は、現代資本主義における企業行動と消費者利益対立、および市場の長期持続性に対する重要示唆提供する。今後の研究においては、本形態意図的崩壊が他産業に波及する可能性や、消費者側の対応策の効果について、さらなる検証が求められる。

2025-02-11

AIによる自己評価指標の構築

AIが自ら「優れている」と判断するための指標とは?

AI自分の改良版や新たなAIが「より優れている」と判断するには、何らかの性能指標を内部に持ち、それに照らして比較評価する必要があります。従来から研究者は「汎用的な知能の指標」を模索してきました。例えば、LeggとHutterは知能を広範な環境目標を達成する能力定義し、あらゆる環境での得点報酬)の期待値を加重和した**「普遍知能指標」**を提案しています

proceedings.neurips.cc

proceedings.neurips.cc

。これは多数の課題での性能をまとめた理論上のメトリクスで、あるエージェントが別のエージェントより知能が高いか定量化しようとする試みです。しかし、このような指標計算不能に近く、実際のAIが直接利用するのは困難です。

実際の自己評価指標としては、タスク性能や報酬関数が使われることが多いです。強化学習では、エージェントは与えられた報酬を最大化するよう学習します。したがって「より優れたAI」とは「累積報酬が高いAI」となり、報酬関数が内部評価指標役割を果たします。しかし、この指標特定タスク依存しており、本当に汎用的な知能向上を示すとは限りません。François Cholletは、特定タスクでのスキル(性能)だけを測っても知能の本質を測れないと指摘しています

arxiv.org

。なぜなら、十分なデータや事前知識があれば限定的タスク性能は「購入 (buy)」できてしまい、システム自身の汎用的な汎化能力を覆い隠してしまうからです​

arxiv.org

arxiv.org

。彼は代わりに新しいスキルを獲得する効率(限られた経験で未知のタスクをどれだけ学習できるか)を知能の指標とするべきだと論じ、これに沿ったベンチマークARCなど)を提案しました​

arxiv.org

。このように、内部評価指標をどう設計すべきかについては、単純なスコアではなく学習効率汎用性を反映するものが望ましいという議論があります

過去提案として特筆すべきは、シュミットフーバーの「ゲーデルマシン」です。ゲーデルマシン自己改善型の理論プログラムで、ある改良が自身目的関数評価指標)を改善することを論理的証明できた場合にの自分コードを書き換えます

en.wikipedia.org

。ここでの評価指標はあらかじめ定義された期待 utility(将来得られる報酬成功率)であり、改良後のコードがその値を高めると機械自身証明できたときに「より優れている」と判断します​

en.wikipedia.org

。このように形式的証明を用いる手法は、AIが外部の評価者に頼らずに自己の性能向上を判定する一例です。ただし、ゲーデルマシン理論上は強力ですが、実用的な実装はまだ無く、内部指標に基づく証明には計算上の困難や限界ゲーデル不完全性定理による証明不能命題など)が存在することも指摘されています

en.wikipedia.org

他にも、自己対戦や自己プレイによる評価有効アプローチです。例えばAlphaGo Zeroでは、自己対戦の勝率指標に新しいプレイヤーネットワークの強さを評価し、既存自分に55%以上の勝率なら「より強い」とみなして入れ替える方法採用しました​

github.com

。この手法ではAI自身が生み出すゲームデータで強さを測っており、人間評価を介しません。同様に、GAN(敵対的生成ネットワーク)では生成者と識別者がお互いの性能を評価し合う形で向上しますし、マルチエージェント自己対戦カリキュラムではエージェント同士の競争相対的評価基準となり得ます。このように、AI同士を競わせることで優劣を判断する内部指標を作る研究も進んでいます

では、こうした指標は汎用的な知能向上と結びつくのでしょうか?理論的には、幅広いタスクでの性能を測る指標(例:Legg-Hutterの指標)が真に向上すれば、それは汎用知能の向上を意味します​

proceedings.neurips.cc

proceedings.neurips.cc

しか根拠収集は難しく、現在のところ限定的タスク集合でのベンチマーク(例えば言語理解ベンチマークでのスコア向上など)を代理にするしかありません。Cholletの主張にもあるように、単一数字で知能を測ることには限界があり、指標それ自体目的化してしま危険もあります

arxiv.org

。実際、AIが与えられた指標を極端に最適化し、本来意図した知的能力の向上につながらないケース(「報酬ハッキング」)も知られています報酬ハッキングとは、AI目的関数のものの数値を上げることに執着するあまり本来目的を達成しない現象です​

en.wikipedia.org

。例えば学生テストで良い点を取ることだけを目的カンニングするように、AI不適切指標だと内部で抜け道を見つけてしまい、見かけ上のスコアは上がっても知能は向上しない恐れがあります

en.wikipedia.org

。したがって、内部指標が汎用的知能と直結するかには慎重な検証必要であり、現時点で「この指標さえあれば自律的に汎用知能が向上する」という決定打はありません。研究コミュニティでは、学習進捗そのもの報酬にする「興味・好奇心に基づく報酬」なども模索されています。これはAIが自ら予測誤差の大きい状況や未知の状態を探し、内部的に報酬を発生させる仕組みで、外部から与えられる明示的な目的が無くても自身課題を見つけて能力を伸ばす一種指標と言えます

pathak22.github.io

。例えば、未知の環境で新しいスキル習得したり予測精度を上げたりしたときに内部報酬を与えることで、AI自発的に探索・学習を続けるようになります

pathak22.github.io

。このような内発的動機づけ自己評価指標一種と考えられ、その汎用性への寄与研究されています

まとめると、AI自分で「優れている」と評価する指標としては、(1)タスク固有のスコア報酬、(2)複数タスクでの総合性能、(3)学習効率や汎化性能、(4)論理的保証証明)による性能、(5)AI同士の対戦結果、(6)内部の学習進捗(好奇心)など様々な候補があります。これまで提案された手法にはそれぞれ長所短所があり、どの指標が真の汎用知能向上に対応するかについて明確な実証はまだありません。ただ、幅広い問題でのパフォーマンス向上や新規課題への適応力向上を評価できる指標ほど、汎用的知能の改善と結びつく可能性が高いと考えられています。現状の研究は、そのような指標設定と評価方法模索している段階と言えるでしょう。

自己評価の完全自律化は可能

● 外部に頼らない自己評価自己改良は理論可能か?

AIが外部世界人間フィードバック物理的な試行)に一切頼らずに、自分の内部評価だけで自己改良を行うことは極めて挑戦的なテーマです。理論的には、先述のゲーデルマシンのように完全に内部の論理評価自己改良を進めるモデル提案されています

en.wikipedia.org

ゲーデルマシンは自らのコード目標評価基準)を持ち、改変後のコード目標達成において有利であることを自身証明できた場合のみその改変を実行します​

en.wikipedia.org

。これは究極的には外部からテスト評価者を不要にするアプローチであり、理論上は「自己評価の完全自律化」を体現していますしかし、ゲーデルマシンには重要な制約がありますゲーデル不完全性定理により、システム自分性質すべてを証明できるとは限らず、有望でも証明不可能な改良は採用できない可能性があります

en.wikipedia.org

。つまり、内部評価のみで完全に自己改良しようとすると、論理的に確実と言えない改良を見送るために改良の停滞やサブ最適に陥るリスクがあるのです。この制約は理論のものであるものの、自己評価自律化には原理的な難しさが伴うことを示唆しています

一方で、現実AI研究に目を向けると、完全に自己完結的な自己改良を実現した例はまだ存在しません。現在AIは、大なり小なり外部からデータ環境とのインタラクション依存しています。例えば、強化学習エージェント環境相互作用して報酬というフィードバックを得ますし、教師あり学習では人間がラベル付けしたデータ必要です。これらはすべて「外部世界」に由来する情報です。では**「外部に頼らない」とはどの程度可能なのでしょうか?一つの方向性は、AIシミュレーション環境仮想的な問題空間を内部に構築し、その中で試行錯誤することです。実際、AlphaGo Zero囲碁ルール環境定義)が与えられた状態自己対戦を繰り返し、外部の人間指導なしに棋力を飛躍的に高めました​

github.com

。ここで囲碁ルール自体は外部から与えられたものの、学習過程では人間評価や追加の実世界データを用いず**、内部で生成したデータのみで自己改善しています

github.com

。この例は、限定された領域では外部に頼らない自己改良が可能であることを示しています。ただし、囲碁場合ルールという明確な環境があり、勝敗という確かな評価基準があります。汎用的な知能となると、解くべき問題環境自体AIが自前で用意する必要が出てきます

現在注目されている技術に、AutoML(自動機械学習)や自己チューニングAIがあります。例えば、ニューラルネットワークハイパーパラメータ構造AIが探索的に改善する研究では、AI候補モデルを生成し、それを評価するプロセス自体自動化していますGoogleのAutoMLや進化アルゴリズムを用いた手法では、AIが別のAIモデルの性能を評価し、より良いモデル選択再生産する仕組みが使われています。この評価は厳密には外部から与えられたデータ上での性能に基づくため、完全に外部不要とは言えませんが、人手による評価は介在していません。同様に、近年の大規模言語モデルではAI自身フィードバックを与えて自己改善する試みも現れています。例えば、あるモデルの出力に対し別のモデル(もしくは同一モデルを利用)が**批評評価自己評価)**を行い、そのフィードバックで出力を改善するよう促す手法です​

philarchive.org

。これを発展させ、モデル自分の重みやアーキテクチャを調整する方向にまで自動化できれば、自己評価に基づく自己改良に近づきますしかし現時点では、モデル自身自分を書き換える(リプログラミングする)ところまでは実現されておらず、人間が用意した学習ループ評価関数最適化アルゴリズム)の中で自己改良もどきをしている状況です。つまり、「外部世界に頼らない」とはいっても、何らかの形で人間設計した評価基準やデータ分布を利用しているのが実情です。

理論観点からは、自己評価の完全自律化には情報論的な壁もありますAIがまったく外部と接触しない場合、新しい知識データを得る経路が閉ざされるため、初期時点で持っている情報範囲内でしか改善できません。例えば物理法則や実世界知識と無縁のままでは、いくら内部で自己最適化しても現実世界問題を解く能力頭打ちになるでしょう。この点で、自己評価のみで無限に汎用知能が向上するのは疑問視されています。Cholletも知能は知識経験によってブーストされる面が大きいと述べており、空虚計算リソースの拡大だけでは飛躍的な知能向上には繋がらないと示唆しています(※Cholletの議論では、人間の知能も文化や蓄積された知識という外部リソースに大きく依存しており、AIも同様であると指摘)​

reddit.com

reddit.com

。実際、人間自己改善学習)する際に、他者から学んだり環境からフィードバックを得たりしています。同じように、強いAIが一切新しいデータ摂取せずに自閉的に知能を伸ばし続けるのは非現実的にも思えます

以上を踏まえると、自己評価のみでの自己改良は理論上は一部可能でも、実用上・汎用的には難しいと考えられますゲーデルマシン的なアプローチが論証するように、自己評価アルゴリズム自律不可能ではありません​

en.wikipedia.org

しかし、その実現には厳密な前提(完全に正しい目的関数の設定など)が必要で、現実の複雑なタスク環境では外部からデータ評価を全て排除することは困難です。現在提案されている手法でこの要件(完全自律評価による自己改善)を満たすものは無く、たとえ部分的に満たしていても適用範囲限定的です。例えばAlphaGo Zero式の自己対戦はゲームには有効でも、オープンエンドな現実問題には直接適用できません。同様に、AI同士で評価し合う仕組みも、結局は人間が与えたルール報酬系の中での出来事です。したがって現時点のAI研究では、自己評価の完全自律化は理論アイデアの域を出ておらず、汎用人工知能に向けては**部分的自律(人の関与を減らす方向)**が進んでいる段階と言えるでしょう。

自己評価と知能爆発の関係

自己評価自律化が知能爆発に与える影響

「知能爆発」とは、I.J.グッドが提唱したシナリオで、あるAI自分より優れたAI設計できるようになると、自己強化のフィードバックループが働き知能が指数関数的に向上するという仮説です​

philarchive.org

。この現象が成立するための鍵の一つが、AI自身による正確な自己評価自己改良です。もしAIが毎回の改良で自分の知能(性能)が確実に向上したと判断でき、それをもとにさらに改良を重ねられるなら、自己強化のサイクルが途切れることなく回り続ける可能性があります

intelligence.org

intelligence.org

理論家たちは、「自分設計能力を高めること」がAIにとっての収束的な目的(instrumental goal)になると指摘しており​

intelligence.org

、十分高度なAIであれば自発的自己改善を図るだろうと考えられています自己評価 Permalink | 記事への反応(0) | 10:24

2025-01-16

Intel ARC最大の欠点CPU依存がすさまじい

https://youtu.be/CYOj-r_-3mA?feature=shared&t=617

Rayzen 7 9800X3D 8core 16 threadが一番はやく、Rayzen 5 5600 6 core 12 threadが一番遅い

2025-01-06

intel arc Cシリーズって

しかしたらめっちゃ売れるんでは?

WQHDで高リフレッシュレートを出せて、10万を大きく下回る価格設定ってみんな欲しがるんじゃね

2024-12-25

中西正男に乗せられてるブクマカは目を覚ませ

https://b.hatena.ne.jp/entry/s/news.yahoo.co.jp/expert/articles/8364fe62c042b9bca84c2d0f00c8710cf5bcd7dd

こいつただの芸能御用記者だよ。駒井千佳子とかと同類だよ。

記者界隈では白い目で見られてる人だよ。

柴田優呼 / Yuko Shibata @アカデミックジャーナリズム

@yuko_shibata_

中西正男記者…なるほど。1年前のジャニーズ記者会見の時、質問する私に後ろから「長い」と圧力をかけてきた男性記者がいた。質問中のため確認できなかったけど、その後同じ辺からArc Times の尾形・望月両氏に再三ヤジを飛ばしていた男性記者がいた。その顔は見ましたよ。

https://x.com/yuko_shibata_/status/1871768705186812156

2024-11-16

anond:20241116095046

自分が決めるの?

他人が決めるの?

L'Arc-en-Cielとかはビジュアル系バンド代表っぽく言われる事もあるけど、本人らは自分達はビジュアル系ではないと言ってる。

マスゴミ左翼みたいなレッテル貼りを辞めるべきだ

2024-11-12

anond:20241112202259

あ、これ知ってるわ

これのせいでL'Arc〜en〜Cielの神盤「SMILE」がうんち音質になったんだよな

その後どうなったっけ

誰か教えて

会議中に上司に「話にならん、お前はもう壁向いて歌でも歌ってろ」って言われたか

壁向いてL'Arc〜en〜CielHONEYを熱唱してたら「ふざけてるのか!」ってめっちゃ怒られた。

俺が悪いんかこれ。

2024-11-11

古のラルオタであることを誇りに思う

松ちゃんニュースや周年で何かと露出の多いGLAYテレビで見て、ふとよぎったので書く。

小学生が夜更かしして見たCDTVFlowerPVを観て以来、しっかりと痛いラルオタになった。当時妄想趣味田舎のクソガキにとって、hydeの姿はあまりにも美しすぎた。

その美しい歌詞ストリングスをふんだんに使用した楽曲に魅了され、よく考えれば当時では海賊版であったトレーディングカードクリアファイル駄菓子屋に買いに行ったりもした。

最初に断っておくが、一貫して顔ファンではない。そこだけは断っておきたい。ちなみに最推しKenちゃんである

亡き母からKenちゃん国立大から」(今となってはネットもない時代にどこで情報仕入れたのか)と聞いたことも大きかった。頭の良い男が好きだった。

楽曲キャラクターの個々の魅力について語ればキリがないが、割愛する。

思春期の途中でしっかりとその他V系洋楽にもハマったが、それでもラルクが最至高であるという価値観は揺らがなかった。

時代が流れ、コンプライアンス価値観の変遷があり、同世代の友人達が昔から推し達が見るも無惨な姿になっていることに心を痛めている様子も増えた。

無惨な姿というのは決して容姿劣化だけじゃなく、いわゆるオワコン化してしまたことや、時代の潮流にあっていない言動ネット炎上する等、様々である

熱狂的なミスチルファンであった友人が子を持ち、今になって桜井和寿糟糠の妻を捨てたという事実にくらっているのを知った時は笑った。当時からじゃねぇか。

過去エピソードすら掘り返されているのは大変だなと思うが、致し方ないと思う。それくらい直近20年の価値観の変遷は激しかった。

夫は松ちゃんの性加害の件でもろにくらっている。彼のお笑い基準は全て幼少期のごっつで形成されたものであり、自分がとてもダサいものになった気がするのだろう。

今では大学時にハマった大泉洋自身アイデンティティを塗り替えようとしているようにも見える。

話を戻す。

上記を踏まえて

・大きな炎上をしていない。

・大きな外観劣化はしていない。(ヒント:GLAY

胡散臭い話も出てこない。(ヒント:Gackt

・あの伝説うたばん視聴者が目撃した大石恵といまだに不倫騒動なく穏便に続いている(と思われる)

現在でも若いアーティスト達が兄さん兄さんと慕う様子がうかがえる(ヒント:マイファス、ジェジュン

私は30年近くhydeを見ていて、がっかりする思いをしたことが本当に一度もない。

久しぶりに見た歌番組鬼滅の刃主題歌Hiroを完全に食った歌唱を見せつけた時は本当に誇らしかった。

今でも表舞台に立つ機会が多いのでhydeの話ばかりになったが、L'Arc〜en〜Cielというバンドを通じても同様に思う。

※但してっちゃんは一旦除外したい。ファンならわかってくれると思う。

アーティスト活動自体辞めてしまうことも当然の中、今だにステージに立ち続けてくれることだけで感謝なのだが、私たちが心底憔悴したラルクhydeという像を全く崩さないでいてくれるのだ。

そりゃ私たちも歳をとった気しねぇわ。しっかりババァになってんのに。錯覚ちゃうわけよ。hydeが現役でいてくれるから。いい加減にしろ

今はライブがあっても行ったり行かなかったり、どっちつかずな距離感だけど、やっぱりSNSテレビ名前を聞くだけでもニッコリしちゃうよ。

本当に私はラルオタであったことを誇りに思うし、今でもどこでもラルク好きなのって胸を張って言える。

音楽に興味を持つきっかけとなったラルク感謝している。

これから国内外わず新規ファンが出てくるかもしれないけど、私は古からファンであったことをずっと誇りにすると思う。

2024-11-05

anond:20241105165320

https://youtu.be/onQIi9rshqU?feature=shared&t=1764

Intel ARC A750 | COD : Warzone 3 - 4K, 1440p, 1080p - Min, Basic, Balance, Ultra, Extreme, FSR, XeSS

4K Minなら平均45~60fpsは出てるんで、FreeSync対応モニターを買えば普通にできる

anond:20241105154519

かにそっちのほうがいいわ。

ASRock B550M Pro4とか8,480円で買えるし、rayzen 5 5700x 24,578円ぐらいで買える。

AMDで揃えて4060を買わない方向でいったとしても、94,676円で本体が買えて、OS込みで110,766円で済むしな。

追記

ASRock A520M-HVSだと4980円で買えるのだが、Intel ARCRadeon 7600、GeForce RTX 4060縛りだとPCI Express4.0縛りなので、動かない可能性があるので、消すことにした

PS5Proの詳しいスペックが出たので、再度計算しなおしてみた

CPU 8コア16スレッド、Rayzen 5700X相当

メモリー GDDR6 16GB、DDR5 2GB

GPU 16.7TFlops

SSD 2TB

https://x.com/agano4Sq5/status/1853026788232012092/photo/1

同じスペックPCだと、

G.SKILL F4-3200C16D-16GIS (DDR4 PC4-25600 8GB 2枚組)

 4,820円

XPG PYLON 550W PYLON550B-BKCJP

 6,667円

Core i5 14600K BOX

 40,900円

MSI PRO B760M-E DDR4 パソコン工房限定モデル

 10,980円

WINTEN WTM2-SSD-2TB

 14,980円

ZALMAN ZALMAN T8

 3,171円

ASRock Intel Arc A750 Challenger SE 8GB OC [PCIExp 8GB]

 31,980円

合計 113,498円

OSモニターキーボードマウスは別。

フィリップス 221V8/11だと11,000円、Windows 11 Home 日本語版は16,090円ぐらいはし、キーボードマウスは安くても3000円ぐらいはする。

SteamOSを使えばただだが、ff14はいばらの道なのでお勧めはしない。

なので、新しく組むとしたら、143,588円は少なくともかかる。

もし、PS5Proと同じメモリーを使ったとするとMSI PRO B760M-A WIFIが15,980円、AD5U48008G-DT [DDR5 PC5-38400 8GB 2枚組]が7,945円ぐらいはする。

したがって、151,683円ぐらいはかかることになる。

ただ、安いケースはペラペラで机の下に置かない限りうるさくてたまらないので、あまりお勧めはしない。

個人的おすすめのケースはDefine C FD-CA-DEF-C-BKで、組み立てもしやすく、静かで、安いところだと、13,262円ぐらいで買うことができる。

メルカリヤフオクフリマだと状態がいい奴は1万円ぐらいで買える。

騒音とかOSの設定であれこれ悩むなら、PS5Proのほうがお得というのも確かではある。

2024-09-29

ゲーミングパソコンをねだられた時のライフハック

親が何も知らずにパソコンを買うと失敗する

なぜかというとその辺で売っているパソコンは大体の場合、パーツの交換がしにくく、その点では地雷から

なので、パソコンを買う際はそこそこの大きさがあって、マザーボードと電源が容易に交換できるものを買うといい

まり予算がかけられない

中古PCコーナーで、ミドルタワーかミニタワー程度の大きさのやつで完成品のやつを買え。

その際、Intelなら10世代目以降のやつを買え。

そうしないとWindows11を別途買わなければならないなど、却ってお金がかかってしまう。

この際、電源が下側にあり、ケース側のバックプレートを交換すればマザーボードを交換できるやつ、ケースファンが少なくとも4つ取り付けできるやつを選ぶといい

できれば、Fractal Desgin Cみたいに吸気側のファンの数が多く、奥行きと幅と高さが同じぐらいやつを買うと、子供掃除をするときものすごく楽になる

また、奥行きと幅が狭いとミドルレンジグラフィックスボードすら取り付けられないことがある。

https://kakaku.com/item/K0000924204/?msockid=03488b005c3c670d3e779fc85dd6662b

Define C FD-CA-DEF-C-BK

Define Cだと335mmぐらいの幅のグラボまで行けるが、前面にファンを取り付けることが多く、実質的に305mmぐらいが限界となる。グラボだとRTX3060からRTX3080ぐらいまでしか取り付けられない)

もう少し予算がかけられる

Fractal Desgin Cみたいな、ちょっと古めだけど状態のいいケースをヤフオクフリマアプリで買え。

この際、見た目がいいやつを選べ。

奥行きと幅はDefineCと同じやつなら、普通用途だと問題はないが、価格差がそこまでないならDefineR5ぐらいの奴を買ってもいいかもしれない

無理して最新のケースを買う必要はない。

そして、Intel ARC A750という安いグラボを使え。

そうすれば、OSモニター込み15万円ぐらいでゲーミングPCが作れる。

Intel ARC A750は地雷扱いされてるけど、ff14や黒悟空聖剣伝説Vom、APEX程度なら普通に遊べる。

G.SKILL F4-3200C16D-16GIS (DDR4 PC4-25600 8GB 2枚組)

 4,820円

XPG PYLON 550W PYLON550B-BKCJP

 6,667円

中古 Intel Core i7-12700 (2.5GHz/TB:4.8GHz) Bulk LGA1200/8C/16T/L3

 42,980円

中古 _MSI PRO B660M-E DDR4 (B660 1700 mATX DDR4)

 8,590円

Ultimate SU630 ASU630SS-480GQ-R

 4,980円

Define C FD-CA-DEF-C-BK

 13,262円

SPARKLE Intel Arc A750 ORC OC Edition SA750C-8GOC

 31,700円

フィリップス 221V8/11

 11,000円

Windows 11 Home 日本語版

 16,090円

合計 140,089円

キーボードマウス

そんなもん、安もんでいい。

お金があるなら、2000円後半のエルゴノミクスマウスと6000円ぐらいのNキーロールオーバー対応のやつを買ったほうがいいが…

FPに泣きつくぐらいだらか金はないんだろ

ログイン ユーザー登録
ようこそ ゲスト さん