はてなキーワード: メモリとは
例えば、黒い画面に白い1ドットの点を打つとする
ここでハードウェアのVRAMと画面が直結していれば分かりやすい
ポインタには確保したメモリ領域の先頭のアドレス番地が入っている
ちょっと語弊があるけど、そのアドレス番地に1を入れれば画面に白い点が表示される、みたいな感じである
自分が子供の頃のMSXとかZX Spectrumだったらそうだった
あと、PC-9801も文字のためのVRAMと画像のためのVRAMがあったんだったかな
98も同じようにメモリに何か直接書けば画面に表示されたはず
あと、その画像のVRAMの上に文字のVRAMを表示させることで、
例えば背景を輝度を下げて表示させ、その上でテキストエディタで作業するとかできたはず
ファミコンとかのカートリッジも挿入すればあれは何らかのメモリ空間に格納されるのだと思われる
カートリッジが挿入されていれば、そのメモリ空間の最初からCPUに実行させればいい
そうすればカートリッジの中のROMに書かれているゲームが動くはずだ
しかし、近年のOSで例えば生のVRAMを直接いじるなんてことはあり得ない
生のVRAMはグラフィクスカードの中などに入っており、それは近年のグラフィクスカード上のGPUやOSによって複雑に管理されている
だから、Windowsなどでゲームを作るときは、まずOSにお願いして、仮想的なVRAMのような領域をもらわなければならない
何をするにもまずはOSのお伺いを立てて、OSがメモリなどのリソースを切り出して与えてくれる
返すときも図書館のように返すのが礼儀であるが、ぶち切りしてもOSは尻拭いをしてくれる
が、尻拭いをしてくれない可能性もあるため、ぶち切りした後に挙動がおかしくなることもあるかもしれない
そう、なんかよく分からんが調子悪いなあ、みたいなことが起こりやすくなった気がする
マシンが重いなあと思ったら、別のプロセス、Windowsで言うタスクマネージャーをチェックする
そして、CPUの使用率やメモリを食っているプロセスを見つけ、殺していい場合はkillしてみる
マルチプロセスで動作することで重くなることもあるし、何か共通のリソース、ファイルなどを奪い合う、デッドロックとかそういうことも起こり得る
しかし、プログラムから直接ハードウェアを動かしている、と実感することは減っている気がする
それはそれで良いことなのだけど、その実感がないことが初学者を混乱させていないだろうかと思った
ハード寄りと言っても、Arduinoでもラズパイでも自分にはあまりそういう実感がない
特にラズパイはLinuxが動いている時点でLinuxが良きにはからってくれるためことさら実感がない
1a. 簡単なライブラリとかAPIとかのオープンソースのやつを全部読めばよくね?例えばprintf()の中身とか。
あるいは自分で作ってみればよくね?
2. alloc()すると空きがあれば8byte確保してそのアドレスを返します。空きが無ければNULLを返します。
これくらいは自分で考えて作れるでしょ?
そういう事の積み重ねで高度なことをやってる。
1b. オブジェクト指向を知っているならカプセル化も知ってるでしょ?中身を知らなくても外のインタフェースだけ知っていれば使える。てか全ての中身を理解しようとしてたら何もアプリケーションなんて作れないです。
例えば俺ははてな匿名ダイアリーが裏でどのように動いているのかわからないけど、毎日記事を書いてる。これがカプセル化。
2a. 一般人に説明するには比喩を使うしかないでしょう。あと、その話題の領域でオブジェクト指向は関係なくね?
2b. それと、べつに「知らないことがあるけど使っている」のはITだけじゃないです。たとえば全身麻酔の原理とか最近までよくわかっていませんでした。航空力学もあんまりわかってないんじゃなかったっけ?なぜ飛行機が飛ぶのか。船も、何故かよくわからないけど速くなる装置があるんですよね。流体力学はよくわからかないです。こんぺいとうがトゲトゲになるメカニズムも解明されていない。べつにブラックボックスはITだけじゃないです。
4. 例えば、長い時間をかけて改善を重ねて2015年の時点で最高の出来のWindows10が発売されたわけです。それを「今更出すな。1995年の時点でWindows10を出せ」とか言われても無理です。強くてニューゲームかよ。
例えば、サンプリング定理(標本化定理)を知らなければ音声の録音も圧縮も理解できないのは当たり前。
だから、大学で情報科、もしくは電子工学や機械工学を履修するのは無駄ではない。
日本の専門学校だと給与が安い仕事の即戦力になるようなカリキュラムになりがちだから。
(専門学校が扱う職業のラインナップを見ればそれは明らかだと思う
乱暴に一言で表現するなら、この世のすべてはビット、つまり0と1で表現できてしまう。
例えば小数点以下無限に数字が続くような数字は、言い換えれば無限に情報が必要ということになる。
メモリは有限だし、たった1つのそんな感じの数字を記憶するためにどんな巨大なメモリも埋まってしまうのでは意味がない。
だから、コンピュータで浮動小数点を表現する場合、どこかで足を切らなければならない。
それによって、紙で計算すれば問題ないことが、コンピュータではおかしな結果になることがある。
しかし、これを知っていなければ科学計算はもちろん、銀行のようなお金の計算もおかしな結果になってしまう。
大学で数値計算の授業を取得するのは退屈だが、これを理解してなければ社会に出ても間違ったコードを書いてしまう。
というか、私も大学在籍中に間違ったコードを書いたことが何回かあるw
その原因は根源的で哲学みたいな話で、
世の中のほとんどの物事には正解がないとか、そういう話にしかならない。
良いテキストはあるわけだけど、それを読むべきタイミングもあるし、万人向けが自分に向いてるとも限らない。
本なら何冊かはドブに捨てるつもりで買うしかない
みんなが良いから読めという本も、なんとなく自分にはこれがいいんじゃないか、も買うしかない
買って家でじっくり読んで、途中でナニコレ?みたいな本だったら後悔するかもしれないけど、世の中そういうもんだから。
自分はレシピ通りに作らないでヒントにしかしないタイプなのだけど、
焼く、炒める、煮る、蒸す、みたいな方法だけ理解していれば味付けなんて適当でいいのだ。
なんらかの魚があったとして、それは食べられる魚だと分かっているが調理方法はまったく知らなかったとする。
どうするか?
とりあえず、まず口に入れられるサイズに切るべきだろう。
口に入れられないと食事にならんのだから、魚を切って骨を取る。
さばき方もググれない状況なのだから、もう適当に切断していくしかない。
鱗も大味で取るしかない。
ググらないと、とんでもないほど非効率的なさばき方をしている可能性があるが、とにかく食えればいいのだ。
腐らせては意味がない。
日本の刺身みたいな生で食べる文化はイヌイットではないが、漁師が船の上で食べることとも関係しているように思う。
何が言いたいかというと、生食は現代文明のロジスティクスは保存技術の成せるわざであって、料理の基本は何でも熱を通すべきなのだ。
送料込み4万7千円。
メモリ8GBだから買ったのにRadeonに2GB持っていかれてる。
時間 | 記事数 | 文字数 | 文字数平均 | 文字数中央値 |
---|---|---|---|---|
00 | 116 | 12433 | 107.2 | 34 |
01 | 81 | 6802 | 84.0 | 49 |
02 | 38 | 5637 | 148.3 | 55 |
03 | 33 | 2166 | 65.6 | 35 |
04 | 18 | 1090 | 60.6 | 37 |
05 | 36 | 3610 | 100.3 | 36.5 |
06 | 61 | 3782 | 62.0 | 32 |
07 | 50 | 6531 | 130.6 | 41.5 |
08 | 99 | 11212 | 113.3 | 47 |
09 | 141 | 11023 | 78.2 | 41 |
10 | 123 | 12744 | 103.6 | 51 |
11 | 133 | 8549 | 64.3 | 37 |
12 | 187 | 15377 | 82.2 | 33 |
13 | 92 | 9757 | 106.1 | 34.5 |
14 | 112 | 6894 | 61.6 | 30 |
15 | 132 | 17050 | 129.2 | 41 |
16 | 85 | 7642 | 89.9 | 43 |
17 | 110 | 6969 | 63.4 | 38.5 |
18 | 91 | 8689 | 95.5 | 38 |
19 | 138 | 15990 | 115.9 | 37 |
20 | 170 | 10280 | 60.5 | 33 |
21 | 196 | 18533 | 94.6 | 28 |
22 | 210 | 13966 | 66.5 | 27.5 |
23 | 157 | 16708 | 106.4 | 34 |
1日 | 2609 | 233434 | 89.5 | 35 |
横槍メンゴ(7), おめが(7), 直道(4), アッパラパー(5), 柳美里(4), 石板(4), 6500人(3), 膣内射精障害(4), 昭和50年(6), メモリ管理(4), メンクリ(3), GoTo(20), 姓(13), vtuber(9), 豆(7), 無縁(7), GOTO(7), 本業(6), 総意(5), 劣等感(6), エクセル(5), オマエ(11), バー(9), カラオケ(8), 物件(7), 発達(15), 健常者(8), 油(9), 風邪(25), 困窮(6), 話さ(7), 創作(20), 何故か(11), 予約(11), 出産(17), 冬(11), デブ(12), 同人(12), 殺さ(18)
■ある漫画家Yに殺された話(実話) /20201118232352(26), ■子どもを産んでから社会が憎い /20201119204535(21), ■プロがワナビーに対して面と向かって言えないけど実は思っていること /20201119124047(19), ■一日一食にしてから、”一日三食じゃないと不健康だ”教の人の多さに驚いた /20201119165958(14), ■昭和50年頃の日本の田舎の風景 /20201119234440(14), ■昔は金を出して使うのが当たり前だったもの /20201119091649(13), ■世の中には良い旦那もいる /20201119010253(9), ■40超えて地味にコンプレックスを感じること /20201120215011(8), ■婚活パーティーのこと /20201120002330(8), ■昔のホワイトカラーってどうやって仕事していたんだ? /20201120183828(8), ■フロントエンドエンジニアなんてのは馬鹿のやる仕事なんだよな /20201120193556(8), ■某大企業のDX状況を教えるよ! /20201102112132(7), (タイトル不明) /20130907131219(7), ■こんかつこわい /20201120102823(7), ■豆知識 /20201120131037(7), ■続・gotoキャンペーンに殺されそうになっている。 /20201120150513(7), ■二次小説書いてる教員だが /20201119175017(6), ■日本医師会長のGoTo発言のブクマ /20201119235652(6), ■人生無理バーの主催者は"本当に人生無理なやつ"の理解が浅すぎるんちゃうか /20201119103602(6), ■今セックス終わってトイレにいるんだけど /20201120003048(6), ■漫画本の前巻の話が忘れてツラい /20201119113549(6)
PS5が故障しまくりって評判が出ていてなんか中古市場や転売市場が大荒れのようなので調べてみた。一応私見レベル。
今回はPS5の分解映像や動画が数多く出ているからXBOXの設計思想と見比べると、確かにこりゃ故障するわって内容だった。
根本的な原因は、旧世代のゲームハードと比較すると熱源が一気に増えたにつきる。
PS5の熱源は次の5種類
④GDDR6メモリが高温
⑤電源ユニットの冷却不全
①は従来から発熱対象であり、しっかり対策が取られている。 だが②については増加温度に対応できているとは言い難い。
問題は③以降のメモリ系発熱で、特に超高速なSSDを搭載するPS5はその発熱も無視できない。高速通信で常時ストリーミングなんてやればSSDの温度だって70度前後にはなってしまう。
そのためSSDにはヒートシンクを搭載して、排熱を行っているのだが、PS5はヒートシンクはあくまでCPUにつけられていて、メモリ回りの排熱系にはスチールプレートでの排熱で対応している。
さらにGDDR6はCPUの裏に設置してあり、どう見ても温度の影響を受けやすいのだがこれまたスチールプレートでの冷却が図られている。一応メモリからスチールプレートへの熱伝導性向上のために
グリスが塗られているのだが両面基盤の表裏が両方熱源で、CPU側だけにファンがある状態でまともに冷えるかって言われたら。 後はわかるな。
⑤オーバークロックすれば、高電圧が必要で電源ユニットもXBOXよりも高容量を突っ込んでいるけど、個体差とはいえコイル泣きが起きている時点で相当あっぷあっぷなんだろうなと。
その証拠にコントローラー充電系は変な制御がかかっている。コントローラー充電は別コンセントでやったほうがいいだろうと思う。電池あまりもたんのに。
しかもオーバークロックしている割にコンデンサが周りが貧弱なのよね。いや普通のコンシューマーハードなら十分なのだけど、オーバークロックはやっぱり駄目だ。
で、これどうやったら治るんだろう。
厳密に言うとバックエンドエンジニアはプログラマでは無いんだよな。こいつらがやっているのは、単に
「プログラミング言語を用いてデータの配置や動きを調整している」
だけで、コンピュータの仕組みとは無縁なんだわ。アルゴリズムもメモリ管理も何も知らなくても務まる。
要するに、こいつらが弄るオモチャのカスタマイズにたまたまプログラミング言語が使えるってだけで、本質的にプログラマとは異なるんだよ。
プログラマが語学の教授だとすると、バックエンドエンジニアってのは語学の参考書レビュアーみたいなもん。扱っている題材が似ているだけで同業者だと思うのは間違い。
厳密に言うと、SIerってのはプログラマじゃ無いんだよな。SIerの仕事って言うのは
「顧客の要求をエクセルに箇条書きにして、ネットでググったコードをコピペ&ツギハギしてるだけ」
厳密に言うとフロントエンドエンジニアはプログラマでは無いんだよな。こいつらがやっているのは、単に
「プログラミング言語を用いてデータの配置や動きを調整している」
だけで、コンピュータの仕組みとは無縁なんだわ。アルゴリズムもメモリ管理も何も知らなくても務まる。
要するに、こいつらが弄るオモチャのカスタマイズにたまたまプログラミング言語が使えるってだけで、本質的にプログラマとは異なるんだよ。
プログラマが語学の教授だとすると、フロントエンドエンジニアってのは語学の参考書レビュアーみたいなもん。扱っている題材が似ているだけで同業者だと思うのは間違い。
まとめてやることで効率化する要件なら、それようのメモ帳を用意してそこに積み上げる。
ゴミ捨ては玄関のじゃまになる所においてドアをくぐるたびにゴミ捨ての日かを思い出すようにする。
そういった「必要になったら思い出すので、忘れてしまって問題がない状態」に持っていかずに、「あとでやることにして、簡単だからメモにも取らずに覚えておこう」とするのはコスパが悪い。
リマインドを物理的に脳の外側にセットしなければ、その「あとで」にたどり着くまでにそのことをずっと覚えておく必要がある。
そのことでロックされる脳のメモリが10%程度だとしても、それまでの間ずっと10%性能が下がった脳みそで過ごすことになる。
こんな無駄はない。
朝玄関を出てから思い出して、夜帰ってきてからやろうとしたとする。
10時間の間脳の片隅で10%メモリがロックされれば、それは1時間分その1日が無駄になっていることになる(よっぽど自分の頭を使わない仕事や遊びでその日を過ごしたなら話は変わるが)。
だが、スマホを取り出してリマインダーやカレンダーに10時間後にそれを思い出せるようなメモを残せば、それでもう脳のメモリーロックは不要になる。
大昔であれば、なにか予定が書き込まれてないかと手帳を確認する手間を日々生み出すのは効率的なのかという疑問があったが、今はスマホが勝手に震えだして予定を思い出してくれる。
現代社会は脳への負荷率がどんどん高くなっている。
パソコンの影響で漢字が架けない人が増えたから現代人は馬鹿になったなんて戯言を言う輩はいるが、それは「漢字なんていちいち覚えてられないような忙しい時代になったのだ」と考えるべきだ。
この時代を生き抜くために、「忘れるためにメモを取る」のは必須の技術だ。
情報の洪水、加速する生活の速度、的確に忘れていく技術は必要不可欠だ。
まあ正直な、さっさとやってしまうのが一番コスパがよかったりするんだよな。
洗い物を台所に貯めてあとでやらなきゃとモヤモヤするぐらいなら、気になった段階でやった方がいい。
なぜなら「あとでやる」という選択はそのあとを「いつにするか」という決断を迫られることになるからだ。
さっさとやれば、一度にやるより少しだけ表面的な効率は下がるかも知れないが、決断力の消耗は抑えられる。
忘れても良いようにメモを取り、さっさとやれそうならさっさとやってしまう。
(著:増田増)
買って使ってみた後に、こんなはずじゃなかった、みたいなやつ。
1. USB/Thunderbolt 周辺機器の互換性の懸念
何千、何万とある周辺機器を、Appleだけで検証するのはまず無理だろう。
iPad Proで使えたものは恐らく大丈夫だろうが、それ以外はどうか。
特に自身が必須と思っている周辺機器が使えないとしたら大問題。
参考 https://japanese.engadget.com/jp-2019-10-26-ios-13-macos-catalina-6.html
その状態で更にApple Silicon版、という大きな追加要素が加わることになる。
例えばある機能において、Intel版では正常動作しても、Apple Silicon版では動作異常、という可能性はあるのでは。
あまり不具合を聞かなかった前バージョンのRosettaとは、動作の仕組みがかなり違うので、個人的には気になるところ。
さすがに有名どころのアプリは大丈夫だろうが、それ以外はどうか。
最近だと、MacBook Pro(2020) 13インチの動画編集アプリ(Final Cut Pro 等)の不具合が話題になった。しかも最初の頃は問題なく、使っていく内に徐々に調子が悪くなるという時限爆弾であった。
参考 https://gori.me/macbookpro/127174
5. (MacBook Airのみ) サーマルスロットリング
MacBook Proがファンを内蔵しているということは、最高性能を引き出すには本来ファンが必要ということになる。かつサーマルスロットリングに関しては、悪名高いMacBook Airの筐体である。
参考 https://gori.me/macbookair/125873
どの程度かは未知数だが、ゲームや動画のエンコーディング等、高負荷な状態が続くとサーマルスロットリングにより速度低下が起こるのは想像に難くない。
例えばあるソフトウェアメーカーが、Apple Silicon MacにはiOSアプリを使わせないという選択も可能。
参考 https://www.gizmodo.jp/2020/11/apple-silicon-mac-ios-app.html
ただそんなことも知らずに、iOS/iPadOSのアプリは全て動作可能と思っている方もいるのでは。
またこれは余談かつほぼ冗談だが、iOSアプリをApple Silicon Macで起動した後、画面をタッチ操作できないことに気づいた、みたいな方もいないとも限らない。
もしかして知らない方もいるかもしれないので。SoCである故、99.999%メモリ増設不可である。
参考 https://ringosuki.hateblo.jp/entry/Bye-bye_Intel%2C_Hello_Apple_M1
プラス8GBで2万円は高いので後で増設すればいいやと思い、8GBのまま購入した方は後の祭りである。
8. 原価率
莫大な研究開発費や広告宣伝費等がかかっているはずなので、本来あまり意味がないが一応。
IntelからCPUを購入する必要が無くなったので、本来値段が安くなるはずなのに、あまり安くなっていない。
iFixitあたりから製造原価を公表されて、マジすか、みたいに感じてしまう方もいるのでは。
以上、思いつくままに書いてみた。
1から5は個人的な懸念事項、6と7は確定事項かつ注意事項、8は余談である。
懸念事項として書いた内容を含め、不具合は起こってほしくはないが、初物である故まったく不具合がないというのは難しいだろう。
プログラミングで食っていくためには、他の職業と同様に様々なスキルが必要になる。単に技術的な面だけに絞っても、以下のようなことが出来なければ話にならない。
プログラミングスクールなどを卒業したゴミには、(1)〜(2)もしくは(1)だけを以て「自分はプログラミングが出来る」と勘違いしている奴が多い印象がある。