EP 150

Serba Serbi Pengujian: Vitest, Jest, dkk - Ngobrolin WEB

Bagikan:

🗣️🕸️ Selasa malam waktunya #ngobrolinWEB! Malam ini membahas serba-serbi pengujian atau testing, spesifiknya akan membahas Vitest, Jest, dkk. Ayo bergabung bersama Ivan dan Eka di sesi malam nanti. 🔔 Yuk mari ramaikan! Dimulai pukul 20:00WIB ya. Episode kali ini merupakan hasil kolaborasi dengan @domainesia_. Gunakan kode promo: NGOBROLINWEBDN buat diskon 10% langganan hosting atau kode promo NGOBROLINVPSDN buat diskon 50% langganan Cloud VPS Turbo dan dapat digunakan berkali-kali! Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.

Ringkasan Episode

Bantu Koreksi

Episode ini membahas serba-serbi testing di ekosistem JavaScript, mulai dari alasan kenapa testing penting sampai perbedaan jenis-jenisnya. Pembahasan menyinggung konsep testing trophy/pyramid, kapan unit test cocok dipakai, serta kapan lebih masuk akal menggunakan integration atau end-to-end testing untuk memastikan alur bisnis tetap aman. Ngobrolin juga mengulas tool dan praktik populer seperti Vitest vs Jest, snapshot testing beserta pro-kontra dan konflik yang sering muncul, serta strategi coverage dan CI/CD agar kualitas tetap terjaga. Di sisi lain, ada diskusi tentang trade-off: biaya maintenance, over-testing, dan kapan "cukup" itu cukup. Beberapa contoh praktik seperti Playwright, mocking, dan visual/regression testing ikut dibahas untuk konteks real di proyek.

Poin-poin Utama

  • Testing dibahas dari sisi tujuan: mengurangi risiko bug dan menjaga alur bisnis tetap aman
  • Konsep testing trophy/pyramid dijadikan kerangka memilih jenis test
  • Perbedaan unit, integration, dan end-to-end testing serta kapan masing-masing dipakai
  • Perbandingan tool seperti Vitest dan Jest termasuk isu performa dan migrasi
  • Snapshot testing dibahas lengkap dengan manfaat, potensi konflik, dan kapan sebaiknya dihindari
  • Coverage dan CI/CD dibahas sebagai cara memantau kualitas, tapi tidak jadi satu-satunya patokan
  • Playwright, mocking, dan visual/regression testing disebut sebagai praktik yang relevan di proyek modern
Transkrip Bantu Koreksi

0:00[musik]

0:18Dapatkan hanya di Domain Asia

0:20[musik]

0:31Halo, halo, halo

0:34Wih kok cuma berdua

0:36Selamat malam

0:37Gak ada ya?

0:38Kenapa ada suaranya?

0:40Cek, cek, cek ada suara

0:42Oh ada

0:44Oh

0:46Setnya soundboardnya gak ada

0:48Halo selamat malam semuanya

0:50Selamat malam

0:52Gimana kabarnya?

0:54Muda-muda sehat ya

0:56Nggak, gak sehat

0:58Sehatnya sih gak tapi pusingnya iya

1:00Gak pusing

1:02Iya

1:04Lagi ini ya

1:06Lagi ada horror lagi ya

1:08Cloudflare mati ya

1:10Iya

1:12Cloudflare mati

1:14Cloudflare mati

1:16Tidak ada yang bisa saya lakukan

1:18Cuma memantengin

1:20Status page

1:22Ketengah internet mati kali ya Cloudflare mati ya

Lihat transkrip lengkap

1:24Nggak sih

1:26Jadi

1:28Beberapa klien

1:30Dari

1:32Lima

1:34Empatnya

1:36Nyalak, satunya mati

1:38Empatnya ini sepertinya

1:40Enterprise

1:42Jadi gak ada

1:44Cloudflare

1:48Oh Cloudflare

1:50Cloudflare mereka ini klub sendiri ya

1:52Nggak ada tergantung

1:54Cloud provider lain ya

1:56Infrastructure sendiri kan maksudnya

1:58Iya mereka infrastructure sendiri

2:00Alternatif dari

2:04Cloudflare yang

2:06CDN

2:08Yang biasa kita pakai gratis itu

2:10Oksinya apa aja ya

2:12Ini cuma dia doang yang memberikan gratis ya

2:18Caching

2:20Anti DDoS

2:24Ada sih

2:26Yang gratis ya ada

2:28Mike CDN kan ada

2:30Jarang

2:32Masih belum terlalu populer ya

2:34Ada-ada beberapa yang

2:36Kalau Cloud provider besar

2:38Pasti ada semua ya

2:40Free CDN namanya

2:42Ada kan

2:44Kalau yang gak terkenal

2:48Begitu lebih sering

2:50Begitu lebih sering down lagi

2:52Kalau si

2:54Cloudflare kan dia gak cuma

2:58CDN kan dia juga

3:00Proxy ya

3:02Oh iya benar benar benar

3:04Sekarang kita ke semua website

3:06Buat apa

3:08Nyiga scraping itu kan

3:10Cloudflare yang ada

3:12Tau kan yang

3:14Apa namanya

3:16Anti DDoSnya

3:18Anti DDoS juga Firewall ya

3:20Kalau

3:22CDN murah nih hanya untuk static fire

3:24Banyak yang

3:26Ya gratis

3:28Ya gratis dalam tahap bandwidth

3:30Tertentu ya

3:32Premium ya

3:34Tapi kan butuhnya yang Anti DDoS

3:40Yang apa namanya

3:42Kalau sampai se complete

3:44Cloudflare ya cuma

3:46Cloudflare yang ngasih

3:48Se complete

3:50Cloudflare cuma

3:52Ya cuma Cloudflare

3:54Tapi Cloudflare itu

3:56Mahal loh

3:58Kalau yang berbayarnya mahal ya

4:00Iya

4:02Jadi

4:08Kalau masih

4:10Boot strapping

4:12Atau masih baru mulai pakai Cloudflare

4:14Yang free ya bisa-bisa

4:16Sudah melejit

4:18Nah siap-siap aja itu budget

4:20Harga Cloudflare itu

4:22Ya dibatasi per bandwidth ya

4:24Atau gimana untuk yang free

4:26Ya nanti

4:28Dia silent

4:30Nggak silent sih

4:32Dia akan

4:34Dia akan punya

4:36Datanya kan kalau misalnya kita udah mulai

4:38Naik tuh nanti datang tuh ininya

4:40Datang tuh accountnya tuh

4:42Ini sudah harus naik

4:44Kalau misalnya kita masih tetap di situ

4:46Kita bisa di-cut off

4:48Bisa di-ban sama dia

4:50Ya dia yang punya sistem

4:52Kita numpang kok

4:54Halo-halo

4:56Halo

4:58Cloudflare sekarang down

5:00Iya

5:02Yang kerjaannya pakai Cloudflare ya

5:04Enak udah, nggak usah kerja

5:06Kalo orang down

5:08Iya

5:10Jadi malam ini kita live

5:12Dari LinkedIn

5:14Halo temen-temen LinkedIn, dari YouTube

5:16Kita ada 2 versi nih sekarang lagi nyoba

5:18Ada yang portrait dan ada yang

5:20Ranscape ya

5:22Jadi

5:26Kalau temen-temen yang

5:28Yang portrait berarti sekarang muka kita digepengin

5:30Di tengah gitu

5:32Oh kiri kanan ya

5:34Iya di apa

5:36Mobile first

5:38Jadi sekarang

5:40Broadcast video aja responsif ya

5:42Iya

5:44Nah penasaran nih

5:46Pengen tau temen-temen yang

5:48Yang nontonnya portrait version

5:50Berapa banyak ya

5:52Pengen tau aja

5:54Atau jangan-jangan lebih rame ya

5:56Kalo liatnya di HP

6:00Ya by default

6:02Dapatnya portrait kan

6:04Kecuali emang sengaja di rotate

6:06Enggak

6:08Jadi si YouTube ini dia

6:10Ada 2 versi live

6:12Mau versi yang portrait apa yang landscape

6:14Oh user nya

6:16Yang nonton short kali ya

6:18Yang nonton short dapet

6:20Notifnya atau dapet

6:22Ada info live nya

6:24Itu yang portrait kali ya

6:26Nggak tau juga sih

6:28Makanya penasaran

6:30Kita coba malam ini

6:32Kalo, berarti bisa kita

6:36Ini videonya bisa juga diputar di tiktok

6:38Di Shopee gitu kan

6:40Jadi bisa lewat-lewat di jalan orang

6:42Bisa kita download dari YouTube

6:44Trus kita upload lagi dari tiktok

6:46Dan Shopee gitu ya

6:48Sekalian jualan konten

6:50Shopee, kok Shopee

6:52Kok Shopee sih

6:54Kita jualan apa

6:56Jualan konten

6:58Ya harus buka toko berarti

7:00Di Shopee, nggak bisa sembarang upload video doang

7:04Oh kita jualan hosting

7:06Seperti Dominicia

7:08Kita jualan Dominicia aja

7:12Jangan jualan hosting

7:14Soalnya harus buka perusahaan dulu jualan hosting

7:16Ngewah dulu

7:20Apa nih jualannya hari ini

7:22Jualannya hari ini kalo temen-temen

7:24Yang mau beli hostingnya

7:26Dominicia

7:28Temen-temen bisa pake promo code

7:30Ngobrolin WebDN

7:3250% untuk semua paket web hosting

7:34Siklusnya berlaku satu atau dua tahun

7:38Nah yang mau nyobain cloud VPS

7:40Yang turbo tapi ya

7:42Itu ada diskon 50%

7:44Jadi temen-temen bisa pake promo code nya

7:46Ngobrolin VPSDN

7:48Diskonnya berlaku untuk semua paket

7:54Dan semua siklus

7:56Dan bisa dipake

7:58Lebih dari satu kali di akun yang sama

8:00Bikin akun baru gitu ya

8:02Langsung aja ke

8:04Cek ke dominicia.com

8:06Dan pake kodak cocernya

8:08Tapi jangan malam ini ceknya

8:10Lagi down juga

8:12Soalnya

8:14Dominicia down ya

8:16Pake cloud flare soalnya

8:18Pake cloud flare

8:20Pake cloud flare ternyata

8:24Kita kabari dulu

8:28Terima kasih buat dominicia

8:30Untuk dukungannya ya

8:32Semoga baru ya

8:34Song clip

8:36Kalau kemarin Super Mario

8:38Ting

8:40Lebih enak yang ini ya

8:42Itu terlalu banyak ya coin-annya ya

8:46Jadi malam ini

8:52Kita mau bahas lagi

8:54Tentang testing

8:56Testing

8:58Storybook kita pernah bahas

9:02Itu bagian dari testing juga

9:04Visual testing

9:06Terus

9:10Kalau automasi web

9:12Kita pernah sama Jiseline

9:14Tapi itu lebih ke browser automation ya

9:16Ada testing apa lagi kita?

9:24Bahas testing apa lagi ya?

9:26Oh episode 12

9:28Tentang testing secara umum

9:30Kenapa testing

9:32Apa aja yang di testing

9:34Jenis-jenisnya

9:36Trophy ya

9:38Testing trophy

9:40Ya gitu-gitulah ya

9:42Oh ya testing trophy nya

9:44Cancy dots

9:46Kalau dulu kan testing piramid

9:48Terus dia ubah ya jadi

9:50Oh sempat ada

9:52Terusnya jadi testing

9:54Takos ya

9:56Kayak chip-chip yang segitiga itu lho

9:58Terus akhirnya dia ubah jadi trophy

10:00Lagi ngapain?

10:04Lagi ngobrol

10:06Ini kayaknya sama temen yang dari Portrait ya

10:08Belum pernah ya

10:10Selamat datang ya buat yang baru nonton ya

10:12Ini

10:14Acara ngobrolin

10:16Teknologi web

10:22Tapi emang kalau nontonnya dari Portrait

10:24Maksudnya jadi

10:26Reach audience baru

10:28Atau gimana?

10:30Kayaknya ya

10:32Nice

10:34Oh boleh dong, di like, di subscribe

10:40Di share ya

10:42Donasi juga boleh sekalian

10:46Tidak menolak

10:48Jadi sebenarnya malam ini

10:50Yang pentingnya itu adalah

10:52Update sebulan yang lalu ya

10:54Sekitar sebulan yang lalu itu

10:56Getes

10:58Getes itu launching

11:00Versi keempat

11:02Publikasi versi keempat

11:04Merilis versi terbaru

11:06Versi keempat

11:08Terus kita penasaran nih

11:10Apa yang baru

11:12Dan

11:14Gimana tentang

11:16Ecosistem testing

11:18Secara umum ya sampai sekarang ya

11:20Kan kita belum bahas

11:22Tentang

11:24Kalau dulu kan ada side press

11:26Terus kemudian muncul playwright

11:28Sebelumnya ada testing library

11:30Can see dots juga

11:32Nah ini

11:34Apa namanya

11:36Kita mau liat malam ini kira-kira

11:38Perkembangan testing

11:42JavaScript itu sudah sampai mana

11:44Salah satunya ya Vtest dan juga

11:46Bantusan di video

11:48Ternyata pada ngebully bro

11:52Oh pada ke portrait semua

11:54Di lempar ke portrait semua ya

11:56Emang bisa ya

11:58Ya makanya ini baru kan tadi dibilang

12:00Nah cuma kalau jadi

12:02Kirain cuma jadi kaya

12:04Dua format tapi satu stream

12:06Komennya sama

12:08Streamnya beda

12:10Jadi dua stream yang berbeda

12:12Oh iya ya ini yang komen dari

12:14Portrait semua ya

12:16Sama berarti nanti like sama komennya

12:18Gak pecah jadi dua kan

12:20Kayaknya iya

12:22Coba kita liat ini ya

12:26Ya namanya expert

12:28Kurang ini dong ya

12:30Makanya

12:32Kurang oke ya

12:34Coba buka satu lagi ya

12:36Kalau buat anggap aja

12:38Ebi testing sih cuma berarti

12:40Ya video idea nya

12:42Beda

12:44Oh ya

12:46Video idea nya beda

12:48Cukup kali ini aja

12:50Cukup sekali aja lah

12:52Jadi kalau temen-temen yang di

12:54Portrait mau biar

12:56Nggak kelewatan minggu depan

12:58Disubscribe dulu

13:00Sama nyalain notifikasinya ya

13:02Tapi rame yang di

13:04landscape gimana dong

13:06Eh yang di portrait

13:08Justru rame ya

13:10Oh ada tandanya ya

13:12Ada tandanya ya

13:14Di komen kita tuh ada gambar

13:16Kotak gitu

13:18Oh iya komennya gak muncul

13:22Ya gitu lah kita lagi coba-coba ya

13:26Tadi buka

13:28Di landscape buka dari app

13:30Tapi gak ada komen tau-tau ada yang nongol di layar

13:32Di highlight begitu buka channel

13:34Oh di highlight ya berarti

13:36Bukan komen

13:38Bukan yang di highlight itu komennya

13:40Oh komen yang di highlight

13:42Nah terus tadi mas Jain

13:44Mas Jain bingung kenapa di komennya

13:46Di komen yang apa

13:48landscape kosong

13:50Tapi kok ada komen yang dinaikin ternyata

13:52Komennya di portrait

13:54Ada-ada

13:56Terus kenapa

13:58Iya kenapa mas Jain di

14:00Ikutan di portrait juga

14:02Pindah ke portrait ya biar

14:04Ya biar goyup

14:06Ya biar rame

14:08Cuma ini apa orang productnya youtube

14:10Ada-ada aja nih pasti

14:12Ide-ide nya orang product

14:14Iya

14:16Ya waktu di launching

14:20Live youtube yang

14:22Portrait memang

14:24Kabarnya

14:26Trafficnya

14:28Lebih tinggi, ngerisnya lebih banyak

14:30Makanya malam ini

14:32Saya coba

14:34Ternyata memang benar

14:36Banyak orang-orang baru ya

14:38Karena maksudnya mungkin biar

14:40Ini kan cara biar creator

14:42Pada nyoba

14:44Giming-gimingin creator biar

14:46Pada pakai

14:48Portrait mode ini kan

14:50Betul-betul

14:52Oke

14:56Tapi untuk format

14:58Obrolan kita sama ada layar

15:00Segala kayaknya kurang cocok ya

15:02Di portrait ya

15:04Kita coba aja ya

15:06Jadi kecil banget

15:08Ya makanya ini kita coba aja ya

15:10Sambil langsung bahas ya

15:12Sambil langsung bahas

15:14Kita share screen dulu

15:16Entire screen

15:18Nah

15:20Tadah kecil banget

15:22Kecuali screen yang di share juga

15:26Portrait

15:28Ya mungkin ya

15:30Agak kurang enak sih

15:32Gak bisa

15:34Gak bisa ya

15:36Harus punya monitor yang bisa

15:38Di rotate ya

15:40Aduh keribet

15:42Aneh banget

15:44Ya

15:46Kalau teman-teman yang

15:48Di portrait gak kelihatan

15:50Pindah aja ke landscape ya

15:52Udah sekarang biar di portrait semua aja dulu

16:00Biar apa

16:02Buat mancing aja

16:04Buat nyari traffic

16:06Selebihnya

16:08Pindah ya

16:10Jadi pemantiknya

16:12Sebenernya ini

16:14Vtes Flash 4

16:16Release sekitar bulan lalu

16:18Terus kita penasaran

16:20Dengan Ecosystem

16:22Testing secara umum di JavaScript

16:24Terutama ini testing aja lah

16:28Untuk unit testing ya

16:30Yang secara umum kan luas banget ya

16:32Kita juga udah pernah berapa kali

16:34Sekarang unit testing aja

16:36Oke unit testing aja ya

16:38Nah itu kan sama komennya tuh lah

16:40Udah versi 4 aja

16:42Iya

16:44Emang terakhir pakai versi berapa

16:46Eka terakhir pakai berapa? Tiga ya

16:48Tiga cuman emang gak terlalu

16:50Gue gak serajin itu mantengin

16:52Ecosystem testing sih

16:54Yang penting pakai aja gitu ya

16:56Kan pakai dan lupakan

16:58Karena sudah matcher

17:00Sudah matcher

17:02Iya sudah matcher

17:04Jadi untuk perpindahan versi pun

17:06Maksudnya saya pakainya 3

17:08Terakhir hanya sekedar main-main ya

17:10Jadi bukan

17:12Production

17:14Terakhir itu 3 dan

17:16Nyaman, enak aja pakainya

17:20Simple, belum coba sih 4

17:22Dibandingkan dengan

17:24Testing library apa

17:26Nyamannya dibandingkan apa

17:28Yang

17:30Oh iya bisa nih

17:32Ide nya mas Zain

17:34Oh yang di share screen nya

17:36Doang ya

17:38Iya tapi yang landscape nya jadi

17:40Tendek juga

17:42Iya iyalah

17:44Tapi gak apa-apa sih

17:46Lebih enak ini ya

17:48Berarti kita bisa digede ini

17:54Oh enggak

17:56Nanti aja lah

17:58Nggak bisa ternyata

18:00Fix in production

18:02Kembali ke

18:04Pernyataan Ivan tadi

18:06Lebih nyaman dibandingkan

18:08Testing apa

18:10Jazz atau sebelumnya moka

18:12Apalagi kalau dibandingkan sama moka ya

18:14Enak-enak di test

18:16Nah bentar dari awal deh

18:18Gue belum pernah

18:20Nyobain pakai moka sih

18:22Moka gimana, sesungsara apa

18:24Moka enak loh

18:26Dibandingkan jazz

18:28Gue lebih prefer moka malah

18:30Enggak ya

18:32Gue ga pernah pakai moka

18:34Di front-end

18:36Kalau di back-end

18:38Moka mantap lah

18:40Kalau di front-end gak tau

18:42Karena kan

18:44Begitu react muncul

18:46Jazz ikutan kan

18:48Apalagi create track app udah ada jazz nya

18:50Gak begitu mulai

18:52Begitu mulai

18:56Main-main test

18:58Mainnya jazz

19:00Kalau moka

19:04Saya bikin moka dimana ya

19:06Sampai lupa apa aja yang dipakai

19:08Keren loh

19:10Moka itu ada reporter

19:12Namanya yang testing

19:14Passing fail itu ada yang

19:16Itu bisa dilucu-lucuin

19:18Ada gambar kucing

19:20Itu yang terbang-terbang

19:22Itu keren

19:24Nah kalau gue

19:30Moka gak pernah

19:32Karena pertama kali belajar

19:34Defaultnya doka perunya jazz

19:36Abis itu mulai tahun lalu sih

19:38Akhir tahun lalu gue inget banget tuh

19:40Pas yang versi 3

19:42Baru mau launching, baru beta

19:44Cuma ya keliatannya

19:46Emang major release mereka

19:48Akhir tahun gitu

19:50Akhir tahun lalu pake fit test

19:52Langsung simple aja

19:54Langsung simple banget dibandingin jazz

19:56Kayak hampir gak ada

19:58Library tambahan yang perlu di install

20:00Config nya juga minimal

20:02Haa itu apa lucu amat

20:04Nyan cat ya

20:06Nyan cat, ini ada

20:08Plugin nya, jadi kalau

20:10Kita tes nya passing

20:12Dia happy

20:14Itu doang sih

20:16Itu doang yang bikin dia

20:18Enak

20:20Kalau

20:24Tes

20:26Balik lagi ke Ivan

20:28Tadi kan dibandingin sama jazz

20:30Apa yang membuat fit test ini

20:32Bisa keluar kata-kata nyaman

20:34Kan API nya sama

20:36Bahkan fit test yang nyontek

20:38API nya jazz kan

20:42Apakah zero configuration nya

20:44Atau lebih cepat

20:46Atau apa

20:48Pake jazz

20:50Misalnya kalau kita udah

20:52Pake jazz ya kan

20:54Bikerasi nya gampang

20:56Bikerasi nya gampang

20:58Somehow gue merasa

21:02Fit test lebih cepat daripada jazz

21:04Nah baru mau bilang

21:06Kayaknya belum pernah

21:08Sejujurnya belum pernah bandingin

21:10Sama lagi testing

21:12Dengan kode yang sama

21:14Gak bisa compare langsung apple to apple ya

21:16Tapi

21:18Maksudnya gak pernah yang beneran sampe

21:20Computer yang sama

21:22Computer yang sama

21:24Kalau pake jazz berapa detik

21:26Fit test berapa detik, sejujurnya belum pernah sih

21:28Cuma ya itu feel nya

21:30Kayaknya lebih cepat dan ringan aja

21:32Sama ya itu

21:34Sama kayak Ivan

21:36Kebetulan

21:38Jadi

21:40Kalau kita mau

21:42Pake jazz

21:44Bukan apa-apa

21:46Yang sama

21:48Kayaknya

21:50Bukan apa-apa

21:52Yang sama

21:54Kayaknya

21:56Bukan apa-apa

21:58Yang sama

22:00Kayaknya

22:02Bukan apa-apa

22:04Yang sama

22:06Konfig

22:08Gak perlu itu tambahan

22:10Eventualnya ada sih

22:12Buat ngerender doma atau apa

22:14Cuma set up nya biar bisa jalan

22:16Dulu itu jauh lebih minimal

22:18Kita beruntung berarti ya

22:26Si Streamyard nya

22:28Gak pakai Cloudflare

22:30Kalau gak down

22:32Iya gak bisa

22:36Atau Youtube gak pakai Cloudflare ya

22:38Ya jelas lah

22:40Mokka lebih memperhatinkan

22:46Buat asserting dom

22:48Oh iya bener

22:50Mokka memang di front end nya

22:52Ribet ya

22:54Karena kan Mokka ini awalnya

22:56Kalau kita ngomong origin story nya

22:58Dibuat untuk node

23:00CS ya

23:02Yang apa BN

23:04Saya pakai Mokka

23:06Buat CLI

23:08Ininya saya

23:10CLI Tools yang kemarin itu

23:12Tools yang pakai ERGS

23:14Yang Cloudflare

23:16Ya Cloudflare CLI node

23:18Cloudflare tools yang saya bilang

23:20Cloudflare lagi

23:22Tapi ini CLI command ya

23:24Untuk connect API

23:26Besting nya sama cover nya

23:28Saya pakai Mokka

23:30Mokka Istanbul ya

23:32Gak pakai Istanbul

23:34Saya cuma pakai Mokka

23:36Cover nya pakai Istanbul

23:38Harus dong

23:40Sudah pakai

23:42Karena gak pakai dom domen

23:44Cepet aja untuk assesnya

23:46Cepet ya

23:48Mokka itu cepet

23:50Jazz itu

23:52Berasa agak lambat

23:54Vitesse berasa cepet

23:56Berasa react

23:58Berasa bloat it

24:00Emang react bloat it

24:02Ya lumayan

24:04Ya kalau react nya ditambahin semua

24:08Packet-packet jadi bloat it juga

24:10Ujung-ujungnya

24:12Mas Zain yang pernah coba nih

24:16Karena migrasi ratusan test dari Jazz ke Vitesse

24:18Improvement 2-3 kali

24:20Lipat

24:22Lebih cepat

24:24Ya memang berasa lebih cepat

24:26Eka nya ketutup ya

24:28Kalau ada komen

24:30Di vertical

24:32Dapat salam dari mas

24:38Willy yang domen Asia

24:40Ya maaf katanya

24:42Kalau Flirnya lagi daun jadi domen Asia

24:44Gak bisa dibuka

24:46Dan sayang banget katanya mas Teza lagi pakai baju domen Asia

24:48Oke ini nih

24:56Kita mau bahas yang mas Zain

24:58Highlight ya

25:00Vitesse yang baru itu ada browser mode

25:02Nah apa itu browser mode

25:04Kita liat sama-sama

25:06Ini enakan gini apa enakan gede

25:08Bebas

25:14Penonton kan banyak yang

25:16Banyak yang vertical ya

25:18Jadi kita malam ini versi vertical

25:20Dulu ya

25:22Jadi versi 4 ini

25:26Sebenernya dari versi 3

25:28Udah ada browser mode

25:30Cuma experimental

25:32Pake flag

25:34Ya kayaknya pernah coba

25:36Skill-less

25:38Ya gak tau ya kalau use case nya yang rumit banget

25:40Ya bermasalah

25:42Tapi sebenernya normal-normal aja sih

25:44Cuma emang belum

25:46Cukup mature

25:48Buat dimasukin ke stable aja

25:50Browser mode ini apa

25:52Sebenernya

25:54Bisa di browser headless ya?

25:56Enggak beneran ada UI nya

25:58Di render

26:02Oh kayak saya press yang UI ya

26:04Gak pas nyoba itu kayak nyoba skill-less doang

26:12Karena liat pose

26:14Entah pose apalah

26:16Ya maksudnya apakah itu nyambungnya sama JS

26:18Kan Vitesse juga sebetulnya

26:20Kita bisa konfigurkan

26:22Bisa pakai JS DOM

26:24Bisa pakai HP DOM

26:26Nah terus itu tuh browser UI nya

26:28Exactly pakai apa gak tau sih

26:30Cuma kalau mau ngetes kayak dokumen

26:32Atau apa lah web API

26:34Global-global yang kayak window

26:36Dokumen gitu itu ada

26:38Jadi bisa ngetes local storage

26:40Nah cuma exactly

26:42Cara kerjanya gimana

26:44Gak pernah tau dan gak pernah ngecek

26:46Jadi sekarang mending di cek aja

26:48Gak kelihatan

26:50Gimana cara kerjanya sih

26:52Gak kelihatan

26:54Jadi kita sekarang lagi kayak

26:56Mencari titik tengah

26:58Yang nyaman buat kita di desktop

27:00Dan nyaman juga

27:02Buat di mobil

27:04Nyamanya

27:08Experimental mode

27:10Test on production

27:12Test on production

27:14Real mean test on production ya

27:18YOLO

27:20Emang kalau leka tes dimana

27:24Gak usah ditest udah

27:28Gak usah ditest

27:30Pakai perasaan, pakai feeling

27:32Kayaknya ini gak error gitu ya

27:34Oke

27:36Ini ada beberapa pilihan provider

27:38Ada playerat, ada web driver IO

27:40Dan preview

27:42Dia bisa pakai play

27:44Udahik

27:46Preview apa preview

27:48Oh dari vitasnya sendiri ya

27:50Gak tau

27:54Playerat aja yang umum ya

27:56Wait

27:58Kalau preview dia pakai web driver

28:00By die

28:04Oh browser

28:06Web driver IO

28:12Itu kelihatannya playerat cuma untuk

28:14Kita mau jalanin di system

28:16CICD

28:18Jadi kalau cuma di lokal ya

28:22Itu vitas browsernya aja

28:24Kayaknya ya

28:26Import based vitas browser

28:32Oh iya iya benar benar

28:34Apa yang dia bukus

28:36Pakai apa

28:42Anyway

28:44Wah ini berarti

28:58Justru malah kayak

29:00Storybook testing yang pernah kita bahas kan

29:02Cuma ini ya

29:04Di lokal kalau yang punya

29:06Chromatic

29:08Di storybook itu kan

29:10Dia ada kayak service nya

29:12Terus dibikin UI nya sendiri

29:14Dibikinin UI buat compare

29:16Tapi maksudnya kalau kita mau

29:18Bikin sendiri visual regression

29:20Testing sekarang bisa ya

29:22Berarti pakai vitas

29:38Mawadatu Riza

29:40Halo Riza, oh mangilannya Riza bukannya

29:42Taman namanya

29:44Saya masih bingung

29:46Penggunaan testing biasanya pada

29:48Pakai di case apa aja

29:50Jangan mention

29:52Jangan pakai contoh counter ya

29:54Jangan pakai contoh counter

29:56Hello Riza

29:58Tuduh app

30:00Hacker news clone

30:04Kalau di real world sih

30:06Kalau kerjaan gue pakenya

30:08Aku pakenya cukup simple sih

30:10Maksudnya nggak terlalu rumit

30:12Jadi kalau kayak yang pure function

30:14Kayak yang contohnya apa ya

30:16Logic lah

30:18Logic kan macem-macem ya

30:20Misalnya data user yang masuk

30:22Ini itu dia statusnya

30:24Sebagai admin

30:26Kayak user status admin

30:28Atau moderator atau apa level-levelnya

30:30Terus dia authorize atau nggak

30:32Buat melakukan sesuatu

30:34Ya bagusnya dipisah logicnya

30:36Ada logic yang reusable

30:38Bisa dipakai di berbagai tempat

30:40Nah itu ya

30:42Apa harus ada test suite-nya

30:44Biar ngecek test-nya

30:46Funksinya apa

30:48Berfungsi betul kan

30:50Itu sebagai bagian dari acceptance criteria

30:52Contoh real lagi apa ya

30:54Misalnya user mau daftar

30:56Register

30:58Kalau regionnya beda kan

31:00Umur apa kayak usia

31:02Yang boleh sign up itu beda-beda ya

31:04Jadi ya udah dibikin case-case-nya

31:06Terus kalau ganti

31:08Apa

31:10Kalau ganti language atau lokal

31:12Apa lokal itu kan format date-nya juga

31:14Misalnya yang ditampilin

31:16Bisa lain-lain

31:18Ya pokoknya apapun yang logic yang kayak gitu

31:20Itu by default gue bikin unit

31:22Unit testing-nya sih

31:24Sama kalau UI component

31:26Itu jujur nggak terlalu rumit

31:28Jadi nggak beneran

31:30Di tes case-by-case

31:32Karena apa

31:34Kalau yang end-to-end itu dibikin oleh

31:36Developer lain dan itu pakai selenium

31:38Atau apa punya end-to-end

31:40Tapi kalau per component-nya misalnya

31:42Apa ya, text input

31:44Button atau semacamnya

31:46Cuma ngecek di render dengan betul

31:48Tanpa error atau nggak

31:50Sama ya itu paling biasa ngecek satu

31:52Apa, satu text label

31:54Atau apalah, jadi ngetest bahwa

31:56Komponennya berhasil

31:58Dikantilin sesuai

32:00Ya sesuai yang kita mau

32:02Cuma misalnya kayak ada state-state-nya yang ditoggle

32:04Isu-nya berubah itu jujur

32:06Gue nggak pernah bikin testing-nya sih

32:08Itu

32:10Kalau contoh penggunaannya

32:12Mungkin Ivan Risa

32:14Kalau saya

32:16Component testing

32:18Jadi ya

32:20Kayak si Eka bilang tadi

32:22Kalau misalnya

32:26Di render

32:28Button di render

32:30Nanti hasil render-nya

32:32Di sesuai

32:34Di cek bisa kerender apa nggak

32:36Lalu

32:38Snapshot

32:40Kalau Jazz kan ada snapshot testing

32:42Di Vtes juga ada

32:44Compatibel ya snapshot

32:46Nah ini yang meng

32:48Oke saya jelaskan dulu

32:50Snapshot testing-nya gunanya

32:52Yang saya pakai gimana

32:54Jadi misalnya

32:56Saya generate sebuah

32:58Kalau page mungkin kegedean ya

33:00Karena bisa macam-macam state-nya

33:02Anggap aja

33:04Search bar

33:06Search bar ya kan

33:08State-nya search bar itu

33:10Misalnya kalau di render jadi component search

33:12Search bar itu di render

33:14Ada hasil HTML-nya kan

33:16Terus HTML itu di snapshot

33:18Jadi kalau misalnya

33:20Ada perubahan

33:22Ada kelas yang nambah

33:24Maka

33:26Di test yang berikutnya akan ada

33:28Dia akan lempar

33:30Warning atau error

33:32Ada perubahan HTML nih

33:34Lu mau pakai

33:36Ini bener nggak? Kalau bener

33:38Snapshot-nya di update, kalau nggak bener

33:40Berarti ada yang salah

33:42Di dependensi

33:44Di dependensi search bar itu

33:46Ada menambahkan HTML tertentu nih

33:48Gitu

33:50Namun

33:52Yang terjadi ya

33:54Itu gunanya

33:56Jadi bisa early detection

33:58Kalau terjadi

34:00Salah perubahan rendering

34:02Atau salah rendering

34:04Nah itu bisa ada cerita horror-nya

34:06Atau apa

34:08Kalau udah reflex

34:10Wordcut-nya itu u update

34:12All snapshots

34:14Terus kalau kita buru-buru

34:16Dan ah kayaknya bener u berubah semua

34:18Padahal itu bukan

34:20Itu ternyata salah

34:22Jadi ya itu human factor ya

34:24Itu misalnya kesalahan

34:26Tapi maksudnya itu

34:28Feedfold-nya snapshot testing itu

34:30Kalau udah muscle memory

34:32Kalau udah merah

34:34Betul

34:36Kita commit

34:38Kita commit kan

34:40Commit-nya ke git kan, ke repo kan

34:42Karena snapshot itu disimpan semua kan

34:44Yang terjadi adalah

34:46Seringnya saya update, sana update

34:48Beradu snapshot-nya

34:50Misalnya 1 team

34:52Nge-update

34:54Different component

34:56Tetapi

34:58Component A sama

35:00Component B itu dipakai

35:02Dibikin search bar tadi misalnya

35:04Anggap aja 1 text

35:061 button ini over-simplified

35:08Ya kita ya, karena component kita kan

35:10Bisa jadi kompleks ya

35:12Over-simplified, jadi saya update button

35:14Sana update text

35:16Input-nya

35:18Nah, yang terjadi adalah

35:20Dia submit snapshot-nya dia

35:22Saya submit snapshot saya

35:24Kan konflik

35:26Nah, ujung-ujungnya

35:28Terakhir adalah

35:30Kerjaan saya itu

35:32Kebanyakan benerin snapshot

35:34Ngebenerin

35:36Konflik gara-gara snapshot

35:38Nah, itu yang saya horror-nya disitu

35:40Kenapa saya nggak suka pakai

35:42Snapshot testing

35:44Saya tinggalin

35:46Cuman

35:48Iya, itu harus di-use sparingly

35:50Maksudnya

35:52Kan itu auto-generate ya

35:54Maksudnya itu konsepnya bagus

35:56Tapi maksudnya snapshot itu

35:58Snapshot bisa inline

36:00Bisa generate

36:02Itu loh yang di folder tersendiri

36:04Underscore-underscore snapshot

36:06Bisa banyak

36:08Kalau case-nya banyak

36:10Ya, itu file-nya jadi banyak

36:12Nah, itu berarti kita yang harus mikir

36:14Mana yang perlu generate snapshot file

36:16Mana yang perlu di-inline

36:18Dan behavior-nya gimana

36:20Dan bukan cuma HTML sih

36:22Apapun ya

36:24Misalnya kita cuma pakai pure function

36:26JavaScript

36:28Kita mau meng-convert misalnya

36:30Kita nge-grab data

36:32Dari API, REST API

36:34Terus mau kita tampilin di

36:36UI, di front-end

36:38Misalnya component card

36:40Posting, blog post

36:42Artikel atau post

36:44Terus mungkin behavior-nya lain-lain

36:46Misalnya kalau

36:48Kalau user nge-post sebagai

36:50Individu, itu tampilannya

36:52Avatar si user

36:54Tapi misalnya

36:56Kalau kayak Facebook atau apalah

36:58Atau Twitter, misalnya nge-post dari

37:00Community atau group

37:02Itu kan avatar-nya avatar

37:04Community-nya kan, misalnya

37:06Gajik yang

37:08Ya, yang molah men-transform

37:10Data dari API

37:12Nah, itu bisa

37:14Daripada ribet nge-snapshot

37:16Resulting dom-nya

37:18Yang misalnya kita punya

37:20Pure function buat, yaitu

37:22Apa, meng-convert data

37:24Dari REST API yang segambring

37:26Jadi data yang lebih ramping untuk ditampilin

37:28Di UI card-nya, kayak cuma title

37:30Avatar, sama summary

37:32Nah, itu kan kita punya

37:34TypeScript atau JavaScript

37:36Function tersendiri, bisa kita snapshot

37:38Si object-nya itu aja

37:40Jadi bukan keseluruhan

37:42UI yang di-generate

37:44Ya, lagi-lagi itu choice sih, maksudnya

37:46Jawaban sakti developer

37:48It depends, tapi maksudnya

37:50Dari unit testing itu bisa generate

37:52Snapshot untuk dom-nya

37:54HTML-nya, kayak Ivan bilang tadi

37:56Bisa juga, ya HTML

37:58Object aja, jadi JSON

38:02Itu untuk snapshot

38:04Dari snapshot itu bisa dijadikan

38:06Oh, satu lagi

38:08Pakai jazz

38:10V-test juga bisa

38:12Untuk visual regression testing

38:14To match snapshot

38:16Jadi ada, dia bisa

38:18Nge-capture halaman

38:20Atau nge-capture komponen itu

38:22Terus nanti si

38:24Komponen itu bisa disimpan dan

38:26Dimatch

38:28Terakhir

38:30Yang paling sering ya

38:32Unit testing, jadi per-function

38:34Yang seperti si Eka

38:36Bilang tadi, per-function itu

38:38Bisa ditest masing-masing

38:40Yang saya utamakan, saya test itu

38:44Yang function-function yang

38:46Yang ada

38:50Business logic-nya aja sih, nggak semua

38:52Function saya test

38:54Kayak helper-helper, saya malas

38:56Ngetest helper, jadi lebih kara

38:58Integration testing lah ya

39:00Jadi saya nggak mau sebut unit testing

39:02Karena unit testing itu artinya

39:04Per-function, per-unit

39:06Per-functionnya di-test

39:08Lebih tepatnya bilang

39:10Per-function

39:12Per-module

39:14Jadi

39:16Misalnya

39:18Modul

39:20Etucard

39:24Etucard

39:26Jadi kalau misalnya

39:28Function etucard-nya, ini bukan

39:30End-to-end ya, jadi function etucard-nya itu

39:32Bisa dimocking

39:34Datanya, kalau saya masukin data ini

39:36Statenya ke update apa tidak

39:38Saya bisa ngecek statenya ke update

39:40Barang yang sama, di-add dua kali

39:42Dia akan nambah kuantitinya atau nggak

39:44Yes, exactly like that

39:46Jadi saya test-nya

39:48Integration

39:50Bukan unit testing

39:52Saya paling mah bikin unik, tapi

39:54Sebenarnya kalau

39:56Nge-review, nge-review PR

39:58Suka bilang tambahin dong unit testing

40:00Tapi kalau saya bikin unit testing malas

40:02Kan ada LLM

40:06Itu yang suruh buat

40:08Sekarang itu

40:12Itu repetitif buat LLM

40:14Unit testing itu kan repetitif ya

40:16Jadi itu salah satu contoh use case yang

40:18Bagus buat LLM

40:20Kalau boleh pakai

40:22Suka ngomong sih sama

40:24Colleague yang lain

40:26Aduh ini

40:28Function kan ini sudah mulai ribet deh

40:30Nanti kalau mau direfactor pasti susah

40:32Mending lu bikin unit testing

40:34Di sebelah sana kayak udah menggrutuh nih

40:36Ya Elam

40:38Bikin unit testing lagi

40:40Terus akhirnya dia balas

40:42Nanti dia nge-review PR gue

40:44Ini juga, ini kayak perlu unit testing ya

40:46Gua bikin lagi unit testing

40:48Balas-balasan

40:50Iya

40:52Nah ini ya

40:54Itu kalau ngomongin mau unit testing

40:56Atau integration testing itu ada

40:58Artikel menarik dari

41:00KenC.Ya silahkan dibaca

41:02Nah, kembali

41:04Ke pertanyaan ya

41:06Sebenernya ini pertanyaannya adalah

41:08Apa ya

41:12Sebenernya fungsi testing itu untuk apa kan

41:14Ini saya setuju sekali nih

41:16Bisa buat dokumentasi

41:18Jadi case apa aja

41:20Yang di tes adalah case yang berhasil

41:22Dan juga case yang gagal

41:24Kalau berhasil itu apa ya

41:26Test itu kan kayak kita

41:28Sebenernya kata-katanya

41:30Agak kurang, bukan kurang sih

41:32Test itu kan uji coba

41:34Pengujian gitu kan

41:36Kalau ada lagi

41:38Mas Hap yang berbeda dia menggunakan

41:40Kata-kata spek

41:42Jadi kita nulis spesifikasi

41:44Dari sebuah program atau fungsi

41:46Spesifikasi

41:48Ya, jadi misalkan

41:50Kita mau bikin

41:52Fungsi tadi add to cart

41:54Memastikan kalau

41:56Barangnya sama

41:58Kalau di add 2 kali 3 kali

42:00Maka nambah quantity

42:02Tapi kalau barangnya berbeda

42:04Quantity nya tetap, tapi nambah item

42:06Itu kan

42:08Keinginan kita kan

42:10Sesuai ekspektasi kita

42:12Kalau barangnya sama, quantity nya nambah

42:14Kalau barangnya berbeda, item nya nambah

42:16Itu yang di tes

42:18Sebagai salah satu contoh

42:20Karena mumpung karena ingat shopping cart ya

42:22Saya tuh pernah

42:24Membuat tes buat

42:26Shopping cart juga

42:28Tetapi karena

42:30Ada sistem kayak bundling

42:32Jadi ada bundling kalau

42:34Beli 3 gratis 1

42:36Atau

42:38Beli 2 diskon

42:40Wah, ada diskon nya juga

42:42Ya, maksudnya ada

42:44Promo kayak beli 3 gratis 1

42:46Nah, yang susahnya itu adalah

42:48Ini

42:50Toko kacang mata

42:52Dan jualan contact lens

42:54Jadi jualan contact lensnya

42:56Mata kanan, mata kiri bisa dibeli

42:58Berbeda

43:00Berbeda

43:02Akhirnya

43:04Akhirnya, saya yang bisa lakukan

43:06Mata kanan dan kiri juga bisa lain kan

43:08Mata kanan dan kiri bisa beda minus nya

43:10Dan kiri ada plus nya

43:12Jadi kalau di contact lens itu kan sepasang

43:14Jadi kalau misalnya dia

43:16Kaki kanan kiri gak bisa ya

43:18Iya, kaki kanan kiri

43:20Bisa juga ada yang bisa beda loh

43:22Iya tapi jarang lah

43:24Di banding mata

43:26Ada, makanya bisa beri custom

43:28Sepatunya custom

43:30Maksudnya statistically insignificant

43:32Lanjut

43:34Jadi, karena

43:36Basis logicnya

43:38Terlibat, akhirnya

43:40Saya dan tim itu memulai dengan

43:42Membuat logicnya dulu

43:44Kalau misalnya

43:46Beli sekian, hitungannya sekian

43:48Beli sekian, hitungannya sekian, beli sekian, hitungannya sekian

43:50Lalu, kerjakan lah

43:52Programnya, atau logicnya

43:54Code nya

43:56Lalu bikin lah testnya

43:58Nah, salah satu

44:00Keunggulan, kalau kita sudah

44:02Buat kode dan ada testnya

44:04Itu kayak

44:06Merasa selamat, oh kode kita jalan

44:08Kedua

44:10Confident ya, yakin ya

44:12Iya, kedepan untuk maintenance

44:14Atau merubah sesuatu

44:16Refactor

44:18Refactor, atau mau menambahkan logic lain

44:20Memastikan

44:22Kalau logic kita yang lama gak rusak

44:24Minimal

44:2890%

44:30Masalah itu sudah ditangani

44:32Dan ditangkap sebelum masalah itu

44:34Terjadi, meskipun

44:36Masih ada faktor X yang lain ya

44:38Yang

44:40Isu yang edge cases yang

44:42Gak ke cover, atau memang

44:44Harus dirubah

44:46Tetapi, 90%

44:48Masalahnya sudah

44:50Kalau kita punya

44:52Testing, integration testing ini

44:54Cepat kita dapat

44:56Sebelum dia terjadi masalah di production

44:58Sama, ada bonus

45:02Confident sih

45:04Kayak kalau use case yang Ivan bilang tadi

45:06Itu kan pasti logicnya

45:08Ditulis, ya misalnya

45:10Kalau JavaScript, TypeScript dev ya

45:12Pakai TypeScript, maksudnya

45:14Ada fungsinya terpisah kan

45:16Bayangin ribetnya kalau

45:18Pas kita lagi develop

45:20Setiap mencoba betul atau enggak

45:22Kita harus beneran dari UI

45:24Dulu, misalnya kita punya Next.js

45:26App, atau React App, atau apalah

45:28Terus kita harus jalanin app-nya

45:30Yang mana nyambung ke API

45:32Terus kita harus add to cart

45:34Beneran, buat ngecek

45:36Product yang betul, diskonnya

45:38Betul, ribet

45:40Udah ribet, makan biaya

45:42Makan biaya, maksudnya cost

45:44API, ya ribet juga

45:46Harus jalanin

45:48Aplikasi UI-nya

45:50Nah kan, kalau ada

45:52Unit testing itu, kalau

45:54Kaya test driven development, tulis aja

45:56Dulu, masing-masing

45:58Test-nya semua, biar kosong

46:00Dulu, sambil di terminal, jalanin

46:02Watch, nah itu kan merah

46:04Semua, apa, jadi

46:06Kita nggak harus

46:08Kita nggak harus bikin di console

46:10Log, atau semacamnya

46:12Dari browser dulu, kita belum berurusan sama

46:14Browser lama sekali, kita mastiin

46:16Logic-nya berfungsi

46:18Sesuai ekspektasi, ya udah kan enak

46:20Sambil ngetik di IDE

46:22Sambil liat

46:24CLI di samping kita, satu per satu

46:26Makin lama, hijau semua

46:28Nah, di situ kita tahu

46:30Siap buat, ya kalau pun kita mau

46:32Ngetes, disambungin ke UI

46:34Minimal kan, fungsinya udah jalan semua

46:36Buat convenience juga

46:38Lebih percaya diri, intinya

46:44Code-nya kita yakin

46:46Bahwa code-nya itu sesuai dengan harapan kita

46:48Ini, Dita

46:50Yakin, deploy

46:52Dengan lebih percaya diri

46:54Kalau pede, berarti bisa dong

46:56Deploy hari Jumat

46:58Berani nggak?

47:00Kalau terpaksa

47:02Terpaksa saya, deploy-deploy aja

47:04Tapi dengan syarat

47:06Kalau ada apa-apa, gue cuma bisa rollback

47:08Tapi gue nggak mau beres-beresin

47:10Ada syarat

47:14Ini juga kalau udah isu kan, enak

47:16Nyalahin, ngeblame

47:18API-nya tuh, kayaknya

47:20Karena kita bisa langsung ngecek kan

47:22Jalanin aja, apa

47:24Semua unit testing yang udah kita bikin

47:26Kayak apa

47:28Ya itu fungsinya jalan dengan betul atau nggak

47:30UI-nya kerender atau nggak

47:32Ini jalan, API-nya kali tuh

47:34Service-nya, atau infra-nya

47:36Kita bisa lebih cepat

47:38Nyalahin orang lain

47:40Nyalahin teman kerja lain

47:42Dan ini juga, selain lebih

47:44Percaya diri, lebih percaya diri juga

47:46Kalau kita mau refactor

47:48Ada perubahan code, seperti yang Ivan sebutkan tadi

47:50Itu sangat penting

47:52Jadi pastikan

47:54Sebelum refactor

47:56Test-nya

47:58Berjalan baik dulu

48:00Atau bahkan

48:02Kalau ada bugs

48:04BDD

48:08Bugs Development

48:10B-I-P-D-D

48:16Untuk memastikan supaya bugs-nya nggak muncul lagi

48:18Kita perlu menulis

48:20Testing untuk

48:22Memastikan bugs-nya nggak muncul kan

48:24Maksudnya gimana, gimana

48:28Jadi misalkan ketemu bugs nih

48:30Terus

48:32Untuk supaya

48:34Kadang-kadang kita perbaiki

48:36Bugs-nya, nggak kita test

48:38Bugs-nya udah bener atau belum

48:40Terus kita perbaiki bugs yang lain, regression tadi

48:42Jadi biasanya

48:44Testing-nya juga ngetest

48:46Bahwa bugs ini tidak terjadi lagi

48:48Kan biasanya

48:54Kalau ada bugs, pasti ada

48:56Steps to reproduce

48:58Steps to reproduce

49:00Ada laporan

49:02Kalau misalnya laporan bug yang

49:04Ticket misalnya, ada bug nih, ada issue

49:06Yang pertama kali cara

49:08Nge-reproduce bug-nya itu gimana

49:10Yang susahnya itu udah dapet ticket, kalau

49:12Bug-nya itu intermittent

49:14Walaah itu

49:16Gak bisa reproduce, nanti aja

49:18Ada bug nih

49:20Tapi nggak bisa reproduce, kita bisa lihat nih hasilnya

49:22Salah nih

49:24Terus cara reproduce-nya gimana, nggak tahu

49:26Itu susah

49:28Tapi biasanya kan

49:30Kalau normal bug ya, bug

49:32Steps to reproduce

49:34Si A ngapain, ngapain step-step-step-step

49:36Oke, hasilnya

49:38Yang terlihat ini, harusnya

49:40Expected result-nya begini

49:42Nah itu

49:44Selanjutnya

49:46Kalau misalnya sudah

49:48Biasanya

49:5050/50 sih kadang

49:52Saya minta, oh bikinin lah

49:54Bikinin lah test-nya untuk

49:56Prevent supaya bug itu

49:58Tidak terjadi lagi

50:00Atau test-nya diperbaiki

50:02Wah, tanyaannya bagus-bagus malam ini

50:06Luar biasa

50:08Kayaknya short lebih banyak ini deh

50:10Lebih gampang

50:12Artificially inflated sama Youtube

50:16Biar pada pake bukan short

50:18Sebagai seorang programmer, sejauh mana saya harus

50:20Menulis script test

50:22Dan sampai batas mana saya bikin unit test

50:24Tergantung tanya siapa sih, coba tanyakin si dots

50:28Kalau tanyakin si dots, harusnya bikin semua

50:30In real life

50:32Semua case ya

50:34Semua case

50:36Tercover lah gitu ya

50:38Bener gak?

50:40Itu, kalau unit test-nya

50:42Kalau unit test

50:44Makanya yang namanya coverage ya

50:46Kalau Mocha dengan Istanbul

50:48Ada coverage kan

50:50Sampai semua

50:52Function-nya itu ada

50:54Testing-nya

50:56100%

50:58Coverage, bahkan ada sampai

51:00Dijual kan itu, maksudnya kata-kata itu

51:02Dijual?

51:04Misalnya kenapa

51:06Projek kita bagus

51:08100%

51:10100% coverage

51:12Ada kata-kata itu

51:14Jadi marketing

51:16Biasanya

51:18Midget Hub kan

51:20Ada button-nya yang misalnya ijo

51:22100% testing

51:24Dan bukan biasanya ya

51:26Salah satu praktik yang sering

51:28Di pipeline CICD juga bisa

51:30Dibuat, gak bisa nge push

51:32Sampai semua kode

51:34Cover sama test

51:36Nah ini ada cerita lucu nih

51:38Bukan horor sih ini, agak semi-comedy

51:40Sama Mas Zain dulu

51:42Pas bikin apa?

51:44Bikin

51:46Awal

51:48Orgabantu warga

51:50Buat apa?

51:52Itu bantuan

51:54Bantuan pas lagi jaman lockdown

51:56Nah itu

51:58Ada sistem kayak gitu

52:00Jadi kalau coverage-nya

52:02Gak 100%

52:04Atau apa

52:06Gak bisa nge push

52:08Atau gak bisa nge merge, ya lupa apanya

52:10Semacam itu, padahal itu kan

52:12Time sensitive banget ya, maksudnya

52:14Gak bisa tunggu, ya maksudnya

52:16Info butuh bantuan

52:18Atau mungkin tersedia bantuan

52:20Gak bisa ditunda ke besok-besok

52:22Itu kebetulan, pas gue yang

52:24Bikin

52:26Terus berusaha ngakalin

52:28Personally ngakalin

52:30Kode yang gak ke cover itu kayak

52:32Dikomben, jadi satu line

52:34Dengan kode yang udah ke cover test

52:36Buat ngakalin sistemnya

52:38Gak bisa

52:40Terus akhirnya keliatannya di override

52:42Jadi biar bisa

52:44Push dulu

52:46Maksud Aska

52:48Itu salah satu

52:50Cerita lucu dari

52:52Coverage

52:54Tapi sejujurnya

52:56Kalau di in real life

52:58Apa ya

53:00Itu tergantung masing-masing tempat juga sih

53:02Kebetulan kalau gue

53:04Kalau di tempat kerja sekarang

53:06Gak se-strict itu

53:08Yang penting

53:10Bisa mertang jawabin aja

53:12Karena sebenarnya di luar itu ada end to end

53:14Jadi kayak ada beberapa

53:16User story yang misalnya dari awal

53:18User bisa mendaftar

53:20User bisa memblocose

53:22Atau kalau mungkin diterapin

53:24Di e-commerce, ya user bisa

53:26Itu udah ada

53:28Testing end to endnya

53:30Ya kalau itu mati

53:32Langsung kayak itu dijalani otomatis

53:34Setiap hari atau setiap

53:36Sekian jam ya apanya

53:38Secara periodik, jalanin otomatis

53:40Jadi ya

53:42Kalau itu affected

53:44Kalau story-story yang paling

53:46Kalau case yang paling penting affected

53:48Ya kita bakal tau

53:50Dan suruh betulin

53:52Itu lebih kayak kesadaran

53:54Ga kesadaran sih, maksudnya

53:56Ga ada task

53:58Ga ada penugasan secara spesifik

54:00Harus

54:02Bikin testing yang meng-cover

54:04Seluruh folder

54:06Ya itu kalau gue sih

54:08Standard pribadi nya itu setiap function

54:10Ada testnya

54:12Kadang yang ditest cuma

54:14Happypad-nya doang juga

54:16Atau Happypad 1, Error 1

54:18Jadi error-nya tuh ya yang obvious lah

54:20Pokoknya cuma buat

54:22Tapi

54:24Karena pake TypeScript selalu

54:26Try catch, iya ngetest aja

54:28Catch nya jalan atau engga

54:30Kalau UI

54:32UI component cuma ngetest

54:34Di render atau engga

54:36Oke

54:38Untuk prevent

54:40Error rendering aja ya

54:42Untuk prevent misalnya kayak

54:44Fail to render

54:46Biasanya ngerender

54:48Ini kenapa tiba-tiba engga muncul

54:52Kalau dari perspektif user

54:54Atau punya yang diluar team dev

54:56Ga muncul itu kan error-nya dari mana

54:58Ga tau bisa dari infra

55:00Maksudnya tiba-tiba kosong

55:02Apakah dari infra atau nyanyian dari front-end

55:04Maksudnya shell-nya engga keload

55:06Gara-gara hal bodoh apalah

55:08Kesalahan di UI

55:10Maksudnya react nya misalnya salah render

55:12Ya meminimalisir hal

55:14Seperti itu

55:16Ya

55:18Nah ini juga bagus nih pertanyaan

55:20Lanjutannya nih

55:22Kalau bikin testing

55:24Gini apakah dari PM

55:26Kayaknya engga ya

55:28Kalau testing itu dari developer ya

55:30Dan masuk ke timeline development juga

55:32Artinya ada

55:34Ada kekhawatiran kalau kita bikin test

55:36Lebih

55:38Jadi waktu pekerjaannya jadi lebih lama

55:40Bukan khawatir lagi

55:44Tapi sudah pasti lebih lama

55:46Ada statistiknya

55:48Kalau kita buat test

55:50Untuk developmentnya itu

55:52Akan 30 persen lebih panjang

55:54Itu saya pernah dengar

55:56Gimana gitu

55:58Kalau kita nyediin test

56:00Jadi dari 10 hari jadi 13 hari

56:02Rata-rata ya

56:06Rata-rata

56:14Jadi itu happy path

56:16Sama error satu itu

56:18Pasti akan ada overhead

56:20Mau sedikit

56:22Sekecil apapun pasti ada overhead

56:24Tapi

56:26Maintenance ke depannya itu

56:28Pay off sih menurut saya

56:30Untuk maintainnya

56:32Sampai

56:342 tahun, 3 tahun, 5 tahun

56:36Payed off bener-bener

56:38Kalau engga ada test

56:40Aduh kacau balau deh

56:42Kalau mau ngerfaktor

56:44Karena gini

56:46Lebih mahal biaya

56:48Kita ngetes manual

56:50Satu persatu

56:52Jauh lebih mahal

56:54Karena gini

56:56Kalau misalnya kita ngetes

56:58Kalau kita bangun sebuah

57:00Anggap aja sebuah

57:02Studio

57:04Studio yoga

57:06Studio zumba

57:08Studio exercise yang ada check outnya

57:10Simple aja

57:12Check out membership

57:14Blood life apa

57:18Bloodnya

57:20Business itu adalah

57:22Check out

57:24Berarti secara kita nge-development

57:26Setiap kali kita

57:28Mau deployment

57:30Untuk memastikan

57:32Check outnya tidak bermasalah

57:34Kita harus test check outnya

57:36Manual

57:38Seminggu sekali

57:40Kalau sebelum lagi hotfix

57:42Itu waktu kita

57:44Dihabiskan mungkin

57:46Dari 10 menit

57:4815 menit hanya untuk ngetes

57:50Business critical

57:52Check list

57:54Ada listnya

57:56Business critical

57:58Ngetes itu mungkin 15 menit setengah jam

58:00Tapi kalau itu repetitif

58:02Itu akan jadi banyak

58:04Sedangkan kalau kita bisa automate

58:06Dengan testing

58:08Yang hal

58:10Yang basic

58:12Atau sederhananya yang sudah harus

58:14Tercapai itu sudah di automate oleh

58:16DCICD

58:18Sebelum

58:20Sebelum PR nya di merge

58:22Sudah ketahuan kalau ada masalah

58:24Itu save waktu

58:28Dan waktu adalah uang

58:34Saya setuju sih

58:36Jadi lebih ke

58:38Lebih ke apa namanya

58:40Ya memang waktu yang dibutuhkan untuk

58:42Menulis kode dan maintenance

58:44Kan kode testing itu

58:46Juga harus di maintain kan

58:48Pasti ada overhead atau ada

58:50Waktu lebih

58:52Waktu yang dibutuhkan lebih

58:54Banyak dibandingkan kalau kita

58:56Nulis implementasinya saja

58:58Tapi coba bayangkan

59:00Di apa ya

59:02Coba bayangkan lebih lama mana

59:04Kalo ketika kita nulis

59:06Implementasi kode

59:08Tapi gak pake testing

59:10Terus tiba-tiba ada bugs

59:12Critical yang tidak tertangkap gara-gara kita lupa

59:14Terus bugsnya 2 tahun kemudian

59:18Kita udah lupa ini harusnya gimana

59:20Itu sih yang kayak lebih intangible

59:22Kayak 2 tahun kemudian

59:24Ada bug dari suatu kode

59:26Yang bikin

59:28Udah gak tau dimana

59:30Udah gak kerja disitu maksudnya

59:32Gak bisa ditanya langsung atau kalaupun ada

59:34Orangnya lupa dulu ini buat apa

59:36Dan maksudnya gimana

59:38Kalo kita gak tau ini maksudnya

59:40Buat apa dan gimana

59:42Ngebetulinnya juga lebih abstrak lagi kan

59:44Nah testing itu

59:46Salah satu cara mengurangi

59:48Masalah itu

59:50Mending 2 tahun

59:52Orang baru mau launching gitu ya

59:543 bulan project mau launching

59:56Tiba-tiba ada bugs critical besok harus launching

59:58Harus mular lagi

1:00:00Dan sebagian besar project IT

1:00:02Molar ya salah satunya karena ini juga

1:00:04Jadi mungkin

1:00:06Ya waktu estimasinya akan lebih

1:00:08Panjang tapi

1:00:10Kalau dibandingkan dengan

1:00:12Gak pake testing, terus abis itu

1:00:14Harus bug fixing

1:00:16Itu kayaknya saya lebih memilih

1:00:18Mendingan lebih panjang nulis testing aja

1:00:20Kenapa? Karena bug fixing itu

1:00:22Stressful loh

1:00:24Itu mental

1:00:26Team itu

1:00:28Terkurang abis disitu

1:00:30Jadi mendingan

1:00:32Cepet nulis testing daripada

1:00:34Kena mental

1:00:36Ngurusin bugs gitu dan bugsnya juga

1:00:38Kadang-kadang kalo kita gak pake

1:00:40Testing perbaiki bugs

1:00:42Yang ini malah error yang

1:00:44Di tempat lain gitu

1:00:46Karena gak ada testingnya

1:00:48Jadi jauh lebih panjang kita perbaiki bugs

1:00:50Dibandingkan dengan

1:00:52Tadi 30% atau

1:00:54Ada waktu lebih yang di gunakan untuk

1:00:56Bikin testing

1:00:58Begitu

1:01:00Dan kalo nyambung sama

1:01:02Pertanyaan yang tadi

1:01:04Kalo bisa sih jangan diakhir

1:01:06Development kayak gitu karena pasti ada aja

1:01:08Pasti nanti bakal kekat itu

1:01:10Gak bakal dikerjain

1:01:12Jadi ya

1:01:14Yaudahlah testing gak usah dulu gitu ya

1:01:16Sama aja kayak dokumentasi ya

1:01:18Kalau sudah di skip

1:01:20Pasti akan di skip

1:01:22Selamanya

1:01:24Yes

1:01:26Iya

1:01:28Iya

1:01:30Jadi maksudnya gimana caranya kita sebagai developer

1:01:32Minta buy-in

1:01:34Waktu bikin fitur itu sendiri

1:01:36Ya selain biar gak

1:01:38Kekat kayak tadi kita juga masih

1:01:40Ingat, maksudnya masih fresh

1:01:42Terutama kalo ada logic yang aneh-aneh lah

1:01:44Bukan aneh, maksudnya yang kurang

1:01:46Instinctif, kurang intuitif

1:01:48Misalnya ini harus di reject

1:01:50Kalau begini-gini-gini

1:01:52Nah mumpung kita inget ya kita harus bikin

1:01:54Testnya juga

1:01:56Yes, pilihannya mau repot

1:01:58Di awal atau di belakang, betul

1:02:00Mendingan di awal ya

1:02:02Masih fresh, masih semangat

1:02:04Gila yang udah mau launching tiba-tiba

1:02:06Kena bugs kan

1:02:08Deg-degannya kayak apa gitu

1:02:10Apalagi kalo misalkan

1:02:12Udah siap semuanya

1:02:14Bia yang dikeluarkan udah banyak

1:02:16Tiba-tiba gak jadi launching

1:02:18Jadi kerugiannya bukan hanya dari sisi

1:02:20Aplikasinya tapi dari sisi

1:02:22Perusahaan secara umum

1:02:24Dan betul

1:02:26Menyakit dalam gak ada alasan

1:02:28Topik minggu lalu sih

1:02:30Apa yang

1:02:32Lebih baik scope-nya dikurangin ya

1:02:34Apa sih yang dari buku

1:02:36Dari buku Get

1:02:38Getting real ya

1:02:40Kalau misalkan tadi dari

1:02:42Pertanyaannya kan, wah ini waktunya

1:02:44Lebih panjang, yaudah fiturnya dikurangin

1:02:46Tapi yang penting gak ada testingnya

1:02:48Itu sih

1:02:50Ada juga loh menariknya

1:02:56Bikin testing

1:02:58Dan memang

1:03:00Learning curve untuk

1:03:02Testing itu

1:03:04Tapi ada

1:03:06Serunya

1:03:08Jadi kita bisa

1:03:10Kalo sudah ketagihan ya

1:03:12Ini aja pengen bikin testingnya

1:03:14Bisa ketagihan loh

1:03:16Karena kayak jadi pengen

1:03:20Describe if blah blah blah

1:03:22Describe

1:03:24Shoot return one

1:03:26Shoot return two

1:03:28Atau shoot render

1:03:30Terus kita describe

1:03:32Terus bikin, oke komponen ini kira-kira bisa ngapain lagi ya

1:03:34Kita bisa mikir

1:03:36Explore

1:03:38Kayak

1:03:40Contohnya kalo mau bikin

1:03:42Error, error message

1:03:44Ya kan banyak juga yang bikin error message ya

1:03:46Terjadi ke apa?

1:03:48Terjadi kegagalan, silahkan coba lagi

1:03:50Error messagenya gitu doang

1:03:52Tapi gak half full

1:03:54Half full ya, gak mau bantu ya

1:03:56Akhirnya kita bisa moding

1:03:58Oke lebih baik, oke jadinya

1:04:00Kalo gagalnya koneksi

1:04:02Errornya begini

1:04:04Karena fatal error

1:04:06Di back end

1:04:08Errornya begini, kalo gagalnya karena

1:04:10Something else errornya begini

1:04:12Mikirin error aja kita bisa

1:04:14Berapa steps gitu

1:04:16Nah

1:04:18Jadi

1:04:20Kalo sudah ketagihan, hati-hati ya

1:04:22Bikin testing tuh bisa sampe

1:04:24Hal-hal yang gak penting juga bisa ditesting

1:04:26Nah itulah

1:04:28Nanti perlu yang namanya balance

1:04:30Apa tadi ada

1:04:32Ada pertanyaan sampai tahap mana

1:04:34Tahap mana ya

1:04:36Sampai sedalam apa

1:04:38Yang kita perlu buat

1:04:40Kalo mau penganut

1:04:42Full coverage

1:04:44Tapi kalo saya yang

1:04:46Praktikal

1:04:48Saya akan buat yang namanya

1:04:50Business critical

1:04:52Checklist

1:04:54Dan itu sudah di komunikasikan

1:04:56Dengan klien dan disepakati

1:04:58Bersama

1:05:00Business akan ancur

1:05:02Atau tidak jalan, kalo salah satu

1:05:04Fitur ini

1:05:06Broken

1:05:08Jadi kita

1:05:10Pastikan checklist itu

1:05:12Semuanya full coverage

1:05:14Untuk checklist itu

1:05:16Kalo hal-hal yang lain

1:05:18Kalo ada waktu dibikin, kalo gak ada waktu

1:05:20Bisa skip dulu

1:05:22Jadi optional lah bahasanya

1:05:26Kalo lagi punya waktu yang banyak

1:05:28Dan mau have fun ya bikin

1:05:30Kalo gak ya

1:05:32Tinggal

1:05:34Si code reviewernya bilang

1:05:36Oke ini kayaknya butuh deh mending lu bikin

1:05:38Kan ada

1:05:40Ada temen yang lain yang untuk melihat

1:05:42Situasi kayaknya

1:05:44Si komponen ini

1:05:46Fitur ini perlu lu bikin deh karena

1:05:48Kedepannya kita mau reflektor

1:05:50Bisa jadi kan dia punya

1:05:52Input itu

1:05:54Kalo misalnya udah tau oh ini bakal kita reflektor

1:05:56Mending bikin dulu

1:05:58Testingnya jadi saat reflektor

1:06:00Kepala tenang

1:06:04Tuh kan

1:06:06Malah lebih

1:06:08Enak ngurusin testing daripada fixing box ya

1:06:10Jadi yang Ivan sebutkan tadi

1:06:12Itu adalah salah satu

1:06:14Testing bukan

1:06:16Hanya digunakan untuk

1:06:18Menjaga ekspektasi tapi

1:06:20Testing digunakan untuk mendesain fungsi

1:06:22Atau mendesain aplikasi

1:06:24Yang mau kita buat

1:06:26Kalo misalkan kita langsung implementasi kita bingung kan

1:06:28Ini fungsinya namanya apa

1:06:30Parameternya berapa

1:06:32Returnnya apa

1:06:34Nah itu yang bisa ditest dan itu adalah bagian dari

1:06:36Spesifikasi atau design tadi

1:06:38Jadi kita

1:06:40Ketika kita menulis implementasi kode

1:06:42Kita udah

1:06:44Tidak dari blank canvas lagi

1:06:46Oh udah tau

1:06:48Nama fungsinya udah ada kan udah dipanggil ditest

1:06:50Jadi tinggal

1:06:52Diimplementasiin aja isinya

1:06:54Returnnya string kak atau number kak

1:06:56Atau apa

1:06:58Lebih jadi lebih clear

1:07:00Karena kita udah menuangkan

1:07:02Desain apa ya

1:07:04Coretan-coretan kita

1:07:06Di testing gitu

1:07:08Tapi kalo data type saya sudah jarang

1:07:10Ngetest data type lagi sih karena sudah

1:07:12Karena sudah pake TS ya

1:07:14Type script ya

1:07:16Ya bukan

1:07:18Maksudnya itu apa

1:07:20Saya gak bikin any any misalnya

1:07:22Ya itu kan salah satu contoh aja

1:07:28Wah seru ya

1:07:30Ngomongin testing ya

1:07:32Malah vtest nya gak kita bahas ya

1:07:34Iya banyak sendiri

1:07:36Karena jazz nya juga

1:07:38Down

1:07:40Iya jazz nya saya buka jazz.io

1:07:42Down jadi mau compare

1:07:44IPI nya jadi susah

1:07:46Cari perkara aja ya si Cloudflare ya

1:07:50Tapi ada yang nanya Cloudflare nih

1:07:52Sebenernya ya gak ada hubungannya

1:07:54Sama test tapi kan

1:07:56Mungkin si Cloudflare nya

1:07:58Nggak ngetest sebelum produksi

1:08:00By the way saya di background masih urusan

1:08:04Cloudflare ini

1:08:06Ada langkah P3 sih untuk mengendal

1:08:08Case macam ini gak ada

1:08:10Kita menyerahkan kepada cloud provider

1:08:12Termasuk juga kayak kemaren

1:08:14EWS ya bermasalah kita gak bisa

1:08:16Berbuat apa-apa

1:08:18Kecuali kita punya

1:08:20Dua pun

1:08:22Kalau Cloudflare bermasalah kita switch

1:08:24Masalahnya gini

1:08:26Kalau kalian Cloudflare nya masih gratis

1:08:28Ya udah diam aja

1:08:30Itu kita gak bisa complain

1:08:32Kalau enterprise

1:08:34Bisa complain karena mereka punya SLA

1:08:36Bisa dapet

1:08:38Keringanan biaya ya

1:08:40Discon

1:08:42Ini udah lewat SLA mereka

1:08:44Iya udah lewat SLA

1:08:46Udah lebih 2 jam

1:08:52Enterprise nyala semua loh

1:08:54Hebat kan

1:08:56Prioritas

1:08:58Prioritas P0

1:09:00Ini saya

1:09:02Klien yang saya handle

1:09:04Enterprise

1:09:06Jadi pada up semua

1:09:08Bagus-bagus aja cepet

1:09:10Gak ada masalah

1:09:12Ada yang baru lagi ya

1:09:18Didi itu bukan

1:09:20Test driven development ya

1:09:22Type driven development ya

1:09:24Ya type itu juga bagian dari dokumentasi kan

1:09:26Jadi kita bisa kebayang

1:09:28Oh, returnnya ini

1:09:30Segala macem

1:09:32Jadi lebih berserah

1:09:34Eh tadi kan

1:09:36Saya sempat nanya diawal kan

1:09:38Ada gak sih alternatifnya Cloudflare gitu

1:09:40Kayaknya bisa dibilang gak ada ya

1:09:42Karena

1:09:44Tergantung Cloudflare disini

1:09:46Teman-teman pake buat apa dulu

1:09:48Apa saja

1:09:50Ada proxy, ada DNS

1:09:52Ada firewall

1:09:54Yang gratis ya

1:09:56Tunnel

1:09:58Ada serverless nya dia

1:10:00Ya banyak sih service nya

1:10:04Cuman kayaknya yang buat

1:10:06Yang umum sih kayaknya

1:10:08Firewall proxy sama

1:10:10DNS kali ya

1:10:12Turnstile nya kan banyak yang pake

1:10:14Turnstile itu loh

1:10:16Kayak kapcah-kapcah

1:10:18Oh kapcah, iya iya

1:10:20Buat anti-stem ya

1:10:22Iya

1:10:24Itu juga banyak

1:10:26Chat gpt aja error

1:10:28Bener gak sih

1:10:30Masa sih

1:10:32Chat gpt.com

1:10:34Oh iya bener

1:10:36Karena challenges nya pake Cloudflare

1:10:38Iya dia pake Cloudflare challenges

1:10:44Kena juga

1:10:46Berarti

1:10:48Ada masalah ini turnstile ya

1:10:50Langsung

1:10:52Ya nyangkutnya just a moment

1:10:54Oh masalahnya sekarang pake try

1:10:56Penasaran

1:10:58Salah satu

1:11:00Yang belum pernah saya coba

1:11:02Try

1:11:04Nah pertanyaan nya buat teman-teman

1:11:06Pertanyaan nya buat teman-teman yang nonton

1:11:08Ada berapa

1:11:10Visual Studio 4 yang terinstall

1:11:12Di laptop sekarang

1:11:14Ada kursor

1:11:16Ada kursor

1:11:18Winsorce

1:11:20Masih

1:11:22Kilo juga

1:11:24Kalo kilo kan extension

1:11:26Extension ya

1:11:28Dipakainya di VS Code

1:11:30Sekarang cuma 3

1:11:32Cuma 3 ya

1:11:34Woi

1:11:36Ricky 2

1:11:38Kursor dan VS Code

1:11:40Tiga kayaknya

1:11:42Kursor

1:11:44VS Code

1:11:46Sama Kiro

1:11:48Yang AOS punya

1:11:50Kiro

1:11:52Tapi sekarang kebanyakan

1:11:54Pake yang CLI sih bener

1:11:56Sama kayak Mazain ya

1:11:58Pake Cloud Code

1:12:00Atau saya pake AMP Code

1:12:020

1:12:04Pake New Film

1:12:06Keren ini keren

1:12:080

1:12:10Nggak ada VS Code

1:12:12Nggak diinstall sama sekali

1:12:14Cuma pake film

1:12:20Orang udah pake New Film

1:12:22Dia masih pake film ya

1:12:24Gapapa juga sih

1:12:26Bebas

1:12:28Saya masih pake

1:12:30Notepad ++

1:12:32Masa

1:12:34Notepad ++

1:12:36Masih install

1:12:38Masih install

1:12:40Saya pernah

1:12:44Pernah mengganti Notepad ++

1:12:46Jadi Z

1:12:48Saya nggak suka pake Z

1:12:54Karena dia berisik

1:12:56Karena ada AI-AI-nya

1:12:58Sublime saya punya

1:13:00Jadi dua-duanya ada

1:13:06Begitu di save ada popup

1:13:08Suruh "Purchase"

1:13:10Ya maksudnya kalau

1:13:12Di apa namanya

1:13:14Kalau si Sublime kan

1:13:16Nggak bisa dipakai buat

1:13:18Kalau saya lagi

1:13:20Lagi screen share

1:13:22Atau lagi

1:13:24Apa namanya

1:13:26Lagi live presentasi kan

1:13:28Kalau muncul kan, malu juga ya

1:13:30Karena nggak bayar sampai sekarang

1:13:36Ya nggak butuh bayar juga kan

1:13:38Kalau Jet Brand, Jet Brand nggak termasuk

1:13:42Jet Brand beda lagi

1:13:44Kita punya Jet Brand kan

1:13:46Kalau mau gratisan

1:13:48Ada

1:13:50Jet Brand itu kan sempat mengeluarkan versi

1:13:56Ringgannya kan

1:13:58Yang mau menandingi VS Code kan

1:14:00Tapi kayaknya nggak take off ya

1:14:02Momennya nggak itu ya

1:14:06Momennya nggak dapet dia

1:14:08Ya, begitulah

1:14:12Cukup kita bahasa apa ini

1:14:14Cukup, nggak bayar si test

1:14:16Apa lagi yang menarik, lanjut ke

1:14:18Inblowsernya dulu yuk

1:14:20Inblowsernya

1:14:22Kayaknya inblowsernya

1:14:24Inblowsermode ya

1:14:26Ya udah, buka aja

1:14:28Eh, mana ya? Ini kan?

1:14:30Buka browser

1:14:32Why?

1:14:34Ini kan?

1:14:36Oke, bentar

1:14:38Itu kan dia, itu di blog post update-nya

1:14:40Buka tentang browser

1:14:42Oh iya, yang di sini ya

1:14:44Oke

1:14:46Motivation

1:14:50Untuk membantu memperbaiki

1:14:52Testing workflow dan mencapai

1:14:54Result tes yang lebih akurat

1:14:56Ini

1:15:00Untuk API testing kita

1:15:02API allows developer to run

1:15:04Test in native browser environment

1:15:06Ini beneran

1:15:08Ada browser-nya beneran di render

1:15:10Bukan men simulasi DOM

1:15:12Oh

1:15:14There are different

1:15:16Place, ada berbagai

1:15:18Cara mengetes udah JavaScript

1:15:20Ada yang men simulasi

1:15:22browser environment

1:15:24Simulasi browser environment

1:15:26Ada yang

1:15:28Pakai web driver atau

1:15:30High press

1:15:32Ada yang pakai playwright

1:15:34Yang jalanin

1:15:36Atlas browser ya

1:15:38Papa petir ya

1:15:40Eh bukan

1:15:42Papa petir

1:15:44Papa petir

1:15:46Iya, jadi ini

1:15:48Apa?

1:15:50Ini dimana sih mas Liza? Di

1:15:52Y-nya ya

1:15:54Di guide browser

1:15:56Di guide browser

1:15:58Oh

1:16:00Yang getting started

1:16:02Nah

1:16:04Coba ada screenshotnya tuh

1:16:06Di open new

1:16:08Aja, di open image-nya

1:16:10Kurang gede ya

1:16:12Iya, nah

1:16:14Uy gede banget

1:16:16Nah, jadi bisa

1:16:18Bisa liat jalan langsung di browser

1:16:20Centang-centang gitu dia jalanin

1:16:22Dan hasilnya, kita langsung bisa

1:16:24Lihat visualnya, hasil render-nya

1:16:26Kayak jasmine jaman dulu dong

1:16:28Jasmine udah ada ini jaman dulu

1:16:30Sebelum jadi jes

1:16:32Udah pernah pake jasmine

1:16:34Tapi gak sebagus ini sih

1:16:36Cuman bisa buka di browser aja

1:16:38Iya kali ya, gak pernah pake jasmine soalnya

1:16:42Bentar

1:16:46Ini berarti

1:16:48Ini berarti

1:16:50UI yang ada di terminal

1:16:54Dah ke sini gitu

1:16:56Atau gimana

1:16:58Tapi ada screenshotnya ya

1:17:00Ini browser beneran ya

1:17:02Oh

1:17:04Cuma exactly gimana, gak tahu sih

1:17:08Cuma misalnya kalau

1:17:10Itulah kayak window, apapun yang di global window

1:17:12Itu aman

1:17:14Pasti ada yang, soalnya selama ini juga

1:17:16Kalo pake JS Dom atau Happy Dom

1:17:18Kan suka, kalo udah mulai ngetes

1:17:20Web API, suka ribet kan

1:17:22Ada yang apanya ada

1:17:24Apanya gak ada, karena misalnya web API

1:17:26Itu kan belum tentu semua

1:17:28Diimplement semua, nah kalo ini beneran

1:17:30Punya

1:17:32Global object tuh ada semua

1:17:34Jadi kayak punya ini

1:17:36Ada visualnya ya

1:17:38Bisa jalan di browser, jadi gak

1:17:40Kita tahu kalo ada error, ada yang

1:17:42Salah atau gimana, bisa kelihatan di browsernya ya

1:17:44Ada visual

1:17:46Betul, jadi kayak

1:17:50Storybook kali ya

1:17:52Storybook kan

1:17:54Model storybook ya

1:17:56Ini live kah

1:17:58Live

1:18:00Ini live

1:18:02Setiap sasa malam

1:18:04Jam 8 malam

1:18:06Jangan lupa ya

1:18:08Bisa pake browser API, bukan yang

1:18:10Versi node nya, iya karena kalo yang

1:18:12Kayak JS Dom gitu kan

1:18:14Jalannya di node JS ya

1:18:16Kalo ini beneran browser oke

1:18:20Wah seru ya

1:18:22Harus dibahas lebih dalem ini

1:18:26Jadi pengen nyobor

1:18:28Pake nya gimana

1:18:30Install

1:18:32Ini ya

1:18:34Vtes Init Browser

1:18:36Terus

1:18:38Perfigurasi

1:18:40Pakai apa

1:18:42Provider nya apa dulu

1:18:44Pilih provider nya, siapa dulu

1:18:46Driver

1:18:48Yang apa tadi dia bilang

1:18:50Preview

1:18:52Saya gatau, preview itu apa sih

1:18:54Preview itu kayak punya dia

1:18:56Coba

1:19:00Preview itu apa penasaran dari tadi

1:19:02Yang ini kan

1:19:04Ini

1:19:06Nama browsernya

1:19:08Kayaknya deh

1:19:10Ah kena juga

1:19:12MPM nya

1:19:14Gak bisa buka website

1:19:16MPM

1:19:18Ada-ada aja

1:19:20Kenak deh

1:19:24GitHub kena juga?

1:19:26Enggak ya GitHub ya

1:19:30Vtes ya

1:19:32Enggak mau liat

1:19:34Yang browser, oh gak ada Vtes

1:19:36Vtes apa sih ininya?

1:19:44Nah ini dia

1:19:46Mau liat

1:19:50Repo nya, buka yang tadi

1:19:52Jadi jangan buka NPM

1:19:54Bukanya disini, ada gak preview

1:19:56Preview

1:19:58Nggak ada

1:20:00Kayaknya external

1:20:02Soalnya you can choose either

1:20:08Preview, play right, or

1:20:10Webdriver I/O, jadi head-to-head nya

1:20:14Play right

1:20:16Oh, ini deh

1:20:20Browser preview

1:20:22Buatan Vtes juga

1:20:24Cuma di package terpisah

1:20:26Kayaknya deh

1:20:28Coba aja buka akun

1:20:30GitHubnya Vtes deh

1:20:32Gak ada ya

1:20:36Di website saya ada talk tentang

1:20:38Relatable test with AI

1:20:40Disitu ada contoh repository dengan Vtes

1:20:42Coba ya

1:20:44Mas Zain ini apa?

1:20:48Zain Fatoni

1:20:50Nama lengkap ya?

1:20:56Yes

1:20:58Kenang banget

1:21:00Oh di website nya ya

1:21:02Ini ya

1:21:06Dari website nya aja, terus ada

1:21:08Talk

1:21:10Wah, lengkap ya

1:21:12Yang mana?

1:21:14Judulnya Relatable test

1:21:16Mana?

1:21:22Ini ya

1:21:26Relatable test ya

1:21:28Terus

1:21:30Repo nya mana?

1:21:32Oh, terakhir

1:21:34Ini pakai apa nih?

1:21:38Ini ya, bukan

1:21:40GitHub nya

1:21:42Oh, ini

1:21:44Ini

1:21:46Tik-tik aja

1:21:48Manjang banget

1:21:50Kenapa tadi gak di sub aja ya

1:21:52Di GitHub

1:21:54Terus SRC

1:21:56Eh, mana?

1:21:58Testing nya

1:22:00Kok gak ada testing?

1:22:02Oh, belum semua

1:22:06Coba source

1:22:08Source, coba source

1:22:12Itu itu ya

1:22:14Tim masing-masing komponen nya gak sih?

1:22:18Itu test

1:22:20Button

1:22:26Yang mana browser?

1:22:28Bukan ya?

1:22:32Ini maksudnya sudah

1:22:34Apa namanya?

1:22:36Kalau misalnya dijalankan

1:22:38Bisa coba liat

1:22:40Package.json nya

1:22:42Ada komen apa

1:22:44Buat jalanin dia

1:22:46Pakai

1:22:50Package json ya

1:22:52Package json

1:22:54Test

1:23:00Biasa, review

1:23:02Bukan

1:23:04Di test run dong

1:23:06Nah, itu di config nya ada setting

1:23:12Ada nge-set browser nya

1:23:14Kalau, apa?

1:23:16Contoh testing nya

1:23:18Oh iya, ini pakai playwright ya

1:23:20Itu, terus

1:23:24Berarti tinggal dijalankan kan

1:23:26Terus muncul browser nya gitu kan

1:23:28Terus ini di VT setup

1:23:30Ada ngemocking

1:23:32Window

1:23:34Ini bukan mock ya

1:23:36Jalan-jalan

1:23:38VT setup

1:23:40Nah, itu tuh

1:23:42Line 14

1:23:44Terus, contoh testing nya

1:23:58Harus berguru langsung ini

1:24:00Jalanin aja

1:24:04Gede gak

1:24:06Tarikannya

1:24:08Harus rap itu dulu

1:24:10Gak bisa pakai ini, pakai

1:24:12Apa tuh namanya?

1:24:16Sandbox

1:24:18GitHub

1:24:20Codespaces

1:24:22Bisa gak?

1:24:24Browser dalam browser dong

1:24:26Oh iya ya

1:24:28Mari kita clone aja

1:24:32Kalau NPM nya bisa jalan, coba aja

1:24:34Bener juga

1:24:36Oh iya, ini lupa

1:24:46Matiin dulu

1:24:48Share lagi

1:24:50Window nya

1:24:54Gedean ya

1:24:56Sorry

1:24:58Belum, kecilin nya gimana

1:25:00Cukup ya

1:25:04Belum gede

1:25:12CD

1:25:14Rally

1:25:16NPM install

1:25:18Bisa gak?

1:25:22Gak bisa ya NPM install

1:25:24Eh tapi

1:25:28Registrinya sama aja

1:25:30Gak tahu

1:25:32Ini bisa

1:25:34Cepet banget ya pakai Boonit

1:25:36Boonit install

1:25:38Nah kalau Boonit mungkin punya server sendiri

1:25:42Kalau

1:25:44Fail

1:25:46Gimana ini

1:25:50Test watch

1:25:52Test 32 watch

1:25:54Oh

1:25:56Boon run

1:25:58Test 32 watch

1:26:00Tapi fail kan, emang sengaja fail ya

1:26:04Oh playwright nya gak ada

1:26:08Tuh dependensinya belum ke install kali itu

1:26:12NPX playwright install

1:26:16Iya

1:26:18NPX

1:26:20Gede banget itu

1:26:22Iya karena ada easy browser nya

1:26:24Playwright

1:26:26Pakai

1:26:28Salah ya

1:26:30Playwright, salah ya

1:26:36Play

1:26:38Play

1:26:40Boon nya juga down

1:26:48Weh

1:26:50Ini kecepatan internet master ya sakti nih

1:26:52Gak pakai Cloudflare soalnya

1:26:54Ini dia, oh Colmium ya

1:27:02Eh padahal punya lho

1:27:04Dia nginstall lagi

1:27:06Udah pernah install soalnya playwright

1:27:08Kayaknya ya by project deh

1:27:12Kalau kita jalanin pemandangan disitu

1:27:14Ya semua disitu doang

1:27:16Oh semua di download

1:27:18Iya

1:27:20Ampun bang, ampun

1:27:22Satu lagi

1:27:24Dia download apa ya kini

1:27:26Safari

1:27:28Webkit

1:27:30Makanya sekarang tuh

1:27:34Jadi

1:27:36Web developer jaman sekarang itu

1:27:38Harus

1:27:40Lebih banyak bandwidth ya

1:27:42Ketimbang jaman dulu

1:27:44Nah ini udah

1:27:46Oh di jalanin semua

1:27:48Nah ini

1:27:50Chromium

1:27:52Udah

1:27:54Muncul gak ini popup

1:27:56Enggak

1:28:00Ya pasti browser mode nya gak jalan

1:28:02Blaser mode nya gak jalan

1:28:06Maksudnya

1:28:08Gak di popup

1:28:10Ininya, harusnya kan

1:28:12Popup

1:28:14Kayaknya harus vitess UI deh

1:28:16Coba aja cari komennya vitess UI

1:28:18Vitess

1:28:22Run coverage

1:28:24Bukan coverage ya

1:28:26Oh

1:28:28Karena

1:28:30Headless tadi

1:28:32Ada headless

1:28:34Coba buka itu nya mas

1:28:36Zain

1:28:40Headless nya

1:28:42Wait, saya baca dulu

1:28:44Getting started

1:28:48Ini browser

1:28:50Vitess UI

1:28:52Iya

1:28:54Coba

1:28:56Ke ininya

1:28:58Ke vitess config nya mas Liza

1:29:00Pakai vim aja

1:29:04Vitess config nya

1:29:10Ini vitess setup

1:29:12Bukan

1:29:14Bukan vitess setup

1:29:16Berarti di package json

1:29:18Bukan vt

1:29:20Berarti di package json nya

1:29:22Tadi test nya di gabung

1:29:24Ke package json

1:29:26Ke vitess

1:29:28Gak ada

1:29:30Yang browser Chromium tadi di mana?

1:29:32Di vitess

1:29:36Ada vitess config

1:29:40Ada vitess setup

1:29:42Oh bukan ya

1:29:44Vt

1:29:46Vt

1:29:48Bentar ya

1:29:50Vt.config.js

1:29:52Vt.config.js

1:29:54Ini nih

1:29:56Browser kan Chromium

1:29:58Itu yang headless

1:30:00Ya

1:30:02Sama bentar

1:30:04Belum

1:30:06Coba

1:30:08Apa lagi?

1:30:10Saya lihat dulu

1:30:12Vt.config.js

1:30:18Browser apa?

1:30:20Config browser

1:30:22Provider

1:30:24Oh

1:30:26Headless nya udah false ya?

1:30:28Nggak, wasan dimatiin

1:30:30Nah udah, coba dijalani

1:30:32Harusnya

1:30:36Mau tes aja?

1:30:38Nggak ada

1:30:44Oh udah, ada

1:30:46Ntar

1:30:48Langsung ketutup gara-gara error

1:30:50This is bug in vitess

1:30:56Ketemu bugnya

1:30:58Apa nggak mau di npm kali?

1:31:00Kayaknya gara-gara

1:31:02Tadi ada yang pakai ben, ada yang pakai npm

1:31:06Iya

1:31:08Sama kayak udah

1:31:10Muncul, cuman ini kan window

1:31:12Kita coba share screen semua ya

1:31:14Full ya

1:31:16Cepet muncul abis itu ketutup lagi

1:31:18Ada ya, ada

1:31:20Watch ya

1:31:22Watch

1:31:24Ini kan, ini muncul

1:31:26Kita tutup lagi karena nggak watch

1:31:28Ceput tangan dulu doang

1:31:30Sangur tuh

1:31:32Ya udah, yang penting udah bisa jalan

1:31:34Kalau dia kan

1:31:36Kamalu nggak bisa tidur, penasaran kan

1:31:38Kepikiran

1:31:40Tapi ini UI-nya nggak ada di sini

1:31:42Gambar UI-nya nggak ada ya

1:31:44Cuman di klik satu-satu

1:31:46Di button

1:31:48Klik itemnya

1:31:50Di play

1:31:52Ini ada gambarnya?

1:31:56Ada error nggak?

1:31:58Lihat console error, nggak ada

1:32:00Oh jadi item

1:32:02Iya, kok jadi item?

1:32:04Kok jadi daftar?

1:32:06Run salah satu katanya

1:32:08Ini, oh

1:32:10Loh putih

1:32:12Oh itu ada skin tab

1:32:16Ada tadi

1:32:18Karena dia jalanin sekaligus semua

1:32:24Salah satu yang ini mas

1:32:26Render with default

1:32:28Props, coba

1:32:30Run itu button yang render with default

1:32:32Ya itu, run salah itu

1:32:34Ya, nggak bisa

1:32:36Cepat banget

1:32:38Kok terlalu cepat

1:32:40Ini ya berarti

1:32:42Testingnya terlalu cepat, jadi nggak kelihatan

1:32:46Diperlambat bisa nggak

1:32:48Slow mode gitu

1:32:50Ada ya

1:32:58Bisa bisa kelihatan ini lho

1:33:00Kelihatan

1:33:02Nggak kelihatan saya

1:33:06Oke lah

1:33:08Cukup lah ya

1:33:10Coba di rumah masing-masing

1:33:12Udah dikasih itu sama Mazzain

1:33:14Oh iya, saya share ininya ya

1:33:16Apa namanya

1:33:18Gith-nya

1:33:20Iya, link-nya

1:33:22Di sini

1:33:24Kalau saya bisa

1:33:28Oke

1:33:30Cukup ya

1:33:32Untuk malam ini ya

1:33:34Udah setengah jam kita

1:33:36Udah puas

1:33:38Baru browser mode doang

1:33:40Main-main browser mode

1:33:42Vtes sama

1:33:44Bantengin Cloudflare nih sampai malam nih

1:33:46Kayaknya saya

1:33:48Oke

1:33:50Seperti biasa sebelum kita udahan

1:33:52Kita mau

1:33:54Poting material

1:33:56Dari buat minggu depan

1:33:58Kalau ada yang punya ide

1:34:00Boleh di-share

1:34:02Update-an Getting Real

1:34:06Udah lama nggak soal AI ya

1:34:16Mau AI

1:34:18Bahas AI

1:34:20Bahas web AI ya

1:34:22Boleh

1:34:24Oh iya, kemarin itu lagi ada

1:34:26Apa

1:34:28Di Youtube-nya

1:34:30Chrome

1:34:32Web AI Summit ya

1:34:34Ini

1:34:40Baru ada video baru tuh

1:34:42Web AI Summit

1:34:48Jason Muras

1:34:50Jason Muras

1:34:52Web AI nih

1:34:54Ada GPU, ada

1:34:56Apa lagi

1:34:58Saya penasaran yang ini sih

1:35:00Building Web AI Playbook

1:35:02Ya udah, topiknya

1:35:06Web AI Summit aja

1:35:08Topiknya Web AI aja ya

1:35:10Web AI Summit

1:35:12Nanti

1:35:14Maksudnya kalau ada

1:35:16API-nya yang masing-masing

1:35:18Kayak Summarizer atau apa bisa dipikin

1:35:20Bisa

1:35:22Bahas browser

1:35:26Udah

1:35:28Udah pernah kita, episode berapa browser

1:35:30Browser

1:35:32Kita sampai historinya ya

1:35:34Sejarahnya juga kita bahas

1:35:36Sampai buka Wikipedia yang ada

1:35:38Timeline

1:35:40Timeline-nya

1:35:42Episode berapa

1:35:44Episode 14

1:35:46Episode 14

1:35:482 tahun yang lalu ya

1:35:503 tahun

1:35:52Namanya ngobrolin browser

1:35:54Bahas 10-stack query

1:35:5610-stack menarik sih

1:35:58Kita udah bahas 10-stacks

1:36:00Kita udah pernah bahas 10-stacks ya

1:36:02Kan 10-stacks yang general

1:36:04Kan universe-nya banyak banget ya

1:36:06Udah

1:36:08Boleh-boleh

1:36:10Boleh ditulis dulu

1:36:12Di discussion

1:36:14Nanti kita voting-voting

1:36:16Kalau banyak yang suka juga

1:36:18Silakan voting

1:36:20Disini

1:36:22Terus

1:36:24Bahas buku 5 Coding

1:36:26Nanti dulu

1:36:28Beda bukunya nanti ya Mas Zain

1:36:30Nanti kita undang lagi, tenang aja

1:36:32Masukin dulu ya

1:36:34Oke-oke

1:36:36Bahas browser

1:36:38Apa lagi yang mau dibahas browser

1:36:40Kita udah

1:36:42Kemarin udah cukup banyak ya

1:36:44Kalau ada yang baru mungkin

1:36:46Oh ini

1:36:48Bahas browser

1:36:50AI browser kan

1:36:52Dan banyak dapet

1:36:54Flash dari

1:36:56Ecosystem work

1:36:58Tiap sebentar muncul browser baru

1:37:00Yang isinya AI

1:37:02Jadi gini

1:37:04Perusahaan yang bikin

1:37:06Browser

1:37:08Berusaha memasukkan AI ke dalam

1:37:10Browsernya

1:37:12Bikin AI, berusaha bikin browser

1:37:14Untuk AI-nya

1:37:16Nanti akan ada

1:37:18Ketemu di tengah-tengah nih

1:37:20Antara capelok-mencapelok

1:37:22Atau

1:37:24Beli-beli, mungkin ada yang dibeli

1:37:26Ada yang membeli

1:37:28Kita lihat aja, persaingannya seru sih

1:37:30Persaingannya seru

1:37:32Lay off ya

1:37:34Waduh, bukan yang itu Pak

1:37:36Oh beda ya

1:37:38Membeli ya, membeli

1:37:40Akuisisi

1:37:42Iya, akuisisi

1:37:44Katanya beli-beli

1:37:46Itu duitnya

1:37:48Nggak ada serinya

1:37:50Ternyata, tumbang juga

1:37:52Tumbang juga ya

1:37:54PWA, PWA apa lagi yang mau dibahas

1:37:56Aduh

1:37:58Ya, udah

1:38:02Matcher juga itu

1:38:04Conqueror, Conqueror kita bahas tuh

1:38:06Di episode ke 14

1:38:08Conqueror itu adalah

1:38:10Nenek moyangnya webkit, nenek moyangnya safari

1:38:12CSS query? Udah

1:38:18Eh, belum ya?

1:38:20Belum, kita bahas CSS playnya

1:38:22Kita bahas CSS unit jadinya

1:38:24Oh iya

1:38:26Kita bahas CSS unit, itu juga panjang banget

1:38:28Besok-besok saja

1:38:30CSS query, iya nanti kita bahas CSS query

1:38:32Thank you, thank you Kaisa

1:38:34Oh Kaisa kemarin bikin

1:38:36Ininya apa? Posting di

1:38:38GitHubnya keren banget

1:38:40Udah kayak bikin artikel aja

1:38:42Udah kayak

1:38:44Artikel, Ladybird

1:38:46Kita sempat bahas Ladybird juga

1:38:48Apa? Yang, walaupun belum

1:38:52Ada update-nya kan

1:38:54Ladybird baru aja mereka announce, mereka sudah lulus

1:38:56WPT testnya mereka

1:38:58Udah lulus, berapa persen

1:39:02WPT, web platform testnya

1:39:04Mereka tuh udah kayak unit testnya

1:39:06Browser testingnya mereka

1:39:08Sudah lulus

1:39:10Berapa persen gitu, kayak 90%

1:39:12Tapi belum ada binary-nya

1:39:14Belum bisa di download buat macOS

1:39:16Harus build sendiri

1:39:18Mereka juga janjinya jual 1026 juga kok

1:39:20Bukan tahun ini

1:39:22Kalau nggak salah ya

1:39:24Ya nggak apa-apa, kalau bisa lebih cepat kan

1:39:26Kan pengen coba

1:39:28Maksa

1:39:30Ngomong gampang ya

1:39:32Gampang, silahkan pull request

1:39:34Nanti dia tinggal bilang kita ya, silahkan pull request

1:39:36Gampang

1:39:38Tuh, targeting summer

1:39:402026

1:39:42First alpha version

1:39:44Terus, bahas desktop sih

1:39:48Menarik sih bahas desktop

1:39:50Eh, by the way, kalau mau coba

1:39:52Back to

1:39:54Ini sebentar, kalau mau bahas browser itu

1:39:56Kalian coba browser yang

1:39:58DCLID

1:40:00Links

1:40:02Coba pakai links

1:40:04Bagus

1:40:06Ada yang baru kemarin

1:40:14Yang modern

1:40:16Bukan yang baru, yang modern

1:40:18Itu juga

1:40:20Di CLI juga

1:40:22Tapi kalau buka di links

1:40:26Kalau misalnya

1:40:28Client render

1:40:30Pakai react atau semacamnya

1:40:32Gak SSG, nggak SSR

1:40:34Kalau pakai CSR

1:40:36Gak bisa, nggak ada JavaScript

1:40:38Gak ada JS

1:40:40Sudah discussed

1:40:42Sudah

1:40:44Di awal, di tengah dan

1:40:46Random-random

1:40:48Setiap berapa menit sekali

1:40:50Kita bahas

1:40:52Setiap berapa menit lagi kita bahas

1:40:54Kita buka website, tiba-tiba down kita bahas

1:40:56NPN packets registry

1:40:58Gak bisa dibuka

1:41:00Chachi PT nggak bisa dibuka, sponsor kita

1:41:02Kali ini Dominicia

1:41:04Gak bisa dibuka juga

1:41:06Tengah juga ya

1:41:08Tapi mudah-mudahan segera

1:41:10Udah selesai ya

1:41:12Udah mulai ada yang benar

1:41:14Udah, Dominicia udah bisa dibuka

1:41:16Jadi temen-temen kalau mau

1:41:18Itu jangan lupa ya

1:41:20Kalau mau purchase ya, jangan lupa pakai

1:41:22Promocode ya

1:41:24Oke, sekian dulu untuk malam ini

1:41:26Kita ketemu lagi minggu depan

1:41:28Di waktu yang sama

1:41:30Selamat malam, selamat siangat, bye-bye

1:41:54Performa tinggi dalam infrastruktur cloud

1:41:56Yang telah dioptimalkan untuk kebutuhan personal

1:41:58Maupun bisnis

1:42:00Teknologi ini memungkinkan Anda memperoleh

1:42:02Layanan yang lebih stabil

1:42:04Serta proteksi dari korupsi data

1:42:06Hosting Dominicia juga telah mendukung

1:42:08Node.js, Python, Ruby, Go,

1:42:10PHP, Java, serta

1:42:12Binary Linux

1:42:14Lebih dari 200.000 pelanggan telah

1:42:16Mempercayakan layanan hosting di Dominicia

1:42:18Kepercayaan yang kami jaga dengan

1:42:20Garansi uptime 99,9%

1:42:22Serta garansi uang kembali 100%

1:42:24Buat website Anda lebih mendunia

1:42:28Segera berali ke hosting Dominicia

Suka episode ini?

Langganan untuk update episode terbaru setiap Selasa malam!

Langganan Sekarang

Episode Terkait

Bedah Buku Problem Solving 101 - Ngobrolin WEB
EP 138

22 Jul 2025

Bedah Buku Problem Solving 101 - Ngobrolin WEB

🗣️🕸️ Selasa malam waktunya #NgobrolinWEB! Malam ini kita akan membedah buku Problem Solving 101. Masih bersama Ivan da...

Ngobrolin React Server Component
EP 129

21 Mei 2025

Ngobrolin React Server Component

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...

Toolkit Modern - Ngobrolin WEB
EP 145

23 Sep 2025

Toolkit Modern - Ngobrolin WEB

🗣️🕸️ Selasa malam waktunya #ngobrolinWEB! Malam ini akan membahas tentang alat bantu modern seperti vitest, unjs, roll...

Komentar