14 HTML Template Cache
Pengenalan Template Cache
Pada kode-kode program sebelumnya yang sudah kita pelajari secara praktik itu tidak efisien. Kenapa seperti itu? karena setiap diakses maka akan memanggil fungsi dan menjabarkan data yang dikirim ke dalam template tersebut sehingga prosesnya pun membutuhkan eksekusi yang tinggi. Setiap handler dipanggil kita akan selalu parsing ulang template-nya. Maka idealnya template hanya melakukan parsing satu kali saja diawal ketika aplikasi akan berjalan maka selanjutnya data template saja yang di caching (disimpan memory) sehingga tidak perlu akses data dan melakukan parsing lagi agar website kita yang kita buat itu bisa semakin cepat.
13 HTML Template Function
Pengenalan Template Function
Selain mengakses field
dalam template, kita juga bisa melakukan akses terhadap suatu fungsi atau function
dalam golang. Cara untuk mengakses function sama seperti halnya mengakses field
namun jika fungsi tersebut memiliki parameter maka kita bisa gunakan tambahan parameter yang dikirim ketika memanggil fungsi di template-nya tersebut.
12 HTML Template Layout
Pengenalan Template Layout
Saat kita membuat halaman website ada beberapa bagian yang selalu sama pada tiap halaman misalnya yaitu header
dan footer
, maka jika terdapat bagian yang sama itu disarankan untuk disimpan pada template yang terpisah agar bisa digunakan di template yang lain atau kadang kita sebut reusable
. Nah pada golang template iin sudah mendukung import dari template lain sehingga bisa kita gunakan untuk mempermudah pembuatan website.
11 HTML Template Action
Pengenalan Template Action
Tidak hanya teks saja kita bisa render dalam template tetapi kita juga bisa mendukung perintah action seperti percabangan if
, perulangan for
dan lain-lain.
Contoh misalkan kita menggunakan percabangan if
seperti ini
10 HTML Template Data
Pengenalan Template Data
Jika Anda sudah mempelajari HTML Template pada artikel sebelumnya, maka kita akan lanjutkam mengenai template data dimana data ini bisa kita tampilkan secara dinamis dengan cara menggunakan data struct ataupun map. Namun perlu diketahui perubahan di dalam text template kita perlu tahu nama field
atau key
yang akan kita gunakan untuk mengisi data dinamis tdi template. Kita bisa menyebutkan nama field
atau key
tersebut seperti contoh {{.NamaField}}
.
09 Mengenal HTML Template
Web Dinamis menggunakan Template
Pada postingan sebelumnya kita telah membahas web dinamis tetapi dengan menggunakan respon string yang terdapat pada statik file. Maka pada kesempatan kali ini kita akan mencoba mengenal templating pada golang dimana halaman katakanlah html tersebut akan dinamis dan bisa berubah-ubah dengan data yang diakses oleh user.
08 Memahami File Server
Pengenalan File Server
Pada Golang memiliki sebuah fitur yang bernama FileServer. Dengan ini kita bisa membuat Handler di Golang Web yang telah kita gunakan itu sebagai static file server dan FileServer ini tidak perlu manual melakukan load lagi. Sehingga kita bisa tambahkan ke dalam http.Server
atau http.ServeMux
.
07 Memahami Cookie
Pengenalan Cookie
Sebelum ke pembahasan Cookie kita perlu ketahui bahwa HTTP merupakan stateless antara client dan server yang artinya server tidak menyimpan data apapun untuk mengingat setiap request dari client. Hal ini bertujuan agar mudah melakukan scalability dari server itu sendiri. Lalu bagaimana cara agar server bisa mengingat sebuah client? misalnya ketika kita sudah login di suatu website, secara otomatis server harus tahu jika client tersebut sudah login sehingga request selanjutnya tidak perlu lagi melakukan login. Hal seperti ini bisanya kita bisa memanfaatkan Cookie
.
06 Response Code
Pengenalan Response Code
Hal yang perlu kita ketahui juga dalam HTTP yaitu response code. Ini merupakan representasi dari kode response yang mana dari kode ini kita bisa melihat apakah sebuah request yang kita kirim dari client itu sukses dilakukan proses oleh server atau gagal diproses oleh server. Maka ada banyak sekali response code yang bisa kita gunakan saat membuat web. Kamu bisa langsung lihat lebih dalam beberapa HTTP Status Code disini https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
05 Request Form Post
Pengenalan Form Post
Sama halnya dengan postingan sebelumnya ketika kita menggunakan method GET maka hasil semua data di form akan menjadi query param sedangkan jika kita menggunakan POST maka semua data di form dikirim via body HTTP Request hanya berbeda methodnya saja. Semua data form post yang dikirim dari client secara otomatis akan disimpan dalam atribut Request.PostFrom
. Namun sebelum kita bisa mengambil data atribut PostForm, kita wajib memanggil method Request.ParseForm()
terlebih dahulu lalu method ini akan digunakan untuk melakukan parsing body. Parsing data tersebut akan menghasilkan data form, jika tidak ada maka akan menyebabkan error pada parsing-nya.
04 Request Header
Pengenalan Header
Selain query parameter pada HTTP juga kita bisa menggunakan Header. Header adalah informasi tambahan yang biasa dikirim dari client ke server atau pun sebaliknya. Dalam Header, tidak hanya ada pada HTTP Request tetapi pada HTTP Respone pun kita bisa menambahkan informasi header. Saat kita menggunakan browser pada komputer kita, biasanya secara otomatis header akan ditampilkan oleh browser seperti informasi browser, jenis tipe content yang dikirim dan diterima oleh browser dan masih banyak lagi.
03 Penggunaan Query Parameter
Pengenalan Query Parameter
Query parameter adalah salah satu fitur dari http yang biasanya kita gunakan untuk mengirim data dari client ke dalam server. Query pameter ini ditempatkan pada URL dari endpoint yang sudah kita buat. Untuk menambahkan query parameter, kita bisa gunakan ?=nama=value
pada URL website kita.