Slide 1

Slide 1 text

Membuat laporan kecepatan web untuk blog pribadi Irfan Maulana Pemilik blog mazipan.space 17 Maret 2021 19:00 WIB facebook.com/groups/phpid

Slide 2

Slide 2 text

> Kenalan Saya Irfan Maulana Menjadi Pemrogram sejak 2013-an Terjerumus menjadi Front End sejak 2015-an Pemilik blog mazipan.space

Slide 3

Slide 3 text

> Mengenai blog saya Iseng menulis di Blog sejak jaman kuliah (2011-an) Bermula dengan platform WP Sampai nyobain berbagai JamStack Nuxt.js -> Gatsby -> Next.js Domain juga gonta-ganti sih Sekarang lagi senang dengan domain: mazipan.space

Slide 4

Slide 4 text

> Kecepatan web Ada beberapa segmen sebenarnya: - First visit performance - Second (repeat) visit performance - Runtime performance Tapi yang paling mudah diukur ya, seberapa cepat web kalian dimuat untuk pertama kali? “First Visit Performance” Nah, performa yang dimaksud pada sesi kali ini ya itu.

Slide 5

Slide 5 text

> Mengapa kita mesti peduli? Menahan pengunjung pergi, hanya karena web terlalu lambat Memberikan kesempatan lebih besar bagi pengunjung mengerjakan hal yang kita harapkan Memprioritaskan pengunjung, memberikan kenyamanan ekstra Buat kita para pembangun web, bagian dari Engineering Excellent

Slide 6

Slide 6 text

> Mengukur kecepatan web Paling populer ya pakai Lighthouse: ada di Chrome DevTools, ada Chrome Extension-nya juga Lewat 3rd parties: web.dev/measure, PageSpeed Insight, WebPageTest Custom lewat CLI: Lighthouse-CLI, PWMetrics

Slide 7

Slide 7 text

> Laporan terbuka Menyajikan laporan hasil pengujian ke khalayak luas, sehingga tidak perlu lagi dilakukan pengujian setiap waktu. Mempertimbangkan pengujian kecepatan web membutuhkan waktu yang lumayan lama dan sumber daya yang tidak sedikit.

Slide 8

Slide 8 text

> Ide awal Membuat penjadwalan secara berkala: Cron Job Menghasilkan laporan berupa JSON file statis: LH CLI atau 3rd party API Mampu memperbarui data dan tampilan secara otomatis pula: Integrasi dengan CI/CD

Slide 9

Slide 9 text

> Udah ada yang pakai? mazipan.space/speed

Slide 10

Slide 10 text

> Udah ada yang pakai? adibfirman.space/speed

Slide 11

Slide 11 text

> Gimana bikinnya tuh? Prasyarat: - Blognya statis (atau menggunakan web statis generator) - Kode sumber terbuka dan menggunakan Github - Sudah terpasang fitur auto deploy ketika ada commit baru

Slide 12

Slide 12 text

> Gimana bikinnya tuh? Langkah 1: - Buat API Key baru dari PageSpeed Insight - Jangan pasang larangan (restriction) dulu ya di API Key nya Cek TKP gan >>> https://mazipan.space/s/buat-psi-api

Slide 13

Slide 13 text

> Gimana bikinnya tuh? Langkah 2: Letakkan di Secret untuk Github Actions. Caranya masuk ke Settings > Secrets > new Repository Secret

Slide 14

Slide 14 text

> Gimana bikinnya tuh? Langkah 3: - Buat berkas yaml baru untuk menjalankan Github Actions ini. Misal: .github/workflows/generate_psi.yml - Trigger dengan Cron Job sesuai yang kalian harapkan Misal: 30 2 * * * (setiap hari jam 2:30)

Slide 15

Slide 15 text

> Gimana bikinnya tuh? Langkah 4: Gunakan actions/checkout@v2 untuk mengambil kode sumber

Slide 16

Slide 16 text

> Gimana bikinnya tuh? Langkah 5: Gunakan mazipan/psi-gh-action untuk membuat laporan otomatis

Slide 17

Slide 17 text

> Hasilnya apaan sih?

Slide 18

Slide 18 text

> Hasilnya apaan sih?

Slide 19

Slide 19 text

> Hasilnya apaan sih?

Slide 20

Slide 20 text

> Kenapa JSON file sih? - JSON relatif mudah dikonsumsi oleh berbagai macam framework yang berbeda-beda - Kalian bisa berkreasi sendiri dengan UI nya untuk menampilkan data ini Males ah mas mikir lagi? Yowes, nyontek yang udah aja kalau gitu! Nyoh mas >>> mazipan.space/s/nyontek-dong

Slide 21

Slide 21 text

> Penasaran bikin kaya gini? Baca cerita dibalik pembuatannya: mazipan.space/open-web-perf-report-for-personal-blog

Slide 22

Slide 22 text

> Hal yang bisa dipelajari - Sebagai programmer web, kalian perlu mempermudah pengguna untuk tau seberapa sehat (baca: cepat) blog kalian - Coba lihat konsep kerjanya, kalaupun gak sesuai dengan kondisi kalian, kan bisa disesuaikan sendiri. - Otomasi itu penting banget buat programmer, makanya sedari awal pikirin, masa saya mau deploy dengan Upload lewat FTP sih? - Kalau udah ada orang yang buatin, ya pakai aja. Gak cocok? Ya kita bikin sendiri lah.

Slide 23

Slide 23 text

Terima kasih.