EP 129

Ngobrolin React Server Component

Bagikan:

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://ksana.in/ngobrolinweb 🏷 Gunakan kode NGOBROLINWEBDN dan dapatkan DISKON 10% Untuk Pembelian Web Hosting DomaiNesia: Beli Web Hosting DomaiNesia disini: https://my.domainesia.com/ref.php?u=25754 🎁 DISKON 50% Cloud VPS Turbo dengan Kode Promo: NGOBROLINVPSDN Beli Web Hosting DomaiNesia disin: https://www.domai Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.

Ringkasan Episode

Bantu Koreksi

Episode Ngobrolin WEB ini membahas React Server Components (RSC), topik yang sebenarnya sudah ada sejak 2020 namun baru banyak diadopsi secara luas dalam beberapa tahun terakhir. Diskusi dimulai dengan menjelaskan perbedaan antara RSC dengan server-side rendering tradisional, di mana RSC memungkinkan developer menggunakan React di kedua sisi—server dan client—dalam satu codebase yang sama. Eka dan Ivan mengulas evolusi pengembangan web dari HTML statis, ke Single Page Application (SPA) yang semuanya client-side, lalu muncul meta framework yang mengadopsi server-side rendering untuk mengatasi masalah performa dan SEO. RSC menjadi solusi selanjutnya dengan memisahkan komponen yang berjalan di server (yang tidak perlu interaksi) dan di client (yang butuh interaktivitas), sehingga mengurangi bundle size yang dikirim ke browser. Episode ini juga menampilkan demo praktis implementasi RSC menggunakan Parcel bundler, menunjukkan bagaimana komponen server bisa mengakses resource seperti file system dan database secara langsung tanpa perlu membuat API endpoint terpisah. Diskusi diakhiri dengan percakapan tentang tantangan adopsi RSC terkait perubahan mental model developer, serta obrolan santai tentang penggunaan AI coding tools seperti Cursor dan Windsurf.

Poin-poin Utama

  • React Server Components sudah ada sejak 2020, baru diadopsi luas belakangan ini oleh meta framework seperti Next.js
  • Perbedaan mendasar: Server-side rendering mengirim HTML lengkap ke browser, sementara RSC memisahkan komponen server dan client secara eksplisit
  • Komponen server tidak dikirim ke browser, hanya hasil render-nya berupa HTML, sehingga mengurangi bundle size secara drastis
  • Dengan RSC, tidak perlu membuat API endpoint terpisah untuk mengambil data—komponen server bisa langsung akses database atau file system
  • Direktif 'use client' menandai komponen yang harus berjalan di browser dan memerlukan interaktivitas
  • Parcel bundler menjadi alternatif implementasi RSC selain Next.js, menawarkan pendekatan yang berbeda
  • Adopsi RSC membutuhkan perubahan mental model karena developer harus sadar di mana kode berjalan (server atau client)
  • Diskusi tambahan tentang AI coding tools (Cursor, Windsurf) dan pentingnya tidak kehilangan kemampuan menulis kode manual
Transkrip Bantu Koreksi

0:00[musik]

0:11Dapatkan hanya di Dominesia

0:13[musik]

0:19[musik]

0:50Jadi episode kali ini

0:52di Hasil Kollaborasi dengan

0:56Dominesia

1:00Ini adalah sponsor pertama ya

1:04sponsor pertama yang benar-benar

1:06menghasilkan

1:08pundi-pundi

1:10yang benar-benar semangat support

1:12Terima kasih ya

1:14buat teman-teman yang mau

1:16buat teman-teman yang mau beli layanan hosting

1:18di Dominesia

1:20Pakai promo kita ada nggak kita punya tag?

1:22Ada, tapi belum ditulis

1:24bentar ya, belum siap

1:26belum ditulis

1:28ngobrolin web DN

1:30ngobrolin web DN

1:32diskonnya 10% untuk semua paket web hosting

1:34lumayan, lumayan

1:36diskon ini

1:38berlaku hanya

1:40siklus 1 tahun dan 2 tahun pembelian pertama

1:42saja

1:44berarti untuk sekarang

1:48biar diskonnya lebih besar kan

Lihat transkrip lengkap

1:50Nah, ini kodinya

1:52berarti

1:54ini berlaku untuk web hosting

1:56aja ya, untuk sementara ya

1:58nanti, bisa lah negot-negot

2:00untuk beli domain ya

2:02walaupun namanya Dominesia ya

2:04tapi beli hosting

2:06Domaine dan hosting Nesia

2:08Domaine dan hosting Nesia

2:10Nah, pertanyaannya

2:12jadi Domaine Nesia ini

2:14atau di hosting Domaine Nesia bisa pakai

2:16React Server Component?

2:18Bisa

2:20Bisa ya

2:22Masa nggak bisa ke hosting

2:24React ya?

2:26Bisa

2:28Kalau ada hosting Nesia bisa

2:30kontak di customer service ya Domaine Nesia aja

2:32Oh iya kan ya

2:34Harusnya kita undang nih

2:36tim Domaine Nesia ya

2:38Di suatu saat

2:40Ya ya

2:42Beberapa hosting N ya

2:44Beberapa yang apa

2:46nanti kita coba cek ya

2:48Kita nanti minta

2:50demo account aja sama Domaine Nesia

2:52untuk ngecek bisa nggak

2:54React Server Component

2:56Karena butuh Node.js kan

2:58untuk ngerunning runtime-nya

3:00di server

3:02Nah, pertanyaannya adalah

3:04React Server Component

3:06sama

3:08server site trending itu sama apa

3:10beda?

3:12Beda

3:14Tepiknya ya

3:16berarti topik malam ini adalah

3:18React Server Component

3:20saking

3:22kita tadi udah berbual-bual sebelum mulai

3:24jadi lanjutin aja

3:26Jadi malam ini kita bahas

3:30React Server Component

3:32bisa di posting juga

3:36Ya, karena ini

3:38sebenarnya topik yang sudah cukup lama ya

3:40sudah cukup lama

3:42Udah lama banget

3:44maksudnya apa

3:46di dunia ekosistem JavaScript

3:48framework ya, itu kan kayak

3:50setiap bulan sekali ada fitur baru

3:52ada framework baru, sedangkan

3:54server component ini ternyata

3:56udah ada dari 2020-an

3:58udah hampir 5 tahun

4:00berarti kan itu kalau di dunia

4:02ekosistem JS udah ada lama banget ya

4:04Nah, cuma emang

4:06penerapannya

4:08kayak adopsinya

4:10terus kayak terintegrasi

4:12dengan framework dan

4:14meta frameworknya itu emang lambat banget

4:16relatif lambat

4:18jadi kerasa baru

4:20kerasa seolah-olah baru dan jujur

4:22gua sendiri juga belum pernah pakai di production sih

4:24Mungkin kita bahas tentang

4:30server

4:32tentang server componentnya dulu kali ya

4:34ini kebetulan tadi barusan aja

4:36nyari-nyari ternyata ada yang bahas

4:38nggak tau ini relate

4:40apa masuk nggak ya, maksudnya

4:42apa yang kita bicarakan

4:44dengan dia kan kadang-kadang mungkin istilahnya

4:46sama tapi ternyata maksudnya beda

4:48ternyata refer ke hal yang

4:50berbeda

4:52jadi kita coba pelajari sama-sama aja ya

5:00Oke, ini bahas tentang

5:02JS

5:04Kenapa? / Ini menarik sih

5:06ada hubungannya dengan yang

5:08barusan gua bilang yang tentang adopsinya

5:10agak lambat, jadi maksudnya

5:12belum terlalu top of mind juga untuk

5:14banyak developer

5:16tapi salah satu meta framework

5:18yang emang terdepan

5:20paling depan dan paling apa ya

5:22paling prominent lah, paling kelihatan

5:24paling kelihatan ngadopsi react server

5:26component ini adalah

5:28yang lain, se-next.js

5:30jadi banyak orang mungkin agak

5:32rancu mikir server components itu

5:34fiturnya next.js

5:36atau fiturnya react sih

5:38jawabannya adalah

5:40cuma yang mengintegrasi

5:42dengan cukup

5:44totalitas lah, maksudnya

5:46all-in di server components itu

5:48emang next.js, jadi maksudnya ini

5:50di artikel ini

5:52dalam konteks penggunaannya di next.js

5:54tapi apa, perlu diingat

5:56bahwa si server components itu

5:58bukan fitur next.js

6:00berarti

6:02ini ada hubungannya

6:04mungkin ada hubungannya sama

6:06masing-masing meta framework

6:08itu kan mereka kayak ada kebutuhan

6:10untuk

6:12server

6:14component kan awalnya ya

6:16dan mereka kayaknya implement

6:18masing-masing tuh si next.js

6:20mereka teranjur bikin cara mereka sendiri

6:22tiba-tiba ada server

6:24components, dan maksudnya

6:26buat ngadopsi dengan seamless itu

6:28kan nggak terlalu mudah

6:30nah, cuma selain next.js kan

6:32resource-nya cukup besar juga ya

6:34banyak developer yang ngerjain

6:36banyak maintainer, banyak

6:38yang bisa ngasih kontribusi, jadi dia

6:40salah satu yang paling terdepan

6:42ya, lanjut, Baca

6:44ya, jadi

6:46setelah

6:48mereka masing-masing implement

6:50ya samalah ya, kayak misalkan

6:52di web standard gitu ya, modelnya kayak

6:54mungkin

6:56view transition, face

6:58betul, jadi awalnya bikin sendiri

7:00terus yang web standardnya

7:02atau framework dasarnya itu

7:04sudah menyediakan, jadi yang lain ikut adopsi

7:06aja, jadi lebih gampang kan

7:08abstraksinya jadi lebih sederhana

7:10kalau fitur-fitur lain kan

7:12tinggal, apa ya, kayak library yang bisa

7:14di-replace, kalau ini kan agak rumit nih

7:16karena di satu spesies

7:18ada project dan ada apanya

7:20ada handling di server

7:22ada handling di client, belum

7:24antara server ke client

7:26yang dikirim apa, ngirimnya gimana, ya itu kan

7:28semua harus dipikir waktu

7:30kalau mau mengadopsi

7:32si teknologi server komponen sih

7:34ya, ini cerita awal

7:36dari request-response

7:38ya, HTML

7:40CSS standard, kemudian JavaScript untuk

7:42interaksi, kemudian muncul

7:44SPA ya kan, jadi

7:46standard baru, banyak orang berlomba-lomba

7:48untuk menggunakan single page

7:50application karena user experience-nya

7:52bagus, nggak perlu refresh

7:54dan lain-lain, terus setelah

7:56itu

7:58merasa, apa ya, semakin

8:00kompleks, kadang-kadang

8:02apa ya, lagging

8:04semakin berat

8:06gitu ya

8:08buka tab

8:10jadi semakin, apa, browser jadi

8:12makan memori banyak gitu ya, nggak tahu

8:14ya, penyebabnya itu juga atau nggak

8:16akhirnya muncul

8:18semacam meta framework

8:20yang mengadopsi

8:22server-side rendering, jadi

8:24kembali ke server lagi

8:26jadi ada banyak orang yang akhirnya

8:30migrasi dari SPA ke

8:32MPA, multi-page application

8:34atau server-side rendering

8:36tapi sebelum ke server-side

8:38rendering, muncul static-side

8:40generator dulu ya, si Gatsby ya

8:42kalau di Dunia React ya

8:44walaupun sebenarnya SSG ini

8:46muncul sebelum SPA sebenarnya

8:48kayak Jekil, itu yang

8:50jadi udah dulu kan, Jekil, iya

8:52jadi, gue masih inget nih

8:54SSG, tapi yang pakai

8:56yang pakai

8:58waktu itu

9:00kayak News Portal, iya

9:02iya, salah

9:04salah

9:06salah penempatan

9:08jadi harus dibulai

9:10terus ya, ada

9:1240.000 artikel

9:14masa setiap kali di deploying

9:1640.000 page

9:18iya, nggak

9:22kalau news itu udah pasti

9:24cms ya

9:26iya, udah paling pas itu

9:30pakai cms lah ya, kalau

9:32news ya

9:34kalau blog mungkin masih oke lah ya, kalau blog

9:36paling, ya update-nya

9:38berapa, seminggu sekali, sehari

9:40sekali, kalau SSG itu

9:42sebenarnya bukan hal

9:44baru ya, static side itu

9:46sudah cukup lama

9:48ininya, gaungnya

9:50bahkan di WordPress jaman dulu, ada kok

9:52yang bikin static side, bahkan salah satu

9:54project saya yang tertua sekarang, yang saya maintain

9:56juga masih pakai static

9:58side, jadi setelah di save

10:00HTML-nya disimpan di

10:02S3

10:04dari CloudFront

10:06masalahnya

10:08simpel

10:10pertanyaannya, kalau menu

10:12berubah

10:14gimana, tapi

10:16harus diribil semua

10:18harus diribil dulu, ya

10:20sampe sekarang masalahnya masih tetap sama

10:22terus ya, di text file-nya

10:24iya

10:26nggak bisa, tapi kan file-nya ada banyak

10:28ya tuh, kan

10:30HTML kan ribuan

10:32isinya banyak

10:34ya ribuan lah, nggak sampe puluhan ribu, tapi

10:36ribuan, jadi kalau nge-bill itu

10:38lumayan

10:40bisa menghabiskan biaya juga

10:42kan, buat server-nya nggak bisa

10:44eh, di lokal bisa nggak, bisa kan

10:46tapi berat sih, kan server-nya online

10:48online ya, oh iya, isinya

10:50online ya

10:52dibatching, jadinya ya

10:54server yang empot-empotan

10:56ngebatching gitu

10:58oke, ini kita bahas tentang

11:00client component dan server component, jadi kalau

11:02SBA kan, ya client component kan

11:04udah tau ya temen-temen ya, kalau bikin component ya

11:06itu client-side kan

11:08yang berjalan di browser, jadi

11:10in case temen-temen yang nggak kebiasa

11:12sama front-end, bingung client kan, bisa

11:14artinya macam-macam ya, kalau orang back-end

11:16mungkin mikir client-nya itu aplikasi yang

11:18merequest ke service atau ke API

11:20nah, dalam hal ini, client

11:22maksudnya, berjalan murni

11:24di browser. Tadi

11:26Basrija kan, apa bedanya sama server-side

11:28rendering tadi kan ya

11:30sebenarnya, sebelum kita kesana

11:32kita pernah singgung

11:34prerender

11:36ya, karena masalahnya

11:38dulu kan, Googlebot atau

11:40Crawlerbot

11:42nggak bisa

11:44ngerender JavaScript

11:46jadinya, kontennya nggak bisa

11:48di-crawling, jadi

11:50seo gitu ya

11:52akhirnya

11:54solusinya kan, pakai

11:56prerender tuh, jadi

11:58URL yang

12:00diterima pertama

12:02di proxy, terus di prerender

12:04jadi ada

12:06kalau bahasa kerennya sekarang

12:08itu

12:10edge computing

12:12edge computing

12:14jadi URL-nya di hit

12:16terus di build dulu, page-nya

12:18di cache, di

12:20edge, dan di serve

12:22jadi, tetap aja, tapi

12:24itu memang full HTML, tetapi

12:26masih client-side

12:28rendering ya, di build

12:30dan di serve, nanti setelah

12:32sampai di

12:34browser, baru di

12:36hydration, bahasa

12:38bahasa

12:40keren ya

12:42lalu server-side rendering gimana

12:44sama aja

12:46tapi tanpa ada prerender

12:48jadi dari sisi server

12:50tetap ngeranin

12:52jadi langsung ke

12:54load balancer, tetap

12:56ngeranin javascript-nya

12:58yang

13:00mengirimkan

13:02HTML, jadi sudah di

13:04full render

13:06jaman itu

13:08saya masih, itu sampai batas

13:10itu doang

13:12dulu pakainya render tron gak sih?

13:14pake render tron ya

13:16ada prerender.io

13:18ada macem-macem sih

13:20kalau prerender.io kan hosted service ya

13:22bayar, kalau render tron itu

13:24kalau gak salah, library-nya Chrome deh

13:26Google yang bikin

13:28biasa sama, fungsinya sama

13:30cuma kita nge-set up server sendiri

13:32agak repot, tidak buat ngejalanin

13:34itu, cuma udah di deprecate

13:36sekarang, karena udah

13:38not recommended lagi

13:40sebelum ada jamannya server component

13:42kan server-side rendering tuh

13:44nah server-side rendering tetap, dia aja

13:46react, dijalankan di server

13:48bedanya jamannya itu tetap

13:50jadi di codebase-nya kita

13:52itu tetap harus

13:54apa namanya

13:56membuat kondisional

13:58contohnya, objek Windows gak ada

14:00type of window, undefined

14:02gak bisa dipakai

14:04pertama kali belajar Gatsby

14:06belajar react, dulu belum paham ya

14:08karena buru-buru nih, buru-buru pengen

14:10jalanin dari template

14:12belum ngerti fundamentalnya

14:14udah, tiba-tiba, window.local

14:16storage atau apa, tiba-tiba

14:18error, karena harus jalan

14:20nah, jadinya

14:22akhirnya, ya

14:24codebase kita, codebase yang saya

14:26buat dulu itu, ya

14:28ngecek-ngecek Windows object, ngecek

14:30ngecek-ngecek yang browser

14:32specific object, sehingga

14:34eh, masih seilang

14:36ada, ada, ada

14:38server component

14:40eh, sorry, server component

14:42sering dengar

14:44tapi, saya gak pernah ngulik

14:46karena gak ada project yang relevan saat ini

14:48kesana, jadi benar-benar pengen

14:50belanja malam ini

14:52kita sama-sama belajar ya

14:54kalau temen-temen, ada yang udah pakai

14:56atau ada yang udah ngulik

14:58boleh dong, kita

15:00berbagi ceritanya ya

15:02Mas Ricky, halo sangat malam

15:04Mas Ricky

15:06jadi, kita sambil

15:08ini, sambil ngulik ya, sambil belajar ya

15:10jadi, disini, disebutkan

15:12kalau klien, ya seperti yang kita tulis ya

15:14apa yang kita tulis, misalkan div

15:16apa, gitu ya, atau

15:18button, atau form, dan lain-lain

15:20yang di

15:22client side, nah kalau yang di server side

15:24yang server component, maksudnya

15:26itu adalah komponen

15:28yang dirender

15:30menjadi HTML, di sisi server

15:32jadi

15:34react komponen yang

15:36ada di

15:38server, itu

15:40dirender dulu, baru dikirim ya, berarti

15:42bentukannya akhirnya adalah

15:44HTML ya

15:46HTML yang valid

15:48yang bisa dibaca

15:50oleh browser

15:52karena kalau kita tulis misalkan

15:54komponen button dengan huruf B besar

15:56kan, si browser nggak ngerti kan

15:58nggak ada, nggak kenal

16:00nggak ada, nggak kenal, gitu

16:02itu ya, bedanya ya

16:04ya,

16:06sebenarnya, ya sama

16:08itu tadi yang disebut sama Ivan

16:10kalau yang

16:12react component biasa ya

16:14ini yang belum dipisah server dengan

16:16client, itu ya komponen

16:18aja, jadi, apa, itu

16:20tadi, kita harus ngecek

16:22sendiri ya, contoh recehnya

16:24itu, kita harus ngecek sendiri if type

16:26of window undefined, kalau nggak

16:28di check gitu, bakal breaking

16:30pas di server, kenapa? Karena di server

16:32jelas nggak ada browser API window

16:34kan, jadi dijalaniin semua

16:36implikasinya apa, ngaruhnya apa, karena

16:38itu sebetulnya apa

16:40jadi kayak, kode komponennya

16:42jalan dua kali, kode yang persis sama

16:44di server jalan, di client jalan

16:46bundle size-nya ya, besar

16:48kan, karena semua

16:50ya, punya semua udah segelondongan itu

16:52jalan di server,

16:54kalau ada yang apa, yang kayak tadi

16:56kasusnya, browser API

16:58pakai tanpa kondisional, ya

17:00breaking di server, ya,

17:02kalau pun di check, ya udah, seluruh bundle itu

17:04nanti, dehydrate lagi

17:06ke client keseluruhan, itu yang

17:08react komponen biasa

17:10yang belum dipisahin server sama client

17:12nah, dengan adanya si

17:14react server komponen dan client

17:16komponen ini, jadi kayak ada

17:18separation of concern dipisah, emang

17:20yang cuma jalan di server

17:22aja, itu ini ini

17:24ini, dengan semua

17:26kapabilitasnya ya, dengan semua kemampuannya

17:28nanti yang dikirim ke client

17:30untuk hydrate, termasuk

17:32apa itu kayak peta

17:34apa namanya itu, yang virtual dome

17:36kan dia punya kayak blueprint

17:38untuk ngerender semua, punya logicnya

17:40cuma logic client yang dikirim

17:42jadi intinya sih, separation of concern

17:44antara server dan client

17:46sekarang sudah built in

17:48gitu intinya

17:50tapi, jadi, sebenarnya

17:52penjelasan panjangnya itu tuh, yang di artikel itu

17:54iya, baru ngerti

17:56jadi, sebenarnya build size

17:58sorry, bundle size nya

18:00untuk server sendiri

18:02anggapan gue ya, berarti ada

18:04server.js sama client.js

18:06jadinya kan, misalnya

18:08simplified version nya gitu ya

18:10server.js sama client.js

18:12jadi waktu, karena

18:14gak butuh juga kan server.js itu

18:16semua komponennya

18:18dikirimkan ke client

18:20gak guna, karena jamannya waktu server

18:22self rendering react dulu

18:24ya, semua-semuanya dikirim

18:26nanti di, di, di

18:28sampe 4 mengembangkan, 4 mengembangkan

18:307 mengembangkan, iya

18:32jadi sebenarnya, kalau ini contohnya kayak

18:34anggap aja

18:36yang

18:38header lah ya, header, ada header itu

18:40header komponen, dalam header komponen

18:42ada search bar

18:44itu yang client, jadi

18:46sebenarnya waktu di render di server

18:48header itu adalah

18:50komponen, react komponen

18:52nulisnya juga

18:54kayak react komponen, dan di bundle

18:56di dalam server.js

18:58di, waktu

19:00di render, jadilah html

19:02yang dikirim html doang sekarang

19:04ke client

19:06dan menyisakan si

19:08si search bar itu gak di render, gak

19:10di render di server

19:12di server, di search bar nya

19:14jadi dia hanya mengirimkan tagging

19:16atau bagaimanapun caranya magicnya

19:18gak tau, dia kirimkan itu

19:20sebagai tagging, tag aja

19:22nanti di hydrate sama si

19:24client.js

19:26dan bahkan client.js itu

19:28optional sih, jadi misalnya

19:30website static yang simpel banget

19:32gak ada hamburger menu, ya misalnya cuma

19:34kayak landing page atau marketing

19:36buat collect email address

19:38misalnya semua server site gak ada clientnya

19:40yang lainnya 0, literally 0

19:42dikirim html aja

19:44hmm, ya ya ya

19:46ini, jadi mengingatkan

19:48ke

19:50island architecture gak sih si

19:52astro komponen, nanti kita

19:54buka artikelnya dena bramov

19:56yang penting itu, tapi

19:58selesaikan artikel ini dulu aja, dia

20:00mengcompare dengan apa itu ssr

20:02dan ssgang

20:04ini mah yang

20:06dijelasin Ivan

20:08iya ini yang dijelasin Ivan ya

20:10jadi server komponen

20:12sebenernya gue belum baca itu, tapi meniat gambar ini

20:14gue udah kebayang

20:16langsung tau

20:18dengan kenangan

20:20masa lalu

20:22kenangan masa lalu, kenangan merender

20:24karena itu

20:26kenangan merender

20:28waktu buat render itu mau

20:30apa ya, karena

20:32projeknya udah jadi, itu

20:34ngedownload

20:36javascriptnya itu sampe 4M

20:384-5M itu, saya masih

20:40inget terus, berusaha

20:42garuk-garuk kepala, tree shaking

20:46bagaimana caranya supaya

20:48ngepisah-pisah file

20:50yang mana dipake, jaman itu

20:52belum ada lazy loading

20:54yang kayak, apa

20:56bukan, lazy loading yang fetch itu loh

21:00yang conditional loading itu kan ada

21:02si lazy loading di syria kan

21:04dynamic loading

21:06itu belum ada jaman itu, 2017

21:082018

21:10ya, sekitar itu

21:122017, salah

21:142017, gue disana

21:16kapan ya

21:18dia lupa

21:20covid 2020

21:22iya

21:24berarti 2019

21:26awal-awal

21:28setengah mati tuh

21:30bikinin

21:32ngamisah-misahin file

21:34yang mana, jadi, gue masih inget tuh

21:36tau ga sih JS bundle

21:38yang mapping itu

21:40liat berapa size-size

21:42tiap komponen apa tuh namanya ya

21:44dari webpack tuh, modulnya webpack

21:46itu berusaha dikecil-kecilin itu

21:48berusaha dikecil-kecilin

21:50gitu

21:52sekarang sudah

21:58makin canggih

22:00ini kalo di react

22:02di next.js sendiri, berarti

22:04udah ada 4 opsi ini ya

22:06client-client rendering

22:08client-client rendering

22:10pages-router kan

22:12kalo pake app-router

22:14nah itu

22:16ini cuma ada 2 ya

22:18client-component atau server-component ya

22:20jadi lebih sederhana ya

22:22sebenarnya ya

22:24secara konsep ya

22:28eh atasnya lagi

22:30kalo dipikir-pikir

22:32static dan dynamic

22:34masih, tapi jadi ga

22:36sesignifikan itu, ga sepenting

22:38itu milik static dan dynamic

22:40karena kayak udah

22:42separation of concern-nya

22:44mana yang jalan di server, mana yang jalan di client

22:46kayak itu udah menghandle

22:48banyak concern-nya

22:50static dan dynamic

22:52kalo dipikir-pikir lebih lanjut

22:54lebih mirip jadi kayak php

22:56dan javascript ga sih

22:58iya, php itu server-nya

23:00client-side nya javascript

23:02jadi kalo Laravel

23:04sampe sekarang kan gitu

23:06logic controller blablabla itu

23:08pake php, ya ada Laravel

23:10kontrolernya sendiri, tapi di depan

23:12saya pake inertia, bisa pake riot, bisa pake scroll

23:14anggap aja

23:16php header

23:18header template

23:20header.php, mas Riza

23:22terus server-nya itu input

23:24aja, tetapi saya

23:26create javascript client

23:28yang membuat itu

23:30untuk handle, pada saat form

23:32submit

23:34handle interactivity, handle interaction

23:36handle interactivity, ya

23:38terus page load

23:40di request, saya kirimkan

23:42header html

23:44dari server saya rendering

23:46terus saya hydrate si

23:48search bar-nya

23:50pake JS

23:52which is hasilnya bagi browser

23:54sama aja, mau pake

23:56php JS, ataupun react

23:58server component

24:00architecture

24:02sebenernya bagi browser

24:04sama aja sebenernya, betul ga sih?

24:08kayaknya iya, mungkin juga

24:10iya kan?

24:12nah terus sisa html-nya

24:14misalnya, itu di header

24:16ada isinya search bar

24:18dan lain-lain, tapi kontennya misalnya judul

24:20dan body text-nya

24:22kan di fetch dari database

24:24itu kan cphp yang fetch

24:26pas dikirim

24:28tiba-tiba udah jadi html aja kan

24:30udah jadi hs1, judul post

24:32terus para dafty text

24:34udah isi body-nya

24:36juga jadi html biasa

24:38oh, tapi ini-nya

24:42enaknya, kalau karena

24:44kita sudah

24:46dimanjakan sama

24:48next.js, akhirnya

24:50nge-build ini semua, ga perlu

24:52beda bahasa, semuanya javanese

24:54semua satu ekstrasi

24:56semua akan bahasa

24:58yang sama, ya

25:00maintenance-nya lebih gampang sebenernya

25:02ga perlu belajar dua bahasa

25:04ya, dan bisa

25:06mesti satu developer, mesti cari

25:08developer yang menguasai react

25:10ya udah, bisa nulis buat server side

25:12bisa on client side

25:14sekarang

25:16terbuka tujuannya

25:18tau, jadi

25:20konsepnya

25:22advantage of rendering data

25:24server side, bla-bla-bla-bla

25:26server

25:28ya, jelas server bisa

25:30nge-pick database

25:32lebih cepat

25:34initial page load is faster

25:36kalau yang di jual

25:42si remix kan itu kan

25:44spinagedon

25:46jadi menghindari spinagedon

25:48karena datanya mungkin

25:50datanya udah di-pick duluan

25:52jadi

25:54tidak ada

25:56loading spinner lagi kebanyakan gitu

25:58ya, mungkin ada di bagian tertentu, tapi ga

26:00sebanyak itu

26:02remix itu salah satu yang paling lambat

26:04mengadop si RSC, kenapa?

26:06karena sebelumnya kan mereka dari recrouter ya

26:08kelihatannya mereka udah

26:10bikin system yang

26:12bukan server side pun

26:14mereka yang handling dari recrouter kan

26:16kayak terlalu

26:18bikin system yang kompleks banget

26:20pas harusnya sesuai dengan server components, pusing dia

26:22kan si siapa itu namanya? Michael Jackson

26:24pernah nge-tweet apalah, lupa

26:26pokoknya dia frustrasi lah sama server

26:28components

26:30ya, jadi

26:32akhirnya mengadopsi juga cuma lambat

26:34masing-masing meta framework ini

26:36sudah mengadopsi dengan gaya caranya

26:38sendiri-sendiri, tapi ide dasarnya

26:40sama, sehingga diadopsi oleh react

26:42gitu kan

26:44iya, sama

26:46kalau next.js dari awal, udah all in

26:48ke server, react server components

26:50yang sesuai di react ini, jadi

26:52lebih, ya kayak lebih duluan lah

26:56oke, oke, oke

26:58disadvantagenya

27:00rendering content on server

27:02lead to higher server load

27:04ya udah pasti ya, server-nya harus

27:06bagus lah ya, harus bisa

27:08menghandle load

27:10ya ini kan pindahin aja yang tadinya

27:12tadinya beban di browser user

27:14dengan apa, dengan konsekuensi

27:16bundle size besar, sekarang dipindahin

27:18kan kita nggak bisa mengurangi

27:20jumlah apa task yang dieksekusi

27:22cuma perkara eksekusinya dimana

27:24kalau kita menutusinya

27:26di server kita ya

27:28harus menanggung konsekuensinya

27:30betul

27:32browser, apa

27:34browser functionality jadi terbatas

27:36karena di server nggak ada kan

27:38kita nggak bisa cek user location

27:40device

27:42dan lain-lain, jadi itu harus

27:44tetap di sisi klien

27:46loading time for navigation may be

27:48slow, if data

27:50isn't reused and each navigation result

27:52completely new page

27:54jadi setiap kali ada navigasi

27:56ke halaman yang baru

27:58kemungkinan ada sedikit delay

28:00sama ya

28:02kita pindah halaman atau kayak nge-refresh

28:04additional benefitnya apa nih

28:10server company

28:14are already pre-rendered

28:16conditionally

28:18render server company kan pre-rendered

28:20instantly even when they

28:22depend on network data

28:24there is no need to wait for a network

28:26response and handle

28:28the loading stage, even in

28:30the case where the component

28:32is conditionally

28:34rendered in response

28:36to a user action

28:38tapi itu semua dalam bentuk HTML

28:40bentar gimana, maksudnya detailnya

28:42gimana nggak tau sih ya

28:44your preoccupation, jangan

28:46kelatkan kalau baca itu tadi yang

28:48Gnaphatas pasti kita kan udah

28:50khatir aja, jadi berat juga dong

28:52nah cuma dia bilang

28:54nggak perlu khatir

28:56HTML code

28:58does not have a great impact

29:00on loading times

29:02bisa di-case ya

29:04ya, ini juga penting nih

29:10jadi kalau page-nya

29:12masih sama, nggak ada update ya

29:14udah, istilahnya

29:16pakai yang case kan jadi jauh lebih cepat

29:18kan, karena data tidak

29:20berubah, kemudian

29:22di-parsingnya jauh lebih cepat

29:24ya, bisa

29:26bahkan bisa kalau

29:28nggak pakai javascript

29:30di sisi klien, jadi bundle-nya bisa kosong

29:32zero bundle size, nah itu tadi yang

29:34yang gue bilang klien, sebenarnya klien

29:36JS-nya bahkan opsional ya

29:38tergantung, tergantung di halaman

29:40kita ya, kalau cuma pure static

29:42kirim HTML ya, pure HTML

29:44betul, karena

29:46ini kita ngomongin javascript di sisi klien ya

29:48kalau misalkan di sisi support-nya pakai javascript juga

29:50ya dihitung lah ya, kalau ini kan

29:52ya kan itu udah

29:54di-execute, udah jadi HTML

29:56pas di-parsing ke user

29:58ke browser, itu udah berupa HTML

30:00yes, jadi

30:02nggak peduli bahasa aja, ujung-ujungnya adalah

30:04HTML yang

30:06sudah siap dikonsumsi oleh

30:08browser gitu ya

30:10berarti bisa juga ini ya, apa namanya

30:12kayak ya

30:14bundle yang dikirimkan itu

30:16tergantung page

30:18selalu

30:20semuanya sama, jadi

30:22hanya saat dibutuhkan saja

30:24kirim misalnya

30:26halaman home

30:28nggak ada klien site-nya

30:30iya, yang di halaman home

30:32ada sat, ada

30:34let's say, ada satu klien site-nya

30:36misalnya, tapi di halaman

30:38article atau di halaman yang didalam

30:40nggak ada

30:42komponen

30:44yang kita butuhkan itu di article

30:46jadi sebenarnya di article nggak di-load

30:48atau sama sekali nggak di-download JS

30:50yang kita pakai itu

30:52iya

30:54makanya

30:56aku kan

30:58nyari-nyari, bisa nggak sih kalau kita iseng nih

31:00pengen kita

31:02langsung menggunakan react server komponen

31:04tanpa meta framework nih

31:06jawabannya bisa

31:08tapi ribet, karena itu ngaruh ke

31:10logic routing juga kan

31:12makanya apa, kayak next.js kan

31:14ngadopsinya cuma di app router

31:16karena pages router

31:18itu fitur yang udah lama ada

31:20ya biasalah, kalau

31:22ngadopsi hal baru ke fitur yang udah lama ada

31:24terlalu banyak moving parts

31:26kan sulit ya

31:28jadi emang si server komponen

31:30untuk sekarang diterapinnya di

31:32app router, sampai si next.js-nya

31:34bikin baru gitu

31:36bikin itu

31:38fitur baru

31:40yang bisa di integrasiin

31:42dengan mudah dari awal dengan si

31:44RSC ini

31:46jadi migrasi masih menjadi

31:48isu karena

31:50gaya-nya berbeda gitu ya

31:52dan salah satu

31:54benefit menggunakan app router adalah

31:56kita udah bisa pakai server komponen

31:58dibandingkan yang page router ya

32:00kalau untuk next.js nih

32:02khusus untuk next.js

32:04nah itu

32:06di balik semua keuntungan tadi

32:08kerugianya, impinya adalah ribet

32:10kuda belajar, makanya apa

32:12harus memahami semua

32:14semua yang kita bahas tadi, itu kan kayak gak bisa

32:16langsung ngerti kan, kita minimal harus berhenti

32:18bentar terus, oh gitu

32:20kayak hal-hal kecil lah

32:22apa, separation antara server

32:24sama client, misalnya itu

32:26dengan use client, itu kan

32:28ya belum tentu semua developer

32:30mau dan langsung bisa

32:32melukasi kayak gitu, kurangan intinya

32:34ya

32:36oke, menarik-menarik

32:40jadi itu dia

32:42overview dari

32:44server komponen itu sendiri, walaupun

32:46di sini dibahas banyak kan next.js ya

32:48tapi ya kurang lebih gitu ya

32:50ya ini kan dalam konteks pengguna next.js ya, itu kenapa

32:52karena kalau menahan

32:54RSC

32:56gak bisa ya, bisa dibilang gak bisa ya

32:58agak terlalu abstrak

33:00jadi apa kita butuh satu

33:02abstraksi lagi, cuma kalau dibahas

33:04dengan konteks next.js

33:06ini kan lebih bisa dibayangin ya

33:08iya, karena

33:10di RFC-nya juga

33:12di sini, tadi sempat baca sekilas

33:14RFC itu adalah request for comment ya

33:16request for comment ya

33:18nah ini

33:20ada yang nanya nih

33:22apakah akan

33:24tightly couple dengan

33:26Ages, atau

33:28bisa pakai berbagai runtime

33:30seperti

33:32jaman dulu masih

33:34Cakrakor ya, seperti

33:36Deno atau Bone ya sekarang ya

33:38karena kita ngomong server pasti gak lepas

33:40dari runtime kan

33:42betul, jadi apakah

33:44si React ini

33:46kalau React implementasi server

33:48komponen, bener-bener kita bisa jalanin

33:50jalanin apa ya

33:52jalanin

33:54React server komponennya sendiri tanpa

33:56framework lain artinya dia udah berubah

33:58jadi web framework kan

34:00itu udah bukan lagi

34:02library, katanya kan React masih

34:04library kan, jadi ini juga

34:06jadi perdebatan sih

34:08sampai akhirnya ya udah

34:10React akhirnya bikin server komponen

34:12tapi backendnya

34:14terserah, terserah

34:16apa ya, developer

34:18framework lain yang mau

34:20mengadopsi, developer framework

34:22atau tepatnya meta framework ya itu

34:24meta framework, maksudnya yang

34:26yang mikir gimana

34:28mengintegrasikannya

34:30itu ya itu developernya

34:32nexia as remix

34:34ini server

34:36komponen tanpa server gimana sih

34:38maksudnya

34:40tanpa server komponen itu

34:42biasa melakukan data static pada klien

34:44dengan efek

34:46ini klien side kan

34:48kita ambil API

34:50terus disana size

34:54nah ini APInya

34:56contohnya ya

34:58terus

35:00this pattern means user

35:02need to download then parse additional

35:0475k

35:06and wait

35:08for second

35:10request to fetch the data

35:12after the page loads

35:14just to render static content

35:16that will not change

35:18over time of the page

35:20jadi harus 2x jalan

35:22dari klien side

35:24kita harus nge-fetch

35:26manggil ke API kita kan

35:28kita bikin API endpoint

35:30API endpoint kita

35:32karena dewasus ini pakai JavaScript ya

35:34harus nge-fetch lagi dan

35:36apa ya, ngebalikin

35:38nah dengan server komponen

35:40you can render this component once at

35:42build time, jadi bedanya adalah

35:44ini ya

35:46ini page-nya

35:48terus return

35:50div-nya

35:52itukan sebelum

35:54load after first page render

35:56nah kalau yang pakai

35:58server komponen

36:00dia bisa langsung read file-nya

36:02markdown-nya, gak perlu pakai API

36:04sekali jadinya dikirim udah berupa HTML

36:06sesimpel itu sih, jadi sanitize

36:08kan di atas ada tuh import sanitize

36:10HTML, nah itu semua

36:12urusannya server, udah yang dikirim

36:14ke browser

36:16klien, itu zero

36:18script gak usah import-importan

36:20betul, gak perlu pakai API

36:22lagi kan, karena markdown-nya

36:24bisa dibaca langsung

36:26itu tadi klien side

36:28iya ini kan

36:30klien side gak bisa baca markdown kan

36:32jadinya dia

36:34dia asumsikan

36:36kita punya API ini untuk baca file

36:38markdown

36:40jadi dengan ini kita bisa gabungin

36:42tuh yang API.js-nya

36:44gak perlu, kita masukin kesini aja

36:46terus abis itu sanitize

36:48nah ini udah bisa ditampilkan di browser

36:50nah ini ada

36:52masukan yang menarik dari Mas Irfan

36:54baca RSC

36:56di Parcel

36:58menarik

37:00Parcel Bundler ya

37:02Parcel.js apa-apa namanya

37:04Parcel.js.org

37:06Parcel.js

37:08RSC, ada gak RSC

37:10ada ada, oh ini

37:12recipes

37:16React Server Component

37:18are new type of component

37:20that render ahead of time on server

37:22or that build time

37:24Parcel 2.14

37:26sudah support

37:28contohnya

37:30oh ini install ya, install dulu

37:32standarlah ya, React

37:34Dom sama Parcel

37:36tapi Parcelnya RSC

37:38React Server Component

37:40can be integrated into existing

37:42client render SBA, for example

37:44written JSON from an API

37:46sama kayak tadi ya

37:48for a new feature you can render server component

37:50this can help reduce client bundle size

37:52by sending only the component needed

37:54to render the requested data

37:56and omitting heavy non-interactive

37:58component

38:00for example markdown renderer

38:02from the client bundle

38:04entirely

38:06set up target

38:08react client, react server

38:10terus ada

38:12start dan build

38:14create a server, ini pakai express

38:16ya contohnya

38:18standard

38:20render RSC

38:22dari Parcel

38:24dengan node

38:26command

38:28render RSC

38:30command component itu ada

38:32di ini

38:34iya

38:36oke

38:38yang di kirim, react server

38:40pakai stream ya

38:42ya

38:44jadi bisa parcial ya

38:46ngirimnya ya

38:48sedikit demi sedikit ya

38:50yes

38:52dia mengirim react tree ya

38:54yang di kirim adalah tree nya

38:56yang bisa di render jadi HTML

38:58yes

39:02lower level react API

39:04server entries, now we need to implement

39:06command component rendered above

39:08this is react server component

39:10it's only run on the server

39:12not in browser and has full

39:14access to server resource like file system

39:16or database

39:18use server entry is

39:20parcel specific ya

39:22iya, kalau yang use client

39:24use server kan

39:26use client use server itu next.js

39:28itu specific juga next.js ya

39:30ya cara next.js

39:32membetasi

39:34mana-mana

39:36hmm

39:38hmm

39:40oh ini yang sempet

39:42rame ya di

39:44next.js jadi kayak php ya

39:46ada use client use server

39:48terus ya

39:50bisa apa namanya

39:52bisa query langsung di component

39:54nulis sql

39:56nulis sql langsung di component

39:58karena dia udah

40:00di server kan

40:02jadi bisa ngapain aja sebenernya

40:04ya kita harus memperhatikan

40:06separation of concern juga

40:08jangan mentang-mentang bisa terus kita

40:10lotanya semua disini

40:12berbahaya

40:14ya lebih ke concern mana yang cocok

40:16untuk server, kayak misalnya query database

40:18itu ya emang kerjaannya server kan

40:20cuma jadi kita harus

40:22mindsetnya kita misalnya apa yang perlu

40:24di client ya kayak

40:26client set interactivity kan

40:28mencet button terus apalah

40:30ada yang kebuka atau ada

40:32buka atau buka

40:34kok jadi kayak meteor ya

40:36meteor itu ada client.js

40:38ada server.js

40:40oh iya betul

40:42baru inget gua

40:44meteor

40:46coba ya

40:48jadi sebetulnya

40:50itu kan bisa

40:52iya

40:54ada ga ya keliatan ga ya

40:56yang dia bisa

40:58client server di satu file

41:02ya

41:04kita sambil liat lagi

41:06ok

41:08face rrc

41:10rsc from the client

41:12to load server component on

41:14the client

41:16bisa ngirim rscnya langsung

41:18sebagai payload

41:20oh

41:22suspence ini dari client

41:24kemudian

41:26loading component

41:30terus di function comment nya

41:32itu fetch

41:34fetch nya ini dalam format

41:40apa ya? api?

41:42itu tadi

41:44react 3 kini ya

41:46yang dikitkan tadi dari server

41:48oh json3 ok ok

41:52jadi stream

41:56ada comment nya masih panto itu punya

41:58react oh use client

42:00oh yang ini punya react

42:02yang use server entry ini punya react

42:04engga itu punya

42:06parcel specific

42:08coba

42:10use client

42:12iya suspence sama

42:14use client

42:16use client punya oh

42:18use client punya react

42:20tapi use server entry punya parcel

42:22nah ini kesimpulannya

42:24iya ga standar ya jadinya ya

42:26bukan

42:28parcel nya

42:30parcel nya

42:32bikin use server entry ya

42:34buat kebutuhan dia sendiri

42:36kayak edukasi developer nya itu

42:38yang malas karena

42:40ribet

42:42masing-masing pakai ini sendiri ya

42:44kenapa dia ga pakai use server

42:46use server gitu

42:48takut bentrok kali

42:50sama react nya

42:54nah kan use client itu punya react

42:56use server entry punya parcel

42:58ok next

43:02lanjut ya ini udah

43:04terus client component use client oh yang ini ya

43:06use client itu standarnya ya

43:08terus standar react use client

43:10directive

43:12ok ini berarti

43:14server/lightbutton.js

43:16tapi ini akan dieksekusi

43:20di client ya berarti ya

43:22dan kodenya juga kode javascriptnya

43:24mau ga mau ini pakai javascript

43:26yang jalan di browser

43:28user kan di client saya

43:30nah itu semua kode yang

43:32udah di proses javascriptnya

43:34ya harus di load di browser

43:36agak rancu

43:38gara-gara folder server sih tapi ya ok lah

43:40engga dia tetep ada lightbutton

43:42tapi karena pakai ini kayak bukan

43:44rancu tapi sengaja

43:46membuatnya ada kontras

43:48di sini meskipun dia

43:50di server tetapi kalau kita

43:52pakai use client

43:54sebenernya dia dijalankan di dalam

43:56component nya yang ada di server

43:58yaitu comment tadi

44:00karena lightbutton itu part of comment

44:02oh iya HTML button nya tetep ada ya

44:04tetep dikirim kan tetep di proses ya server

44:06tapi yang kayak use state nya

44:08ya di skip aja di server

44:10dikirim ke

44:12ga di render

44:14di server

44:16ga di render

44:18iya

44:20di render button nya

44:22iya

44:24ok ok

44:26terus ini bagian

44:30yang server nya

44:32jadi waktu kita pakai lightbutton

44:36di sini

44:38semuanya tetep dikirimkan

44:40dari sisi server

44:42HTML HTML nya tetapi lightbutton itu

44:44hanya dikirim

44:46sebagai

44:48gua ga tau

44:50sebagai apa mungkin hanya si

44:52apa namanya

44:54si button on click nya itu aja

44:56tetapi tidak ada interactivity nya

44:58di server nanti di hydrate

45:00di local

45:02bisa dijalankan ga sih ada ga sih

45:06ini play button nya biar

45:08terlihat

45:10mau di itu

45:12demo

45:14pengen tau asilnya

45:16ada ripple nya tuh

45:18di atas kanan

45:20atas top header

45:22header ripple

45:24iya coba

45:26ya tapi

45:28kopal sendiri itu kan

45:30iya

45:32harus bikin sendiri

45:34coba oh ini ya install dulu

45:36ga usah sih ya udah di install

45:38atas atas

45:40rsc examples ripple

45:42complete examples

45:44nah apa poster disitu

45:46sample nya mana

45:54client server static

45:56ga maunya jalanin nya aja

45:58yang ini

46:00target

46:02package json

46:04client yaudah kita jalanin

46:06aja

46:08asik nih

46:10asik

46:12demo

46:14ya aja lo demo

46:16rsc parcel

46:22eh ga kelihatan ya

46:24belum

46:26ini kelihatan kan

46:28iya

46:30terus

46:32ini tadi

46:36install

46:38belum masuk ini

46:40belum masuk rsc parcel

46:42apa?

46:44belum masuk rsc parcel

46:46ya salah deh

46:48nantilah bersihnya

46:52oke

46:54dan temen temen nya

46:56ini bisa di copy kan

46:58copy aja ya

47:00copy

47:02pakai apa kita?

47:04ah ga sebuah

47:08package json

47:12eh jcn

47:14salah

47:16json

47:18json

47:20json

47:22json

47:24pake firebase ide

47:26belum sih

47:28firebase studio

47:30project ide x

47:32create server

47:36ini lengkap kan ya

47:38eh berarti kita harus install express dulu dong

47:42ha?

47:44install express kan?

47:46install

47:48ada ya?

47:52ga tau

47:54gaada tadi gaada

47:56gaada

47:58berarti belum lengkap

48:00ya sudah

48:02ya sudah

48:04berarti ini server.js

48:06tadi kayaknya server

48:10server/server.js deh

48:12eh bener ga sih?

48:16bener

48:18udah

48:20get comment

48:24content type x component

48:26oh content type nya x component ya

48:30ini nya apa?

48:32header nya

48:36ya header nya

48:38terus

48:40server entries

48:42ini server comments.js

48:44server/comments.js

48:46j nya besar ya

48:50now ya

48:54comments.js

48:56itu

48:58ya

49:00di geser kesini

49:02terus

49:04load

49:06src

49:08app.js

49:10oh kok jadi src?

49:12ya ok lah gapapa

49:14803.000 nya

49:16jalanin dulu

49:18ini ya jalanin dulu berarti ya?

49:20ya nanti

49:22ya nanti lah ntar dulu

49:24src

49:26slash

49:28app.js

49:30gini ya?

49:32ya

49:34sudah

49:36terus

49:38ee

49:42ini apa? comments.js tadi udah kan?

49:44oh ini kalau contoh buat

49:46oh iya

49:48buat contoh itu

49:50load data ya

49:52comments.js tadi udah kan?

49:54sudah

49:56comments.js

49:58ini kan gak ada db nya

50:00ya kita bikin aja ini apa namanya

50:02return stringify json

50:04palsu aja udah

50:06ya nanti lah

50:08ntar dulu

50:10terus yang di app.js

50:12ini udah?

50:14sudah

50:16sekarang like button

50:18.js

50:20yang comment juga udah ya?

50:22sudah

50:24sudah

50:26comment ini

50:28nanti dia akan mengirimkan

50:30yang comment.js ini ya berarti ya?

50:32yang dari server

50:34dari server

50:36nah sekarang

50:38di server like button.js

50:40ada use client

50:42sama

50:44berbagai component

50:46baru temui

50:48di dokumentasinya

50:50yang komen parcel itu ternyata

50:52ada quick start nya

50:54terus?

50:56sudah

50:58terlanjur ya?

51:00ya

51:02ya kalau scroll terus ke bawah

51:04nanti kalau udah nyerah

51:06bakal ada

51:08tinggal tambahin importnya

51:10di copy aja nih semua mas

51:12eh ini ya

51:14gak bisa gak bisa nanti ilang

51:16ada yang ilang db itu di ilangin

51:18ya itu aja

51:20yang server

51:22eh apa tadi comment nih?

51:24comments ya

51:26import

51:28dimana sih sini?

51:30terus sama like button ya?

51:32ya

51:34like button

51:36gitu? sudah?

51:38sudah

51:40terus?

51:42jalanin dulu ya?

51:44jalanin dulu ya?

51:46co-coating ya?

51:48npm start

51:52gak bisa

51:54parcelnya belum install?

51:58udah kan?

52:00kan udah di install semua harusnya

52:02iya udah di install dulu tadi

52:04npm

52:06udah ya?

52:08itu start nya

52:10oh iya dependency nya gak ada

52:12npm

52:14install tadi ini ya?

52:16ulang lagi

52:18nah

52:20udah

52:22lupakan npm ini

52:24gak bisa

52:26parcel not found

52:28ha?

52:30parcelnya juga ada deh kayaknya

52:32parcel

52:34gini?

52:36nggak tau

52:38bentar-bentar nyari

52:40contohnya

52:44ya

52:46npx aja gak bisa ya?

52:48npx parcel

52:50ganti ya

52:52npm tuh pake run

53:00kalau start gak perlu

53:02oh

53:04npx gak ada

53:06tapi ada npm create itu loh

53:08ini loh npm

53:10npm create parcel

53:12loh ini kan udah di dalam parcel?

53:14iya

53:16di project yang itu

53:18oh ya

53:20udah cancel-cancel

53:22npm install parcel

53:24berarti ya?

53:26iya

53:28oke

53:32udah ada?

53:34parcel

53:36npm start

53:38npm start

53:40nah

53:42error

53:44oh gak ada source index

53:46source index

53:48gak ada

53:50index html

53:52cari contekan yang

53:54ada dulu ya

53:56html 5 bisa gak nih?

53:58oh gak bisa

54:00body

54:02rst

54:04kalau udah

54:06dia gak ini ya? gak otomatis ya?

54:08oh error lagi

54:10course, kok ada course nya?

54:12oh buat ngirim ya

54:14npm install course

54:16bener kan?

54:18iya bener

54:20error lagi

54:22apa ini?

54:24ini namanya

54:30bug driven development

54:32error driven development

54:36ini apa?

54:38pake cursor

54:40quick start

54:44ada env kali?

54:46ada env debug

54:48kenapa error nya?

54:50emang cursor udah ngerti dia

54:54rst

54:56kalau udah contohnya

54:58quick start nya mana quick start? coba quick start

55:00itu tadi

55:02npm create parcel

55:04bikin folder baru aja

55:06oke

55:08ini ya

55:10npm create ini ya?

55:12oh bikin lagi dari awal

55:14baiklah

55:16eh langsung init

55:26dia langsung kirim ini nih

55:34npm start

55:38error juga

55:44oh yang tadi belum di stop

55:46masa?

55:48yang tadi udah jalan sebenernya mas

55:50cuma ada error aja tapi jalan

55:52tapi kan masih jalan

55:54udah

55:56udah jalan nih

56:02terus ngapain?

56:04bikin npm start

56:06create a server

56:08oh sama

56:10di create kan

56:12kita liat ini ya

56:14kita liat

56:18package yang tadi

56:20package yang tadi

56:22package yang tadi di

56:24localhost 3000

56:26sama

56:28kita liat ya

56:30tapi gaada server

56:32adanya page

56:34counter, oh beda ya

56:36beda ini ya, beda contoh ya

56:38localhost 3000

56:40parser react server app

56:42this page is react server

56:44component

56:46edit src page.jx

56:48to get started

56:50client component

56:52nah coba buka javascript

56:54matiin javascript deh

56:56matiin javascript

57:00command shift v aja

57:02itu loh

57:04gue ga asal dong

57:06mortals

57:08command shift v aja

57:14command shift v

57:16disable javascript

57:18susah susah

57:20amat

57:22tuh bisa

57:24tapi ini gabisa kan? nah ini gabisa jalan

57:26karena javascriptnya tidak nyala

57:28tapi kan dikirimnya

57:30terbukti dikirimnya html kan

57:32sebut button button nya muncul

57:34cuma gabisa diklik aja

57:36coba

57:38ini bisa, ga ngaruh ya

57:40iya, coba kita enable lagi

57:46enable javascript

57:48langsung bisa? belum

57:50harus refresh ya

57:52loh gabisa di refresh

57:56kok gabisa refresh?

57:58nah udah

58:00kok gabisa?

58:02kaya loh

58:04eh salah

58:06apa sih?

58:08janyan belum di enable

58:10javascriptnya

58:12udah

58:14oh iya udah

58:16udah kan?

58:18kok jadi gabisa?

58:20ga tau

58:22gabisa diklik

58:24matikan devtools

58:26tutup devtools

58:28maksudnya di enter ulang

58:30oh bisa

58:32ini kodanya kaya gimana?

58:36jadi

58:38page.tsx

58:40ini ya

58:42ini standard import client

58:44ini server ya

58:46ga kelihatan ya

58:48bentar bentar

58:50banner nya kita hilangkan dulu ya

58:52nah

58:54ini server entry

58:56berarti ini server

58:58component ya, ini server component

59:00HTML standard

59:02form nya juga standard

59:04action nya ini adalah

59:06action nya apa tuj?

59:08dari sini

59:10action.tsx

59:12fungsi

59:14form, submit form ya

59:16tapi ini di execution

59:18di sisi server ya

59:20berarti itu userfer

59:22yang tadi dibilang sama

59:24mas Irvan Molana itu

59:26userfer dan client adalah

59:28direktifnya react

59:30tapi kalau userfer entry

59:32baru punya parcel

59:34bayangin deh

59:36kalau kita ngelitin

59:38kita mau soalan adopsi

59:40react server component kita harus

59:42mastiin semua anggota tim kita

59:44paham ini semua

59:46mas Irvan ini ada

59:48ini juga kalau mas Irvan tenang aja

59:50saya udah pake banyak

59:52sama kita

59:54tenang tenang

59:58direktif userfer ini ada

1:00:00penemuan kocak lagi nih

1:00:02buka link yang di private chat

1:00:04jadi

1:00:06userfer itu

1:00:08client kan jelas saya tadi menandakan

1:00:10client component itu punya react

1:00:12userfer juga

1:00:14punya react, tapi

1:00:16itu bukan direktif untuk server

1:00:18component, jadi react server

1:00:20component adalah server side by default

1:00:22nah tapi userfer itu

1:00:24menandakan server function

1:00:26ada yang namanya server function

1:00:30ini userfer ini

1:00:36berarti ini valid javascript ya

1:00:38punya nya react

1:00:40oh punya nya react

1:00:42valid javascript ini valid javascript

1:00:44karena itu kan cuma komen mas

1:00:46bukan komen ini, string

1:00:48sorry string doang

1:00:50string doang DJSM

1:00:52harus gini kan

1:00:54harus gini kan

1:00:56itu statement

1:00:58statement bukan declaration

1:01:00ya ini cuma kayak

1:01:02string udah gitu doang

1:01:04mas Jelisah bisa bikin

1:01:06string ngobrolin wait

1:01:10terus di enter juga gak apa-apa

1:01:12rusak

1:01:14coba ya

1:01:18error gak

1:01:22iya gak error

1:01:24ga error ya

1:01:26tulis aja string

1:01:28lho inspect element nya rusak

1:01:30gak bisa di clean

1:01:32error berarti

1:01:40coba ya

1:01:42iya gak bisa

1:01:44kutup aja kutup

1:01:46tutup ya

1:01:48tutup, nyalain lagi ya

1:01:50ya di itu

1:01:52lain aja di tab line

1:01:54nah buka console

1:01:56ketik

1:01:58use anything

1:02:02ya cuma dibalikin aja

1:02:04oke oke oke

1:02:06ketik ngobrolin wait juga boleh

1:02:08oke

1:02:10ini server

1:02:12terus action nya juga server

1:02:14apa lagi

1:02:16input nya

1:02:18name

1:02:20yang counter pengen liat

1:02:22counter kan dia client side

1:02:24use client

1:02:26nah yang mau saya liat itu

1:02:28coba liat di ini dong

1:02:30di stream nya mas Riza

1:02:32di devtool di stream

1:02:38apa dia

1:02:40gini dia kirimnya stream bukan

1:02:42kayak tadi stream bukan

1:02:44kalau server txx

1:02:46oh beda cara kirimnya ya

1:02:52sama yang tadi ya

1:02:54render request

1:02:56ini render request dari mana

1:02:58dari parcel

1:03:02oke, mau liat apa

1:03:06yang mana tadi ini

1:03:08yang disebelah kiri itu apa

1:03:10yang ada tree gitu sebelah

1:03:14sebelah kirinya yang sini

1:03:16caranya nampilnya gimana ya

1:03:18tree apa sih

1:03:20yang ada daftar

1:03:22daftar

1:03:24file

1:03:26disini itu biasanya

1:03:28source ya

1:03:30bukan, ya ini

1:03:32kayak gini tapi disini, di network

1:03:34nggak ada ya

1:03:36refresh dulu

1:03:38oh ini maksudnya

1:03:40file-file nya

1:03:42biasanya di sebelah kiri

1:03:44nah

1:03:48sekarang coba hapus

1:03:50coba hapus ini mas Riza

1:03:52itu kan ada space.js

1:03:54suatu komo suatu

1:03:56itu

1:03:58gede banget

1:04:00bukan ada hot reloading kali

1:04:02terus ini

1:04:04di hapus

1:04:06coba masuk ke

1:04:08yang tadi page.txx

1:04:10hapus yang button componentnya

1:04:12hapus, ya di comment aja

1:04:18counter, ya hapus

1:04:20sama button

1:04:22componentnya di hapus

1:04:24aja dulu

1:04:26safe

1:04:32refresh

1:04:34refresh coba

1:04:36gini

1:04:38refresh

1:04:40hilang

1:04:42ada

1:04:44jadi 0

1:04:48berkurang

1:04:500,1 mega

1:04:52nah cuma ini kan

1:04:54daftar paranya

1:04:56sebesar itu

1:04:58dan ada jsnya karena

1:05:00dia hot reload kan

1:05:02iya karena ada hot reload segala macem

1:05:04jadinya gede, kalau di ini

1:05:06npm

1:05:08build

1:05:10udah dikasih build commandnya belum ya

1:05:14sudah harusnya ya

1:05:16npm run build

1:05:18nah kalau

1:05:20npm build, npm run

1:05:22build, atau dev, atau yang lain ya

1:05:24kalau start sama

1:05:26test itu nggak perlu pakai run

1:05:28page nya 194

1:05:30tetap gede ya

1:05:32apa masih ada

1:05:34kan janjinya

1:05:36kalau nggak ada server client side

1:05:38nggak usah di kirim gitu kan

1:05:40janjinya begitu

1:05:42use client nya coba di comment out deh

1:05:44di page.txx

1:05:46page.txx atas

1:05:50nah import client

1:05:52coba di hilangin

1:05:54build lagi berubah ya

1:05:56belum di save

1:05:58udah

1:06:00kecil sih

1:06:02jadinya

1:06:04berubah nggak sih?

1:06:06berubah, berubah

1:06:08jauh jauh

1:06:10tetap gede

1:06:12tetap gede

1:06:14kita liat server

1:06:16tetap gede ya

1:06:22ini ada faktor apa ya

1:06:24jadi begini doang ya

1:06:26sebagai anak

1:06:32coreware vital

1:06:34berarti belum sesuai ekspektasi ya

1:06:38belum tau pakainya kali ya

1:06:42belum tau caranya ya

1:06:44ya tapi berarti

1:06:46belum segampang, belum semudah

1:06:48itu untuk diadopsi, terus

1:06:50yang kayak dengan ngejalanin

1:06:52dengan template starter

1:06:54terus yang kecil banget

1:06:56nggak se magic gitu ya

1:06:58iya

1:07:00kalau template itu ya berarti

1:07:02no javascript kan janjinya itu tadi

1:07:04iya

1:07:06cuma ternyata kompleks

1:07:08dan banyak kayaknya

1:07:10setelah dilihat dari dokumentasinya react

1:07:12ada beberapa mesej selain

1:07:14perkara tadi use client, use server

1:07:16ya kayak concept server function

1:07:18juga masih harus di pelajarin

1:07:20tuh

1:07:22itu tadi

1:07:24use server itu

1:07:26ini soal semantik sih

1:07:28jadi kayak use server itu bukan menandakan

1:07:30server component

1:07:32tapi menandakan server function

1:07:34nah mampus

1:07:36server function itu apa

1:07:38dia bisa mengesuasi

1:07:40fungsi di sisi server gitu ya

1:07:42bisa di

1:07:44berjalan di sisi server

1:07:46bisa dipanggil dari client

1:07:48itu

1:07:50itu

1:07:52itu

1:07:54itu

1:07:56itu

1:07:58itu

1:08:00itu

1:08:02itu

1:08:04itu

1:08:06oh

1:08:08ok

1:08:10ok

1:08:12ok

1:08:14ok

1:08:16yang ini bukan react photo

1:08:18computer seingat gue sih

1:08:20bener gak

1:08:22coba liat

1:08:24videonya

1:08:26jangan iklan dulu

1:08:28nah ini

1:08:30ini kan

1:08:34yang dia buat

1:08:36ini bukan

1:08:38bukan ya

1:08:42kayaknya iya

1:08:44yang

1:08:46yang demo nya itu kayak

1:08:48windows

1:08:503.11 bukan ya

1:08:52bukan ya

1:08:58bukan ini

1:09:00ada yang lebih simple yang dia kayak

1:09:02lebih

1:09:04lebih

1:09:06lebih sederhana lagi

1:09:08karena dia bikin step 1

1:09:10step 2

1:09:12hmm

1:09:14tapi sudah mulai dapet

1:09:20pencerahan dari topik malam ini

1:09:22kebayang

1:09:24ya ini penting itu ya

1:09:26jamanan besar nya kebayang

1:09:28tapi kalian suruh ngerjain

1:09:30kayak belum ada

1:09:32headspace yang cukup

1:09:34serahkan kepada

1:09:36framework

1:09:38mas Irfan ini bagus deh

1:09:40tapi di muncul-munculin komennya aja

1:09:42karena kita belum pakai

1:09:44kita belum munculin komen yang kita pakai

1:09:46dari agak atas sedikit aja tuh

1:09:48selama masih ada use client

1:09:50ini ya

1:09:54use client new server direktif yang datang langsung dari react

1:09:56bukan punya next.js doang

1:09:58selama masih ada

1:10:00client, use client

1:10:02gak akan kerasa overall performance

1:10:04improvement dari RSC

1:10:06karena pas ada use client

1:10:08kita perequest di AS

1:10:10ketolong case aja kalau di next.js

1:10:12hmm oke

1:10:14tapi setidaknya gak semua

1:10:16ya gak semua

1:10:18tapi ada satu aja button yang butuh

1:10:20client side interactivity like button

1:10:22atau apapun ya kita butuh react ya

1:10:24berarti apa konsekuensinya

1:10:26oh oke

1:10:28oke kalau dibandingkan

1:10:30dengan itu si apa

1:10:32astro punya

1:10:34island

1:10:36architecture

1:10:38mendingan mana

1:10:40bundle size naik

1:10:46tapi perceive performance

1:10:48berasa lebih kencang

1:10:50oh bundle size nya mungkin lebih gede gitu ya

1:10:52tapi pada saat dijalankan

1:10:54malah jadi berasanya lebih cepat ya

1:10:56dari page router

1:11:00udah terbiasa server side

1:11:02dulu kita ngoding server side di block yang terpisah

1:11:04nah perbedaannya jelas

1:11:06antar code client server

1:11:08kalau sekarang jadi digabung gitu ya

1:11:10jadi ke gabung gitu

1:11:12dibisah juga cuma pake

1:11:14caranya ngikutin cara-caranya

1:11:16server component react server component

1:11:18kita ngoding server side langsung

1:11:20di dalam render function

1:11:22di dalam component

1:11:24ini berpotensi kayak dulu pas pertama kali

1:11:26oh iya bener

1:11:28bener bener

1:11:30kalau kita gak aware banget sama use server

1:11:32dan use client gitu

1:11:34jadi bisa ketukar-tukar ya karena sama

1:11:36antara code

1:11:38di server sama code di client kan sama

1:11:40kalau dulu misalkan sama-sama javascript lah

1:11:42yang satu kita pake

1:11:44express yang satu pake react

1:11:46walaupun sama-sama javascript

1:11:48tapi kan beda ya yang satu kita

1:11:50bikin component yang di express kan

1:11:52bukan komponen react kan

1:11:54iya ini dua-duanya react

1:11:56nah terus kok kebayangnya nih

1:11:58skenario apa maksudnya oke lah

1:12:00pas tim react bikin react server

1:12:02component niatanya

1:12:04mulia gitu maksudnya objektifnya

1:12:06bagus di lapangan karena pusing

1:12:08tiba-tiba daripada breaking nanti

1:12:10baunya semua use client

1:12:12use client semua

1:12:14sama juga bo'ok

1:12:16iya semuanya use client ya

1:12:18oh ketemu nih ketemu

1:12:20Ivan

1:12:22dan ketemu nih videonya nih

1:12:24ini bukan

1:12:26iya ini dia

1:12:28react from another dimension

1:12:30bener kan

1:12:32yes betul

1:12:34hebat aja nih

1:12:36ini masih bisa

1:12:38ini ya

1:12:40pasti yang dia nyari pesan saya

1:12:42di whatsapp group ya

1:12:44engga

1:12:46yang di youtube kali ini

1:12:48tuh kan windows kan bener kan

1:12:50ingetnya windows ini

1:12:52tapi betul yang itu

1:12:56dia beneran jalanin

1:12:58di ea gitu maksudnya

1:13:00sombongnya dia

1:13:02kurang tau ya kayaknya iya

1:13:04iya

1:13:06dia pake vm gitu engga

1:13:08iyalah

1:13:10iya kan

1:13:12iya

1:13:14jadi react bisa jalan

1:13:16di ea gitu maksudnya

1:13:18oh karena

1:13:20tapi server component

1:13:22iya remixnya

1:13:24server component

1:13:26iya pake mark wii lagi

1:13:28kan bukan sistema sama windows

1:13:32jadi mendingan astro aja sekalian ya

1:13:36yang island architecture ya

1:13:38nah tapi kalo ngomong astro

1:13:42ada artikel yang menarik

1:13:44jadi sebenernya bahas server component ini

1:13:46terinspirasi oleh

1:13:48artikelnya mas jen abramov juga

1:13:50jadi beliau

1:13:52karena dia bikin artikel yang judulnya

1:13:54rsc for astro

1:13:56developers, nah gara-gara baca

1:13:58artikel ini nih jadi

1:14:00dapetin dia pengen melek

1:14:02rsc, tapi ini

1:14:04sebetulnya

1:14:06ga ada hubungannya sih maksudnya apa

1:14:08ini

1:14:10bikin analogi untuk membantu developer

1:14:12yang sudah menggunakan astro

1:14:14yang udah pake astro

1:14:16udah punya mental modelnya pake astro

1:14:18component, nah itu dipake buat

1:14:20dimanfaatin si mas

1:14:22dan ini untuk nyalasin rsc

1:14:24itu apa ya baca

1:14:26sendiri aja menarik kalo

1:14:28yang buat yang cuma ini berguna

1:14:30cuma buat yang udah

1:14:32pake astro sih, udah pernah menggunakan

1:14:34astro ya, ini sama ya

1:14:36contohnya lag button juga ya

1:14:38jadi pertama dia tunjukin

1:14:40persamaannya antara

1:14:42astro components dengan

1:14:44react server dan client components

1:14:46terus dia ga outline beberapa

1:14:48perbedaannya juga ya intinya gitu

1:14:50ini astro

1:14:52ini react ya

1:14:54perbedaan mendasarnya apa?

1:14:56perbedaan mendasarnya

1:14:58paling signifikan

1:15:00ya dua-duanya pake react kalo rsc

1:15:02dan apa

1:15:04react server components dan

1:15:06client components, nah

1:15:08scroll ke bawah lagi aja dia

1:15:10jelasin

1:15:12ya ini dia ngasih contoh ya itu yang di atas

1:15:14tadi kalo di astro

1:15:16itu yang server side adalah

1:15:18astro component dan astro

1:15:20terus dalemnya

1:15:22maksudnya di dalem

1:15:24astro component itu kita bisa

1:15:26input front end

1:15:28atau client component

1:15:30pake react, pake scroll, pake view

1:15:32dan lain-lain, kalo ini

1:15:34server dan client

1:15:36nah ke bawah lagi

1:15:38kalo mau liat

1:15:40perbedaannya

1:15:42nah mental module

1:15:44dia bilang

1:15:46si mas Dania bilang mental module nya itu

1:15:48ya cukup sama lah

1:15:50kalo udah ngerti astro

1:15:52sudah punya 80% mental module nya

1:15:54tapi dia sambil ngiklanin

1:15:56apa? ngiklanin astro gitu

1:15:58even if you think

1:16:00react server components are a terrible idea

1:16:02astro is worth learning

1:16:04nah terus apa?

1:16:06perbedaan dalam hal

1:16:08syntax nya itu

1:16:10like astro component

1:16:12rsc itu function javascript biasa

1:16:14nah prop

1:16:16ya javascript lah

1:16:18prop nya datang dari

1:16:20function argument

1:16:22ga ada templating

1:16:24language nya sendiri

1:16:26terus apa? memisahkan

1:16:28server side dan client side nya

1:16:30juga lain

1:16:32caranya si react

1:16:34nah terus

1:16:36bahwa lagi yang ketiga

1:16:38kalo astro ada directives khususnya

1:16:40client load, mesti load

1:16:42langsung atau

1:16:44apa itu, pake intersection observer

1:16:46nah kalo misalnya

1:16:48react, ga

1:16:50reference syntax files

1:16:58versus client island

1:17:00create a sharp and obvious visual

1:17:02distinction between two worlds

1:17:04nah ini penting juga ini

1:17:06yang tadi kita bahas kan

1:17:08ya sama-sama react

1:17:10react di component

1:17:12di server sama di client side

1:17:14jadi component astro dan tidak

1:17:16bisa jadi client island

1:17:18tadi

1:17:20di parcel tadi contohnya

1:17:22saya lihat

1:17:24di server

1:17:26component nya dia pakai

1:17:28ts kalo di

1:17:30salah kebalik ya

1:17:32tsx

1:17:34kayaknya ada perbedaan itu deh tadi

1:17:36kayaknya yang client side

1:17:38coba buka tadi

1:17:40z tadi

1:17:42action nya server side component

1:17:44dia pakai ts

1:17:46action.ts itu kan server side

1:17:50ini yang tidak ada component

1:17:52react, kalo yang ada server yang ada

1:17:54component react pake tsx

1:17:56kalo ini cuman

1:17:58murni javascript atau typescript aja

1:18:00javascript biasa ya

1:18:04ya ga perlu x nya

1:18:06sorry ga jadi, salah-salah

1:18:08ini kan yang tadi kita bahas ya

1:18:14ya

1:18:16since doesn't have

1:18:20use any client or server

1:18:22it could be imported

1:18:24on either side

1:18:26if you import from server world it act

1:18:28like an astro component

1:18:30but if you import

1:18:32from client world

1:18:34client island

1:18:36nah kalo di rsc stuff imported

1:18:40from server world

1:18:42akan berjalan di server

1:18:44nah tuh you'll be first to cut a door

1:18:50with use client

1:18:52put a blessing

1:18:54and a curse

1:18:56cut a door ini maksudnya apa ya

1:19:00iya maksudnya shortcut

1:19:02and stuff

1:19:04kalo ada hal-hal yang

1:19:06tidak bisa jalan di salah

1:19:08satu, jadi kalo misalnya

1:19:10ada suatu

1:19:12fungsi atau kode yang jalan

1:19:14di dua-duanya ga masalah, tapi kalo misalnya

1:19:16ga sengaja misalnya

1:19:18yang cuma jalan di client atau jalan di server

1:19:20itu kan bakal bisa

1:19:22build error kan

1:19:24jadi use client

1:19:26use client semua

1:19:28ini mental modelnya yang

1:19:30agak susah nge-switch ya

1:19:32antara server sama client ya

1:19:34dimana nih lagi di mana nih

1:19:36lagi di client apa lagi di server ya

1:19:38kodingnya sama-sama aja nih mirip-mirip

1:19:40kalo koding kode yang pas disitunya

1:19:42langsung masih agak gampang ya

1:19:44tapi kalo udah import mengimport

1:19:46belom kalo third party library

1:19:48itu mulai pusing itu

1:19:50betul-betul

1:19:52masalahnya kalo di satu file itu gapapa

1:19:54tapi ini sudah di dalam-dalam file yang lain

1:19:56iya

1:19:58sudahlah kita pake htmx aja gimana

1:20:10hahaha

1:20:12ya aja bereskan

1:20:14ya aslo kalo usah htmx

1:20:16udah bisa ya

1:20:18hahaha

1:20:20pada bingung-bingung

1:20:22maling ke htmx aja gimana

1:20:24hahaha

1:20:26pusing ya

1:20:28aduh

1:20:30jadi

1:20:32eksplorasi kita malam ini

1:20:34berhasil

1:20:36apa ya berhasil sedikit

1:20:38mendapat gambaran tapi kok

1:20:40malah engga nunakan ya

1:20:42mendapat gambaran setelah dapet gambaran

1:20:44jadi oh yaudah nanti dulu aja deh

1:20:46kalo saya engga oin ke

1:20:48setelah dapet gambarannya

1:20:50biasa kan kita jadi

1:20:52excited nih jadi pengen coba

1:20:54gini dapet lo

1:20:56nanti dulu deh

1:20:58hahaha

1:21:00ini malah jadi justify ya nanti aja

1:21:02yang penting paham inti-intinya aja

1:21:04tapi yaudah nanti aja

1:21:06saya udah paham kulitnya nih

1:21:08kalo mau dalami ya tunggu

1:21:10ada projectnya aja dulu

1:21:12tunggal ada case nya

1:21:14sebutuhannya baru

1:21:16misalnya ada kesempatan

1:21:18bisa pake

1:21:20RSQ sekalian kita

1:21:22ga terlalu seambisius itu kalo misalnya projectnya

1:21:24misalnya orangnya banyak reboot

1:21:26atau deadline nya mepet

1:21:28ya jangan sol-sol enteng

1:21:30engga mau kalo deadline mepet gue engga mau pake

1:21:32hahaha

1:21:34ya ini mau buat kamu santai banget aja

1:21:36hmm

1:21:38jadi balik lagi ya

1:21:40astro for the win

1:21:42tapi bakal kangen sama

1:21:44ekosistem react

1:21:46kalo moding astro

1:21:48kita client side nya react semua aja

1:21:50client side nya react juga tetep

1:21:52ga bantu ya, ga bantu menghilangkan

1:21:54ke kangenan

1:21:56oh begitu muka astro

1:21:58aduh kangen react

1:22:00saya suka react

1:22:02wah ini fans sejati ya

1:22:04prakteknya bakal begitu kalo ada

1:22:08justify dimana-mana

1:22:10iya jadi

1:22:12iya

1:22:14kedepannya ada

1:22:16ada yang ngobrolin spell

1:22:18engga kita udah

1:22:20ngomong-ngomong, kita udah pindah ke astro

1:22:22sorry ya

1:22:24astro client side nya swell

1:22:26tetep aja samung-sambungin

1:22:28client side komponenya swell

1:22:30tapi pake astro

1:22:32iya

1:22:34kita udah jarang ngomongin spell

1:22:36salah satunya gara-gara ya astro juga

1:22:38yang menyebabkan kita jadi

1:22:40berpindah

1:22:42kan soalnya dulu

1:22:44iya

1:22:46dulu pertama kali kenal eka

1:22:48ngobrol apa di

1:22:50meet up nya spell malah ya

1:22:52kita sama-sama ngulik spell tuh ya

1:22:54sekarang malah ga pernah

1:22:56ngobrolin spell tuh ya

1:22:58htmx

1:23:00htmx lah

1:23:02iya

1:23:04yang di bangkok

1:23:06jazz

1:23:08pake htmx

1:23:10kayaknya separation of concern nya

1:23:12lebih mending disitu ya

1:23:14dengan otak

1:23:16yang sudah terbiasa

1:23:18membedakan antara

1:23:20server sama client

1:23:22kalau di gabung-gabung malah jadi pusing

1:23:24di htmx mesti harus pake web socket

1:23:26atau dia pake

1:23:28resapi

1:23:30pake resapi bisa

1:23:32bisa

1:23:34misalnya server nya ga bisa web socket

1:23:36contohnya

1:23:38bisa-bisa

1:23:40iya justru

1:23:42basic nya itu

1:23:44kalau web socket justru harus pake extension malah

1:23:46by default nya dia pake

1:23:48resapi

1:23:50tapi jenis respons nya

1:23:52apa sih html ya

1:23:54iya

1:23:56tapi html masih potong doang

1:23:58potong doang

1:24:00yang dibutuhkan aja

1:24:02apa nih

1:24:04kalau pake nsds semacam di nsforce

1:24:06makin kesini makin sulit ngoding

1:24:08kecuali pegang legasi app

1:24:10jadi dipaksa untuk ke app router ya

1:24:12iya halus

1:24:14sebenernya kita ga usah update aja

1:24:16solusinya misalnya kita pake yang 12

1:24:18di lock ya

1:24:20nah di lock

1:24:22itu tadi

1:24:24kecuali kita punya waktu dan tenaga

1:24:26lebih buat ngulik dengan segala

1:24:28konsekuensinya

1:24:30kecuali yang pegang legasi app

1:24:32saya sarankan berpindah ladar

1:24:34nsds

1:24:36ngudah ganti yang lain aja

1:24:38apa? ten stack ya

1:24:40nah tuh

1:24:42baru kita bahas

1:24:44ten stack yang besar

1:24:46ten stack menariknya

1:24:48rastro ada

1:24:50rastro ada

1:24:52spell kit masih ada

1:24:54spell kit tapi versel-versel juga

1:24:56phoenix apa lagi

1:24:58kalau phoenix kan udah bukan nilai script

1:25:02biar phoenix apa?

1:25:04sama satu lagi

1:25:06yang pernah kita bahas satu lagi framework

1:25:08yang cukup lengkap apa?

1:25:10redwood udah pivot

1:25:12jadi dua itu

1:25:14sekarang udah pivot

1:25:16jadi dua

1:25:18yang legasi itu

1:25:20redwood graphql atau semacamnya

1:25:22terus yang baru di desain kursus

1:25:24untuk cloudflare

1:25:26itu namanya

1:25:28redwood sdk

1:25:30iya itu

1:25:32udah potensi

1:25:34fedor lock-in juga

1:25:36jadinya

1:25:38oh sangat, kalau itu dari awal emang bilang

1:25:40desain for cloudflare workers

1:25:42kalau buat kerjaan itu

1:25:44nggak bisa dapet buy-in deh

1:25:46pake redwood apapun sebenernya

1:25:48kalau alternatifnya nsds yang establis

1:25:50ya itu pake basically

1:25:52yang kayak laravel

1:25:54tetep kalau buat

1:25:56kerjaan nsds itu kayaknya

1:25:58yang relatif gampang dapet buy-in ya

1:26:00orang udah familiar

1:26:02atau alternatifnya ya itu

1:26:04laravel tapi front-endnya ya

1:26:06silahkan pilih, pake ryak bisa

1:26:08swell bisa, view bisa

1:26:10jadi saran saya itu ya

1:26:12cobalah pake yang namanya

1:26:14hype development

1:26:16jadi ada sesuatu yang baru

1:26:18personal project lah

1:26:20oh personal project beda silahkan

1:26:22kalau project yang sudah

1:26:24setengah jalan cabut dari company itu

1:26:26terus tambahin di link-in

1:26:28oh itu bukan hype development namanya

1:26:30link-in driven development

1:26:32tapi banyak musim gitu berarti

1:26:36tiap tinggalin suatu

1:26:38tempat kerja, dimusimin semua

1:26:40tim yang harus maintain kerjaannya

1:26:42hati-hati di blacklist ya

1:26:44hati-hati di blacklist

1:26:46itu enemies

1:26:48driven development

1:26:50jangan, jangan lakukan itu ya

1:26:54malah sebaliknya justru harus

1:26:56baliknya ya

1:26:58tapi kalau pake yang lama terus kapan

1:27:00majunya?

1:27:02kan jarang ini misalkan nih

1:27:04pas di interview kan

1:27:06apa achievement di kantor sebelumnya

1:27:08di kantor sebelumnya saya berhasil

1:27:10reflektor dari microservice

1:27:12menjadi monolith

1:27:14jarang kan belum ada kan? unik itu

1:27:16yang ada dari monolith ke

1:27:20microservice ini kita balik

1:27:22pas siap pergi ternyata

1:27:24emang butuhnya monolith

1:27:26jadi teman sendiri harus ngerepak

1:27:28orangnya cuma sedikit, kalau pakai microservice

1:27:30capek-capekin aja, jadi banyak

1:27:32birokrasinya, mendingan monolith

1:27:34gitu

1:27:36iya, tenstack

1:27:40tenstack kayaknya santai banget ya

1:27:42kita bahasin kemarin ya

1:27:44design-nya kan keren banget

1:27:46tapi kita belum bahas yang startnya ya

1:27:48kita belum bahas

1:27:50tapi kemarin bahas

1:27:52tenstack ecosystem atau tenstack universe

1:27:54ecosystem, universenya

1:27:56si, siapa namanya? tenner

1:27:58mas tenner, ternyata yang bikin namanya

1:28:00tenner tadinya, apalagi

1:28:02pantai itu karena tending di pantai

1:28:04ternyata bukan

1:28:06blade plus jquery, blade ini berarti

1:28:08laravel ya

1:28:10templatingnya laravel

1:28:12laravel ya, plus jquery ya

1:28:14lebih bagus dari

1:28:16ya kalau mau yang modern sedikit, pakai apa?

1:28:18inersia

1:28:20inersia, blade tambah jquery

1:28:22tambahin backbone

1:28:24backbone masih di develop ya?

1:28:28harusnya masih

1:28:32kayak gak segampang itu ya library lama mati

1:28:34jquery-nya aja

1:28:36masih hidup

1:28:38jquery-nya

1:28:40jquery-nya

1:28:42jquery-nya masih hidup

1:28:44cuman kan

1:28:46kalau project baru, masih ada yang

1:28:48jquery

1:28:50masih

1:28:52jquery kan sudah mau ini kan

1:28:54sudah lagi di develop

1:28:56lagi kan, sudah jquery berapa sekarang?

1:28:58ya, pertanyaannya

1:29:00temen-temen yang pakai jquery

1:29:02itu jquery-nya dipakai buat apa?

1:29:04buat query selektor doang

1:29:06atau yang lain

1:29:08kalau query selektor dulu udah

1:29:10bisa funny lah

1:29:12oh masih, backbone masih

1:29:14bulan lalu masih

1:29:16di commit, bulan lalu

1:29:18luar biasa ya

1:29:20bakal lucu sih kalau akunnya jquery

1:29:22bilang "kami akan menunjukkan jquery

1:29:24server component"

1:29:26itu baru keren tuh

1:29:28stress semua

1:29:30jquery server component

1:29:32boleh tuh, buat ini

1:29:34april mob

1:29:36april mob

1:29:38ya masalahnya kita gak manage

1:29:40akunnya jquery

1:29:44oh itu, minta tolong mas Arya aja

1:29:46mas Arya kan dia ada di

1:29:48itu kan, git hub

1:29:50organisasinya jquery kan

1:29:52ya se ide buat

1:29:54apa for yang april mob

1:29:56jquery server component

1:29:58jsk

1:30:02jsk

1:30:04oke lah

1:30:06voting, voting, voting

1:30:08oh iya, voting

1:30:10minggu depan kita bahas apa

1:30:12ada ide, ada ide

1:30:14coba cek dulu

1:30:16ada satu svel sebelumnya

1:30:18kita belum pernah bahas

1:30:20kumpas to tas astor

1:30:22belum ya, kita baru sebut

1:30:24server, island architecture

1:30:26belum benar-benar deep ya

1:30:30belum benar-benar deep

1:30:32teman-teman yang mau

1:30:34apa, komen atau mau

1:30:36ide

1:30:38boleh ke kesana.in/

1:30:40terus ngobrolin web, nah yang punya kesana.in

1:30:42ada disini

1:30:44terus tiba-tiba yang ngobrolin web

1:30:46kita di alihkan ke google

1:30:48di alihkan ke google

1:30:52di robah isi ininya

1:30:54dari targetnya

1:30:56tuh, yang paling atas masih

1:31:00masih Irvan juga

1:31:02web security kita belum lanjut ya

1:31:04yang part 2

1:31:08hmm, apa nih

1:31:10udah habis keling sih

1:31:12kita kan mau ada

1:31:14rencana bulan juni nanti

1:31:16sama mas Donny

1:31:18dokumentasi

1:31:22dokusaurus kan

1:31:24pernah bahas dokusaurus

1:31:26tuls-tuls dokumentasi ya berarti ya

1:31:28lebih ke tulsnya ya

1:31:30oke, kita bikin dulu

1:31:32pollingnya

1:31:34topik minggu

1:31:36depan

1:31:38tools

1:31:40dokumentasi

1:31:42dokumentasi

1:31:44terus yang kemarin tuh CLI, mau CLI

1:31:46oh iya CLI

1:31:48apa

1:31:50CLI tools ya

1:31:52CLI design

1:31:54and development

1:31:56sedap

1:31:58design and development

1:32:02apa lagi, perlu itu

1:32:04svel

1:32:06atau astro aja lah

1:32:10astro ya

1:32:12belum update lagi tentang astro

1:32:14astro atau 10 stack

1:32:16start

1:32:18apa ya

1:32:22lempar aja dua-duanya

1:32:24dua-duanya

1:32:2610

1:32:2810 stack

1:32:30start

1:32:32polling

1:32:34kita kasih waktu

1:32:36dua menit

1:32:38dua menit

1:32:40lama-lama ya

1:32:42tos dokumentasi

1:32:44oke

1:32:46itu sambil bagi kodokupon

1:32:48tadi siapa tau ada yang kelewati

1:32:50awal kan

1:32:52benar-benar kodokupon

1:32:54jangan lupa teman-teman

1:32:56kalau ada yang mau beli, ya mau beli

1:32:58mau beli

1:33:00kalau mau coba reaksor

1:33:0210 hosting

1:33:04bisa gak ini

1:33:06ini

1:33:08distortnya berapa tadi, kayak 10% ya

1:33:1010%

1:33:12ya

1:33:14tapi ini baru

1:33:16hosting ya, hosting aja ya

1:33:18kalau yang VM dan lain-lain belum

1:33:20nanti kita coba

1:33:22ngego-ngego lagi ya, mudah-mudahan dikasih ya

1:33:24ada cloud VPS-nya juga kan ya

1:33:28ada

1:33:30lengkap sebenernya

1:33:32nggak dapet discount ini

1:33:34belum-belum

1:33:36nah

1:33:38Mas Irfan

1:33:40lagi senang ngoding

1:33:42pakai kursor

1:33:44makin bodo

1:33:46bisa ya

1:33:50kita makin bodo ya

1:33:52bukannya

1:33:54kita harus ngereview

1:33:56accept all, YOLO mode

1:33:58ya enggak lah, kalau itu kan track coding

1:34:00kalau ini kan kita tetap harus review

1:34:02sebagai seorang developer

1:34:04yang baik dan benar

1:34:06kecuali

1:34:08kalau udah kepepet

1:34:10cuma

1:34:14apa ya, kita kayak

1:34:16lama-lama mungkin kita kehilangan skill ngetik

1:34:18yang satu-persatu, mungkin

1:34:20kalau konsepnya kita paham

1:34:22tapi kita ngetik satu-persatu

1:34:24export function

1:34:26bla-bla-bla itu jauh-jauh

1:34:28lama-lama lupai caranya

1:34:30tapi kita tahu prinsipnya

1:34:32function, argument

1:34:34apa, mendefinisikan function

1:34:36itu bisa ising atau

1:34:38apa sih

1:34:40jauh-jauh lama-lama mungkin 5 tahun ke depan kita

1:34:42kayak gitu tuh

1:34:44gue juga lagi pakai windsurf ini

1:34:46tapi buat mainan doang, bukan buat kerja

1:34:48badusan tadi soalnya kalau nonton

1:34:50ini nya

1:34:52karena satian adalah

1:34:54iya, copilot open source

1:34:56iya, copilot open source kan

1:34:58dan sudah

1:35:00bundle di dalam corenya

1:35:02vscode

1:35:04jadi ga perlu install extension

1:35:06tapi

1:35:08tetep harus ada

1:35:10kita harus punya subscription ke service nya kan

1:35:12iya, tapi ada mereka

1:35:14yang freemium nya kok, ada yang freemium nya

1:35:16service nya

1:35:18tapi ini

1:35:20kalau ada, bakal ada ini gak sih

1:35:22bakal ada

1:35:24apa namanya, bakal ada

1:35:26isu kita ketergantungan

1:35:28dengan service-service seperti ini

1:35:30gak sih, misalkan ya kalau

1:35:32mas Irvan mungkin bisa lah ya

1:35:34subscription cursor gitu

1:35:36atau teman-teman di kantornya

1:35:38dapet lah, di kantornya dapet, begitu pindah

1:35:40kantor gak dapet

1:35:42jadi ya, ya maksudnya

1:35:44kalau kita

1:35:46seperti kebiasaan dibangun

1:35:48interview masuk kerja

1:35:50kita gak boleh pakai AI coding

1:35:52ayo

1:35:54ya

1:35:56kalau sekarang belum kerasa sih

1:35:58tapi kalau kita terus-terusan gitu

1:36:00terus 5 tahun depan, gimana ya

1:36:02belum banyak

1:36:04belum, kita belum bahas

1:36:06AI assisted coding sih

1:36:08mas Irvan, kita bahas AI secara keseluruhan

1:36:10ya kan

1:36:12udah belum

1:36:14belum kan, ini salah satu topiknya

1:36:16oh ya, topiknya ya

1:36:18DevFace-nya kan pernah bahas

1:36:20AI

1:36:22syntax

1:36:24highlight, markdown

1:36:26sudah pernah dibahas

1:36:28apa ini maksudnya

1:36:30kayak CK JS gitu ya

1:36:32benar gak sih

1:36:34atau prism, prism ya

1:36:36prism JS gitu

1:36:38prism broad

1:36:40ya, prism broad

1:36:42kita pakainya CK, saya juga kemarin

1:36:44baru ganti itu di blok

1:36:46akhirnya pakai CK

1:36:48lebih banyak juga

1:36:50languages yang di support malah

1:36:52ternyata

1:36:54kalau dulu prism itu harus ada client side

1:36:56hydrate-nya biar bisa

1:36:58ya pokoknya highlighting-nya itu dari client side

1:37:00kalau CK dari dulu udah bisa

1:37:02server render, gak tahu

1:37:04tapi sekarang prism juga bisa

1:37:06oke

1:37:08ini kayaknya temen-temen banyak yang

1:37:10tertarik astro

1:37:1244%

1:37:14menginginkan astro

1:37:16cepet banget lagi, salah satu yang cepet banget

1:37:20terakhir pakai astro 2

1:37:22sekarang udah 5.7

1:37:24wow

1:37:26kita mau bahas astro dari

1:37:28sudut pandang

1:37:30mananya nih

1:37:32konsep, struktur

1:37:34konsep kan udah pernah ya

1:37:36maksudnya tujuannya bagaimana cara kerjanya

1:37:38lifecycle-nya kan

1:37:40langsung demo

1:37:42nyoba-nyobain ya

1:37:44biar title-nya beda sama yang

1:37:46ngeblowin astro dulu

1:37:48nanti cari celahnya deh

1:37:50episode 95

1:37:52nah ini udah berapa tahun lalu

1:37:54tapi ya, udah lewat berapa tahun

1:37:56oh kita coba yang

1:37:58terparti

1:38:00first partinya

1:38:02yang kayak data base

1:38:04kan dia ekosistemnya lumayan ya

1:38:06mirip-mirip

1:38:08paravel gitu kan ya

1:38:10ada, atau denu

1:38:12kayak denu kan, jadi ada

1:38:14komponen-komponen yang

1:38:16tidak teringas secara default, tapi

1:38:18disupport oleh si astronya sendiri

1:38:20eh, kita pernah bahas

1:38:22caching ga sih, caching

1:38:24pernah ya, cache, pernah

1:38:26pernah, episode 78

1:38:28oh

1:38:30heka hapal

1:38:32nah, engga, buka aja box-nya

1:38:34terus research

1:38:36typography juga pernah kan ya

1:38:38kile, pernah

1:38:40banyak lho

1:38:42kayaknya kita udah

1:38:44berapa tahun

1:38:463 tahun, episode 11

1:38:48ngobrolin phone

1:38:50oke

1:38:52kita tutup ya

1:38:54jadi astro ya

1:38:56dia ya astro boy, polennya kita

1:38:58tutup, astro boy

1:39:00astro boy

1:39:02oke, kalo gitu

1:39:04sekian untuk malam ini

1:39:06terima kasih banyak buat semuanya

1:39:08apa nih, masih run

1:39:10kalo ada yang punya subscription AI

1:39:12mungkin bisa explore bagaimana membantu programmer

1:39:14kapan-kapan

1:39:16ide topic itu

1:39:18AI assisted development

1:39:20lagi nunggu ada

1:39:22ini, kayak

1:39:24sharing account netflix, atau sharing account

1:39:26sharing account kursor

1:39:28sharing account windsor

1:39:30pasti ya

1:39:32pasti ya

1:39:34terus habis dari

1:39:36habis dari sini, langsung ada yang bikin

1:39:38engga, habis dari ini, dari sini

1:39:42gue nge-search sih, sharing account windsor

1:39:44ya

1:39:46mungkin kita belum bahas

1:39:48secara spesifik mas

1:39:50Irfan

1:39:52kita bahas pengalaman

1:39:54waktu yang apa

1:39:56yang kemaren

1:39:58ada website, yang saya bikin website-nya

1:40:00itu pakai AI

1:40:02dan semua saya cobain

1:40:04mulai dari windsurf

1:40:06terus copilot

1:40:08terus yang apa

1:40:10iDAR

1:40:12engga, charge bt justru engga

1:40:14terus cloud code

1:40:16dicobain semua, di satu project itu

1:40:18aslinya ya lumayan

1:40:22lumayan menyenangkan

1:40:24experience-nya menyenangkan

1:40:26jadi ya lumayan-lumayan

1:40:28ya itu tadi yang di post

1:40:30masih fun, happy

1:40:32tapi makin bego

1:40:34happy tapi makin

1:40:36bego, iya

1:40:38sama aja kayak dulu, dulu itu sempet

1:40:40waktu google baru-baru

1:40:42populer, itu ada paper

1:40:44yang menyebutkan google make us stupid

1:40:46karena dulu bukan encyclopedia ya

1:40:50karena orang dulu menghafal

1:40:52buku pintar

1:40:54inget engga, ada yang punya buku pintar engga

1:40:56jaman sb

1:40:58rpul

1:41:00rpul, buku pintar

1:41:02ya itu sama aja

1:41:04jadi kayak mesin pencari itu ya

1:41:06jadi mendistrupsi proses

1:41:08cara kita berpikir

1:41:10sama juga dengan AI

1:41:12mendistrupsi cara kita berpikir, jadi

1:41:14jangan sampai AI itu menggandikan proses berpikir kita

1:41:16ya itu yang bikin kita makin buruk

1:41:18tapi kan kita harus menanyakan pertanyaan yang betul

1:41:20jadi kita pintar

1:41:22cari pertanyaan

1:41:24makin kita ngepromnya

1:41:26makin ngepromnya

1:41:28efektif, efusien

1:41:30makin bagus hasilnya kan

1:41:32kita jadi jago ngeprom semua

1:41:34paling tidak kita bisa

1:41:36jago komunikasi lah

1:41:38bisa mengkomunikasikan apa yang ada di pikiran kita

1:41:40kita wujudkan dalam bentuk prom

1:41:42dan si AI nya bisa

1:41:44mengerti dan hasilnya sesuai ekspektasi

1:41:46itu yang susah

1:41:48dulu kuliahnya

1:41:50sustainable

1:41:52waktu kerja luntang hantung

1:41:54akhirnya nggak kepake

1:41:56akhirnya full time, jadi programmer

1:41:58terus tadinya nggak pikir

1:42:00kuliah, mikir dan belajar

1:42:02cara berkomunikasi

1:42:04dalam bahasa manusia

1:42:06nggak kepake karena sekarang

1:42:08komunikasi dengan bahasa asing

1:42:10sekarang full circle

1:42:12AI, prompting, kepake lagi

1:42:14oh oke, lumayan

1:42:16full circle lah

1:42:20itu ide yang bagus

1:42:22nanti kita coba

1:42:24diskusikan juga

1:42:26kita coba

1:42:28siapa tahu bisa kita bahas ya

1:42:30terima kasih semuanya buat ide-idenya

1:42:32dan komentar-komentarnya

1:42:34kita jumpa lagi minggu depan

1:42:36selamat malam, selamat istirahat, bye bye

1:42:50[musik]

1:43:20[musik]

Suka episode ini?

Langganan untuk update episode terbaru setiap Selasa malam!

Langganan Sekarang

Episode Terkait

Agentic AI - Ngobrolin WEB
EP 154

20 Jan 2026

Agentic AI - Ngobrolin WEB

🗣️🕸️ Selasa malam waktunya #NgobrolinWEB! Bareng Eka dan Ivan kita akan membahas tentang Agentic UI. Apa itu agent, a...

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...

Ngobrolin Protokol Jaringan - Ngobrolin WEB
EP 117

19 Feb 2025

Ngobrolin Protokol Jaringan - Ngobrolin WEB

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

Komentar