【自作PC】メモリ32GBの世界へようこそ

いやー買っちゃいました。

16GBのメモリ2枚です。

4枚差しが上手くいかないものの、32GBの夢が捨てきれず、買っちゃいました。

32GBの世界へようこそ。

念のためベンチマークを走らせます。

念のため、というのは、もう十分メモリがありすぎるので、劇的な変化は期待していないと言うことです。

もはや道楽の世界。

ちなみに、前回のベンチマークの結果はこちら。

PCMARKでのスコアは若干アップ。

FF14、FF15は誤差のレベルなので、ほとんど変化無しですね。

予想通り。

メモリが4GB→8GBに増やした場合は、プログラム実行時にメモリに空きが無い場合、一番使用されていないメモリのデータをストレージに吐き出して、メモリの容量を確保します。

そして、吐き出したデータが必要になったときにメモリに読み込みます。

この一連の処理をページング、またはスワッピングといいます。

情報処理の試験に出ます。

このときのストレージへのアクセスが、メモリ不足によってPCが遅くなる最大の要因なのです。

でも、16GB以上になると、ほとんどページングが発生することがない。(それだけ十分過ぎるメモリがあるので)

じゃあ、なぜメモリを32GBに増やしたかというと、

道楽ですよ。

とはいえ、このメモリだけでそれなりのお金を使ってしまったので、当分の間は大きな買い物できないな。

次は・・・CPUかな。

パーツ型番価格
CPURyzen 5 3400G20680
マザーボードPRIME A320M-A7544
メモリCT2K16G4DFD822614280
電源KRPW-L5-750W/80+6256
ケースCC-9011086-WW5099
SSDGH-SSDR2SA1202178
M.2SSDSCKKW480H6X15980
グラフィックボードSAPPHIRE PULSE RADEON RX 570 8G GDDR514800
DVDドライブIHAS324-17/A2020
OSWindows 10 Pro3259
電源ユニットネジ200
合計82298

【Laravel】【Vue.js】【ホテル予約管理】予約の削除を実装する

前回までの状況はこちら

最新ソースはこちら(gitHub)

https://github.com/takishita2nd/hotel-mng

予約詳細画面に削除ボタンを設置します。

                <button @click="closeModal">close</button>
                <button v-if="edit_flg == false" @click="onClickEdit">編集</button>
                <button v-else @click="onClickSave">保存</button>
                <button v-if="edit_flg == false" @click="onClickDelete">削除</button>
            onClickDelete: function() {
                var self = this;
                this.param.year = this.selectYear;
                this.param.month = this.selectMonth;
                this.param.room = this.selectRoom;
                this.param.id = this.contents.id;
                axios.post('/api/delete', this.param).then(function(response){
                    self.registers = [];
                    self.updateRegisters(self, response.data.registerLists);
                    self.closeModal();
                }).catch(function(error){
                    self.error_flg = true;
                    self.error_message = error.response.data.errors;
                });
            },
            updateRegisters: function(self, registerLists){
                registerLists.forEach(element => {
                    self.registers.push(
                        {
                            id:element.id, 
                            name:element.name,
                            address:element.address,
                            phone:element.phone,
                            num:element.num,
                            roomid:element.roomid,
                            room:element.room,
                            days:element.days,
                            start_day:element.start_day, 
                            checkout:element.checkout
                        }
                    );
                });
            }

APIへのルーティング

Route::post('/api/delete', 'ApiController@delete');
    public function delete(Request $request)
    {
        $this->registerManagement->deleteById($request->id);
        return response()->json(['registerLists' => $this->registerManagement->getListByMonth(
            $request->year,
            $request->month,
            $request->room
        )]);
    }

実際に削除したら、レスポンスで予約一覧を返し、一覧を最新の状態で表示してもらいます。

あとは、一覧更新処理が共通しているので関数化。

難なく設置できました。

・・・追加処理もモーダル化する?