はてなキーワード: unixとは
人類の言語そのものを目的関数としてそれに対して最適化するのがLLMなのだから、人類の認知で到底不可能なことはやりようがないだろう。
一文で本質を突いている。AIの能力限界を構造的に説明している。
今よりもAIが進歩した未来では「自然言語で与えられた仕様から機械語を出力するように訓練されたAI」が出てくるかもしれないけど、そいつの内部をよく観察したら結局今日の高級言語みたいなもので思考していた、みたいなオチになるんじゃないんですかね
結論と完全に一致。内部に抽象化レイヤーが生まれるという洞察。
マシン語でエラーを吐き出されても、元となるプログラミング言語での設計がすっ飛ばされていたら、どこの何が問題なのかが照合困難で修正が困難なのが根幹な気がします。
検証・修正サイクルに意味の単位が必要という話を、実務的な観点から der 表現。
計算機科学について何一つ知らなかったとしても、ニーモニックを無作為に並べるよりソースからコンパイルした結果の方が解空間が圧倒的に小さいのだから、機械語の生成は AI 以前に単なる探索として悪手だ、というのが自然な発想だと思うんだけど。
探索空間という観点からの指摘。高級言語は制約を与えて解空間を狭める役割がある。
抽象化した方が簡潔に記述できるのはAIにとっても同じことで、そっちの方がAIも理解しやすいし、生成しやすい。現在の機械語、アセンブリ、高級言語の階層構造が崩れるとは思えない。
「AIにとっても同じ」という視点が正しい。人間向けとAI向けが乖離しないことを理解している。
「AIが直接機械語書けばプログラミング言語は要らないのでは?」的な話はみんな最初に頭を過るだろうけど、コードを出力するのがLarge "Language" Modelである以上は意味論から組み立てる高級言語の方がそりゃ相性いいでしょうね。
AIを何かgodlikeな超知性だと思っている人間が多いけど、人間にとって「機械語よりも高級言語の方が当然書きやすい」のと同様、AIにとっても「機械語よりも高級言語の方が当然書きやすい」よなぁという話
「AI向け言語は人間にも使いやすいはず」という結論と同じ方向。
CPUへの命令にまで細かく分解された機械語なんて、それが何をするための処理なのかはAI(LLM)でも大変だと思いますよ。そのCPUへの命令群で何をやろうとしているのかなんていう情報はほぼ捨て去っているわけなので。
機械語には意味がエンコードされていない、という議論の核心部分。
機械語派は抽象化の力を舐めすぎ。型なし言語はトークン削減量に対して失われる確定情報量が多すぎ。LLMが内部で型を推論したら本当にトークンが削減できるか怪しい。全能AIを仮定するなら、「人が作ったハード上で機械語を直接書く」なんて中途半端で「ハードごと最適化」くらいの夢を語ってほしい。
AIが機械語を直接書くようになるとか言っている人は、機械語にこそ真の価値があると思ってるんですかね?いかなる音声も元にせず、指示に従ってレコードに直接溝を刻んで音を鳴らす技術が広まれば、音楽がさらに発展するとでも思っているんでしょうか?
AI専用言語にせよ機械語を直接出力にせよ、人の持つ高レベルの意図や仕様、アルゴリズムを正しく反映したデータセット、意味構造が保存された対応データが存在しないから難しいというか現実的に無理よなぁ
学習データの観点から。意味構造が保存されたデータがないと学習できない。
「AI がマシン語を吐いたらプログラミング言語はいらない」系の話が出てくるのは「AIは人間の言葉より、機械の言葉の方が本当は理解しやすいはずだ」という思い込みから来ているのじゃないかと思っていて
誤解の根源を正確に特定している。
まず機械語を直接記述するメリットがない。現代コンパイラ、インタープリタは超優秀(OSや組み込みの一部だけ)。人類のプログラム資産は高級言語がほとんど。AIの学習先もそれ、よってAIは高級言語で出力するほうが成績が良い
AIが直接機械語を出力すべきか?という話題が流行っている。直感的には、動作中のAIの中身を調べると、結局はコンパイラやプログラミング言語に相当する構造が即席で構成されてそう。つまり同じことを高いコストでやる感じになり
内部に抽象化レイヤーが生まれるという洞察。mod_poppoさんと同じ結論。
意味推論がLLMの得意技なので、意味を削ぎ落とした本質の塊である機械語は理解できず、意味の羅列である高級言語こそがむしろ生成AIに最適化されている。
コンパイラって優秀だから、AIといえども生で機械語を読み書きするよりもコンパイラ介した方がいいと思うんだよな。そのくらいLLMって機械寄りじゃなくて人間寄りなんだと思う。元がニューロンの模倣だし。
高レベルになるとコンパイラの出力を疑って生成されたコードを読まないといけない状況は普通にあるので、高水準なAI生成のコードが何をやってるか理解するスキルは当面は必須だと思う
もし仮にAIが機械語を吐き出せるとしても、高速に、決定論的に、段階的に、最適に動作するコンパイラを使わず、低速で、確率論的で、逐次的で、最適な動作ができないAIを利用する意義はほぼないと思う
コンパイラとの比較で、AIに機械語を吐かせるメリットのなさを指摘。
機械語は冗長で複雑かつ非常に正確な出力が必要なので、高級言語を使って既存のコンパイラやビルドパイプラインに乗せる方がAIにとっても効率が圧倒的に良いと聞いて確かになぁと思いました。
自然言語を処理するのがLLMなので、不自然な機械語は難しいだろうね。1命令ごとに「それは何を目的とした操作か」とか文脈でわかりにくいしねぇ。
AI時代の人間の仕事は、信頼性確約(=こういう理屈で大丈夫、と説明できること)が大きな領分を占めるだろうと推測されるので、機械語だけで良いとか言ってるやつは責任を取る気皆無なゴミ野郎です。
LLMに機械語を出力させようとするやつは「AIは機械なんだから機械語は簡単に扱える」という意味不明な思考をしてるだけなのでまともに取り扱うような相手ではない。名字が山口な人は長州方言が話せるんですよねとか言ってるくらい支離滅裂
人間がソフトウェアに「こう動いてほしい」という意図と「ソースコードがどのように変更されたか」の対応はGitHubとかに大量のデータがあるのでそれを学習すればコーディングするAIは作れる気がするけど、人間の意図と機械語の対応は学習データが全然ないからAI作れないように思う
「よく使うロジックを共通部品化する」とか「とはいえ局所最適な命令も欲しい」とかを考えると、中間言語を用意して最終的な機械語へコンパイルする、という流れは必要と思う。つまり、「AI用に最適化されたプログラミング言語」があるべき。
AIは人とのコミュニケーションをいかにスマートにするかにとんでもなく時間を掛けてきたわけで、人が直接読み書きできない機械語を出力しても意味がないよね。
AI機械語コーディング、やろうと思えばできるが普通はやらないような可読性の低いコーディング方法が多すぎて、AIチャンに本気出されるとバグったときに修復不能になりそうな気がする
これだけAIが発展したならAIに直接機械語作らせればいいじゃんみたいな言説をたまに見るけど、それどうやって今のLLMと同じ水準まで学習するの?といつも思ってる
ロジックに従っているわけだから、ソースで想定外の挙動をした被疑箇所前後にロガーやらブレークポイントを仕込むという原始的だが確実なデバッグが、いきなり機械語を吐かれると出来ないんよ。
デバッグ実務の観点から。意味の単位がないとデバッグできない。
AIにしか読めない言語より、人類が発見的に設計したんじゃない人類にもAIにも優しいプログラミング言語・中間表現・機械語をデータドリブンに統計的に正しくAIが作るって方向に行かないですかね
AIが直接機械語吐くのは遠回りしてるだけだから無いとして、完全に人間がプログラムを読まなくなったらプログラミング言語はどう進化するのかは気になる
「無い」と断じた上で、次の問いを立てている。建設的。
プログラミング言語は人間の認知負荷、記憶量の限界、ミステイク、スパゲティコード理解できないためにあるので、AIだったら直接機械語吐くだろ。常考。
反論: 完全に逆。プログラミング言語は「人間の限界を補うため」ではなく「意味を構造として保持するため」にある。AIも意味を扱う以上、意味を表現する層が必要。「常考」と言いながら何も考えてない。
シンギュラリティ前夜 アダム(AI)が、人間には理解できないどころか、読むことすらできないコードを出力し始めた。後に判明することだが、それは機械語だった。
反論: SFポエム。「人間に読めない=機械語」という発想が、まさに今回の議論で否定されてる誤解そのもの。AIが人間を超えるとしたら、ローレベルに降りるんじゃなくてハイレベルに登る方向。
なんかLLM界隈?では「AIがやがて機械語をだす(ので実用的にはコンピュータ言語は不要になる)」と言うと、無知だとか実情知らないとかブロックしてやるとか言われる見たいだけど。数年は無理だけど、いずれそうなると予想してる。
反論: 「数年は無理だけど、いずれそうなる」の根拠がゼロ。なぜそうなるのか、意味と機械語のギャップをどう埋めるのか、何も説明してない。批判されてる理由を理解してない。
プログラム言語って人間が扱うために自由度を削り取った結果の産物やから、AIに機械語で作ってもらって最適解であれば、現代の言語の宗教感ってほぼほぼ否定されるのです
反論: 「人間が扱うために」という前提が間違い。自由度を削ってるのは「意味を保持するため」。AIも意味を扱う以上、同じ制約を受ける。「宗教感」とか言って茶化してるけど、構造を理解してない。
「まだ」人間が安心する為では無いのですか?コンパイル後の機械語を読む人が殆ど居ない事は受け入れてるのに、将来的にAIが機械語出力する事に忌避感を感じるのは論理的とは言えません
反論: コンパイラの出力を読まないのは「コンパイラが検証済みだから」。AIの出力は検証が必要。この二つを同列に扱うのがおかしい。「論理的とは言えません」と言いながら、論理が破綻してる。
AIが機械語はけば、は数ヶ月前にメンバーと話になった。結論は、いまはあかんやろけど数年後に、もう人間が見る必要全然ないわ、となったらありうるな、となった。
反論: 「人間が見る必要がなくなったら」という仮定自体が検討されてない。人間が見なくていいとして、AIはどうやって検証・修正するの?意味の単位がない機械語で?その議論が抜けてる。
機械語って逆にトークン消費するの?お〜…じゃあLIFE3.0時代のAIは機械語ではなくAI用に最適化された人間には読めない言語で思考する、という方向性なのかな。
反論: 「人間には読めない言語」がなぜ生まれると思うのか。AIは人間の認知を模倣してるので、AIにとって扱いやすい言語は人間にも扱いやすい方向に収束する。逆方向には行かない。
中間言語不要派の言い分:AIが直接機械語を出力可能で、効率最適化が進む。人間の都合で言語が存在するが、AIなら移植性や抽象化不要で中間層をスキップできる。
反論: Grok自身が「中間言語不要派の言い分」として紹介してるけど、これ全部間違い。「人間の都合で言語が存在する」が誤り。意味を扱うために言語が存在する。AIも意味を扱う。
反論: 「うまくやってくれるかもしれん」で済む話じゃない。なぜうまくいくのか、検証・修正はどうするのか、何も考えてない。
反論: これは自虐なので反論というより…正直でよろしい。専門外だと自覚してるなら、なぜそう思ったのか掘り下げて、専門家の意見を聞く姿勢があれば良いと思う。
筋の悪い言説に共通するのは:
1. 「高級言語=人間のため」という誤解 - 意味を扱うための構造だと理解してない
2. 「AIは機械だから機械語が得意」という誤解 - AIは人間の認知を模倣してると理解してない
さて、まずは事の経緯から。
娘が中学生になり、第一子の息子が中学生になった時と同様、パソコンを買い与えることになりました。ここまでは良いです。私も了承しています。
何故なら夫はプログラマー、情報技術者であり、私はそこまで詳しくはありませんが、相応の資格や会社での立場を持っているようです。生活に困らない程度には稼いで下さっているので、その点は本当に感謝しています。
しかし今回の娘のパソコン導入を巡って、私たち夫婦は喧嘩になりました。夫は「娘に買い与えるパソコンのOSはFreeBSDにする」と言うのです。
実は息子のパソコンのOSもFreeBSDで、我が家にあるパソコンはすべて中身がFreeBSDです。その理由が夫の言葉を借りるなら「俺はFreeBSDが好きなんだ」。意味がわかりませ……いや、意味はわかります。言葉の意味はわかります。なぜそうするのかがわからないということです。
一方、娘が欲しいと言ったのはMacBook Air。デザインも可愛くてお洒落、デザイナーさんも使っているし、はてなーにも愛されています。ところが夫は言います。「いや一般目線でWindowsへ行きたいって言うならまだしもMacって意味わからなくないか?」と疑問の表情を隠さないんです。
そこで私は、ついに反撃に出ました。
「ねぇ、macOSってNeXTSTEP由来で、Darwinの中にはFreeBSDのコードも結構入ってるんでしょ?」
すると夫、ピタッと黙りました。
そうです。macOSのカーネルXNUはMachが中核で、そこにBSD層とIOKitを載せたハイブリッドで、そのBSD層には、FreeBSD由来のネットワークスタックやVFS、POSIXシステムコール実装が使われています。ユーザーランドに至っては、libcや各種UNIXツールなど、かなりの部分がFreeBSD由来だったような気がします。
「macOSはFreeBSD“ベース”ではないのは分かってるよ?Machが土台で、完全なBSDカーネルじゃない。でもさ、DarwinってFreeBSD 5.x頃のコードを大量に取り込んでるよね?重要な部分でしっかり使われてるよね?」
「それに、あなたがいつも言ってるじゃない。『UNIX系なら出来ることに大差はない』って。macOSも立派なUNIX認証OSだし、POSIX準拠だし、BSDユーザーランドだし、『FreeBSDの思想が入っていない』とは言えないよね?」
もう一息です。
夫は必死に反論します。「いや、カーネルの中核はMachだから」「同期は取れてないし」「割合で言えばBSD部分は全部じゃない」。
私は頷きます。「うん、知ってる。全部じゃない。でも重要な部分で使われているけど、全体の基盤ではないって話でしょ?」
新築や家電では私の意見を聞いてくれるのに、何故かパソコンだけは譲らないんです。
でも今回は違います。あなたの大好きなFreeBSD、もうMacの中に一部は住んでます。
頼みの息子も「言うほど不便じゃない。まぁ動かないSteamのゲームがたまにあるけどSwitchゲー動かないみたいなもんだし慣れたわ別ゲーやりゃ良いし」とそっけない感じ。そもそもこの子は小学生の頃からSwitchで遊んでて、この子にとってゲーム機もFreeBSDなんです!味方として頼りにならない!
別にMacBook Airで良いと思いませんか?FreeBSDそのままなんて使ってる人見たこと無いじゃないですか!そんなにFreeBSDそのものであることが大事ですか!?Machの上でBSD層が動き、FreeBSD由来のユーザーランドを使うUNIXならよくないですか???どうやったら夫を倒せますか教えて下さい!!!!!
Linuxは情報処理技術者でよく分かっている人間が利用する物と捉えて良い。
一般ユーザでは多数派である Windows , macOS を利用した方が良いと考える。
これは下記の理由による。
※「Linuxフリーク」は夫の個人の考え方であり、押しつける物ではない
OSの違いが分かっていないのですから、解決方法も自分で探さなければならない。
よって「Linuxで出来ないこと=駄目な物」と捉えかねない。
フォント、印刷をとっても文字ずれを起こしたり、表示が崩れたり。
課題提出をするときにも特定のアプリケーションでの保存形式の提出を指示されたりもします。
それらの問題解決に時間を割くより、【勉強】に時間を割くべき。
一般的に出回っている物であれば、操作、問題解決方法は皆が分かりますので解決時間が早くすみます。
その上で、パソコンのOSに違いが興味が出てくるのであれば相談に乗ってあげれば良いでしょう。
OSが違えば動作も違い、悩みが出るのは承知のことなのではないでしょうか>夫さん
※指導要綱とパソコンの諸元は確認されましたか? <==掲載されているのは最低諸元なので注意
性能よりも単純に持ち運びを出来た方が良いということにつきます。
友人との関係性維持のためにパソコンを持ち歩いた方がその場で検索したりデータを編集したり。
人間関係は重要視したほうがよいのでラップトップをお勧めします。
macOSは古くの由来からすれば スティーブ・ジョブズの NextSTEP から移植されたものなので中身は UNIXだよ
拙者、家庭なき弱者男性でござるが、子供がいたら普通にWindowsマシンを買い与えるでござるよ…😟
理由は第一に金銭面、第二に、どうせいつかWindows動かなくなって、消してLinuxマシンにできるから…
何なら我が家にあるパソコンはすべて中身がLinuxです。その理由が夫の言葉を借りるなら「俺はLinuxフリークだ」そうです。意味がわかりません。
そんな、ヴェルタース・オリジナルみたいなこと言える家があるのが驚きです…😟<今では私の孫もUbuntuユーザーなぜなら彼は私にとっても特別な存在…
フリークと言えば、色々なものが思い浮かびますが、子供の頃に雑誌ログインを読んでいて、田尻智氏のこと、ミニコミ誌のことは知っていましたが、
そのゲームフリークが後々ポケモンで大成功する、というのは、ポケモンが成功するまで知りませんでした
ほんと、スゲーよな…😟
はてなーかどうかはともかく、20年近くMacOS X使ってきて、もう二度と使うか、と思ってるので、愛はないです。
ただ、今でもときどき、同じDAW使うなら、Macの方がいいのかなあ、とか、
だけど、某女性メタルバンドの女性作曲家ギタリストは普通にWindowsでデモ作ってました、
環境のせいにする前に、さっさと一曲作るとか、とにかく完成させろ!という誰かの声がシリコンバレーの方から聴こえる…😟
そもそも我が家でiPhoneを導入するか?Androidを導入するか?となった際も私は言い負かされてAndroidになっています。
あー、音楽関係だけでも、過去にiOSで使ってたアプリはあるので、正直、Macはともかく、iOSは使いたい気がしてます。
Androidは意外とそういうところで駄目というか、志が低いというか、
じゃあ、文句言ってるテメーが作れや、なんですが、iOSのアプリの方がオシャンティーだったりもして、いいですよね、見た目が良いのもモチベが上がります…😟
様々な多様性で、同じ動作をしないデバイスがあったりするのもAndroidなので、基本私はGoogleが売る端末、
もしくはPixelやNexusを実際に製造しているメーカーを使うことにしてますが、ASUSだったかな、過去に酷い目に遭いましたよ、ええ…😟
まあ、一応homebrewはMacもLinuxも同じように動作しますよね…、
なんだかんだ、GIMPは当然、Inkscapeもちょっと色々無理があるというか、
不肖、私は障害者ですが、再就職の研修とかなると、基本Microsoft Office周辺群、あとAdobeですよね、動画編集もそうですし…😟
お金の問題もあるので、私はMS OfficeもAdobeも普段の個人の生活では使わないですけどね
考えようによるけど、敢えて、子供にパソコンを持って外出させたくない、みたいな、セキュリティとか、色々問題ありますし、
うちの近所も、小学生が公園に集まって、スマホ設置してダンス動画とか撮影してるの見ますけど、
そういうのに付随するトラブルを防ぎたいとか思うのなら、親の嫌がらせと思われても、デスクトップにするとか、
敢えて、重いノートにするとか、ありなんじゃなかろうか…😟重くても家の中なら持ち運べるでしょ?
頼みの息子も「言うほど不便じゃない。まぁ動かないSteamのゲームがたまにあるけどSwitchゲー動かないみたいなもんだし慣れたわ別ゲーやりゃ良いし」とそっけない感じ。そもそもこの子は小学生の頃からラズベリーパイで夫と電子工作やゲームして遊んでて、この子にとってパソコン=Linuxなんです!味方として頼りにならない!
日本の将来は明るいですね…😟
いや、ロボットに障害物競争やらせる国際的なイベント、DARPAグランドチャレンジのテレビ中継観てたら、
会場にあるマシンが明らかにみんなUbuntuなんですよ、あのアフリカをイメージした赤茶色、特徴的なドック、
最近、ボケっとテレビ観てたら、ロボットハンドを開発してる会社とか、内容忘れたけどAI関係のベンチャーとか、
基本みんなLinuxというか、多分Ubuntu系列です、ロボットハンドの企業はXubuntuでした
名前だけしか関係ないVisual Studioはあんまりですが…😟
音楽やるのにも必要ですし、ローカルのLLMとか、個人的にはゲーム以外の用途でゲーミングパソコンが欲しいぐらいです
光るのは嫌ですが…😟
ブコメとかにあるように、まあ、今のMacOSもDarwinというか、UNIXっぽいのは間違ってないので、
伝統的BSD系列と、新参者のLinusが作った紛い物Linuxファイッ!みたいな感じなので、これはもう宗教戦争、
つまり、夫がvimですが、私はemacsです、どうしたら倒せますか?みたいな感じで、
その横で私はvscode使ったり、MacOS Xでも旧称耳かきエディターのmiとかCotEditorとか使うだけなんで…😟文化は共存共栄が大事ですね
と質問とした所、
いい質問。ただ、**今回私が提示した C# コード(MemoryMappedFile + Parallel.For で CR を数える)**には、明確に一つの「このネット上の記事/リポジトリをそのままコピーした」元ネタはありません。
いくつか似たアイデアを使ってる部分と参考になる記事/ドキュメントはあるので、それらを紹介します:
---
*Microsoft ドキュメント — Memory-Mapped Files (.NET)*
([Microsoft Learn][1])
*Kieren Johnstone: 高速に MemoryMappedFile からバイト列を読む方法(StackOverflow)*
`MemoryMappedViewAccessor` を使って unsafe コードからポインタを取得し、Marshal.Copy で効率よく読み出す方法。
([Stack Overflow][2])
*Red-Gate: Sharing is Caring: Using Memory Mapped Files in .NET*
MemoryMappedFile を使ったキャッシングなどの応用。
*Stephen Cleary のブログ: Memory-Mapped Files と Overlaid Structs*
メモリマップトファイルへ構造体を重ねて(オーバーレイ)扱う方法など。
([blog.stephencleary.com][4])
---
もしよければ、**あなたのコード(CR を数えるもの)に特化した元ネタをさらに探してみます**。やりましょうか?
[1]: https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files?utm_source=chatgpt.com "Memory-Mapped Files - .NET"
[2]: https://stackoverflow.com/questions/7956167/how-can-i-quickly-read-bytes-from-a-memory-mapped-file-in-net?utm_source=chatgpt.com "How can I quickly read bytes from a memory mapped file in ..."
[3]: https://www.red-gate.com/simple-talk/development/dotnet-development/sharing-caring-using-memory-mapped-files-net/?utm_source=chatgpt.com "Sharing is Caring: Using Memory Mapped Files in .NET"
[4]: https://blog.stephencleary.com/2023/09/memory-mapped-files-overlaid-structs.html?utm_source=chatgpt.com "Memory-Mapped Files and Overlaid Structs"
ChatGPT:
が、出てきて、やってくれと言ったら、こういうのが出てきた。
了解しました — 広く(英語・日本語・GitHub・ブログ・StackOverflow 等)再検索しました。結論と見つかった“近い”ソースをまとめます。
結論(要点)**
「あなたが求めている**MemoryMappedFile を使い、UTF-8 バイナリ中の `CR`(0x0D)だけを数える・マルチスレッドで分割して処理する**」という **完全一致の“元ネタ”ソースコード**は、公開された web 上のリポジトリや記事の中では見つかりませんでした(複数の検索ワード/検索対象で確認)。([hyr.mn][1])
ただし、ほぼ同種の要素(メモリマップドファイルの読み方・大きなファイルの行数カウント・バイト単位カウントを高速化する手法)は複数見つかりました。これらを組み合わせれば、先に示した実装は典型的なパターンであることが確認できます。([Microsoft Learn][2])
見つかった“近い”・参考になりそうなソース(抜粋)**
1. .NET の公式ドキュメント(MemoryMappedFile の説明) — `MemoryMappedFile` の基本と CreateViewStream / CreateViewAccessor の使い方。必須の参照。([Microsoft Learn][2])
2. 「Counting lines with C#」というブログ記事(C# で改行(CR/LF)カウントに関する実装と GitHub リンク) — 行数カウントを目的とした実装パターンがある。([hyr.mn][1])
3. StackOverflow:MemoryMappedFile から高速にバイトを読む方法(`MemoryMappedViewAccessor` / unsafe ポインタ / Marshal.Copy 等の議論) — 高速実装のヒント。([Stack Overflow][3])
4. StackOverflow/Q&A:ファイル中の LF/CR の数を求める方法に関するスレッド(`grep -c $'\r'` 等の unix 例や C# でのカウント方法の議論)。([Stack Overflow][4])
5. GitHub のサンプルリポジトリ(MemoryMappedFile のテスト/サンプル) — メモリマップドファイルを使う実装例。([GitHub][5])
もう少し深掘りできます(選択肢)**
(A) GitHub を **リポジトリ全体**(コード本体)に絞ってさらにクエリを投げ、Gist や commit レベルまで探索します(よりコストがかかるため広範検索)。
(B) ブログ・技術記事を対象に **全文一致(コード断片)検索** を行い、私が先に示した C# コードの実際の一節(たとえば `mmf.CreateViewStream(offset, size)` や `Interlocked.Add(ref totalCount, localCount)` など)を直接検索して完全一致を探します。
(C) 「オリジナルは GitHub にあるはず」と思われるなら、あなたが覚えている**リポジトリ名の断片/作者名/投稿日**などを教えていただければ、それを手がかりに探します(断片情報があるとヒット率がぐっと上がります)。
どれを優先して探しましょうか?(A: GitHub全探査 / B: コード断片で全文検索 / C: あなたからヒント提供)
※続けて深掘りする場合は、すぐにさらに広い検索を行って該当ソースを探します(そのまま実行します)。
[1]: https://hyr.mn/catching-flowers-with-a-net?utm_source=chatgpt.com "Counting lines with C# - hyr.mn"
[2]: https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files?utm_source=chatgpt.com "Memory-Mapped Files - .NET"
[3]: https://stackoverflow.com/questions/7956167/how-can-i-quickly-read-bytes-from-a-memory-mapped-file-in-net?utm_source=chatgpt.com "How can I quickly read bytes from a memory mapped file in ..."
[4]: https://stackoverflow.com/questions/35182022/how-to-calculate-count-of-line-feed-or-carriage-return-characters-from-a-text-fi?utm_source=chatgpt.com "How to calculate count of line feed or carriage return ..."
[5]: https://github.com/byGeek/MemoryMappedFileTest?utm_source=chatgpt.com "test csharp code for using memory mapped file."
ダサいからなんなの?ダサくて上等だ。普通にプロでもwindowsサーバーとかに主に関わってる人もいるわけでITの仕事が全部unixだと思ってるのおかしい。
dorawiiより
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20251113165348# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaRWOjgAKCRBwMdsubs4+ SBu0AQDCk+381mDVI03iAQpYSAOZY6FCGhhwwXzJqzDcRo+DmQD/S65odOwdUQRk H/G1AzmlMJFWB6kKNGjLhqCtDOw0GwY= =WFd7 -----END PGP SIGNATURE-----
ChatGPTに聞いたらええんちゃうか
いい質問ですね!
これ、実は「どっちが正しい」みたいな決着はなくて、言語文化や時代背景によって意見が分かれる話題なんです。
---
1. for(;;) vs while(1) vs while(true)
* `for(初期化; 条件; 更新)` のすべてを省略すると無条件ループになる。
* 昔は「最適化や挙動が明確」という理由で好まれることもあった。
* ただし「1って何?ブール値?」と初学者には直感的でないかも。
* C++やJava、C#などブール型が明確な言語では「一番可読性が高い」。
* 「ずっと真の間繰り返す」という自然な書き方なので、最近はこちらが推奨されることが多い。
* Cではtrueを使うには stdbool.h をインクルードする必要があるので、昔は避けられがちだった。
---
2. 「for(;;)派」の人は誰?
ネットでよく言われるのは、Linuxカーネルのコード規約とか古いUNIX文化の影響です。
* 「無限ループは for(;;) を使う」とカーネル開発のスタイルガイドで書かれている。
* 理由は「歴史的にCで最も標準的で、誰もが見慣れているから」。
要するに「C文化圏ではfor(;;)が王道」というだけで、現代の教育やC++/Javaなどの文脈では while(true) の方が読みやすい、という感じです。
---
3. まとめると
なので、初学者が「while(true)の方が可読性高い」と思うのは大正解です 👍
---
👉質問:
UNIX哲学の「正常動作時は何もprintしない」という原則ですね。
HTMLを使用する際には、さまざまな問題が発生することがあります。まず、HTMLが正しく表示されない主な原因として、タグの閉じ忘れやネスト(入れ子)のミスが挙げられます。たとえば、
タグが正しく閉じられていない場合、ブラウザは意図した通りにコンテンツを表示できません。このようなエラーを検出するには、W3Cのバリデーションツールを使うのが有効です。
次に、画像が表示されない問題については、<img>タグのsrc属性で指定されたパスが間違っている可能性があります。ファイルが存在するかどうか、また拡張子(.jpg、.pngなど)が正しいかを確認しましょう。さらに、ファイル名の大文字と小文字が一致していない場合も、特にUnix系のサーバーでは読み込まれない原因になります。
https://mavenanalytics.io/project/37984
https://mavenanalytics.io/project/37985
https://mavenanalytics.io/project/37992
リンクが機能しない場合は、タグのhref属性が誤っているか、リンク先のページが存在しないことが考えられます。相対パスと絶対パスの違いを理解し、正確なURLを記述することが大切です。また、CSSがページに反映されない問題もよくあります。これはCSSファイルのパス指定が間違っていたり、セレクターの書き方にミスがあったりすることが原因です。キャッシュが影響することもあるため、ページをリロードする際はCtrl + F5 https://mavenanalytics.io/project/37998で強制的に更新するのがおすすめです。
最後に、フォームが正しく送信されないケースでは、<form>タグのaction属性に誤りがあることが多く、また<input>タグにname属性が設定されていないと、データがサーバーに送られません。JavaScript https://mavenanalytics.io/project/37999を使用している場合は、開発者ツール(F12)を使ってコンソールにエラーが出ていないか確認するのがよいでしょう。
このように、HTMLのトラブルを解決するには、基本的なタグの構造やパス指定の正確さ、そしてブラウザの開発者ツールを活用する知識が不可欠です。
自分はAndroidからiPhoneに乗り換えた人だけど、ただ使うだけなら絶対にiPhoneのほうが使いやすい。
なぜだかわからないけど、iPhoneのほうが手に馴染むというか、直感的に操作できる感じというか。
唯一、円安もあって値段の高さだけがどうにもネックだけど、価格以外の理由でAndroidを選ぶ理由が全くわからない。
Androidのように自由にいじれないとか言ってる人もいるけど、何をどういじるんだ?
そもそもAndroidにできてiPhoneにできないことというのが、全く思いつかない。
なので正直、iPhoneがあってなおAndroidを選ぶというのは、クライアント用途でWindowsよりもLinuxを選ぶみたいな奇妙さを感じてしまうんだわ。
例えるならAndroidは機種ごとにディストリビューションが違うみたいな感じで、多様性なんてそんないいもんじゃないことの証明になっているとさえ思う。
そこに使い勝手の話を加味すると、それこそクライアント用途については「UNIXなんてダメだ」と思っているけど、それがスマホでも再現したイメージしかない。
何よりLinuxなんて登場してから10年くらいは、本当に「ワナビーのクソガキのためのオモチャ」みたいな位置づけで、フリーのUNIXというカテゴリでさえ本命は*BSDだった。