4 Teori

Dapatan aku daripada permainan Kerbal Space Program, aku berpendapat terdapat 3 perkara yang mungkin terjadi kenapa perkara seperti gambar di bawah terjadi. Tetapi merujuk kepada satu perkara yang sama iaitu daya angkat.

  1. Tekanan atmosfera yang rendah
  2. Masalah enjin yang tidak memberikan daya angkat
  3. Masalah aerodinamik
  4. Berat berlebihan

Tekanan atmosfera yang rendah dapat kita abaikan kerana mengikut laporan pihak di sana, cuaca baik.

Masalah enjin mungkin berlaku atas beberapa sebab seperti enjin memang tidak berfungsi dengan baik, enjin tiba-tiba rosak atas beberapa perkara seperti mekanikal mahupun kesan luaran (kemasukkan burung dan sebagainya)

Masalah aerodinamik yang mungkin juga berlaku atas sebab mekanikal (fatigue) mahupun kesan luaran (burung, banggunan). Tetapi kita boleh mengabaikan kesan fatigue kerana pesawat ini amat baru.

Berat berlebihan yang salah perkiraan juga mungkin berlaku tetapi sepatutnya hal tersebut telah lama dimasukkan ke dalam SOP penerbangan dan dengan pesawat yang baru sebegitu aku rasa sudah lebih canggih sistemnya. Kita tolak ketepi, tetapi jangan abaikan.

Nota: Aku tidak meletakkan sebarang kata kunci khas yang merujuk kepada kemalangan tersebut kerana ini hanya pendapat sendiri. Tiada sebarang nombor-nombor yang boleh dikeluarkan sebagai sandaran.

Ganti Redis:: dengan Cache::

Jika anda mempunyai kemampuan untuk pasang ext-redis kepada PHP anda, maka anda tidak perlu menggunakan Redis:: tetapi cukup menggunakan Cache:: sahaja.

Perubahan yang perlu dibuat adalah tukar cache setting didalam .env daripada file kepada redis.

CACHE_DRIVER=redis

Kemudian ubah kod yang sebelum ini adalah panjang:

// app/Http/Repositories/AnnouncementRepository.php

public static function getActiveAnnouncements($date)
{
	$announcements = Redis::get('announcements:active');

	if ($announcements == null) {
		$announcements = Announcement::where('start_at', '<=', $date)
		->where('end_at', '>=', $date)
		->get();

            // make it expired every 6 hours
		Redis::set('announcements:active', $announcements, 43200);
	} else {
		$announcements = json_decode($announcements);
	}

	return $announcements;
}

Kepada yang lebih pendek:

// app/Http/Repositories/AnnouncementRepository.php

public static function getActiveAnnouncements($date)
{
return Cache::remember('announcements:active', 360, function () use ($date) {
return Announcement::where('start_at', '<=', $date)
->where('end_at', '>=', $date)
->get();
});
}

Kebaikkannya adalah dengan menggunakan Redis:: data yang diberikan adalah bentuk json string tetapi menggunakan Cache:: data yang dipulangkan kepada kita adalah di dalam bentuk collection.