1 poin oleh GN⁺ 2023-10-17 | 1 komentar | Bagikan ke WhatsApp
  • Artikel tentang peningkatan kemampuan pencocokan pola pada multiplexer penyajian HTTP bawaan dalam paket net/http di Go 1.22
  • Multiplexer lama (http.ServeMux) hanya menyediakan pencocokan jalur dasar, sehingga perlu menggunakan library pihak ketiga untuk fitur lanjutan
  • Multiplexer baru di Go 1.22 menyediakan pencocokan lanjutan, sehingga mengurangi kesenjangan dengan paket pihak ketiga
  • Multiplexer baru (mux) memungkinkan penentuan metode HTTP secara eksplisit sebagai bagian dari pola, serta mendukung pencocokan wildcard pada komponen jalur
  • Artikel ini memberikan contoh penggunaan mux baru, termasuk penanganan potensi konflik antar pola yang berbeda
  • Dokumentasi ServeMux yang baru menjelaskan aturan prioritas untuk pola dan potensi konflik
  • Artikel ini juga meninjau kembali contoh dalam seri server REST di Go, serta membandingkan bagaimana mux stdlib baru terlihat dibandingkan gorilla/mux
  • mux baru di Go 1.22 memungkinkan routing yang lebih canggih, sehingga mengurangi kebutuhan untuk mengambil keputusan routing di dalam handler
  • Penulis percaya bahwa peningkatan di Go 1.22 akan mengubah jawaban umum atas pertanyaan, "paket router mana yang sebaiknya digunakan?" Banyak orang kemungkinan akan merasa mux stdlib baru sudah cukup untuk kebutuhan mereka
  • Namun, sebagian programmer Go mungkin tetap lebih menyukai paket pihak ketiga atau framework ringan seperti Gin. Keduanya menyediakan router serta alat tambahan untuk membangun backend web
  • Secara keseluruhan, penulis memandang peningkatan di Go 1.22 sebagai perubahan positif bagi semua pengguna Go, yang membuat standard library lebih mumpuni dan bermanfaat bagi seluruh komunitas

1 komentar

 
GN⁺ 2023-10-17
Opini Hacker News
  • Artikel tentang routing server HTTP baru di Go 1.22.
  • Pengguna kesulitan memahami panic yang terjadi saat dua rute cocok; sebagian besar framework web menggunakan rute pertama yang terdaftar dan cocok.
  • Pengarsipan dan pembatalan pengarsipan proyek gorrila/mux menimbulkan kebingungan, tetapi sebagian orang melihatnya sebagai bukti kestabilan proyek open source.
  • Kritik terhadap sintaks yang diusulkan, dengan beberapa orang menyarankan penggunaan argumen nyata alih-alih membuat string ajaib untuk mendefinisikan handler.
  • Pengguna tidak menyukai penggunaan prefiks method yang di-string-kan, dan lebih menyukai type safety untuk method yang spesifik terhadap verba.
  • Ada rasa ingin tahu tentang apa yang terjadi ketika rute cocok tetapi method tidak cocok; jawabannya adalah 405 dengan header Allow yang terisi dengan benar.
  • Disarankan bahwa pengguna dengan kebutuhan tingkat lanjut sebaiknya tidak menggunakan sub-mux bawaan, melainkan mempertimbangkan opsi lain atau menulis router mereka sendiri.
  • Lebih disukai agar path yang tumpang tindih dicocokkan berdasarkan urutan definisi, alih-alih menyebabkan panic.
  • Sebagian pengguna tidak menyukai usulan ini, terutama karena memasukkan method permintaan HTTP ke dalam URI.
  • Kritik terhadap ServeMux bawaan yang menangani semuanya ketika alamat merupakan prefiks, tanpa cara mudah untuk menangani kecocokan yang persis.
  • Namun, sebagian pengguna melihat routing baru ini sebagai perubahan positif karena mengurangi dependensi eksternal dan meningkatkan produktivitas.