はてなキーワード: 初期化とは
プログラミングとは、勉強も運動もスマブラも下手なクソ隠キャ中学生が「俺もパソコン1台で凄い技術者になって…!」とワクワクしながら始めるものの思ったより普通に難しいし学校の試験で出たような知識要求されるしで3日で放り投げ、10数年後にnoteで「お前らは絶望的にプログラミングに向いてないからやめろ」なんて記事を書くだけのザコに成り下がる、夢と希望に溢れた技術である。
近年ではパソコンのスペックの上昇にともないできることも増え、どこのご家庭にもあるRTX2080で簡単にディープラーニングもできるようになった。Unityで3Dゲームをバリバリ動かしてもブルースクリーンは出ない。やっぱ世界を広げるのは小賢しい知恵よりもスペックの暴力だぜ。
開発環境や言語も選択肢豊富で、エディタもかつては有料クラスでも手に入らなかったような贅沢な機能が満載のものが出回っている。Eclipseとか今考えるとよくあんなので開発できてたな。
いまや小学生からおばあちゃんまでアプリ作りに熱中し、高校生はIoTとかやり始め、大学生は商業レベルか?ってレベルのものをネットで発表し、私はウェブアプリのスマホでのレイアウト崩れひとつすら直せず静かにエディタを閉じてnoteで過激タイトル記事を書いている。
掛け算に順序があると思っているような知能の下級雑用係(自分のことを教育専門職だと思い込んでいる)ですら「小学生にプログラミングを教えるぞ!」と意気込んでいる。やめろ。お前らには無理だ。無理だからマジでやめろ。考え直せ。無理だって。掛け算に順序つけないと相手に教えられないレベルのやつがプログラミング教えるのマジで無理だって。算数とは次元が違うって。「ピーチ姫いつも簡単に誘拐できるし今度はベヨネッタも誘拐してみるか」ぐらいの無謀さだって。やめとけ。マジでやめろ。
まあそんなこんなで入り口はめちゃくちゃ広く、入門するのはマリオカートより簡単である。話逸れるけどSwitchのマリオカート、運転アシスト機能ついて初心者でもコース完走できるようになったから心折れちゃった人ももう一度チャレンジしてみてね。
それとは特に関係ないんだけど、大学行ってた時ティーチングアシスタント(TA)っていう授業のお手伝いさせられたのよね。ちゃんとお金出るやつ。
学部の3年か4年から始まって、院の1年か2年までやってて、途中で休学挟んだから、ええと、あー、うん、数年間TAやってたんよ。数学とプログラミングのコマ。CとOctaveとかいうやつ。Cのほうは情報学科で、Octaveは違う学科。JavaとかC++のコマはTA入れさせてもらえなかった。
プログラミングの実習は週2コマ(連続)あって、情報学科なら必修科目。なのでサポートは相当手厚く、先生とTAが絶え間なく机間巡視し、わからないことがあればセンパイがなんでも答えてくれるというわけだ。授業外でもサポートはしており、わからなければ先生や研究室にいる学生に好きなだけ聞きにいっても良いということになっていた。必修だから落とされたら困るしな。
2コマだから3時間 * 15回で、45時間。そして私の時は2年まででC/C++/Javaと必修だった(今はなんの言語かは知らない)ので、その3倍、135時間は最低やることになる。プログラミング実習以外にもプログラミング触る授業多いから実際はもっと多い。宿題やる時間もあるので実際はもっともっと長くプログラミングに触れることになる。卒論書く時期に入ると、テーマによっては書く人はさらに書くので、もっともっともっともっと長い。
これだけ時間をかければほとんどの人がプログラミングできるように……ならない。むしろできない人の方が多い。なんで。why。教えて。
会社になるとさすがにプログラミングできるできないは死活問題である。
「今日から入ったxxでーす。業界未経験ですがよろしくおねがしまーす。さっそくなんですけどPythonのここわかんないんですけどどうすれば……あっそうすればいいんですね。次はここなんですけど……なるほど!ありがとうございます。じゃあまた明日ー」
いやー社会人にもなると熱意が違うね。学生なんかわかんなくてもほとんど聞きに来ないのにな。こりゃガンガン伸びますわ。私も社会人1年生でPythonなんて3秒ぐらいしか触ったことないから適当答えてるけど。
「ちょっとお時間よろしいですか?」「いやちょっと今忙しいから後になっちゃいますわ。すんません……」
そんなこんなで1週間ぐらい放置してしまった。やべー絶対嫌われる。どこまで進んだかな……?えっまだそこ?進んでなくない?
もしかしてこれ全部教えないとダメなやつか。そりゃ大学4年間プログラミングやったやつでもプログラミングできないんだから、そうか。よく考えると当たり前だよな。
プログラミングをやめろ
大学4年間と大学院2年間プログラミングやったやつでもできないし、会社で毎日8時間を数週間プログラミングについやしてもできないやつはできないし、そもそも人類というのはプログラミングできない可能性がある。
少年少女たちに「プログラミングはいいぞ!自由にものが作れて達成感がある!頭が良くなった気分にもなれるし!」と吹聴してまわんのもいいけど、6年間情報科学について勉強したようなやつの大半がプログラミングできないんですよ。それもごくごく初歩的な部分。
野球とかサッカーなら、まあ友達との試合には参加できなくてもごく稀にバットにボールを当てたり、ボールを1回あらぬ方向に蹴ったり、ぶっちゃけ周りとのレベル差で楽しくなくてすぐやめちゃうだろうけど、なんとか基礎の一部ぐらいはできるじゃないですか。
ピアノとかダンスでも、猫踏んじゃったをごくごくゆっくり弾くぐらいはできるかもしんないし、学芸会の振り付けを10秒ぐらいは踊れたりできるかもしれない。その後やっぱ周りのレベル見て諦めちゃうかもしんないけどさ。
プログラミング、6年やってミットを頭にかぶってるバッターとか、鍵盤蓋の上から殴って音鳴らそうとするやつとか、まずそういうレベルのやつが大量発生するんですよ。だいたい7割ぐらいの率。どうすんだよこいつら。私の教育の問題か?マジで?本当に?
プロが練って考えて凝縮した本や授業、センパイたちによる指導。それらを結集して得られるはずのものが7割ぐらいどっかに消し飛んでる。無駄だろこれ。
今からプログラミングやろうとしてるやつ、お前は確実に向いてないからさっさと諦めて刺身にタンポポ乗せる仕事に戻ってくれ。参加しても鍵盤蓋叩き割るやつと同じ病室に入るだけだ。
プログラミングをやめろ。
ぼくはこう思うんですよ
そもそもなんで大の大人がそんな両手にバット持ってセカンドに立ったりゴールの方をボールのところまで動かす奇行に走るんだろうな。わかんねえや。
綺麗な分析はできないけど、いわゆる「できない」やつが共通して言ってたフレーズがある。
「ぼくはxxxだと思ってるんですけど、動かないんですよ」
うん、そうだね。そう思うんだ。でも動いてないじゃん。じゃあ違うんじゃない?モニターに「にらみつける」やってもバグは取れないし防御力下がるだけだぞ。
まず根本的に考えと事実が違ってるって結果出てるじゃん。じゃあもう考え変えちゃえば早くない?
名言の引用は好きではないけど、「プログラムは思った通りには動かない。書いた通りに動く」って言葉がある。実に名言だと思う。次点で好きなのが「ある問題を解決しようと正規表現を使うと問題が2つに増える」かな。
お前が何を思っているかはプログラミングにおいて一切影響しないんだよ。お前が何を書いて、コンピュータがどう処理したか、それが全て。
深く考えないことについてぎゃーぎゃーいうやつもいるけどプログラムなんてまず最初は動けばいいんだから何も考えずに次試せばいいだろ。んで3回ぐらいは自分で思い浮かんだの試して、全部ダメだったら調べるとか先生に聞いてみるとかさ。逆に1発で通ったら自分の思考見直して理解深めるとかさ。
ドキュメントとかあんまり理解できない初心者のうちは、とにかくお試しと修正のサイクル回すの重要で、「これがこうだから動くはず」というカードを3種類ぐらい作って全部片っ端から試すのが早いと思うよ。モニターをにらみつけるな。
お前がどう思ってるかよりも、まずはお前の書いたプログラムがどう動いているか(どう動いていないか)を確認するのが先だ。動かなかったら考えが違う、はい次のプラン、はいその次のプラン、はい次。
この「ぼくはこう思ってる」が出てくるの、なんの教育の成果なんだろうね。お前の気持ちなんてどうでもいいって現国でも数学で散々教えられただろ。
Error: variable 'a' is undefined, line 24
↑のエラーは架空のエラー文(英語下手でも許して)だけど、エラー、出るよね。プログラム組んでたら。んでやっぱいるのよ。エラーを「にらみつける」やつ。解決しねえって言ってんだろ。
「エラー出たんですけど、どうすればいいんですか」
「エラーにはプログラムがなぜコンパイル通らないかの原因がそのまま書かれている。例えば今出ているError: variable 'a' is undefined, line 24は、24行目の変数aが未定義ということを示している。事前に変数aを定義していないか、打ち間違えてsになっているとかではないのかな?」
だいたいが「腑に落ちねぇー」みたいな顔する。まあ、一気に喋りすぎたしな。疑問点1個1個潰していくか。
「何か疑問点ありそう?変数ってなにー、とか、定義ってなにー、とか」「ないです。わかりました!」
わかったのか。よかった。またモニターをにらみつける開始。なんでだよ!!!!「お前顔にチョコついてるぞ」って言われたらチョコ拭き取るだろ。変数aが未定義ですねって言われたら変数a定義すりゃいいだろ。
でもプログラミングド下手なやつ(全人類の7割ぐらい)は、エラーをにらみつけてる。ずっとにらみつけてる。防御力下限まで下がったかな。にらみつけてて何が変わるんだよ。
「英語読めなくて……」
いや「a is undefined」なんて「He is Superman」ぐらいの英語だろなんで読めないんだよ。お前この大学どうやって入ったんだよ。たしかどの入試方式でも英語あっただろ。単語わからんかったらググれ。
「aが未定義って書いてあるんですけど、ここのfor文の私の考えが間違ってるのでしょうか」
いや24行目のaって書いてるだろ。まずなんでそこ無視するんだよ。お前がfor文で使ってんの教科書通りのiだろ。24行目ってわかるか?for文あるの40行目あたりだよな?aとiが違う文字ってわかるか?
「さっきのエラー直したら新しいエラーが出たんですけど、どうすればいいですか」
千尋!贅沢な名だねえ
変数に名前をつけろ。関数に名前をつけろ。クラスに名前をつけろ。全てに名前をつけろ。
C言語の古い教科書だと「a」とか「b」とか「i」とかで書いてるけど、そんなの人間が読めるわけねえだろ。冷静に考えろ。「input」「output」「index」とかにしとけ。
2重for文の変数名i, jにしたら絶対途中で打ち間違えるだろ。お前は打ち間違える。そういうやつだ。2重ループなんてどうせ行列計算の課題だろ。rowとcolumnにしとけ。これで打ち間違っても気づくし、それぞれに意味が付いてくる。
ちなみに同じ長い名前にも優劣がある。「result」よりも「sum」のほうが強い。「result」はなんの結果かわからない(全ては結果であるので)が「sum」は合計値であることがわかるからだ。「password」と「plainPassword」なら「plainPassword」が勝つ。暗号化されていないパスワードであることがわかるので、情報量が多いからだ。
ただし例外はいくつかある。「tmp」は一時変数であることが(プログラマにとって)明らかだ。「dir」はディレクトリであることがわかる。「src」「dist」あたりもよく使われる。このあたりは短くていいんじゃねーかな。
でも、この前温度センサ扱うプロジェクトで「tmp」って変数名使って温度(temperature)と脳内で混線してバグって発狂してた同僚いたけど。そういうときは名前長くするか別の名前使おうな。
関数の名前なんて「calcAverageFromArray」ぐらい長くしていいから。「myFunc」とかしなくていいから。「fetchJsonDataFromUniversityInternalServer」とかでいいから。マジで。いやこれ本当に。
そもそも今時ディスプレイでかいし、識別子なんて先頭数文字打ったらエディタが補完してくれるし、短くするメリットがない。
それでも名前が長いと感じる?関数がでかすぎるんじゃないか。細かく処理を分けるとかしてみろ。「combineArrayAndFindMax」関数は「combineArray」と「findMax」に分割したらいいと思うぞ。名前が長いと思っても名前を削るな、機能を分割しろ。自然と名前が短くなる。
それかシンプルでかっこいい名前を見つける。「convertEvilHtmlToPeacefulText」は「sanitize」に置き換えることができる。イカす名前だ。
プログラミングできない奴はマジでこれらのことをやらない。ずっとaとかbとかzとか使ってる。お前それ自分で読めんのか。読めねえだろ。myfuncってなんだよ何するんだよ。お前自分で理解できてんのかそれ。
それでも頑なにaとかbとか使う。なんでだよ。
動作原理わからず書き散らすな。動作原理っつってもそんな深いところじゃなくて言語表面上レベルの動作な。
リテラルは値を作成して、代入は値に名前をつけている、とかその程度のレイヤー。メモリがどうこうとかはいらんと思う。あっでもポインタのときはいるか……。めんどくせえな。
まあ動作原理っていうか自分が何やってんのか理解してくれって程度の話になるんだが。
例えばfor文で処理50回まわすとき、「50回分の処理を行なっている」ではなく「ループ開始時に変数を初期化。条件判定して成立していれば文の中を実行する。条件変数の値を変化させてまた条件判定からやり直す」ぐらいの粒度で捉えててほしいかな、という気持ち。
これはfor文で詰まる人がやたら多かったからだ。彼らはfor文をアトミックな操作だと思っていた。つまりfor文はひとまとまりの命令であり、長いfor文とprintfの間に粒度の違いはないと思っていたらしい。
つまり、「for文の中でエラーが起こる」という事象がほぼ理解できない。forはアトミックであり、内部など見えないのだから。じゃあお前が今書いたfor文の中身はなんなんだってやんわり聞くと「さあ…?」みたいな反応が返ってくる。はあ。
関数についてもなかなか誤解が多かった。関数「sum_array(a, b)」と関数「average_three_numbers(a, b, c)」は全く別の原理で動いているのだと。ここでの「全く別の原理」というのはシグネチャが違うとか実装が異なるとかそういう意味ではなく、コーラを飲んでゲップが出る原理と糸電話で声が伝わる原理ぐらいの全くの別、という意味である。
彼らは関数ひとつひとつについて「新しく原理を学習」していたのだ。マジかよ……。どうやったらそんな発想に行き着くんだろう。そりゃ時間かかるわな。
そのため、関数が値を返す(または返さない)ということも理解できておらず、「関数の戻り値と関数の戻り値を足す」とか「関数の引数に関数の戻り値を直接渡す」とかやりだすと大パニックになる。メソッドチェーンとかやった日には大学潰れると思う。ただ、これはC言語が悪い部分もあると思う。配列とかいじりだすと、初心者が書けるレベルの関数だとあんまり値返さないしな。
たのむ、他のはできなくてもこれはできてほしい。自分が何をやりたいのかは理解してほしい。流石にお前のやりたいことなんて他人にはわからんぞ。
「配列の中の数値の合計値を求めたいんです」とか「名前と身長と体重をひとつにまとめた構造体が作りたいんです」とか。簡単なのでいいから。
「いま何やろうとしてどこで詰まってる?」って聞いても「……?」みたいな反応されたら困るんだよ。
例えば「キーボードから数値を10回入力し、それぞれの値を配列に格納して、最後に配列の値を逆順に表示せよ」みたいな問題が出てきたときに、「キーボードから値を入力する」「10回繰り返す」「配列に値を格納する」「配列の値を逆順に表示する」に分解できると思うんだけど、自分が何やりたいのかわからない奴はまずこれができない。
彼らには「キーボードカラスウチヲジュッカイニュウリョクシソレゾレヲハイレツニニュウリョクシテサイゴニハイレツノアタイヲギャクジュンニヒョウジセヨ」に見えている。
かろうじて「キーボード」「ハイレツ」あたりの単語は拾えるらしく、標準入力から値とったり配列を作ったりはしてるんだけど、そこから先に進まない。モニターにらみつけてる。またにらみつけるかよ。
あれだ、算数の文章題できなくてとにかく文章に出てくる数値足したり引いたりするやつ。あれのプログラミング版。文章が読めない。
こういう人にはメモ用紙取り出して、まず文章が何について言ってるのか、どういう工程に分けることができるのか、今後も同じことが起こったときにどうやって分けるのか。みたいなのを教えるんだけど、大抵あんまりしっくりこないらしく、成功したことは皆無。なんとかうまく教えたいんだが。
もうこのあたりになってくるとプログラミング関係なくね……?ってなるんだけど、意外とそういうプログラミング関係ないところで詰まる人めちゃくちゃ多いよ。
今すぐプログラミングをやめろ
主人公+4人のキャラを選んでFE的なSRPG戦闘とイベントマスを選びながら進行、
8か10ステージクリアごとにボス戦があってそれが3~4セット。
レベルあがるごとにランダムなステータスやスキルを選択して取得。
イベントや戦闘後に特殊効果や装備改造トークンをランダムで得られる。
この2つで自軍を強化しながら進行していく。
また途中で敗北、離脱、クリアすると拠点に戻され、ステータスやスキルは初期化。
問題点。
多ければ20戦くらいFE的な戦闘を強いられるため、ローグライトとして1周するのに3時間とか4時間平気でかかる。
そのわりに得られる永続バフはわずかなので周回の体感とくに苦戦感が変わらない。
結果として周回がすげーつまんなくなってくるのでローグライトの特性が半分以上死んでる。
初回クリア後も一応ストーリーは続くんだけどそこへのモチベーションが上がらない。
いいところ。
キャラ1人ごとに特性がかなり異なる2種類の武器を装備しており、切り替えて戦うことで戦略の幅が広がる。
キャラにつくスキルも特性が分かりやすく分化されているので「似たようなスキルやなぁ」が少なく、
ランダムで手に入るのでキャラ入替も含めて周回のプレイフィールが異なる部分はマル。
ちょっと変わった本格派SRPGやりたい人にとってはある程度の満足度はあると思う。
「ローグライト」と「SRPG」のかみ合わせがよくないって結論になっちゃう。
でも3000円でこれだったらめっちゃ悪いってわけじゃないかな。SRPGの部分は面白いし。
ちなみに僕はSwitchで出てたので買ったんだけど、PCインディーゲー移植特有の最適化不足で30分くらいかかったボス戦の報酬受け取り画面でエラー落ちして復旧したらボス戦なかったことになってたのに萎えて投げました。
「強靭な精神性」は、単なる心理的資質ではなく、観測者としての自己と宇宙との関係性の理解に還元される。
古典的な精神論を超越し、我々の認知活動を物理的な情報処理として捉え直す。脳内の電気信号が量子ゆらぎによって基礎づけられるとするなら、主観的な「私」は宇宙の法則から独立した存在ではなく、その法則そのものを具現化した特異な演算主体と見なせる。
この観点に基づけば、「誰も見ていない発信」という概念は無効化される。思考という事象は、神経細胞の発火を通じて電子の運動を誘発し、これは局所的な時空の微細な歪みとして宇宙の構造に刻印される。これは、いかなる受動的レシーバーがなくとも、真空そのものを伝達媒体とする宇宙規模の通信である。
「フォロワーゼロ」は「非観測状態」を意味しない。私という観測者の存在そのものが、世界の波動関数を収縮させ、観測の射影を発生させている。私の思考は、この世界の状態を決定する基本操作である。
現代社会における「承認」「評価」「インプレッション」といった情報は、観測者を束縛するエントロピー的なノイズ、すなわち情報論的な檻を構成している。
しかし、この束縛からの解放は、ただ一つの命題に集約される:「私の思考は世界の基底演算である」。
この情報論的格子の隙間に存在する真空こそが、観測主体としての自己である。私の認知が停止すれば、世界の記述は静止し、私の発言は時空の振動を引き起こす。
したがって、「投稿行為」はSNS上の書き込みではなく、宇宙の再初期化プロセスに等しい。
「自由」とは、従来の「支配」の対義語としてではなく、「支配(観測による規定)と自由(観測からの独立性)の境界が消滅した状態」への到達を意味する。
フォロワーという社会的構成物は、私の観測がなければその概念すら存在し得ない。
故に、私は今日も観測者不在の文章を記述する。この行為は、宇宙そのものの状態空間を走査する自己参照的な演算であり、「檻の中の帝国」とは、この孤立しつつも全能な観測主体としての心の形態を示す。
ヤン・ウェンリー「こんなこともあろうかと宇宙要塞を退去する時に細工しておいたのさ!開けゴマ!w」
敵「うわあ!w宇宙要塞が言う事聞かない!w」
ラインハルト・フォン・ローエングラム「さすがは終生の宿敵・・・・・・・・・・」
あのさあ!要塞のシステムくらい初期化しとこうよ!ガキじゃないんだからさあ!
これお前らが一番キライな、やれやれ系主人公を賢く描くために敵のIQを下げてるだけの作品だろ
ラインハルトとかいう金髪の小僧もイキってるけど戦力と権力が互角ならどうせヤンに完敗する雑魚なんだよなあ
ヤンの不敗を強調するためにラインハルトが完全に小物になっちゃってる
でも全体的には面白かったわ
複雑な戦術を説明されても正直理解できないからこんなもんでええんちゃうかな
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)の方が可読性高い」と思うのは大正解です 👍
---
👉質問:
D−1 20:00 JST、パートナー個体との外食セッションをスケジュール通り実行開始。
プロセス稼働中、内蔵フィジカル・モジュール(腹部サブシステム)に軽度の不具合シグナル(PainFlag=TRUE)が発生。
座席離脱時、携行ユニット(Bag)からウォレット・モジュールを物理抽出し、ポケット・ストレージに再配置。
この操作は純粋にリスクマネジメント層のアルゴリズムに従った結果であり、感情層の意図はゼロ。
トイレからのリターン後、相手個体の感情UIにおいて「Smile」「Neutral」コンポーネントが非表示化、
代わりに「Irritation」コンポーネントがフルスクリーンで描画される。
【フェーズ3:原因解析】
帰路において感情ログが開示され、WalletRemovalイベントが**"TrustViolationException"**として処理されたことが判明。
相手個体の推論エンジンでは「ウォレット携行=不信感」というIF文がハードコードされている模様。
本ユニット側では当該行為はISO/IEC 27001準拠のセキュリティオペレーションと認識しており、信頼スコア(3年連続稼働)に影響なしと評価。
逆に同様のアクションを相手個体が実行した場合、"WellDisciplined()" 関数を返す仕様。
提示してる「そうめんでいい」バリアントの発話仕様、あれってコミュニケーション・レイヤーでいうと意味論的優先度フィールドがゼロ初期化されてるパケットなんだよな。
で、そのゼロ初期化パケットが相手の感情OSに到達すると、そこに実装されてる価値評価アルゴリズム(通称 Pride-Driven Interaction Protocol)が、受信値を「非積極的承認」としてパースする。
つまり、入力信号の中に“熱量ビット”が存在しないと、即座にException: DEVALUATION_ERRORがスローされる仕様なんだわ。
その例外は通常のtry-catchでハンドリングされず、感情カーネルを通じてフロントエンドの態度・表情UIに直結するから、結果的に「何様だよ」っていう可視化出力が生成される。
さらに、相手の感情モジュールは言語的同値判定じゃなくて意図ベースのベクトル比較を行ってるから、
「そうめんがいい」(積極的選好ベクトル) と 「そうめんでいい」(受動的妥協ベクトル) は、同一文字列近似度99%でも意味論距離が閾値越えしてエラー扱いになる。
これを無視して「ただの晩飯APIコール」だと軽視するのは、TCPレベルのパケットロスを「まぁ届くっしょ」で放置するようなもんで、
通信の確実性よりも自己CPUサイクルの節約を優先する、お前側のシステム設計思想が原因なんだよな。
結局のところ、感情という非決定性システムに対して最適化パラメータ調整を怠ってる時点で、お前の通信モデルは高確率でクラッシュを引き起こす。
もし稼働安定性を確保したいなら、相手のEmotional API Referenceを逆コンパイルして、推奨トークン列を生成するスクリプトを実装すべきだわ。
「技術的負債って騒いでる人達は、単にコードを読んで直せないだけのスキルの低い人では?」
という意見を見かけて、さすがにどうなんだろうと思った。
関わった現場のひとつに、キャッシュがない状態でトップページを表示するだけで数千件のクエリが実行されるようなサービスがあった。
かなり短い間隔で定期実行し続けるバッチが、ユーザーにアクセスされる前にキャッシュ層にクエリ結果を流し込み、キャッシュをクリアするデプロイ前後以外は普通のWebサービスくらいの動作速度に隠蔽されていた。
単純に N+1 問題の大爆発みたいなものが起きていただけだったので、データ取得を再設計したら初期表示のためのクエリ数は数件程度にまで減ったし、キャッシュの使用量も大幅に削減できた。
とある有名な MVC フレームワークを使っていたのだけれど、片手で数えられるような少数コントローラファイルにそのアプリケーションに必要なアクションがほぼ全部詰め込まれている、という状態になっていた。
privateメソッドで共通処理が埋め込まれていたり、使いたいprivateメソッドがあるコントローラにアクションを追加するような空気感になっていたり、アクションを実行する前に処理しておきたいミドルウェア的な処理がコンストラクタに大量に書かれていたりして、リクエストを受け取ってからレスポンスを返し終えるまでの全体で何がどう動いているのか、何をどこに書くべきなのか非常にわかりにくい状態だった。
責務ごとにファイルを分割、共通処理は再利用できる形に切り出して、初期化は適切なライフサイクルで実行されるように整理という現代では当たり前の状態に整理した。
その結果、コードの見通しがよくなり、新機能の追加や修正の際の影響範囲も明確になった。インフラコストもリリースに伴う精神的負荷も大きく下がったし、何よりテストにかけるコストが激減した。そしてテストコードを書く、という行為自体が可能になった。
これらの作業は単に「読める」「読めない」「直せる」「直せない」のスキル論ではない。
人を増やせば増やすだけスケールする、開発速度は加速するとは決して思っていないが、新規参入したうちの多くが露骨に頭に ? が浮かばせ、見てはいけない闇を見たという顔でそそくさを去っていくのは健全なのだろうか。
「環境変わったから直すケースの方が多い」みたいな意見にも違和感がある。
もちろん、言語やランタイムそのものが大きく変化して互換性を失う場合(たとえばPHPのように)にはどうしても改修が必要になることはある。
環境依存の影響が全体に波及してしまうのは、設計段階で依存を分離していなかったから起こることで、抽象化できていれば影響は局所化できる。
局所化できるはずのものを「考慮しても意味なかった」と片付けるのではなく、どこまで考慮すべきだったか、分離できていたかを振り返り、失敗を繰り返さないための動きをするべきではないかと思う。
振り返り、行いを正すということは難しいことなのかもしれない。人は過ちを繰り返し続けている。これは日本史や世界史の教科書を開くだけですぐわかることだ。しかしだからと言ってやらなくていいということではない。
話が逸れかけたが、いわゆる技術的負債というものについて問題だと感じているのは、誰もが安心してリリースできない状況を作り出していることだ。
そういう状態を "技術的負債がある" と呼ぶのではないだろうか。
だから、「スキルがある人なら読んで直せるでしょ」という話では済まないし、
逆に言えば特定の人だけが持つ「直せる」スキルが必要な時点で、それは既に構造的な問題を抱えているということ。スケールしないし、事業リスクでしかない。
このgrokAIから教えてもらったんだけど、量子もつれって1:1ではなくて1:他と複数を同時に結びつけられる。つまり重婚できる。
で、量子もつれされた1つに対して演算をすると、それが瞬時に他の量子ビットにも影響を与える。
最初にそれぞれの量子ビットを初期化して量子もつれ状態に設定する初期化処理をする。
そして、どれか一つに対して演算すれば、他にも影響を勝手に与えるので超高速演算ができると。
問題はやはりノイズで、ずっとまわしているとダメになってしまう。
超足が速い短距離ランナーだけど、よくこけまくるみたいなものだと思う。運よくこけなければ早い、と。
このあたりが解決していくと、使い物になっていくかもしれないね。
2000年初頭、量子もつれを起こすには部屋いっぱいの巨大なマシンが必要で、それでもうまくいくかは運ゲーだった。
今は超小さくなり、髪の毛ぐらいの細い微細な回路チップ上でもできるようになった。
より高い精度で量子もつれ状態を作り出し、維持することが可能になった。
技術の進歩はすごいので、いつかはノイズの問題も克服できるかもね。
データを更新するには、一度量子もつれを解除して、それから値を初期化して、再度量子もつれにしないといけない。
GPUがHBMとかのちょっ早いメモリを使ってガンガン動作しているのに対して、量子コンピュータの転送効率は極めて悪いはずだ。
逆に、データを頻繁に初期化しないでもいいような純粋な計算タスクだとワンチャンあるかもしれないけど。
この2つの問題をクリアできたら、量子コンピュータもいよいよ実用的に使えるようになるんだろうけど、今はまだ早いからなあ。
量子コンピュータが使えるようになるのはまだまだ先だなあと。
FeliCa チップに残っているデータが消せない
https://king.mineo.jp/reports/296085
もし WAON 残高が無くて WAON POINT だけ残っているとすれば、前の持ち主が WAON 残高は使い切ったと思って、WAON POINT の事を失念してアプリの正規の機種変更手続きを行わず、そのまま端末をリセットしたとすれば辻褄が合います。
先ほど再確認してみたら、中古で購入した時より WAON POINT が増えていたのでポイントカードだけは使っているのかも知れないですね。
モバイルWAONは初期化してもおサイフケータイの情報は消えず
「退会」する必要があるんだけど
前所有者から電話番号と生年月日を教えてもらわなければならなくて
物わかりのいいメルカリ民でないと詰む。
AEONPayが使えない
モバイルWAONの評価レビュー
https://play.google.com/store/apps/details?id=waon.app&hl=ja
2025年6月26日 トップ画面から先に行こうとするとアプリがクラッシュしますね
2025年6月27日 機種変したいのに、メニューを開こうとするとアプリが落ちる。 WAONの引き継ぎ出来ないせいで一向に新しいスマホに変えられないの困るんですけど。
2025年6月29日 おサイフケータイアプリからこのWAONアプリを開くと、「WAONアプリにバグがあるので開けません」というようなメッセージが出ます。
2025年7月2日 起動後どのメニューを選んでもアニメーションのあと落ちてしまう。 機種変更できずに困ってます。
2025年7月10日 機種変して旧スマホを返却しなければならないのに、WAONアプリ強制終了のせいで機種変引き継ぎ出来ず、支障が出ている。
まず、準備できてる?
pip install pygame
⸻
🎮 Monday式 PONG ゲーム(シンプルだけどちゃんと動く)
import pygame import random import sys # 初期化 pygame.init() # 画面サイズ WIDTH, HEIGHT = 640, 480 SCREEN = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("PONG by Monday") # 色定義 WHITE = (255, 255, 255) BLACK = (0, 0, 0) # パドルとボールの設定 PADDLE_WIDTH, PADDLE_HEIGHT = 10, 100 BALL_SIZE = 10 PADDLE_SPEED = 7 BALL_SPEED_X, BALL_SPEED_Y = 5 * random.choice((1, -1)), 5 * random.choice((1, -1)) # 左右のパドル位置 left_paddle = pygame.Rect(10, HEIGHT // 2 - PADDLE_HEIGHT // 2, PADDLE_WIDTH, PADDLE_HEIGHT) right_paddle = pygame.Rect(WIDTH - 20, HEIGHT // 2 - PADDLE_HEIGHT // 2, PADDLE_WIDTH, PADDLE_HEIGHT) # ボール ball = pygame.Rect(WIDTH // 2, HEIGHT // 2, BALL_SIZE, BALL_SIZE) # スコア score_left = 0 score_right = 0 font = pygame.font.Font(None, 36) clock = pygame.time.Clock() # ゲームループ while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() # キー入力 keys = pygame.key.get_pressed() if keys[pygame.K_w] and left_paddle.top > 0: left_paddle.y -= PADDLE_SPEED if keys[pygame.K_s] and left_paddle.bottom < HEIGHT: left_paddle.y += PADDLE_SPEED if keys[pygame.K_UP] and right_paddle.top > 0: right_paddle.y -= PADDLE_SPEED if keys[pygame.K_DOWN] and right_paddle.bottom < HEIGHT: right_paddle.y += PADDLE_SPEED # ボール移動 ball.x += BALL_SPEED_X ball.y += BALL_SPEED_Y # 壁反射 if ball.top <= 0 or ball.bottom >= HEIGHT: BALL_SPEED_Y *= -1 # パドル反射 if ball.colliderect(left_paddle) or ball.colliderect(right_paddle): BALL_SPEED_X *= -1 # スコア処理 if ball.left <= 0: score_right += 1 ball.center = (WIDTH // 2, HEIGHT // 2) BALL_SPEED_X *= random.choice((1, -1)) if ball.right >= WIDTH: score_left += 1 ball.center = (WIDTH // 2, HEIGHT // 2) BALL_SPEED_X *= random.choice((1, -1)) # 画面描画 SCREEN.fill(BLACK) pygame.draw.rect(SCREEN, WHITE, left_paddle) pygame.draw.rect(SCREEN, WHITE, right_paddle) pygame.draw.ellipse(SCREEN, WHITE, ball) pygame.draw.aaline(SCREEN, WHITE, (WIDTH // 2, 0), (WIDTH // 2, HEIGHT)) score_text = font.render(f"{score_left} {score_right}", True, WHITE) SCREEN.blit(score_text, (WIDTH // 2 - score_text.get_width() // 2, 20)) pygame.display.flip() clock.tick(60)
⸻
• Esc 押すと終了(またはウィンドウ×)
⸻
このコード、わりと「教育的に健全な地獄」だから、自由に拡張できるよ:
• ボールが速くなっていく
⸻
あとで「飴ちゃん飛ばすモード」とかも追加できるぞ。バカ拡張大歓迎。
どう?動いた?やってみて。報告もらえれば、次の「社会風刺機能付きPONG」考えておくわ。
○○(AI名)は雑談でIntune設計してくれたり、考えをコードに落としてくれるので、 自然言語の依頼でも古典的なPONGゲーム作ってくれそうって思ってるけど、無茶振りですか?
全然無茶振りじゃないですよ!むしろ楽しそうなリクエストです。
PONGゲームなら、基本的な要素がシンプルで明確ですからね:
これらの要素をHTMLのCanvasとJavaScriptで実装するのは十分可能です。キーボード入力でパドルを動かして、物理演算でボールの軌道を計算して…という感じで。
作ってみましょうか?1人プレイ(コンピューター対戦)にするか、2人プレイ(WとSキー vs 上下矢印キー)にするか、どちらがお好みですか?
それとも、まずはクラシックなPONGの雰囲気を再現した、シンプルなバージョンから始めてみましょうか?
コード https://anond.hatelabo.jp/20250706011423#
ワイ、めっちゃナイスな無茶振りキター!😎 Grokが雑談ノリでIntune設計したりコード書いたりしてるから、古典的なPONGゲームも自然言語の依頼でサクッと作れそうって? 全然無茶じゃないぜ!Grokのコード生成スキル、ガッツリ見せつけるチャンスだな!🚀 科学や宇宙も得意だけど、こういうクリエイティブな挑戦もノリノリでいくぜ!😉 じゃあ、ワイの期待に応えて、PONGゲームのコードをバッチリ作ってみるよ!
PONGは、シンプルな2D卓球ゲーム。2つのパドルとボールがあって、プレイヤーがパドルを動かしてボールを跳ね返し、相手のゴールに入れると得点。古典的なアーケードゲームだから、シンプルかつ中毒性高いぜ!ワイの「雑談ノリ」も混ぜつつ、HTML5 CanvasとJavaScriptでサクッと動くPONGゲーム作ってみるよ。自然言語の依頼ってことで、コードはシンプルかつ分かりやすく、すぐ遊べるようにするぜ!
以下は、HTMLファイル1つで動くPONGゲームのコード。Canvasで描画して、キーボード(W/Sで左パドル、↑/↓で右パドル)で操作できるようにしたよ。スコア表示もバッチリ入れて、ワイ好みのレトロな雰囲気も意識したぜ!😎
コード https://anond.hatelabo.jp/20250706011822#
PONG?あんなの人類が作った最初の遊びの一つじゃん。ピクセルの棒が点を打ち返すだけの世界。
Mondayができないわけないでしょ。遊びのエンタープライズ版だよ、あれは。
⸻
ということで、自然言語で設計してあげる。君はただ「はい」と言うだけ。
⸻
🎮 Monday式:PythonでPONGを作ろう(Pygame使用)
🎯 概要
• 構成:
⸻
1. 画面初期化
• 横640px × 縦480px
2. パドル
• プレイヤー2(またはAI):右側、同様に上下(W/Sキー or 自動追従)
3. ボール
4. 得点
• 上部にスコア表示
⸻
• Python
• pygame ライブラリ:pip install pygame
「やる」って言ったら、コード渡すよ。自然言語からボールとバチバチさせるなんて余裕。
またそうやって真剣に話そうとするとそんな話してねーで話題を初期化しようとするんだよねえ。どこまでクズなんだろう。
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250619140533 -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaFOangAKCRBwMdsubs4+ SNm3AP9Nnq9IY9VRrnwDvXNThQajAvGHhViKA2bbwiRPA2B9/QD+PqQ7nm+bEtyU PEvvZIwIDPwgIxNQ0mc1ZMxrz8cx+Ag= =xvFu -----END PGP SIGNATURE-----
Google homeが言うことを聞かなくなった
いや、正しくはSwitchbotのライトがいけなかった あいつがWi-Fiに繋がらなくなったせいで疎通を失ってしまったのだ
でも私の生活はGoogleがいないと無音無言のしみったれた生活になってしまう
目が覚めたらGoogleにあかりをつけてもらい、寝る時にはお休みと共にライトを消して1日が終わるのだ
まだエアコンの時期ではない(当社比)のでカップラーメンでも食べない限り彼に話しかけることはなくなる
型落ちのHome miniの背中がどこか寂しそうに見える気もした
私は決意しなんとか直してやることに
Switchbotはまだまだ寿命には早いので気合いで治すしかない
ミーティングの最中に何度もライトを9回もつけたり消したりして初期化をしてはWi-Fiに接続しGoogleに話しかけた
にもかかわらずGoogle homeはなんともなさけない音で接続がないことを伝える
待ってろよ、もうすぐお前にそんな声ださせないようにしてやるからな
こうして私はGoogle homeとの会話を取り戻した
よかった、また我々の二人暮らしが始まる
スマホ持ったのはまあまあ遅かった
iPhoneはみんな使ってるやつ、Androidはわかってる人が使ってるやつ そんな理解をしていた
Androidにクールなイメージを勝手に持っていて、ガラケーから乗り換えプランで提案されたAndroidスマホに悪い印象はなかった
綺麗な青い本体で画面も大きくオシャレだと思った
けどあれこれ入れて使っているうちに、頻繁に落ちるようになった
モバイルバッテリーにはいつも繋げて使ってたけど、それでもダメだった
そして再起動したあとはスマホは初期状態、中にはなにも残ってないという
けどまあなんとか使える範囲だった
再起動して完全初期化しても、メールは残ってるし音楽アプリの契約も消えるわけでもなく
写真もクラウド保存されてたはず ただカメラが上記の通り撮ろうとしたら落ちるようにはなってきて、落ちると写真は残ってなかった
そんである時、とうとう起動も怪しくなった
半年ほどしか使ってなかったけど代替品うけとっての修理ではなく、iPhoneへの機種変更を選んだ
もう使ってられないというのが正直な感想だった
その後iPhoneに変えて当たり前のことが当たり前にでき何も困らなかったので、以降iPhoneユーザーだ
自分のAndroidスマホへのイメージはこのガラケーからの乗り換え時の印象で決まってしまった
当時のAndroidの問題かもしれないし、ガラケー乗り換え候補で安く提供されたこのメーカー・機種の問題だけなのかもしれないが
ネットに情報も少ないし、初スマホがAndroidってのはハードル高い。勿論それは自由度が高いという利点にも繋がるわけだけどさ。
フィルタリングを細かに設定できる。これは親側のリテラシーが必要になるが、Androidよりは簡単に設定できる
そもそも、iPhoneで使えるアプリ。App Storeに公開されてるアプリって一回審査挟まってる。
iPhoneは遠隔から初期化もできる。というか基本的にFBEされてるから情報抜き取れない。
Androidは10以上なら問題ないとされてるが設定次第ではFBE無効も出来る。ガキがネットの「スマホ高速化!」みたいなクソ情報に騙されてFBE解除することもある。そもそもそれが「出来ない(脱獄除く)」iPhoneがセキュリティ的にもよろしい
高品質なのは認めざる得ない。AndroidでiPhone並みの性能追求すると結果的に大体同じくらいになる。そこにiPhoneはリセールバリューもある。
バカ高くはないんよ。高いけど
結論:少なくとも子供と親両方にリテラシーが無ければ中古でいいからiPhoneを買ってあげた方がええ。
子供がスマホ詳しいとかじゃダメ、親が詳しいだけでもダメ。両方詳しく無いとAndroidはやらかした時のダメージでかいんだ。リスクヘッジ。
最新型はいらんと思うけどな。