Efektivitas BM25 yang luar biasa untuk pencarian agen — Jo Kristian Bergum, Hornet.dev
AAI Engineer
컴퓨터/소프트웨어AI/미래기술
스크립트
00:00:00Di video sebelumnya...
00:00:19kita sudah membahas bagaimana membangun sistem dari awal,
00:00:24dan hari ini kita akan melangkah lebih jauh.
00:00:32Kita akan fokus pada optimasi dan efisiensi,
00:00:37khususnya dalam hal pengelolaan sumber daya.
00:00:46Banyak dari kalian yang bertanya di kolom komentar,
00:00:52“Bagaimana cara menjaga performa tetap stabil saat skala bertambah?”
00:00:59Jawabannya terletak pada arsitektur yang kita pilih.
00:01:08Mari kita lihat contoh kasus nyata pada layar.
00:01:14Di sini kita punya layanan terdistribusi standar.
00:01:22Saat traffic melonjak secara tiba-tiba,
00:01:28bottleneck biasanya terjadi di bagian database.
00:01:34Untuk mengatasinya, kita bisa menerapkan teknik caching.
00:01:41Redis adalah salah satu pilihan terbaik untuk ini.
00:01:47Kita bisa menyimpan data yang sering diakses di memori,
00:01:55sehingga latensi bisa berkurang secara drastis.
00:02:01Perhatikan baris kode di sebelah kiri ini.
00:02:08Kita menginisialisasi koneksi klien Redis terlebih dahulu.
00:02:14Setelah itu, kita buat fungsi untuk memeriksa cache.
00:02:23Jika data ditemukan, kita langsung kembalikan hasilnya.
00:02:33Proses ini memakan waktu kurang dari satu milidetik.
00:02:38Namun, jika data tidak ada di cache,
00:02:44baru kita melakukan kueri ke database utama.
00:02:50Setelah hasilnya didapat, jangan lupa menyimpannya kembali
00:02:55ke dalam Redis untuk penggunaan berikutnya.
00:03:01Pendekatan ini terbukti sangat efektif di skala besar.
00:03:08Tentu saja, ada hal lain yang perlu diperhatikan,
00:03:14yaitu masa kedaluwarsa atau TTL data.
00:03:22Jangan biarkan data usang menginap terlalu lama di cache.
00:03:30Atur waktu kedaluwarsa yang sesuai dengan kebutuhan sistem.
00:03:38Selain caching, kita juga harus memikirkan keamanan.
00:03:50Enkripsi data saat transit maupun saat disimpan adalah wajib.
00:04:01Gunakan protokol HTTPS dan token JWT yang aman.
00:04:09Mari kita uji coba sistem ini secara langsung.
00:04:17Kita akan jalankan skrip pengujian beban menggunakan k6.
00:04:24Alat ini akan mensimulasikan ribuan pengguna sekaligus.
00:04:34Perhatikan grafik performa di pojok kanan atas.
00:04:45Saat beban mulai ditingkatkan secara bertahap,
00:04:53kita lihat respons server tetap berada di bawah 50 milidetik.
00:04:59Ini adalah peningkatan yang sangat luar biasa.
00:05:13Dibandingkan sebelum menggunakan cache,
00:05:19waktu muat rata-rata mencapai 400 milidetik.
00:05:23Artinya, kita berhasil memangkas waktu tunggu secara signifikan.
00:05:31Pengguna aplikasi pasti akan merasakan perbedaannya.
00:05:40Bagaimana, cukup jelas kan sampai di sini?
00:05:47Jika ada bagian yang masih membingungkan,
00:06:02jangan ragu untuk bertanya di kolom komentar.
00:06:11Semua kode sumber sudah saya unggah ke GitHub.
00:06:15Tautan lengkapnya bisa kalian cek di deskripsi di bawah.
00:06:26Jangan lupa untuk mendukung channel ini terus,
00:06:34dengan menekan tombol suka dan berlangganan.
00:06:38Nyalakan juga lonceng notifikasinya agar tidak ketinggalan
00:06:47video-video teknis menarik lainnya.
00:06:57Di video berikutnya, kita akan membahas topik lanjutan,
00:07:05yaitu penerapan microservices dengan Docker.
00:07:07Sampai jumpa di video selanjutnya!
00:07:16Jadi, apa yang terjadi ketika Anda menambahkan ini
00:07:21ke dalam struktur data Anda?
00:07:23Anda mulai mendapatkan pohon di mana simpul-simpulnya
00:07:33tidak lagi berupa satu objek,
00:07:39melainkan subpohon yang dapat terus dikembangkan.
00:07:44Dan hal ini mengubah cara kerja traversal.
00:07:49Daripada hanya menelusuri secara mendalam,
00:07:57kita harus mempertimbangkan bobot dari setiap cabang.
00:08:00Mari kita lihat contoh implementasinya.
00:08:04Di sini kita mendefinisikan kelas dasar untuk simpul.
00:08:07Perhatikan bahwa fungsi rekursifnya menangani kasus dasar
00:08:13dengan mengembalikan nilai nol.
00:08:20Jika kita melewatkan langkah ini, program akan gagal
00:08:27karena terjebak dalam perulangan tak terbatas.
00:08:36Ini adalah kesalahan yang sangat umum
00:08:44bagi pengembang pemula.
00:08:49Sekarang, mari kita jalankan pengujian kinerjanya
00:08:52untuk melihat seberapa besar peningkatan kecepatan.
00:08:55Perhatikan grafik di sisi kanan layar.
00:08:57Waktu eksekusi turun secara drastis
00:09:02dari dua ratus milidetik menjadi sekitar
00:09:08empat puluh milidetik.
00:09:17Itu adalah pengoptimalan yang luar biasa untuk satu fungsi.
00:09:19Tentu saja, pendekatan ini memiliki beberapa trade-off.
00:09:22Kita menggunakan lebih banyak memori untuk caching,
00:09:27tetapi kita mendapatkan kecepatan pemrosesan yang jauh lebih baik.
00:09:31Keputusan akhir selalu bergantung pada kebutuhan sistem Anda.
00:09:32Apakah Anda mengutamakan efisiensi memori
00:09:35atau kecepatan respons yang instan?
00:09:40Di sebagian besar aplikasi modern saat ini,
00:09:45kecepatan pengguna adalah prioritas utama.
00:09:52Oleh karena itu, penggunaan memori tambahan
00:09:57biasanya dianggap sebagai pertukaran yang sepadan.
00:10:01Mari kita rangkum apa yang telah kita pelajari hari ini.
00:10:04Pertama, pentingnya memahami struktur data dasar.
00:10:06Kedua, cara menerapkan optimasi rekursif.
00:10:10Dan ketiga, mengevaluasi trade-off antara memori dan kecepatan.
00:10:14Jika ada bagian yang masih membingungkan,
00:10:20silakan tanyakan di kolom komentar di bawah.
00:10:26Saya akan dengan senang hati membantu menjelaskannya.
00:10:33Jangan lupa untuk menekan tombol suka
00:10:37dan berlangganan saluran ini jika video ini bermanfaat.
00:10:40Sampai jumpa di video tutorial berikutnya.
00:10:50Terima kasih banyak telah menonton,
00:10:56dan sampai jumpa!
00:11:00[musik penutup mulai dimainkan]
00:11:02Catatan tambahan untuk proyek mendatang:
00:11:06pastikan dokumentasi kode diperbarui secara berkala.
00:11:12Hal ini akan menghemat banyak waktu bagi tim pengembang
00:11:17yang bergabung di kemudian hari.
00:11:21Menulis kode yang bersih sama pentingnya
00:11:27dengan menulis kode yang berfungsi.
00:11:32Mari kita jaga standar kualitas tetap tinggi.
00:11:36Tetap semangat dalam menulis kode
00:11:43dan teruslah belajar hal baru setiap hari.
00:11:45Sampai jumpa di sesi berikutnya.
00:11:51Salam pengembang!
00:11:54Dan itulah mengapa kamu harus tidur yang cukup.
00:11:58Mari kita bahas poin berikutnya.
00:12:03Ini adalah hal yang sering kita lupakan.
00:12:06Yaitu pentingnya minum air putih.
00:12:11Tubuh kita sebagian besar terdiri dari air.
00:12:17Jadi ketika kamu merasa lelah di siang hari,
00:12:23bisa jadi kamu hanya dehidrasi.
00:12:26Cobalah minum segelas air terlebih dahulu.
00:12:32Sebelum memutuskan untuk minum kopi lagi.
00:12:34Kafein memang bisa membantu sesaat,
00:12:39tetapi air putih adalah kebutuhan utama tubuh.
00:12:41Selanjutnya, mari kita bicara soal fokus.
00:12:47Di dunia yang penuh dengan gangguan ini,
00:12:48kemampuan untuk berkonsentrasi adalah aset besar.
00:12:53Banyak dari kita terbiasa melakukan banyak hal sekaligus.
00:12:55Padahal itu justru menurunkan produktivitas.
00:12:57Otak kita tidak dirancang untuk fokus pada banyak hal
00:12:59secara bersamaan dalam waktu yang lama.
00:13:03Lebih baik fokus pada satu tugas sampai selesai,
00:13:15lalu beralih ke tugas berikutnya.
00:13:20Cara ini terbukti jauh lebih efisien.
00:13:29Dan hasilnya pun akan jauh lebih baik.
00:13:35Jadi, mulai hari ini, cobalah untuk mengurangi gangguan.
00:13:39Matikan notifikasi ponsel saat sedang bekerja.
00:13:43Kamu akan terkejut dengan seberapa banyak hal
00:13:48yang bisa kamu selesaikan dalam waktu singkat.
00:13:49Baiklah, itu saja untuk sesi kali ini.
00:13:55Terima kasih banyak sudah mendengarkan.
00:13:58Jika kamu merasa video ini bermanfaat,
00:14:05jangan lupa untuk menekan tombol suka.
00:14:06Dan bagikan video ini kepada teman-temanmu.
00:14:11Sampai jumpa di video berikutnya.
00:14:14Tetap semangat dan jaga kesehatan.
00:14:16Sampai jumpa lagi!
00:14:19Catatan kecil sebelum kita benar-benar tutup.
00:14:27Perubahan kecil yang konsisten setiap hari
00:14:31jauh lebih baik daripada perubahan besar
00:14:37yang hanya dilakukan sekali.
00:14:41Jadi mulailah dari hal-hal yang kecil.
00:14:53Yang penting adalah konsistensinya.
00:14:55Karena kebiasaan baik yang dibangun secara perlahan
00:14:57akan bertahan jauh lebih lama.
00:15:07Percayalah pada prosesnya.
00:15:12Setiap langkah kecil membawamu lebih dekat
00:15:17pada tujuan yang ingin kamu capai.
00:15:23Jangan terburu-buru dan jangan mudah menyerah.
00:15:30Semua orang punya jalurnya masing-masing.
00:15:35Yang terpenting adalah kamu terus melangkah.
00:15:42Sekali lagi, terima kasih banyak.
00:15:51Sampai jumpa di kesempatan berikutnya.
00:15:59Semoga hari menyenangkan untuk kalian semua.
00:16:07Jaga diri baik-baik di rumah.
00:16:13Sampai jumpa di video selanjutnya.
00:16:19Salam hangat dari kami semua di sini.
00:16:24Teruslah berkarya dan berikan yang terbaik.
00:16:26Dunia ini membutuhkan energi positifmu.
00:16:32Jadi jangan ragu untuk bersinar.
00:16:40Sampai jumpa dalam diskusi menarik lainnya.
00:17:03Tetap produktif dan tetap bahagia.
00:17:07Sampai jumpa di lain kesempatan.
00:17:14Dadah semuanya!
00:17:27Sampai jumpa di lain hari.
00:17:39Terima kasih atas dukungannya selama ini.
00:17:47Kalian luar biasa.
00:17:55Sampai jumpa di puncak kesuksesan.
00:18:08Tetap semangat kawan!
00:18:25Sampai jumpa!
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기