EP 25

Ngobrolin Teknologi Edge - Ngobrolin WEB ep25

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://bit.ly/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.

Transkrip Bantu Koreksi

0:00(musik intro)

0:10(telepon)

0:14Halo-halo, selamat malam.

0:18Malam semuanya, selamat hari Selasa dan hari Selasa waktunya ngobrolin web.

0:26Nah, disini kita formatnya bertiga, tapi yang satu wajah baru ya, wajah baru.

0:33Berbeda, biasanya ada saya Riza, ada Eka, dan juga ada Ivan.

0:38Nah, sekarang malam ini Ivan berhalangan, jadi ada kita lah, wah kebakaran.

0:44Bintang tamu kita kebakaran.

0:48Malam ini kita mengundang Mas Donny Rubia Gatra, beliau adalah JDE untuk Google Cloud ya.

0:57Spesifikasinya di serverless ya, teknologi serverless ya Mas?

1:01Benar ya, oke. Jadi malam ini kita akan ngobrol-ngobrol yang berhubungan dengan cloud.

1:08Dan juga serverless, function dan lain-lain.

1:12Mungkin sebelum mulai Mas Donny bisa ini dulu kali ya, kenalan dulu singkat, kenalan singkat dulu dong.

1:18Oke, kenalin semua, biasanya selalu ngobrol tentang, tapi ada penyusup sekarang.

1:24Penyusup?

1:26Penyusup dari kaum-kaum yang berkutat dengan infrastructure, perkenalkan namaku Donny.

1:32Aku tinggal di Surabaya sekarang sebagai salah satu partner dan head of engineering di Zero One Group.

1:40Jadi ya, kerjaanku kebanyakan nge-manage sama nge-mentor teman-teman engineering di Zero One Group.

1:48Wah keren.

1:50Udah coding mungkin cuma 10% atau 20% belum hidup ya.

1:56Jadi ya, sangat exciting diundang buat ngobrol tentang teknis.

2:01Udah lama kita nggak ngobrol-ngobrol juga ya Mas.

2:04Siap, siap. Oke, mungkin cerita singkat aja perjalanan hingga akhirnya Mas Donny jadi GDE.

2:12Oh, sebenarnya yang menarik adalah aku bertemu salah satu Google, Google ya berarti ya, Google.

2:22Aku salah satu di event di Surabaya, jadi ada GDG Cloud Next, kalau tidak salah tahun 2018 dan dari sana,

2:34dari tahun 2018 itu kayak aku mempersiapkan diri gimana sih caranya jadi Google Developer Expert.

2:40Jadi literalis selama 4 tahun.

2:44Oh iya, benar ada sempat itu Yan, sempat ada perubahan struktur, perubahan ganti orang gitu kan, jadi mentok ya.

2:54Betul, sebenarnya ready tahun 2021 kalau nggak salah lagi.

3:00Cuman ada perubahan struktur.

Lihat transkrip lengkap

3:04Ganti personel, akhirnya nyangkut itu aplikasinya, aplikasinya.

3:09Dungu aplikasinya, terus akhirnya harus kembangin lagi karena udah nggak valid ya.

3:15Karena udah nyiapin itu udah agak lama, materi-materi yang dipersiapkan untuk menjadi seorang GDI udah ketinggalan 2 tahun gitu kan ya,

3:25materi itu akhirnya jadi harus prepare lagi untuk menyiapin itu.

3:29Dan bulan November atau apapun November tahun lalu resmi jadi Google Developer Expert di bidang.

3:36Abis itu langsung jalan-jalan ya, dev-face ya.

3:40Oh iya, langsung ditagih dong.

3:42Iya, mau kemana nih? Langsung isi di mana?

3:49Ke Medan ya, oh oke.

3:52Oke.

3:55Kota terjauh yang belum pernah dikunjungi sebelum jadi GDI, berarti Medan?

4:00Indonesia ya?

4:02Iya, Indonesia.

4:03Terjauh di barat ya Medan, nggak pernah gini kan.

4:06Malaman pertama sih ke Medan.

4:08Oke, iya. Mas Donny ke Medan, saya ke Surabaya.

4:12Ya itu lucunya tuh.

4:13Kebalik.

4:15Saya mau lepein ke Medan padahal.

4:18Karena mungkin pada saat itu temen-temen di Surabaya sudah kontak mas Riza kan.

4:23Udah duluan, iya.

4:24Nah aku baru jadi GDI, pada saat itu malah aku yang jadi ekspor ke kota lain.

4:29Oh iya Mas Donny nggak ikutan GDI Summit ya waktu kemarin di Bali gitu ya.

4:34Belum, belum masuk.

4:36Kan itu Agustus.

4:38Agustus? Bukan November?

4:42Kita Summit, GDI Summit-nya Agustus kayaknya deh.

4:47Serius? Oh iya Agustus ya, oke.

4:50Kok jadi lupa gitu, oke.

4:52Nah disini udah rame nih ya, ada dari Jakarta, halo-halo.

4:56Nantap.

4:57Terus ada Andi, ada Audi. Ini penonton-penonton setia nih.

5:02Terus ada dari Jogja, Gayu.

5:05Ada teman, dulu teman sekantor saya ini.

5:09Ada Banjarmasin, ada Surabaya.

5:13Wah mantap, halo semuanya.

5:15Nggak ini ya, nggak sia-sia. Aku keluar dari siang.

5:19Wah mantap, berarti ini masanya Mas Donny ya kelihatannya.

5:23Ternyata tuh dari narasumbernya apakah bahas klojur? Nggak, belum.

5:27Bahas klojur.

5:29Ya tunggu nanti kapan-kapan kita featuring sama yang bahas klojur kali ya.

5:35Siapa ya?

5:36Kalau ada yang penasaran tulis di komen.

5:39Oh iya boleh, siapa yang jagoan klojur?

5:42Ya Mas Donny lagi.

5:44Selamat malam.

5:46Ada 4 orang. Yang tau Mas Arya.

5:53Mas Arya.

5:55Nggak jelas. Mas salah satu dari hijra siapa ya?

6:00Yang kemarin juga kan?

6:02Oh juang, juang.

6:04Mas juang juga klojur kan? Baru belajar lagi?

6:06Baru belajar, dia kan aslinya kan itu, Okemal-Okemal.

6:10ML, family.

6:13Terus terjerumus.

6:15Nama aslinya, tapi twitternya Amper Sanda.

6:19Luki namanya.

6:22Pratera engineer sebenernya.

6:24Tapi dia malah satu cinta klojur dulu.

6:27Ada masih udah juga dari Surabaya, ada yang dari Medan.

6:30Raihan kemarin nonton nggak?

6:34Urwa Lingga.

6:36Jakarta, siap.

6:38Oke, malam hari ini kita akan bahas tentang teknologi edge.

6:42Apa itu teknologi edge dan apa untungnya kita menggunakan edge dibandingkan?

6:47Penggunaannya, kapan kita perlu pakai, gimana pakainya?

6:50Dan, iya, yang berhubungan dengan itulah ya.

6:54Seperti biasa, kalo misalkan temen-temen ada komentar atau ada topik diskusi,

6:58baik yang berhubungan atau nggak, ya boleh silahkan di komen-komen aja.

7:01Kita mulai ya. Apa itu edge?

7:04Nah, disini ada artikel dari Deno.

7:07Yang salah satu teknologi yang menggunakan edge juga.

7:10Jadi kalo edge itu, kalo kita sebut edge katanya artinya

7:16aplikasi kita atau website kita itu dihosting di banyak server di seluruh dunia.

7:24Jadi ketika ada traffic yang masuk dari misalkan kita dari Asia Tenggara,

7:33berarti dicari yang terdekat. Oh, di Jakarta belum ada.

7:35Ada yang nge-serve di Singapura misalnya. Cari tempat terdekat ya.

7:40Cari tempat terdekat. Jadi dia ada kayak geolocationnya gitu.

7:43Dia ngecek ini IP-nya dari mana, request-nya, terus diarahkan ke tempat yang terdekat.

7:49Nah, si edge-nya sendiri adalah secara simultan itu.

7:55Jadi ketika kita deploy, kan kita nggak mungkin deploy ke satu-satu, kan?

7:59Ke Singapura satu, ke mungkin Jepang satu, ke mana lagi itu?

8:03Ke Hong Kong satu, ke Amerika satu, kan capek kan?

8:06Dan secara infra dan biaya nggak mungkin kita manual, secara manual,

8:10buka hosting di 40 tempat atau 20 titik misalnya di seluruh dunia, nggak mungkin.

8:17Boleh dikoreksi kalo saya salah, Mas Don. Berarti ini edge function ini mirip seperti CDN

8:24kalo di front-end ya, untuk nyimpan-nyimpan aset. Bener nggak sih?

8:27Jadi yang paling sederhana bisa dijelaskan adalah mirip dengan CDN,

8:31tapi kita bisa menyematkan sebuah logical function, bisa.

8:36Back-end-nya lah ya, back-end-nya lah ya, gitu ya.

8:39Full server. Full server, ya.

8:42Jadi, daripada hanya files gitu, karena kita bisa lakukan misalnya,

8:47kayak misalnya autentikasi, lakukan hal-hal yang mungkin membutuhkan data gitu.

8:53Kita bisa lakukan di edge.

8:55Oh iya, bisa juga untuk sebagai perantara untuk misalkan kita connect ke API kayak payment gateway.

9:02Kita kan butuh server untuk itu kan apa, API key dan lain-lain kan.

9:06Bisa juga ya.

9:08Apakah edge server ini hanya bisa berjalan, gimana-gimana Eka, dululan?

9:13Berarti kalo buat dari perspektif web, web front-end itu memungkinkan kayak Versailles, Netlify kan

9:20sekarang semua udah nyediain edge function, ya. Berarti kita bisa menyajikan website yang server rendered.

9:29Kan kita pernah bahas tuh, episode 7 tau tuh, SSR, SSG.

9:33Jadi bisa di server rendered, entah SSR atau SSG, dengan bahasa dan localization sesuai regionnya ya.

9:42Misalnya e-commerce, kalo usernya dari Indonesia, ya harganya pake rupiah standarnya.

9:49Terus mungkin produk yang dijual ya, produk-produk yang emang bisa dikirim dan dijual di Indonesia.

9:55Dan itu semua nggak on the fly, tapi kayak di generate HTML-nya pun bisa ya, karena dia kan server ya.

10:01Bukan cuma static asset, bukan cuma SSG, tapi bisa SSR ya berarti.

10:07Tentu, jadi memang yang paling enak ya, kalo misalnya yang paling populer yang kita ketahui itu adalah Versailles.

10:13Kita bisa gunakan salah satunya, tidak hanya Versailles, tapi kita bisa menggunakan teknologi seperti server set rendering,

10:22bahkan di seluruh dunia. Kan kalo kita bisa jaman dulu gitu kan ya, aku yakin Mas Risa pernah mengalami ini gitu kan.

10:31Jaman dulu kan kita mengalami tier, tier arsitektur kan ya Mas Risa ya.

10:36Dulu masih inget nggak, masih pegang yang namanya? Atau disini silahkan komen, pernah megang lamp?

10:43-Linux, Apache, EHP. -EHP.

10:49Yang kita dulu waktu kalo belajar atau service, melalui virtual machine maupun bare metal tahun 2009-2010 itu

10:58saya masih kerasain adalah nginstall di 1pm, masih call-nya disana gitu kan ya, database-nya disana, sehingga 1pm itu tidak bisa stateless gitu kan.

11:08Dan akhirnya berkembanglah menjadi 2 tier, yang dimana aplikasi dengan database dipisah.

11:16Dan mulailah muncul yang namanya virtualisasi container, jadi kalo kita sedikit tarik evolusinya dari sana.

11:25-Kalo sejarahnya docker ya itu. -Dari akhirnya muncul lah virtualisasi docker, muncullah kayak kubernetes sekarang dan segala macemnya.

11:35Dan akhirnya yang kita ketahui teknologi edge ini sesuai dengan namanya ya, edge di ujung gitu kan, the blading edge.

11:43-Di ujung durang gitu kan. -Bagaimana kita bisa mendistribusikan aplikasi kita ke seluruh region yang ada di dunia.

11:54Oke, nah tadi ngomongin database, pertanyaan kita berdua tadi di belakang layar adalah, kalo misalkan aplikasinya backend-nya udah di edge semua nih, udah ada di berbagai region.

12:07-Terus database-nya gimana mas? -Database hosting-nya gimana?

12:10Apakah harus terdistribusi juga, atau kalo misalkan database-nya di satu tempat, misalkan di Amerika, dari Singapura ke Amerika kan ada latency juga jadinya.

12:18Jadi kita langsung bahas perkara state-nya di dalam sebuah server edge ya, jadi menurut referensi yang aku dengar, dan aku baca, bahwa ada banyak cara.

12:31Jadi cara yang pertama itu adalah kalo pernah denger salah satu platform as a service namanya Fly.io, udah denger gak Fly.io?

12:39-Tetap pake. -Nanti kita bahas itu malah.

12:41Oh itu, kita bahas itu, jadi aku coba bahas dua ya, jadi kenapa Fly.io mereka menyediakan cluster dan sedikit infrastruktur bagaimana mereka bisa menyediakan satu postgres kalo tidak salah.

12:55-Postgres, ya postgres betul. -Postgres yang bersifat cluster dan dia menyediakan di beberapa tempat server di region di dunia.

13:03Jadi memang ada cluster tersendiri, tapi yang aku denger dari sebuah Vercelcon tahun lalu, 2022, itu dari Gwilmu sendiri salah satu CEO-nya Vercel.

13:17Itu bahwa bagaimana database tetep-tep pusat di salah satu region, tapi yang disimalkan adalah caching-nya.

13:25-Oh caching-nya yang didistribusikan gitu ya? -Ya, caching-nya yang didistribusikan.

13:30Jadi nanti bahkan punya identification tiap region itu bisa punya identifikasi sendiri, datanya di caching juga disana.

13:43Dan ada beberapa, bukan banyak ya caching, ada caching dari header-nya sendiri, ada caching dari tekniknya, dari platform yang disediakan.

13:54Jadi salah satu yang coba untuk diselesaikan permasalahannya adalah teknik caching dan Vercel udah melakukan itu.

14:02Jadi kita itu udah ngerasain betapa susah, karena seinatku ada dua permasalahan yang selalu dihadapi oleh komputer sains.

14:09Yang pertama adalah menaman variable, itu paling susah.

14:12Yang kedua, caching invalidate.

14:15Yang kedua adalah invalidate caching disana.

14:18Nah, makanya banyak banget platform yang menyediakan ads itu untuk me-leverage kemudahan bagaimana kita menggunakan sistem yang terdistribusi seperti ini.

14:27Jadi dua, antara memang kita sediakan cluster ya, jadi ada beberapa multi-region, bahkan sampai sekarang bisa multi-region misalnya.

14:36Di satu itukannya, misalnya Singapura, itu kita bisa cluster dengan, perspektifnya adalah Google, berarti kita juga bisa memanfaatkan network Google.

14:46Karena Google sendiri itu secara network kan dia punya internal ya.

14:51Jadi kita lebih cepat misalnya punya akses dari Asia Southeast 2, Asia Southeast 2 itu adalah Jakarta.

15:01Misalnya kita mau akses ke Australia gitu kan ya.

15:06Itu relativ cepat daripada kita harus ping keluar network ke internet, kita bisa pakai akses net via Google.

15:14Jadi kita tetap bisa bikin cluster sendiri sih, tapi cost-nya mahal.

15:19Karena hitungannya adalah per instance kita ada berapa.

15:24Jadi yang lebih murah itu adalah menggunakan caching daripada kita harus menyediakan cluster.

15:32Nah, caching ini juga sudah disediakan beberapa service gitu ya?

15:36Iya, disediakan beberapa service. Dari Verso kalau tahun lalu ya, aku udah lama nggak nyoba Verso tahun ini, itu ada nama experimental edge gitu.

15:46Jadi dicoba bagaimana kita bisa menggunakan cachingnya di Verso Function.

15:53Atau ya kita bisa set up header-nya aja gitu untuk caching data.

15:58Dari request-nya ya, waktu kita melakukan request, waktu front-end web melakukan, front-end aplikasi apapun melakukan request ke si server yang edge function-nya itu ya.

16:08Jadi bisa tergantung dari sisi mana kita mau caching, apakah dari sisi kita sebagai engineer tahu bahwa kita mau caching satu part yang ada di sana, atau kita me-leverage apa yang sudah ada.

16:25Nah, beberapa service tadi sudah disebutkan, ada Verso, terus ada Deno, Deno Deploy ya kalau nggak salah ya, Deno Deploy.

16:33Terus ada juga Netlify juga ada, dan ada banyak yang lainnya.

16:40Tapi, oh iya satu lagi ini, Cloudflare. Cloudflare juga ada namanya Cloudflare Worker.

16:46Nah, dari sekian banyak ini, kecuali fly.io ya, banyak kan ini JavaScript, apakah si edge function ini lebih cenderung ke teknologi web atau JavaScript,

17:00atau sebenarnya semua platform atau bahasa juga bisa jalan di edge.

17:04- Sagnostik sebetulnya kan ya? - Sagnostik ya.

17:07Nah, kalau kita sebut yang konteksnya di sini adalah edge function itu mulai orang mengarahkan kepada JavaScript runtime.

17:18Dan kita tahu bahwa, ini menurut gue salah satu yang dulu, jujur ya, dulu itu aku nggak suka JavaScript.

17:26Karena susah banget dulu untuk memasukkan mindset, karena aku berangkat dari Python dulu.

17:32- Dari Python, iya. - Jadi untuk memahami asingkronus itu, apalagi dulu belum ada IS5 ya.

17:39Wah, dan gue masih jelek semua di callback.

17:42Iya, itu kayak susah banget memahami, tapi semakin kesini aku mulai memahami bahwa,

17:48oh ada beberapa aspek yang sangat menarik di dalam dunia JavaScript.

17:53Ternyata menarik dan agak memusikkan ya bagi teman-teman front-end ya, misalnya harus mengcover kari,

17:59mengcover beberapa web engine yang ada sekarang.

18:04- Yang berbeda ya? - Berbeda ya.

18:06Nah, ternyata adalah kenapa kok bisa instant?

18:09Itu adalah karena memang teknologi yang digunakan itu adalah menggunakan beberapa web engine

18:15dan menggunakan web API yang sudah sangat gelubah.

18:19- Oke. - Jadi kita bisa...

18:21- Web engine berarti ya? - Iya, berbasis web engine.

18:24- Misalnya V8. - Misalnya V8, di sini ada JavaScript.

18:30Aku nggak tahu lupa kalau yang Cloud Fair Worker itu pakai apa, tapi jelas kalau Dino kan pakai V8 ya.

18:37- Cloud Fair Worker mereka bikin sendiri, Mas. - Bikin sendiri, tapi kompatibel.

18:42Compliance-nya adalah web API dia bisa.

18:46Kita sering bahas nih di episode dulu teknologi kayak gini tuh untungnya adalah standards-based.

18:53Jadi walaupun engine-nya macam-macam, dan walaupun belum sempurna 100% kompatibel,

18:59tapi karena standards-based, kalau pun mereka bikin sendiri, ya kita tetap bisa nulis kode yang sama ya.

19:05Betul. Dan yang itu yang membuat karena Edge ini, jadi bayangin kita semakin terabstraksi kan di sana.

19:13Jadi dulu bayangkan, misalkan kata-kata dulu kita harus set up server bare metal,

19:18kemudian ada namanya virtualisasi. Pernah dengar virtual box ya, kalau misalnya orang virtualisasi ya.

19:26- VMware, VMware. - VMware itu mulai jarang pegang hardware gitu, karena udah ada VMware.

19:36Kemudian naik lagi abstraksinya, ke container di sana, orang mulai jarang pegang.

19:41- Sebelum itu kan pakai Vagran dulu kan? - Oh iya Vagran, salah satu yang buat oleh teman-teman HasiCorp dulu,

19:48pembuatnya, untuk menggunakan Ruby, Vagran.

19:55Itu lebih cepat lagi ada container yang up-nya lebih cepat di sana.

20:00Lihat ada yang lebih cepat lagi sekarang, kalau di sini ada JavaScript runtime yang cepat,

20:05makanya Edge itu bisa relatif cepat up-nya, karena ada abstraksi di atasnya lagi.

20:10- Pasti raspis nih yang kayak gini-gini nih? - Enggak sih.

20:14- Kirain. - Enggak mesti, enggak mesti.

20:17Aksesnya yang cepat itu lah, kita itu berdiri di atas abstraks yang sudah ada.

20:21Jadi kita hanya butuh jalanin engine-nya doang untuk di sana.

20:25Jadi kita itu sudah di berdiri di atas sesuatu yang kita itu dulu set up-nya harus manual,

20:32sekarang lebih cepat di sana. Jadi start up time dari JavaScript runtime ini jauh lebih cepat

20:39daripada misalnya kita harus menyalakan docker container di sana.

20:43Jadi kata-kata ada docker container di atasnya ada runtime sendiri.

20:47Dan yang kita yang belum pernah kita bahas juga mungkin di sini adalah WebAssembly ya.

20:51Jadi ada juga engine WebAssembly juga bisa untuk menjalankan di Edge.

20:56Jadi kenapa bisa cepat? Karena dia menggunakan abstraksi yang jauh lebih simple di sini.

21:04Bahkan kalau menurut kan kebesaran kan ya, kalau menurut kan sangat heavy di sana.

21:09Jadi ini bandingnya lebih kecil kenapa Edge itu juga bisa di deploy langsung dengan instart.

21:15Dan biasanya itu enggak langsung ke deploy semua.

21:19Jadi sudah ready di Edge-nya tinggal di call aja, dia langsung getting started dan warm secara server

21:27yang juga diakses di setiap region.

21:30Oh berarti enggak call start ya?

21:32Ya, jadi call start-nya akan jauh lebih cepat daripada container.

21:37Relatif ya, relatif lebih cepat. Tergantung, lagi-lagi tergantung contest.

21:42- Tergantung pasti. - Tergantung. It depends ya.

21:45Ini jawaban paling, paling gampang adalah it depends.

21:51Tapi maksudnya comparatively lebih cepat daripada konsep virtual box yang biasa, yang konvensional.

22:01Ya, jadi ya kita semakin, ini sebenarnya ada artikel menarik yang mau saya share.

22:06Tadi mungkin nanti aja di akhir.

22:08- Boleh, boleh, boleh. - Jadi, seberapa definisi fullstack itu apa sih?

22:13Tergantung, it depends.

22:16Ya, fullstack 20 tahun lalu, 30 tahun lalu itu sampai harus pegang kabel.

22:21Oh iya, Superman kan dulu kan?

22:23Ya, agungan Superman itu fullstack ya.

22:25Ya, fullstack itu fullstack.

22:27Tapi semakin ter abstraksi, kita semakin ter abstraksi itu yang membuat orang-orang kan sekarang hanya fokus aplikasikannya.

22:34Kayak nggak perlu harus set up.

22:36Aku masih, aku nggak tahu Mas Riza, tapi aku tuh masih pernah gotong-gotong server ke data center.

22:42- Untuk set up. - Tuh, saya nggak pernah.

22:46Jadi aku masih inget gotong-gotong data center gitu kan.

22:49Sekarang tinggal persel deploy kan kesel.

22:52Kita semua sekarang malah nggak ngeliat, jangan kan ngangkat ya, jangan kan ngeliat server-nya.

22:57Barangnya nggak ada.

22:59Walaupun somewhere sih pasti ada ya, ibaratnya kayak wireless kan.

23:02Sebetulnya di dalamnya juga ada kabel, tapi kita nggak lihat dan kita nggak ngurusin, kita nggak berurusan sama kabel.

23:08Walaupun di dalam irbat wireless ya mungkin ada kabelnya.

23:12Nah, ini serverless berarti ada servernya somewhere, tapi kita nggak lihat servernya secara fisik.

23:18Sebenernya serverless itu kan bukan nggak ada server kan, tapi memanage server dalam jumlah yang sedikit.

23:24Bukan kita yang maintain servernya.

23:26Ya, maintenance-nya itu itu lah, apa namanya, low effort lah gitu.

23:32Sedikit lah gitu.

23:34Kalau dulu kan kita harus mikirin, "Wah ini harus di patch, harus update ubuntunya."

23:41Update ubuntunya, update HP-HP-nya.

23:46Kenapa nggak, tahu nggak kenapa gotong-gotong harus gotong server?

23:50Dulu server itu ada di rumah.

23:52Di rumah kantor yang lama dulu gitu kan ya.

23:54Tahu-tahu ada ujian deras, ianya jatuh.

23:57Jadi listriknya mana?

23:59Diri banget.

24:02Ngeserve bisnis.

24:04Jadi kayak kita bisnis itu tidak bisa akses aplikasi yang kita buat.

24:08Kita harus gotong center-center untuk, "Ini gimana ini aku nggak bisa melakukan transaksi."

24:13Itu chaos sih hari itu. Jadi kayak kita cari, "Ini mau gimana?"

24:17Taruh data center, oke.

24:18Balak mobil, taruh ke mobil, pindah ke data center, set up net drop-nya.

24:23Benar-benar pengalaman tak terlupak.

24:25Saya dulu masih jamannya ada tim infra.

24:31Jadi kalau misalkan mau deploy, tinggal itu, tinggal bilang aja, "Mau deploy nih, siapin server dong."

24:36Enak ya.

24:37Kalau sekarang kayaknya engineer suruh bikin sendiri ya.

24:40Dikasih account, GCP, atau cloud yang lain gitu kan, ya udah.

24:45Kalau emang mau coba-coba, silahkan spin up VM atau pakai docker atau apa gitu ya.

24:51Kalau dulu ada tim khusus tuh.

24:55Kalau sekarang ada timnya DevOps tapi fungsinya lebih ke bikin platform kan.

25:02Untuk memudahkan kita melakukan itu sendiri.

25:06Sekarang developer job-designnya nambah ya.

25:09Iya.

25:10Tapi sekarang nggak langsung nguntungin buat apa ya.

25:14Misalnya kalau, ya dulu kan emang semua full stack, belum ada konsep front-end.

25:18Tapi sekarang nih, nggak tahu ini opini ya, nggak tahu teman-teman setuju atau nggak.

25:22Dengan adanya teknologi-teknologi kayak serverless, as-function gini.

25:26Ya minimal aku pribadi yang sebetulnya front-end oriented banget, ngerasa kayak diuntungin banget.

25:32Karena jadi tanpa, itu tadi tanpa harus ngegotong server atau ngapain, ya minimal bikin MVP.

25:39Dari awal sampai akhir, full stack, pakai code work itu relatif gampang lah.

25:45Karena bahasanya kan JavaScript dan TypeScript.

25:47Ya yang penting tahu standarnya, sintaksnya, logiknya, ya udah.

25:52Bisa bikin produk full sampai jadi, sampai launching, walaupun MVP.

25:57Jadi kalau skalanya besar, udah scale up ya pasti mungkin butuh, butuh resource yang lebih...

26:03Butuh orang ya.

26:04Soal infra, soal apa lah load balancer atau apa yang, yang udah,

26:09kalau udah serve usernya sampai jutaan gitu ya itu beda kasus.

26:14Tapi kalau untuk bikin MVP itu kayaknya sekarang anak front-end tuh kayak dimudahkan banget nggak sih?

26:19Oh iya, banyak banget.

26:21Gimana Mas Den, lanjut lanjut.

26:26Yang mana nih dilanjut ya?

26:28Ini yang barusan, dikomentari, dikomentari.

26:30Oh iya, jadi memang akhirnya kan fokusnya lebih ke aplikasi kan.

26:36Temen-temen tidak harus lagi risau dengan hal-hal yang berbau dengan kabel misalnya.

26:41Jadi bisa fokus bikin aplikasi dan bahkan banyak banget kan yang bisa bikin start up,

26:49bootstrap satu orang, tanpa-tanpa harus ngerti tentang server gitu.

26:54Bahkan kalau kita mau lebih lagi abstraksi, ada yang namanya no-code sama low-code gitu.

26:58Jadi tinggal kita itu definisi fullstack-nya apa?

27:02Jangan terlengkung dengan yang namanya fullstack.

27:06Iya, sekarang tuh semua ada servisnya ya.

27:10Mau serving image, ada servisnya, autentikasi, ada servisnya, mau apa ya?

27:18Dulu saya set up email server sendiri, kalau sekarang ada servisnya buat email transaksional.

27:23Banyak, sekarang udah enak gitu ya, tinggal bayar.

27:28Ya dulu juga bayar ya bikin servernya.

27:33Hampir semua kan sekarang ada free tier-nya.

27:35Oh iya, betul.

27:37Atau tadi autentikasi, email, email service, transaksional email, semua ada free tier buat MVP.

27:43Betul, betul, betul.

27:45Nanti kalau misalkan sudah scaling, baru bayar ya?

27:49Ya, baru bayar.

27:50Baik bayar orang atau bayar servisnya?

27:52Atau dua-duanya.

27:54Atau dua-duanya.

27:56Nah yang menarik juga dari link yang dari Mas Don nih, ini ada tentang The Third Age of JavaScript.

28:04Ini seru nih.

28:06Apa tuh?

28:07Bisa, mungkin bisa di ceritakan Mas Don.

28:11Jadi dari sebutnya siapa ya, Sweng, aku lupa menyebutkan Mas ini.

28:18Suan Weng, sound.

28:22Nama username-nya ya itu, maaf ya Mas, kalau Mas maaf.

28:27Sound kan, Suan Weng kan, nama aslinya kan.

28:31Ya, dan nama panjangnya.

28:33Iya, dia orang Singapura kan.

28:35Oh iya, orang Singapura ya?

28:37Iya, dia lagi di Singapura sekarang.

28:39Oh lagi di Singapura.

28:41Dia di US deh, orang Singapura tapi di US.

28:44Iya, di US dia.

28:46Nah, jadi kalau kita kembali lagi tentang apa sih The Third Age of JavaScript karena kita melihat bahwa terjadinya perubahan.

28:53Kita tahu lah ya, ada yang namanya JavaScript Vetic gitu kan.

28:57Tapi mau gak mau, kita itu selalu bergerak maju ke depan disana.

29:02Nah, yang dimaksud The Third Age of JavaScript itu banyak tools-tools yang mulai untuk menggantikan tools-tools yang sudah ada sekarang gitu.

29:11Kalau gak tahu ya, kayaknya jamannya Mbak Eka atau Mas Risa masih pernah denger gulp ya.

29:16Atau dan kawan-kawan.

29:18Gulp kan, gulp, geran.

29:20Pasti pernah mainan yang begituan disana.

29:22Kayak sekarang udah geran ya.

29:24Minggu lalu bahas Yeoman ya.

29:26Yeoman.

29:28Disana itu mulai ada yang namanya kayak Fit gitu kan ya, Compiler.

29:34Disana Monorepo gitu kan, by the way aku pake Monorepo NXT kantor, jadi siapa tahu kalau dia mau bahas lagi.

29:42Oke, siap.

29:44Monorepo disana.

29:46Kemudian juga banyak re-architect gitu kan ya, banyak yang dulu hanya berdasarkan satu region.

29:54Sekarang sudah multi-region ada function.

29:56Jadi Edge ini adalah salah satu The Third Age of JavaScript gitu.

29:59Bahwa JavaScript bisa dijalankan dimana saja disana.

30:02Yang selalu aku gaungkan adalah kenapa kok akhirnya Zero One Group betting ke JavaScript adalah always bet with JavaScript.

30:11Walaupun dulu pernah musuhan ya.

30:13Walaupun pernah musuhan itu.

30:15Pernah.

30:17Akhirnya sekarang.

30:18Saya benci jadi cinta.

30:20Asik.

30:22Jadi cinta dan jadi sumber.

30:24Sumber penghasilan.

30:26Dojekinya disana ya.

30:28Ternyata ya.

30:30Akhirnya kita mulai muncul ada namanya WebAssembly atau yang pernah.

30:34Jadi tahu juga kan Mas Riza bawa aku sama kantorku, aku sama salah satu founder di Zero One Group lagi coba Phoenix.

30:43Hmm, Phoenix.

30:45Akhir juga disana.

30:46Bahwa itu namanya HTML overwire gitu kan ya.

30:50Yang di set itu HTMLnya gitu.

30:53Itu menarik juga bagaimana kita mindsetnya itu akhirnya juga.

30:59Kalau kita ke React Server Component.

31:01Mungkin ini kan dengan web ya.

31:03Bagaimana React Server Component itu bekerja.

31:05Yang di render itu adalah di level server yang dikirimkan HTML walaupun.

31:11Walaupun kalau kita mau React Server Component tetap harus ada overhead.

31:17Karena real ada runtimenya.

31:21Kalau jadi swell mungkin aman itu.

31:25Makanya ada astro gitu kan ya.

31:28Jadi padahal kita nge-send sama React Dome-nya.

31:32Kita cuma nge-send HTML-nya disana.

31:35Tapi kita hydrate.

31:38Gimana itu Mbak?

31:40Hydrate belakangan, jadi yang dikirim ada dulu.

31:42Oh ya hydrate ya.

31:44Hydrate belakangan.

31:46Halo.

31:52Duh kok putus.

31:54Wah Mas Donny-nya koneksinya putus kayaknya.

31:59Oke sambil menunggu Mas Donny.

32:01Kita baca-baca komen dulu.

32:03Komennya ramai sekali ya.

32:05Mas Donny-nya nge-freeze.

32:08Oh iya.

32:10Ada Ivan? Masuk Ivan.

32:12Masuk silahkan.

32:14Siap titit.

32:16Ini ada beberapa pertanyaan nanti yang berhubungan dengan Edge.

32:21Nanti kita akan bahas.

32:23Yang tadi...

32:25Nur Holid juga sempat jadi fullstack ya.

32:27Masang-masang server.

32:29Enggak, maksudnya masang server.

32:31Iya. Ini...

32:33Rantaru.

32:35Curhat.

32:37Setting post fix sendiri ya.

32:39Terus juga...

32:41Ya ini menarik juga ya.

32:43Rush masuk banget ke dunia JS.

32:45Karena trendnya...

32:47Orang-orang developer sekarang...

32:49Yang bikin DevTools, salah satunya...

32:51DevTools JavaScript itu banyakan pakenya Rush.

32:53Dan juga...

32:55Go lang juga ada beberapa ya.

32:57Jadi bahasa-bahasa yang...

32:59High performance digunakan...

33:01Yang compile digunakan untuk...

33:03Membuat tools untuk...

33:05Melakukan sesuatu di JavaScript.

33:07Itu lumayan banyak...

33:09Contohnya ya kayak...

33:11SWC ya.

33:13SWC kemudian...

33:15Yang di pakai oleh Next juga ya.

33:17Rome ya.

33:19Enggak tahu. Turbo Repo...

33:21Pakai Rush atau enggak ya?

33:23Enggak tahu.

33:25Halo-halo. Soalnya kita kembali.

33:27Mati lampu.

33:29Mas Donnie mati lampu katanya.

33:31Request time out.

33:35Ceplek gitu.

33:37Itu tuh komen fans berat Mas Donnie...

33:39Dinyalain dulu. Dimunculin dulu.

33:41Fans berat...

33:43Mas Donnie hadir. Dimas, Dimas.

33:47Halo Dimas.

33:49Mas yang mana itu?

33:51Oke. Nah...

33:57Ini...

33:59Kita tadi sedang membahas tentang...

34:01Tentang fenomena Rush.

34:03Yang banyak digunakan...

34:05Untuk tools, membuat tools...

34:07Untuk JavaScript ya.

34:09Termasuk juga kalau nggak salah...

34:11Dino juga dibuat...

34:13Pake Rush ya.

34:15Dan aku punya kesempatan untuk...

34:17Contribute ke Dino.

34:19Jadi...

34:21Akhirnya ngerasain...

34:23Contribute ke proyek besar ya...

34:25Pake Rush. Dan itu sampai harus.

34:27Karena yang namanya...

34:29Runtime itu gede banget kan.

34:31Buildnya pun...

34:33Pemakan 20 giga.

34:35Jadi aku build Dino.

34:37Itu ngabisin...

34:39Buildnya sama binarynya itu...

34:41Totalnya itu ada 20 giga.

34:43Jadi ngambil SSD...

34:45Lumayan gitu kan. Apalagi RAM.

34:47RAMnya juga...

34:49Untuk ngeload satu...

34:51Pitch file...

34:53Testing di Dino itu juga...

34:55Ribuan line of code.

34:57Atau puluhan ribuan.

34:59Bahkan pake FIM itu ngeheng.

35:01Waduh.

35:03Jadi lumayan pengalaman pertama ya...

35:05Untuk contribute ke Dino.

35:07Dan itu memang Dino...

35:09Menariknya Dino itu ditulis awalnya pake Go.

35:11Waduh betul. Habis itu di rewrite kan.

35:13Di rewrite pake Rush.

35:15Dan akhirnya juga keluar dari...

35:17Kayaknya bahas kemaren deh aku lupa.

35:19Eka yang bahas tentang TypeScript kan ya.

35:21Kemaren kan.

35:23Nah Dino itu salah satu yang...

35:25Gak pake TypeScript.

35:27Dia akhirnya pake JavaScript.

35:29Balik lagi ya ke JavaScript ya.

35:31Awalnya TypeScript terus balik ke JavaScript ya.

35:33Karena compile time gitu kan.

35:39Jadi ya Dino pake Rush gitu kan ya.

35:41Banyak kayak...

35:43Ada padanannya Elasticsearch.

35:45Kalau Mbak Eka atau...

35:47Mas Rizatau itu adalah...

35:49Baileysearch.

35:51Itu juga menainkan Rush.

35:53Kalo Bun itu pake Zig ya.

35:55Zig line.

35:57Bun itu pake Zig ya.

35:59Oke oke.

36:01Nah kita lanjut...

36:03Bahasa apa lagi nih?

36:05Gimana? Kalo misalkan...

36:07Kita tertarik mau...

36:09Tertarik dengan Edge.

36:11Terus kita mau pake.

36:13Gimana tuh caranya?

36:15Yang paling gampang itu adalah...

36:17Gunakan platform yang out of the box...

36:19Sudah menyediakan Edge.

36:21Jadi bayangkan kalian itu...

36:23Edge itu membuat kalian...

36:25Membuat sebuah satu produk...

36:27Digital yang mampu...

36:29Menargetkan market pasar Indonesia.

36:31Oke.

36:33Kalo pernah tau Indie Hacker ya.

36:35Yang orang-orang berbagi cerita...

36:37Bagaimana membuat sebuah produk...

36:39Kemudian dipastarkan secara global.

36:41Gila-gila kan Edge kalian itu...

36:43Bisa punya banyak...

36:45Konsumen atau user, tidak hanya dari Indonesia.

36:47Tapi dari seluruh dunia dan tidak perlu...

36:49Bingung perkara latensi.

36:51Disana. Gunakanlah...

36:53Versal, gunakanlah...

36:55Atau Versal, Fly I/O.

36:57Atau sekarang, ternyata juga ada...

36:59Aku hampir lupa, ada yang namanya Distributed Database.

37:01Misalnya Planet Skill.

37:03Ya, yang MySQL bukan?

37:05MySQL disana.

37:07Aku lupa pada namanya Postgres apa.

37:09Cuman, untuk...

37:11Serving aplikasi kita...

37:13Keseluruh dunia itu sekarang udah gampang banget.

37:15Jadi, gunakan...

37:17Kalo Eskialet, kalo ga salah namanya...

37:19Lightstream bukan ya?

37:21Nah itu udah, aku udah lama ga tau ya.

37:23Oke, lanjut.

37:25Jadi, before getting started...

37:27Sebenernya, udah harus paham ya...

37:29Tentang Edge itu.

37:31Sama detail, tapi...

37:33Intinya adalah kita dibantu untuk...

37:35Membuat aplikasi kita available diseluruh dunia.

37:37Kan kita ga mungkin kan...

37:39Kita mau punya...

37:41Apps atau aplikasi, misalnya Node.

37:43Kita mau bikin kayak Notion gitu kan ya.

37:45Hanya untuk orang Indonesia.

37:47Ya, kamu yang dari UK...

37:49Ngakses aplikasi mau kan lambat.

37:51Karena servernya ada di Indonesia.

37:53Jadi, ya...

37:55Gunakan belah beberapa platform...

37:57Yang sudah tersedia.

37:59Ya, teknologi Edge ini...

38:01Lebih cocok digunakan kalo...

38:03Service kita berlaku global.

38:05Kalo misalkan hanya...

38:07Serving di Indonesia saja, misalkan contohnya apa ya?

38:09Cetus berita gitu.

38:11Berarti ya pake VM aja yang di lokal gitu ya?

38:13Jadi, sebenernya...

38:15Permasalahan yang dihadapi orang yang membuat...

38:17Aci Indonesia adalah...

38:19Kita belum sampe kesana gitu.

38:21Belum sampe kesana gitu.

38:23Bahwa, permasalahan ini...

38:25Sebenernya kita tidak terlalu...

38:27Quot-unquot butuh untuk menggunakan Edge.

38:29Karena selama kalo mau ke Indonesia ngapain?

38:31Jadi, jadi...

38:35Walaupun kita excited dengan...

38:37Jargon-jargon seperti ini, menurutku...

38:39Untuk sebagai skill...

38:41Seorang software developer...

38:43Atau software engineer sebenernya tidak terlalu...

38:45Signifikan.

38:47Untuk dipelajarin orang Edge.

38:49Tapi, mindsetnya adalah bukan mempelajarin teknologinya.

38:51Tapi kayak ada peluang.

38:53Kita tau konsepnya.

38:55Secara garis besar umumnya.

38:57Dan membantu seperti Mbak Eka...

38:59Yang fokus kepada produk itu sendiri.

39:01Jadi, tidak udah.

39:03Tidak usah memperbedulikan deployment.

39:05Udah. Aku paham...

39:07Versal fly I/O deploy ke semua.

39:09Aku bisa bikin produk untuk...

39:11Semua yang ada di dunia ini.

39:13Keren ya.

39:17Kalo kita mau launching...

39:19Service atau produk kita secara global.

39:21Jadi, sekarang lebih gampang ya.

39:23Kalo di Google Cloud sendiri ada ga sih, Mas?

39:25Untuk Edge ini?

39:27Salah satu...

39:31Produk, mungkin belum yang...

39:35Dedicated.

39:37Ada seperti Versal.

39:39Atau seperti...

39:41Disana. Jadi, kata-kata Cloud Function.

39:43Cloud Function gitu.

39:45Dia...

39:47Bisa kita deploy ini ke multiple region.

39:49Akhirnya manual.

39:51Kita ga bisa...

39:53Secara otomatis...

39:55Terdisibusih langsung disana.

39:57Tapi yang pernah...

39:59Mungkin kalau CDN pasti lah ya.

40:01Pasti sudah ada.

40:03Firebase Hosting itu...

40:05Yang salah satu yang pernah aku pake...

40:07Buat ngeserve salah satu dashboard...

40:09Internasional, itu juga...

40:11Firebase Hosting dan Fastly.

40:13Karena kolega CDN-nya...

40:15Kalo tidak salah...

40:17Itu adalah Fastly.

40:19Dari Google Insider pun kayaknya...

40:21Belum ada.

40:23Belum ada produk yang kayak...

40:25Mudah.

40:27Karena memang targetnya kan berbeda kan.

40:29Target pasar dari...

40:31Google Cloud sendiri kan berbeda dengan teman-teman...

40:33Seperti Versal. Dan ini juga...

40:35Aku kenapa bahas ini...

40:37Ini sebenernya menarik. Karena kebanyakan...

40:39Kayak Deno, Versal...

40:41Play.io, itu adalah venture capital.

40:43Pakingnya.

40:45Hmm, oke.

40:47Jadi kenapa kok Deno itu...

40:49Bikin Deno Deploy? Karena...

40:51Deno itu...

40:53Kan bikin open source, dapet uang dari mana?

40:55Kenapa kok...

40:57Deno itu nge-push edge? Karena...

40:59Supaya orang itu pake Deno Deploy.

41:01Sama kayak Gun itu, Bun...

41:03Itu sekarang kan didanaing...

41:05Sama venture capital.

41:07Karena Indian dia mau bikin edge juga.

41:09Disana.

41:11Dapat uang dari mana gitu, kalo misalnya disana.

41:13Jadi...

41:15Kayak framework-framework itu...

41:17Framework yang open source.

41:19Jualannya itu jualan hosting. Itu udah umum kan?

41:21Iya. Sudah...

41:23Mulai umum sekarang. Disana.

41:25Sehingga...

41:27Yang bisa dikejar itu adalah...

41:29Developer experience.

41:31Kemudahan dari setiap orang yang mau developer.

41:33Orangan. Sedangkan kalo kayak misalnya...

41:35Google ataupun...

41:37Cloud leader yang lain...

41:39Di ranah enterprise itu...

41:41Targetnya beda.

41:43Bila level, bukan?

41:45Jadi misalnya si Verstel...

41:47Netlify itu justru menggunakan...

41:49Di belakang layar menggunakan...

41:51Google Cloud.

41:53Out yang lain, kan?

41:55Bener. Dan Verstel pun kalo tidak salah...

41:57Ada plugin atau sebutannya...

41:59Di Verstel, itu bisa connect langsung...

42:01Ke Google Cloud. Untuk kita punya database...

42:03Maupun data engineering.

42:05Misalnya kita mau ada analytics, kita mau lempar...

42:07Ke BigQuery, itu bisa langsung connect.

42:09Tapi masih beta. Tapi udah lama gak ngecek.

42:11Lumayan.

42:13Apalagi kayak kita yang dapet credit.

42:15Ya aku belum apply sih. Nanti aku play deh.

42:19Lumayan dapet gratis nih.

42:23Ada pertanyaan dari Adbit yang sebenernya udah kita jawab...

42:25Di awal ya. Tadi kita ada pertanyaan...

42:27Tentang itu tentang database. Jadi...

42:29Database nya satu, opsinya tadi...

42:31Bisa terdistribusi juga.

42:33Yang kedua, kita lebih banyak main di...

42:35Caching strateginya ya.

42:37Yang terdistribusinya justru, yang ikut adalah...

42:39Servernya juga bisa nge-caching dari...

42:41Database ya.

42:43Bisa, bisa dari...

42:45Banyak level kan. Jadi kayak mau di sebelah mana.

42:47Cuman yang paling gampang itu adalah...

42:49Dari sisi header request itu pasti...

42:51Kalau header request aplikasi kan...

42:53Statik ke cachingnya kan.

42:55Yang diirim apa itu.

42:57Tapi kalau dynamic, misalnya...

42:59Kita punya sosmed gitu, ada yang...

43:01Postingan baru, itu kan butuh...

43:03Caching di sisi servernya juga ya.

43:05Berarti ya.

43:07Tapi kita kan kalau misalnya...

43:09Kita ngomong SSR, berarti kan...

43:11Ketika kita bikin fetch gitu ya.

43:13Misalnya bayangin...

43:15Kita bikin fetch ke API gitu kan.

43:17Kita kan bisa tetap setting ini kan ya.

43:19Request header untuk...

43:21Untuk nge-cache data JSON nya kan.

43:23Jadi...

43:27Itu juga bisa digunakan. Tapi ya hati-hati aja.

43:29Kalau misalnya gak update.

43:31Kalau paling bahaya.

43:33Yang di-cache, yang dikirim...

43:35Sejam yang lalu...

43:37Data nya gak berubah-ubah.

43:39Ntar di round-end bahaya.

43:41Berarti di servernya pun harus...

43:43Caching.

43:45Atau bikin bisa gak sih?

43:47Pakai SWR atau semacamnya.

43:49Still-while-revalidate. Tapi di sisi servernya.

43:51Jadi servernya...

43:53Diam-diam sebetulnya...

43:55Manggil data lagi dari database.

43:57Tapi dia ngirim...

43:59Cached response supaya cepet.

44:03Kalau still-while-revalidate kan...

44:05Kebanyakan ditriggernya dari klien ya.

44:07Jadi menurutku kayak gak ada...

44:09Gak ada konsep.

44:11Ini correct me if I'm wrong yang dikomen.

44:13Silahkan.

44:15Di sana.

44:17Berarti kan diam-diam kan ya.

44:19SWR kan diam-diam. Mereka ke caching.

44:21Tapi itu kalau dari update baru...

44:23Baru diganti ya.

44:25Di level kliennya.

44:27Kalau di dalam server...

44:29Itu jatuhnya kayak keronjok.

44:31Mecekin apakah udah update apa enggak.

44:33Jadi menurutku gak ada...

44:35Kayak SWR di dalam server sih.

44:37Jadi lebih ke arah ada...

44:39Beberapa technology caching.

44:41Contohnya tadi yang versi experimental edge.

44:43Di sana.

44:45Yang kita bisa lakukan.

44:47Tapi aku jujur aku belum...

44:49Sampai sana sih.

44:51Untuk implement itu.

44:53Jadi aku harus double check lagi dokumentasinya.

44:55Oke. Ini ada pesan yang menarik dari...

44:57Ada komen database nih tadi.

44:59Yang tadi?

45:01Yang ini?

45:03Bukan. Ada yang grow effects.

45:05Grow effects, oh iya.

45:07Aku enggak ngerti ini apa.

45:09Eventual consistency.

45:11Jaminan cara-cara menghadapi delay.

45:13Ini.

45:15Delay eventual consistency database.

45:17Ketika misal...

45:19Sebuah transaksi butuh bersifat...

45:21Sinkronisasi.

45:23Atau hal-hal yang sebaiknya non edge system.

45:25Oh, jadi transaksional.

45:27Atau misalkan harus...

45:29Sinkronisasi. Harus sinkron.

45:31Jadi yang...

45:33Konteks dari...

45:35Mungkin itu salah satu...

45:37Kalau misalnya Mas Riza atau Mbak Eka pernah mendengar...

45:39Konteks di dalam database itu kan ada...

45:41Theor, bukan teori ya.

45:43Tapi ada satu prinsipul namanya ACID ya.

45:45ACID ya.

45:47Jadi Atomicity.

45:49Consistency.

45:51Integrity.

45:53Jadi yang dimaksikan adalah ketika ada beberapa transaksi...

45:55Yang harus itu...

45:57Sinkronisasi itu apa yang terjadi, apakah ditaruh di edge.

45:59Jawabannya adalah...

46:01Ya, kita tidak...

46:03Menaruh database di edge.

46:05Sebenarnya.

46:07Cluster database yang...

46:09Terhubung dengan beberapa region yang ada.

46:11Jadi definisinya bukan edge.

46:13Tapi adalah cluster database.

46:15Sehingga cluster itu bersifat sebagai satu kesatuan.

46:17Dan...

46:19Prinsipul ACID itu tetap ada disana.

46:21Jadi kalau kita ngomong secara database...

46:23Secara detail ya.

46:25Tapi kalau kita ngomong perkara informasi paling enaknya...

46:27Tetap pakai caching.

46:29Karena itu yang direkomendasikan sama...

46:31Guilmo Delrenz ya.

46:33CEO ya, Versal.

46:35Itu lebih ke arah menggunakan tehnik caching.

46:37Tehnik caching ya.

46:39Kalau database-nya...

46:41Ikut terdistribusi juga seperti di edge.

46:43Ikutan di edge-nya.

46:45Itu maka...

46:47Maka sinkronisasi agak sulit ya.

46:49Tapi kalau clustering...

46:51Itu dia berbeda...

46:53Dengan edge-nya kan.

46:55Edge fungsinya dimana, misalkan di Singapura.

46:57Oh, database-nya nggak ada nih di Singapura.

46:59Ada yang terdekat mungkin di Hongkong.

47:01Latensinya ada, tapi tidak terlalu jauh kan.

47:03Dibandingkan ke Amerika kan.

47:05Jadi dia larinya ke...

47:07Baca data atau simpan data ke...

47:09Cluster yang ada di Hongkong.

47:11Jadi kalau dilihat dari...

47:13Dokumentasi Fly IO Postgres itu...

47:15Bukan edge database, tapi adalah cluster.

47:17Cluster.

47:19Multi-region.

47:21Jadi ya bukan edge.

47:23Sebenarnya. Jadi ya cluster.

47:25Di sana.

47:27Wah, mantap. Terjawab udah selama ini tuh penasaran.

47:29Cuma nggak seniat itu buat ngulik.

47:31Tapi untung...

47:33Untung ada sesi malam ini ya.

47:35Jadi diajarin sama Mas Dhoni.

47:37Mantap.

47:39Ada pertanyaan bagus lagi nih.

47:41Apakah setiap company yang punya edge service...

47:43Mereka punya infrastructure sendiri...

47:45Atau mereka punya service...

47:47Di masing-masing region.

47:49Jawabannya enggak kan ya.

47:51Jadi kalau kita...

47:53Kalau most of Indonesian company...

47:55Mungkin tidak harus.

47:57Tapi kalau misalnya kayak...

47:59Mungkin kita tahu beberapa company di Indonesia...

48:01Yang juga menyediakan service-nya...

48:03Tidak hanya di Indonesia.

48:05Misalnya Traveloka.

48:07Aku tidak tahu dalam mana yang Traveloka.

48:09Tapi pasti mereka punya...

48:11Beberapa teknik untuk bisa...

48:13Service data maupun...

48:15Backend ataupun...

48:17Apa pun itu di region yang bisa service.

48:19Di ASA Tamaraga.

48:21Oke. Ini kayaknya maksudnya...

48:23Nggak tahu ya. Silahkan dikoreksi.

48:25Ini maksudnya...

48:27Perusahaan yang punya service edge seperti...

48:29Versafly.io.

48:31Apakah mereka bikin infrastructure sendiri...

48:33Atau bikin apa?

48:35Mereka pakai service lain ya.

48:37Tidak. Jawabannya...

48:39Cost-nya mahal banget kalau bikin sendiri.

48:41Mereka kan menggunakan...

48:43Si...

48:45Ya. Salah satunya...

48:47GCP ya.

48:49Salah satunya GCP di sana.

48:51Tapi...

48:53Tapi kalau nggak salah ya.

48:55Kalau nggak salah baca, Flyaway itu mereka bikin sendiri.

48:57Kalau nggak salah baca.

49:01Ya. Mereka nggak...

49:03Mengabstrak si layer...

49:05Di atasnya service provider.

49:07Ya. Mungkin pasti...

49:09Mereka akan kerjasama dengan...

49:11Yang lebih low level lagi gitu.

49:13Cuman mereka katanya gitu. Mereka nggak ikutan.

49:15Nggak pakai GCP...

49:17Atau service serupa.

49:19Nah. Dan yang menariknya adalah...

49:21Oh iya. Mereka mungkin ya...

49:23Harus menyediakan cost untuk...

49:25Menyediakan itu agar...

49:27Available di global ya.

49:29Tapi mereka menggunakan teknik containerisasi yang...

49:31Open source namanya...

49:33Firecracker. Ini aku baru lihat.

49:35Firecracker.

49:37Itu yang...

49:39Dari beberapa...

49:41Cloud leader salah satunya Google.

49:43Juga berkontribusi di sana. Jadi ya...

49:45Secara teknologi, mereka juga menggunakan...

49:47Salah satu standard dari...

49:49Ketika membuat core platform.

49:51Oke.

49:53Oke. Nah.

49:55Pertanyaan saya berikutnya. Apakah...

49:57Si Edge ini...

49:59Kalau kita mau coba...

50:01Ya. Mau coba-coba menggunakan Edge.

50:03Apakah kita harus menggunakan framework...

50:05Seperti Quick?

50:07Atau mungkin...

50:09Apa lagi ya? Remix.

50:11Remix itu...

50:13Edge enggak ya? Atau Deno?

50:15Enggak kan ya?

50:17Jawabannya adalah...

50:19Kalau kita mau...

50:21Ini...

50:23Kalau di secara umum jawabannya...

50:25Enggak.

50:27Bisa support Ruby, bisa support...

50:29Oh iya. Bisa bahasa yang lain. Betul-betul.

50:31Jadi...

50:33Framework dengan request-respon...

50:35Tradisional pun tetap bisa...

50:37Dijalankan di Edge ya?

50:39Ya. Karena kalau di Fly.io itu...

50:41Tidak menggunakan JavaScript runtime.

50:43Karena dia menggunakan firecracker tadi.

50:45Micro VM. Jadi virtualisasi yang...

50:47Lebih kecil sehingga...

50:49Teknologi selain JavaScript itu...

50:51Bisa jalan di sana. Jadi bisa pake Google.

50:53Bisa pake LSP. Django pun bisa.

50:55Laravel?

50:57PHP bisa.

50:59Laravel? Bisa. PSP bisa.

51:01ROR bisa...

51:03Tapi...

51:05Tapi kalau kita mau...

51:07Either Cloud Fireworks...

51:09Mereka bikin runtime sendiri.

51:11Dia hanya bisa menggunakan...

51:13JavaScript.

51:15Ya. Betul.

51:17Wah. Menarik ya.

51:19Nah.

51:23Bahasa apa lagi nih?

51:25Masih ada pertanyaan lain tuh banyak.

51:27Oke. Kita jawab pertanyaan ya.

51:31Nah. Ini... Ini... Possible enggak?

51:33Dari Ranma. Menarik nih.

51:35Pake JS runtime plus SQLite.

51:37Jadi SQLite-nya dibawa ke Edge ya?

51:39Ada namanya TURSO. Namanya TURSO. Keren deh.

51:41Jadi... TURSO.

51:43Ada di private chat tuh.

51:45Coba dibuka.

51:47Ini?

51:49Oh. Jadi...

51:51Cuma dia sebenarnya nge-fork.

51:53Forking SQLite.

51:55Nah. Detailnya gimana sih sebenarnya?

51:57Belum nyoba ya. Nggak gitu tahu.

51:59Jadi dia... Mereka nge-fork SQLite.

52:01Untuk dijalani di Edge Function.

52:03Kalkulasinya.

52:05Kan SQLite kan kayak cuma bisa didump kan.

52:07Maksudnya nggak bisa kayak Postgres kita connect.

52:09Untuk melakukan CRUD gitu.

52:11Nggak bisa.

52:13Jadi kalkulasinya...

52:15Dilakukan di Edge Function.

52:17Di Edge itu.

52:19Terus... Ya udah. Dia nge-replace.

52:21Dia bisa meng-update SQLite.

52:23SQLite-like database.

52:25On the Edge.

52:27Cuma detailnya gimana tuh?

52:29Nah. Coba tolong dicelasin.

52:31Jadi ini yang mungkin...

52:33Sebagai pengganti dari caching itu sendiri.

52:35Jadi dia itu tetap butuh database yang utama.

52:37Tapi nanti komputasi...

52:39Misalnya ketika request dia itu juga akan ngirim

52:41SQLite itu di Edge.

52:43Di sana. Jadi instead of kamu

52:45nge-fetch database Postgres.

52:47Ada nih SQLite di Edge gitu.

52:49Jadi... Lebih cepat gitu.

52:51Tapi ada komputasi itu.

52:53Dari TURSO yang ter...

52:55Tersentralisasi. Pakai Postgre.

52:57Aku lihat gambarnya di sini. Aku buka di

52:59chiselsstrack.com ya. Yang punya TURSO.

53:01Di sana.

53:03Dia tetap menggunakan

53:05Satu database. Misalnya Postgre SQLite

53:07di tengah. Di sana.

53:09Oke.

53:11Oke. Nah.

53:13Kalau LightStream.

53:15Ini termasuk ini juga nggak?

53:17Terus ini gimana? LightStream?

53:19Ini LightStream.

53:21.io

53:23Fully replicated database.

53:27SQLite.

53:29Oh.

53:31Continuous Stream.

53:33Jadi ini contohnya adalah

53:35Mereka itu menaruh SQLite

53:37di beberapa

53:41storage ya. Storage.

53:43Di sana. Tapi kita bisa

53:45kemudian untuk selalu mengupdate

53:47file itu ketika ada perubahan.

53:49Oke.

53:51Agak sedikit berbeda ya.

53:53Agak sedikit berbeda sih.

53:55Jadi mereka memanfaatkan

53:57multi-region dari

53:59Blob Storage.

54:01Ya menarik juga nih.

54:03Jadi beda konteks

54:05sama yang tadi ya TURSO ya.

54:07Oke.

54:09Dia menggunakan ya daripada

54:11kan lebih murah tuh ya daripada setup

54:13database. Betul.

54:15Lebih murah.

54:17Ada yang bikin

54:19aplikasi cuman database

54:21tau gak apa? Google spreadsheet.

54:23Kita menggunakan

54:27IQ serebu.

54:29Kita gunakan

54:31Google API buat akses

54:33spreadsheet. Ya udah tuh tinggal update aja disana.

54:35Oh ya benar juga ya.

54:37Seru ini ya.

54:39Sebenernya kayak mancing kreativitas.

54:41Yang bikin teknologi

54:43tech-tech modern

54:45terbaru gitu kayak

54:47ngakalin. Kan semua ada trade-off-nya.

54:49Apapun itu kan jelas ada trade-off-nya ya.

54:51Nah ini dengan banyaknya

54:53edge sama serverless, malah justru database

54:55atau data storage yang

54:57least powerful, yang paling gak powerful

54:59malah jadi naik lagi.

55:01Karena murah dan gampang diseber

55:03atau degenerate di mana-mana.

55:05Menarik ya.

55:07Jadi malah

55:09ikut ya itu ya

55:11ekosistem ya. Satu

55:13bertumbuh yang lain sebelah-sebelahnya ikut

55:15bertumbuh atau yang tadi udah mau layu

55:17hidup lagi gitu ya.

55:19Ini tadi kita sempet bahas

55:21server-side rendering sekalian

55:23ISG juga biar teman-teman paham.

55:25ISG itu apa ya?

55:27Incremental Static

55:29Regeneration.

55:31Apa? I-nya apa?

55:33Incremental.

55:35Incremental. Oke.

55:37Itu konsepnya gimana?

55:39Ada yang tau? Mba Eka.

55:41Eka. Itu kayaknya

55:43di Next.js ada deh kalau gak salah.

55:45Jadi sebenarnya

55:47ISG itu introduce

55:49persel ya

55:51persel ya

55:53di sana. Jadi

55:55Eka itu menggabungkan dua konsep

55:57teman-teman SSG ya.

55:59SSG sama SSR ya.

56:01Tapi kan kalau dulu kan

56:03SSG itu harus dibuild semua ya kan.

56:05Misalnya kita punya blok kita

56:07ada 20 artikel.

56:09Terus kita nambahin satu artikel baru jadi

56:11dua satu halaman itu

56:13dibuild lagi semua.

56:15Nah ini tuh

56:17kelihatan kalau gak salah.

56:19Jadi yaudah kita ngebuild

56:21apa yang perlu dibuild.

56:23Jadi under the hood

56:25si library-nya itu

56:27bisa bikin kayak div lah.

56:29Divnya aja ya.

56:31Dia cukup pinter buat

56:33nyari mana yang perlu

56:35diubah. Nah cuma

56:37itu kan implementasi di Next.js.

56:39Belum mulai lagi sih apakah

56:41di framework atau meta framework lain

56:43ada dan implementasinya gimana.

56:45Intinya sih

56:47ngedapetin keuntungannya

56:49pure static kan kalau dari

56:51perspektif user nih end user yang

56:53ngebuka halaman kita. Dia kan dapat

56:55keuntungannya pure SSG ya

56:57cepet

56:59dan langsung kebuka performance bagus

57:01dan sebagainya. Dari sisi

57:03developer mengurangi

57:05pain point-nya atau ke gak enakannya

57:07pure SSG harus

57:09ngebuild semua.

57:11Oke, oke. Nah

57:13berikutnya, ada yang nanya

57:15tentang Hermes.

57:17Ada yang tau?

57:19Hermes. Java script engine

57:21di React Native.

57:23Apa tuh Hermes? Coba kita

57:25cari.

57:27Lebih ke ini ya. Jadi memang

57:29definisinya beneran time.

57:31Tapi yang dibuat oleh

57:33Facebook ya.

57:35Yang dibuat dalam Facebook

57:37disana. Itu memang dedikasinya

57:39adalah untuk

57:41berjalan di mobile

57:43device. Disana.

57:45Mobile device-nya adalah

57:47React Native gitu.

57:49Jadi bayangin kamu bikin note

57:51tapi dimasukin ke

57:53disana. Tapi

57:55tidak semua note APA

57:57ada. Tapi memang khusus buat

57:59jalanin aplikasi React Native.

58:01Jadi lebih kesana

58:03ya.

58:05Itu open

58:07source JS engine juga kan ya.

58:09Tapi masuknya ya ke ranah

58:11mobile kali ya. Ranah-ranah

58:13mobile gitu.

58:15Itu yang kayak

58:17lagi aku dalemin yang

58:19kalau gak salah Mas Rizya pernah ngetit

58:21belajar apa tahun ini gitu kan ya.

58:23Mau bikin compiler katanya.

58:25Enggak bikin ya. Tapi

58:27lebih ke contribute. Belajar?

58:29Belajar ke contribute ke note.

58:31Mau contribute ke banyak hal.

58:33Luar biasa.

58:35Berikutnya

58:39kalau jadi front-end

58:41developer susah gak?

58:43Susah gak jadi.

58:45Susah gak jadi.

58:47Enggak gak susah. Belajar aja.

58:49Enggak susah sih.

58:51Sama. Susahnya sama aja

58:53kayak jadi back-end developer atau jadi

58:55devops atau

58:57apa. Cuma kan cocok-cocokan ya.

58:59Mending dicoba dulu

59:01belajarin desertnya semua. Kita kan

59:03gak bisa tau tuh kita cocok atau gak.

59:05Kalau belum dicoba.

59:07Lebih baik malah bukan susah apa

59:09gak. Kamu mau ngapain?

59:11Di start dari wayenya dulu kenapa

59:13mau jadi front-end developer?

59:15Di sana. Kamukan dulu kamu

59:17ngapain mau belajar.

59:19Terlepas susah apa ya.

59:21Semuanya susah.

59:23Memangnya belajar ya. Pasti pusing ya.

59:25Yang gampang Mas. Tidur-tiduran di rumah.

59:27Gampang juga.

59:29Sama ini.

59:31Gimana gimana?

59:33Tuh lanjut.

59:35Sama aja

59:37kalau misalkan beginner

59:39to intermediate JS mau

59:41coba RAS itu sakit kepala.

59:43Pasti sakit kepala namanya juga belajar.

59:45Pusing ya.

59:47Di sana pasti karena

59:49beda pemahaman

59:51tentang bagaimana kita

59:53melakukan pemugraman di RAS.

59:55Ada beberapa kalau

59:57kamu sebagai yang pernah main JS

59:59gak pernah main low level sebelumnya

1:00:01gak ngerti cara bagaimana memanage memory akan

1:00:03sangat-sangat pusing.

1:00:05Apa lagi?

1:00:07Lanjut-lanjut.

1:00:09Bahkan kalau tau C sama C++ pun

1:00:11cara untuk kita

1:00:13memanage memory itu akan berbeda.

1:00:15Di RAS.

1:00:17Jadi ya susah.

1:00:19Aku dulu sama teman zero one group

1:00:21bikin beberapa open source project

1:00:23itu pun untuk produktif butuh sebulan.

1:00:25Wow sebulan ya.

1:00:27Apalagi RAS itu

1:00:29type language kan.

1:00:31Jadi kalau misalkan dari JavaScript

1:00:33kayaknya agak terlalu jauh loncatnya ya.

1:00:35Kalau dari TypeScript mungkin lumayan ya.

1:00:37Tapi mungkin

1:00:39saran tambahan

1:00:41kalau emang mau belajar bahasa baru

1:00:43atau platform baru itu

1:00:45kalau bisa

1:00:47jangan mencari ekvivalen

1:00:49dari bahasa yang sebelumnya.

1:00:51Oh di JavaScript gini, di RAS gimana?

1:00:53Karena beda banget.

1:00:55Cara pikirnya beda ya.

1:00:57Pilosofinya beda.

1:00:59Kalau kita stuck di bahasa lama malah stress mungkin.

1:01:01Iya.

1:01:03Jadi kalau misalkan di RAS itu dia

1:01:05ada konsep-konsep kayak borrowing

1:01:07ada apa lagi tuh. Macam-macam gitu kan.

1:01:09Di JavaScript kan gak ada ekvivalennya. Begitu juga sebaliknya.

1:01:11Kalau saya mau ini

1:01:13di JavaScript gimana ya.

1:01:15Ada call back, ada even loop,

1:01:17ada macem-macem gitu.

1:01:19Maka fundamental dan filosofi itu

1:01:21yang harus dipelajari.

1:01:23Gak, cari ekvivalen.

1:01:25Mungkin kalau sintaks ya bisa lah. Cari ekvivalennya

1:01:27for loop di sini ya itu mungkin hampir sama.

1:01:29Tapi kalau

1:01:31dalemannya yang berbeda.

1:01:33Gitu.

1:01:35Jadi kalau RAS itu sebetulnya inspired

1:01:37by apa sih sebagai bahasa?

1:01:39Kan biasanya ada turunan-turunannya

1:01:41bahasa-bahasa yang baru.

1:01:43Jadi

1:01:45seingetku

1:01:47RAS itu terinspirasi dari OCaml.

1:01:49Funksional programmingnya dari

1:01:53sana.

1:01:55Haskell mungkin ada

1:01:57terinspirasi dari sana. Karena type

1:01:59functional programming. Karena

1:02:01RAS itu meng-leverage beberapa

1:02:03teknik-teknik functional programming

1:02:05yang kita

1:02:07bisa lakukan di sana.

1:02:09Jadi dapat dari situ.

1:02:11Pengen dapet

1:02:13performa yang bagus kayak low

1:02:15level tapi juga pengen

1:02:17menyenangkan bagaimana kita

1:02:19mammogram berdasarkan menggunakan

1:02:21functional programming lagi.

1:02:23Oh berarti gak OOP

1:02:25based ya? Bisa

1:02:27tapi tidak ada yang namanya class.

1:02:29Bisa. Jadi

1:02:31kita bisa. Sebenernya multi

1:02:33paradigma ya.

1:02:35Jadi kita bisa

1:02:37mengimplementasi method. Tapi

1:02:39bukan math, bukan

1:02:41class namanya. Jadi kita

1:02:43menginstrack, kemudian kita mengimplem

1:02:45EMPL. Jadi mengimplemenasi

1:02:47apa method

1:02:49atau fungsi terhadap strack itu

1:02:51sendiri.

1:02:53Oke.

1:02:55Sip sip.

1:02:57Nah ini ada pertanyaan

1:02:59lumayan menarik juga nih.

1:03:01Jadi Drian ini masuk

1:03:03ke sebuah perusahaan.

1:03:05Basisnya React dan

1:03:07Aravail. Terus tiba-tiba perusahaannya

1:03:09pakai Senja sama

1:03:11web service Lamina. Lamina itu apa?

1:03:13Kita juga bingung.

1:03:15Kenapa?

1:03:17Senja itu kalau gak salah

1:03:19Java and JavaScript framework

1:03:21Ini kan

1:03:23Senja itu

1:03:25kalau gak salah UI library juga.

1:03:27Tapi jaman dulu. XT, JS

1:03:29jamannya apa?

1:03:31Java ya Senja ya?

1:03:33Nggak. Java and JavaScript.

1:03:35Jadi mungkin ya

1:03:37back-endnya Java terus untuk

1:03:39strack disini.

1:03:41Nah, tapi itu tadi

1:03:43Laravel. Laravel PHP.

1:03:45Oh, basicnya.

1:03:47Sorry, salah.

1:03:49Salah baca.

1:03:51Ya, beda stack.

1:03:53Kurdu pelajaran dari awal.

1:03:55Ada component kan Senja kan?

1:03:57Oh iya, XT, JS.

1:03:59Benar.

1:04:01Ini dulu Mas Arya kerja

1:04:03disini nih, di Senja.

1:04:05Oh.

1:04:07Jadi ada framework

1:04:09jadi sepaket ada framework

1:04:11front-endnya, ada back-endnya ya?

1:04:13Tapi enterprise berbayar.

1:04:15Bukan yang open source.

1:04:17Bingungnya dimana?

1:04:19Ya, pelajari aja Senja nya.

1:04:21Ada dokumentasinya kan pasti.

1:04:23Karena kalau kamu bekerja

1:04:25pada suatu persahaan ya mau gak mau kan?

1:04:27Harus belajar.

1:04:29Kenapa waktu interview gak nanya

1:04:31di sini pakai apa?

1:04:33Waktu

1:04:35interview nanya dong.

1:04:37Pengaruh ini sih, pengaruh apakah

1:04:39ini juga ya kalau misalnya

1:04:41berhadapan dengan vendor juga

1:04:43sebagai perusahaan juga harus mengerti

1:04:45gimana cara

1:04:47teknologi yang digunakan apa.

1:04:49Misalnya, misalnya aku kan sebagai

1:04:53Salto Company yang juga berbasis agensi ya.

1:04:55Aku pernah tidak selalu

1:04:57menggunakan tech-tech yang aku

1:04:59gunakan.

1:05:01Jadi pernah dulu

1:05:03pakai Kotlin? Pernah.

1:05:05Pernah pakai

1:05:07JavaScript, Vanilla

1:05:09walaupun secara defaultnya

1:05:11type script juga pernah.

1:05:13Jadi ya sebenarnya gak ada masalah

1:05:15perkara teknologi. Selama konsep

1:05:17dari software engineering itu udah kuat

1:05:19harusnya gak ada masalah sih

1:05:21belajar disini.

1:05:23Ada pertanyaan terkait

1:05:25jadinya, Mas Nuni dari perspektif

1:05:27sebagai lead atau mentor,

1:05:29gimana tuh kalau ngadepin kayak si

1:05:31siapa tadi Mas atau Mbak

1:05:33Adrian tadi orang baru

1:05:35tech-tech yang dikuasai sama sekali berbeda

1:05:39tapi ya maksudnya dia bisa diterima

1:05:41berarti kan kemungkinan dianggap punya potensi

1:05:43atau mampu. Cara nge-guidednya

1:05:45kira-kira gimana tuh?

1:05:47Yang mana ya komennya?

1:05:49Yang tadi, yang ini, yang kita

1:05:51tampilin di layar.

1:05:53Dia basicnya reaksi sama Laravel, cuma aplikasi

1:05:55vendor-nya pakai Senca.

1:05:57Terus tadi yang pertanya sebagai mentor itu

1:05:59sebelah mana ya komennya?

1:06:01Oh enggak, ini pertanyaan tambahan aja.

1:06:03Sorry, boleh diulang gak? Mauin maaf.

1:06:07Itu langkah untuk

1:06:09membimbing atau mengintegrasikan

1:06:11tim member baru yang

1:06:13kondisinya kayak gitu tuh.

1:06:15Gak paham sama sekali.

1:06:17Apa beda tech-tech?

1:06:19Dan bingung?

1:06:21Sebenernya ini juga

1:06:23salah satu yang pernah

1:06:25aku hadapin di

1:06:27Zero One ya. Jadi Zero One itu

1:06:29ini aku kasih

1:06:31perbedaan konteks.

1:06:33Jadi Zero One dulu itu mobilnya pakai

1:06:35React Native.

1:06:37Ternyata non-JS ekosistem

1:06:39paling gampang React Native dong.

1:06:41React Native dan Expo

1:06:43yang mungkin mau.

1:06:45Ternyata ada permasalahan

1:06:47waktu setelah developer experience

1:06:49itu di sana. Dan akhirnya kita untuk

1:06:51mengevaluasi kita mau

1:06:53pakai apa? Beneran gak mau investasi

1:06:55karena kondisi Zero One belum pernah

1:06:57paham tentang mobil.

1:06:59Karena background-nya web sama back-end.

1:07:01Jadi gak ada yang paham tentang masalah di mobil.

1:07:03Akhirnya kita melakukan reset

1:07:052-3 bulan.

1:07:07Itu kita akhirnya milih untuk pindah ke

1:07:09Flutter.

1:07:11Salah satu teknologi di Google

1:07:13yang mobil di Flutter.

1:07:15Sebagai orang yang

1:07:17tidak pernah pegang Flutter sebelumnya

1:07:19mau gak mau harus pegang.

1:07:21Jadi tetap hiring

1:07:23teman-teman yang

1:07:25React Native gitu.

1:07:27Kita gak hiring React Native.

1:07:29Jadi kami hiring Flutter.

1:07:31Tapi konteksnya adalah

1:07:33yang Flutter pada saat itu

1:07:35masih entry-level.

1:07:37Jadi justru yang ada perasanya malah

1:07:39aku.

1:07:41Jadi aku harus belajar.

1:07:43Aku menggunakan

1:07:45anak yang entry-level

1:07:47itu untuk kayak

1:07:49bisa bantu jelasin aku gak Flutter.

1:07:51Karena

1:07:53masih lagi anget-angetnya ya ilmunya.

1:07:55Ya, disana. Jadi sebagai

1:07:57Lead pun punya tanggung jawab

1:07:59tidak hanya untuk

1:08:01menyuruh

1:08:03timnya untuk belajar.

1:08:05Tapi dia juga harus pernah pegang

1:08:07dalam esensi pernah

1:08:09tahu bagaimana caranya nge-build

1:08:11aplikasi dari teknologi tersebut.

1:08:13Karena gak akan nyambung

1:08:15kalau gak pernah nyoba. Jadi

1:08:17sebagai Lead sebelum mengarahkan

1:08:19kita harus tahu sebagai

1:08:21apa teknologinya itu kayak gimana.

1:08:23Mau teknologi apa-apa.

1:08:25Insya Allah masih coba

1:08:27untuk hands-on

1:08:29disana. Nah bagi teman-teman

1:08:31yang

1:08:33belum pernah

1:08:35belajar. Ini konteksnya adalah dulu

1:08:37tekstek pertama saja doang adalah closure.

1:08:39Jadi ada yang ngomong closure ya?

1:08:41Belajar.

1:08:45Karena closure itu tidak semudah

1:08:47itu. Karena mungkin mindsetnya kan

1:08:49beda kan. Orang terbiasa

1:08:51teksnya kayak si. Sedangkan closure itu

1:08:53pakai list untuk

1:08:55kurung-kurung yang

1:08:57seperti itu. Kurungnya banyak ya.

1:08:59Kurungnya banyak gitu kan ya disana.

1:09:01Jadi gimana cara kita

1:09:03menafigasinya harus ada

1:09:05sesi untuk mereka belajar.

1:09:07Jadi satu

1:09:09minggu, dua minggu mereka join

1:09:11ke zero-one. Waktu itu dia gak

1:09:13disuruh modi. Disuruhnya

1:09:15belajar dulu.

1:09:17Enak ya. Udah dibayar itu.

1:09:19Udah dibayar gitu.

1:09:21Enak ya.

1:09:23Jadi belajar dulu disana.

1:09:25Adaptasi gitu.

1:09:27Tapi akhirnya terlalu

1:09:29kosnya terlalu besar untuk ngajarin

1:09:31closure. Karena yang bisa closure cuman berapa orang.

1:09:33We put

1:09:35ke investasi

1:09:37ke Node.js Ecosystem, ke Javascript.

1:09:43Bisa juga pakai Closure Script ya nanti ya.

1:09:45Oh justru malah

1:09:47ini lucunya adalah aku belajar

1:09:49Frontend itu dari Closure Script bukan dari...

1:09:51Oh gitu. Oh wow.

1:09:53Kebalik.

1:09:55Kebalik ya.

1:09:57Baru ke react disana.

1:09:59Non-mainstream.

1:10:01Tidak mainstream.

1:10:03Oke. Pertanyaan berikutnya

1:10:05ini ada yang bertanya tentang

1:10:07Edge Function lagi. Apakah

1:10:09bisa hybrid dengan konvensional

1:10:11atau monolith. Atau

1:10:13kita harus microservice ya

1:10:15semuanya, function.

1:10:17Bisa kan?

1:10:19Bisa, bisa.

1:10:21Bisa, bisa. Jawabannya adalah bisa, pasti bisa.

1:10:23Tapi yang

1:10:25menurutku yang selalu kita

1:10:27hadapi sebagai orang teknis

1:10:29itu adalah gunakan

1:10:31teknologi yang tepat untuk permasalahan kita.

1:10:33Tidak semuanya harus di Edge.

1:10:35Tidak semuanya.

1:10:37Tapi core utama bisnis kalian itu

1:10:39adalah monolith di awal

1:10:41disana. Tapi ada fitur

1:10:43baru yang membutuhkan teknologi baru

1:10:45kalian bisa gunakan teknologi Edge

1:10:47disana. Karena kalau kalian harus

1:10:49migrasi cost dan

1:10:51gaya-gaya untuk

1:10:53rewrite. Kan paling senang tuh engineer

1:10:55kalau ngerewrite kan ya disana.

1:10:57Ya. Semua

1:10:59shiny new tools masuk.

1:11:01Masuk gitu. Tapi abis itu

1:11:03dia resign terus gak ada yang maintain. Itu

1:11:05kan susah. Nah lho.

1:11:09Itu yang sering dialami

1:11:11oleh Zero One Group karena kami itu

1:11:13selalu mencoba untuk

1:11:15membantu enterprise yang ditinggal

1:11:17oleh penulis sebelumnya

1:11:19yang menggunakan bleeding edge.

1:11:21Dan akhirnya audited.

1:11:23Jadi kaya

1:11:25tercara bagaimana untuk cost tetap

1:11:27bisnis tetap jalan.

1:11:29Tapi cost nya itu gak harus

1:11:31sampai rewrite disana.

1:11:33Jadi apa dulu nih yang mau dipecahin?

1:11:35Kita bisa

1:11:37mengkolaborasi kan. Tapi yang penting

1:11:39adalah kamu tuh memecahkan masalah dari

1:11:41produk yang kamu buat.

1:11:43Gak harus semuanya

1:11:45pakai Kubernetes.

1:11:47Gak harus semuanya pakai Kubernetes.

1:11:49Gak semua harus pakai

1:11:51micro service.

1:11:53Iya.

1:11:55Paling senang

1:11:57rewrite setuju. Iya lah.

1:11:59Iya.

1:12:01Paling senang rewrite ya. Luar biasa.

1:12:03Kalau Raz sendiri

1:12:05ya sering diajak gelet sama compiler ya.

1:12:07Pasti jawabannya.

1:12:09Kalau kamu gak biasa

1:12:11lebih kaya guru sih.

1:12:13Kamu jangan lakukan ini, tolong lakukan ini ya.

1:12:15Ada sarannya

1:12:17tapi kan.

1:12:19Pesan error nya itu udah lebih

1:12:21manusiawi kan.

1:12:23Itu membuat

1:12:25Raz compile time nya lama.

1:12:27Oh.

1:12:29Jadi dia ada jpt nya gak?

1:12:31Gak aja.

1:12:33Compiler error nya kaya

1:12:35jpt gitu.

1:12:37Beda dengan Go compile time nya sangat cepat ya.

1:12:39Compile time nya cepat banget.

1:12:41Tapi kalau Raz itu lama compile time nya.

1:12:43Oh. Kenapa tuh?

1:12:45Karena banyak

1:12:47hal yang dilakukan oleh

1:12:49compiler itu sendiri

1:12:51pada Raz. Karena mereka

1:12:53harus ngecek memory management.

1:12:55Mereka harus ngecek

1:12:57pesan yang baik untuk disana. Sedangkan

1:12:59Go itu kamu bisa ke compile

1:13:01itu error. Karena mungkin

1:13:03data nya pointer nya error.

1:13:05Di Raz itu

1:13:07gak bakal kamu

1:13:09pointer error sampe kamu benar

1:13:11di compile. Jadi itu makanya lebih lambat.

1:13:13Waktu nge compile

1:13:15dia sebelum compile dia ngecek semua

1:13:17berarti? Dia ngejalanin semua ya?

1:13:19Lama. Disana.

1:13:21Jadi makanya

1:13:23ya jadi

1:13:25jadi akhirnya di tahun

1:13:27ini apa tahun lalu ya?

1:13:29Mereka main incremental build.

1:13:31Jadi harus build semua

1:13:33dari awal.

1:13:35Jadi lebih cepat ya?

1:13:37Jadi lebih cepat.

1:13:39Nah. Ngomongin Go nih. Ada yang minta saran nih.

1:13:41Dia front-end.

1:13:43Mas Arjo ini front-end.

1:13:45Tapi pengen belajar back-end pake Go.

1:13:47Supaya bisa nyambi.

1:13:49Biar bisa freelance.

1:13:51Biar bisa back-end untuk freelance.

1:13:53Kalau dari

1:13:55front-end front-end apa? JavaScript

1:13:57apa TypeScript? Kalo JavaScript kayaknya

1:13:59agak ini ya agak

1:14:01panjang ya jalannya ya. Karena

1:14:03JavaScript kan dinamis ya. Mungkin

1:14:05baca TypeScript dulu kali ya sebagai perantara kali ya.

1:14:07Ya.

1:14:09Kenapa Go?

1:14:11Kenapa Go? Iya pertanyaannya

1:14:13kenapa Go? Kenapa harus-harus.

1:14:15Perjayaan saja yang udah deket.

1:14:17Karena begini loh. Selalu salah kapra

1:14:19orang-orang itu. Kenapa gak jadi whole stakes sekalian?

1:14:21Hahaha.

1:14:23Salah kapra orang-orang itu adalah programming

1:14:25language itu jadi yang

1:14:27idaman utama. Padahal

1:14:29katakanlah kamu bikin back-end sama Aras ya.

1:14:31Cepet banget gak?

1:14:33Kalau kamu bikin querynya

1:14:355 second, mau pake Aras

1:14:37nonggu nya 5 second.

1:14:39Jadi gak ada masalah

1:14:41sebenernya. Bahkan Instagram sekarang back-end

1:14:43masih pake Python. Pake Python.

1:14:45Django. Iya.

1:14:47Pake Django disana. Jadi

1:14:49lebih ke arah kenapa harus Go?

1:14:51Apa kalau kamu mau kerja ke company

1:14:53besar di Indonesia?

1:14:55Fair gitu. Boleh.

1:14:57Tapi kalau freelance, ngapain

1:14:59harus pake Go? Orang bisa kayak

1:15:01perlunakan pahat PHP Laravel?

1:15:03Iya. Dapet Lamborghini.

1:15:05Dapet. Beli Lamborghini. Iya.

1:15:07Kamu mau beli Laravel?

1:15:09Kamu mau beli Laravel ya? Dapet Lamborghini ya?

1:15:11Iya. Dia gak tau ya itu

1:15:13punya dia atau bukan ya. Nilas dia foto di depan

1:15:15Lamborghini. Kita gak tau itu

1:15:17punya siapa. Ya

1:15:19bisa jadi punya dia sih. Bener.

1:15:21Karena Laravel itu banyak service yang

1:15:23berbayarnya kan.

1:15:25Manitasnya disana.

1:15:27Iya. Pertanyaan yang sama juga.

1:15:29Kenapa harus Go?

1:15:31Iya. Padahal

1:15:33Google aja

1:15:35yang punya Go

1:15:37dia gak rewrite tuh Gmail.

1:15:39Gmail masih pake Java tuh.

1:15:41Jadi bahasa

1:15:43yang paling populer di

1:15:45dalam Google sendiri itu

1:15:47yang pertama adalah Java,

1:15:49Python, C, C++.

1:15:51Baru Go lang. Go lang itu banyak dipake

1:15:53di GCP-nya ya.

1:15:55Infrastruktur.

1:15:57Ada ops-nya biasanya.

1:15:59Jadi kalau misalkan

1:16:01mau ke back-end ya mendingan

1:16:03lebih dekat ke Node.js kali ya.

1:16:05Mungkin bisa langsung belajar Deno

1:16:07atau Boon. Sama-sama lah itu

1:16:09JavaScript runtime ya.

1:16:11Oke. Nah

1:16:17berikutnya

1:16:19PHP.

1:16:21Banyak ya. Banyak ininya apa? Banyak

1:16:23job-nya kali ya.

1:16:25Terus

1:16:27Facebook masih pake PHP ya.

1:16:29Dia udah beda ya. Beda.

1:16:31Kita bukan Facebook. Jadi jangan samakan.

1:16:33Jangan liat

1:16:35"Wah Facebook pake PHP."

1:16:37PHP mereka udah beda.

1:16:39Mereka udah bisa bikin

1:16:41compiler dan interpreter sendiri.

1:16:43Dan kita juga gak perlu

1:16:45secanggih mereka kan. Apalagi

1:16:47usernya masih 100, 200,

1:16:491000 gitu ya.

1:16:51Masih bisa lah pake PHP.

1:16:53Tergantung tujuannya.

1:16:55Tujuannya mau buat apa.

1:16:57Iya. Why-nya kenapa?

1:16:59Betul. Betul. Betul.

1:17:01Tapi kalau tujuannya untuk belajar sih

1:17:03gak apa-apa kan. Gak apa-apa.

1:17:05Gak apa-apa gitu. Karena mau belajar

1:17:07Haskell pun gak ada masalah.

1:17:09Haskell. Iya.

1:17:11Tapi kalau mau bikin

1:17:13produk ya mikir-mikir dulu ya.

1:17:15Oh jarang banget yang pake

1:17:17Haskell.

1:17:19Itu udah susah

1:17:23belajarnya itu.

1:17:25Iya. Apalagi pake

1:17:27PureScript. Aduh pake apa lagi?

1:17:29Freelance terbaik katanya.

1:17:33Itu job security. Tapi tuh kalau bahasa aneh-aneh

1:17:35job security yang bisa cuma

1:17:37kita gak bakal kena lay off.

1:17:39Gak akan dipecat.

1:17:41Kalau mau job security ya mbak?

1:17:43Itu lebih ke

1:17:45Kobol tuh.

1:17:47Kobol.

1:17:49Gang gitu.

1:17:51Iya. Jobnya sih

1:17:53secure. Kita gak bakal kena lay off.

1:17:55Tapi perusahaan ini kita gak tahu tiba-tiba.

1:17:57Tiba-tiba tidak bekerja.

1:17:59Tidak beroperasi lagi ya udah.

1:18:01Kita juga harus cabut.

1:18:03Iya bener kan tuh.

1:18:078bit juga menyarankan

1:18:09kalau emang mau

1:18:11mau belajar back-end ya coba

1:18:13belajar yang deket aja dulu.

1:18:15Karena kan banyak hal yang di back-end

1:18:17yang konsepnya yang baru

1:18:19dibandingkan front-end kan.

1:18:21Kita harus belajar database, belajar apalagi

1:18:23technique caching,

1:18:25belajar gimana

1:18:27apa mengatur service dan lain-lain

1:18:29routing kan.

1:18:31Kalau misalkan kita belajar dengan bahasa baru itu

1:18:33ya jadi bertingkat-tingkat

1:18:35berkali lipat gitu.

1:18:37Ya kalau emang mau belajar go

1:18:39ujungnya boleh. Belajar note dulu.

1:18:41Oh udah ngerti back-end nih sedikit-sedikit.

1:18:43Baru ke go atau kemana.

1:18:45Lebih seru lagi

1:18:47kalau sambil ngerjain project. Jadi tadi

1:18:49cari freelance kan. Cari aja yang

1:18:51paling

1:18:53paling memungkinkan

1:18:55diambil terus belajar

1:18:57sambil ngerjain.

1:18:59Risikan sih tapi ya

1:19:01belajarnya jadi lebih tepat.

1:19:03Projectnya yang kecil-kecil aja. Bahkan

1:19:05kalau mungkin kalau dari ini di luar bahasa

1:19:07go ya. Chrome end ke

1:19:09back-end atau mungkin ke full stack.

1:19:11Hal sesimpel kayak bikin apa sih

1:19:13GraphQL server itu loh.

1:19:15Pakai library yang udah ada pun.

1:19:17Misalnya pakai Prisma sama Apollo.

1:19:19Itu kan kita tinggal nyambung-nyambungin.

1:19:21Tapi yang valuable

1:19:23itu kayak yang berharga tuh pas kita

1:19:25kita beneran praktek

1:19:27gimana cara bikin database query yang

1:19:29relationnya irit lah.

1:19:31Selama ini kalau di Chrome end

1:19:33mungkin kan nggak terlalu mikir. Pokoknya

1:19:35panggil endpoint. Post, muncul deh

1:19:37semua post. Tapi post itu kan

1:19:39ada user. User ada datanya.

1:19:41Misalnya ada username, ada profile, ada

1:19:43apa. Nah kalau misalnya

1:19:45kita udah masuk ke

1:19:47full stack-nya bikin CC API-nya

1:19:49kan kita harus mikirin

1:19:51data relasi-relasi

1:19:53manggil berbagai

1:19:55table yang berbeda kan.

1:19:57Itu bikin query-nya jadi berat banget kan.

1:19:59Berat dan apa? Costly juga

1:20:01bisa mahal, bisa bikin database

1:20:03bool. Nah kita mulai

1:20:05mikirin itu aja kan sebenernya udah

1:20:07langkah menuju belajar

1:20:09back-end. Walaupun secara bahasa dan

1:20:11sinteks ya belum belajarin apapun

1:20:13yang baru.

1:20:15Oke-oke. Nah ini juga

1:20:17pertanyaan menarik nih. Kenapa sekarang-

1:20:19sekarang ini lagi rame functional programming?

1:20:21Ayo. Kenapa?

1:20:25Gak tau.

1:20:29Uh.

1:20:31Kenapa?

1:20:33Gak bisa jawab sebenernya kalau misalnya

1:20:35kenapa rame.

1:20:37Tapi biasanya juga orang-orang

1:20:39yang sangat

1:20:41excited atau sangat

1:20:43senang

1:20:45menggunakan functional programming itu akan selalu

1:20:47mencoba untuk menyebarkan

1:20:49tentang apa itu functional programming.

1:20:51Contohnya

1:20:53samapin.

1:20:55Ya kalau pakai film, pakai Axlinux

1:20:57itu pasti langsung itu ya.

1:20:59Gak ditanya juga jawab.

1:21:01Saya pakai film gitu ya.

1:21:03Tapi

1:21:05selain perkara gitu ya

1:21:07pemahaman tentang konsep

1:21:09tidak hanya OP itu akan

1:21:11menambah pengetahuan kita

1:21:13dan bahwa tidak ada

1:21:15hanya satu solusi untuk

1:21:17mengerjakan sesuatu itu.

1:21:19Jadi lebih ke arah beneficial kita

1:21:21sebagai software developer atau engineer

1:21:23untuk mengetahui lebih dari satu paradigma.

1:21:25Karena

1:21:27functional programming itu punya benefitnya

1:21:29daripada OP.

1:21:31Tapi apakah functional programming

1:21:33jauh lebih baik? Jawabannya tidak

1:21:35tergantung.

1:21:37Tergantung lagi, kembali lagi, it depends.

1:21:39Di Zero One Group itu tidak

1:21:41garis keras functional programming

1:21:43tapi kami itu selalu

1:21:45menggunakan functional programming

1:21:47untuk memastikan bahwa data yang

1:21:49kita gunakan itu selalu

1:21:51benar-benar tidak termutasi.

1:21:53Data inputnya adalah functional programming.

1:21:55Itu kita tidak pernah memutasi data.

1:21:57Sederhananya adalah

1:21:59kalau kita menggunakan

1:22:01di JavaScript kita itu tidak pernah pakai

1:22:03let ataupun var ya.

1:22:05Jadi selalu menggunakan cons.

1:22:07Karena kita tahu bahwa

1:22:09ini tidak akan berubah data ini.

1:22:11Immutable.

1:22:13Immutable gitu. Data ini tidak berubah.

1:22:15Sebenarnya esensinya adalah bukaan penggunaan function.

1:22:17Tapi kita tahu bahwa

1:22:19state yang kita lakukan

1:22:21adalah input sama outputnya bisa di prediksi.

1:22:23Dan kenapa kita

1:22:25menggunakan immutable, gampang ditest.

1:22:27Bisa ditebak lah ya.

1:22:31Oh, kalau ini berarti nilainya

1:22:33segini udah pasti. Kita udah yakin.

1:22:35Kalau misalkan OOP

1:22:37kan dia ada konsep global

1:22:39variable-nya kan.

1:22:41Kalau di JavaScript itu pakai disk gitu kan.

1:22:43Itu isinya bisa macam-macam gitu kan.

1:22:45Dan bisa berubah di tengah jalan.

1:22:47Sebenarnya

1:22:49kalau

1:22:51dibilang tren, sebenarnya fungsional programming

1:22:53kan juga udah lama kan.

1:22:55Lebih lama fungsional kan.

1:22:571960-an.

1:22:59Justru lebih muncul duluan.

1:23:01Jadi tren-tren

1:23:03di teknologi itu ya gitu.

1:23:05Muter-muter aja.

1:23:07Yang tadinya kurang tren.

1:23:09Terus tiba-tiba muncul OOP.

1:23:11Abis itu sekarang OOP kurang tren.

1:23:13Balik lagi ke fungsional.

1:23:15Dan seterusnya.

1:23:17Dari SQL ke NoSQL.

1:23:19Balik lagi ke SQL.

1:23:21Dulu Imperative.

1:23:23Padahal dari dulu

1:23:25SQL itu adalah bahasa deskriptif

1:23:27kan. Deklaratif, sorry.

1:23:29Bahasa Deklaratif kan. Sekarang Deklaratif.

1:23:31Ada React, ada ini, ada SwiftUI.

1:23:33Padahal dari dulu SQL itu adalah

1:23:35Deklaratif.

1:23:37Cuman orang gak nyadar aja.

1:23:39Cuman sayangnya ini ya.

1:23:41Sayangnya di kampus-kampus

1:23:43itu mungkin belum ada kali ya.

1:23:45Diajarkan paradigma

1:23:47fungsional ya.

1:23:49Banyakkan paradigma OOP.

1:23:51Dan jujur dulu juga

1:23:53waktu awal-awal belajar di kampus

1:23:55itu saya kesulitan memahami

1:23:57OOP itu.

1:23:59Kalau misalkan teman-teman

1:24:01ada beberapa teman juga yang bilang.

1:24:03Kalau misalkan teman-teman belajar OOP itu dengan

1:24:05membuat sebuah game.

1:24:07Itu makes sense.

1:24:09Karena ya itu objek kan.

1:24:11Ada karakternya. Terus mungkin

1:24:13karakternya ini diturunkan dari

1:24:15karakter yang lain.

1:24:17Ada metode nya bisa ngapain, bisa ngapain.

1:24:19Betul.

1:24:21Karakter ini dot run. Dia lari,

1:24:23jam, dia loncat.

1:24:25Terus misalkan ada musuhnya, musuhnya

1:24:27ada turunan-turunannya. Itu makes sense.

1:24:29Tapi ketika OOP diimplementasikan

1:24:31di aplikasi

1:24:33bisnis, bingung.

1:24:35Ini objeknya

1:24:37yang mana?

1:24:39Akhirnya ada mapping tuh dari database

1:24:41yang table-table

1:24:43menjadi objek gitu kan.

1:24:45Itu. Jadi mungkin

1:24:47kalau mengalami kesulitan dengan OOP

1:24:49ya coba belajar paradigma yang lain.

1:24:51Ada banyak yang lain kan.

1:24:53Selain fungsional, ada

1:24:55namanya ada

1:24:57struck base ya. Apa sih? Ada banyak lah.

1:24:59Ada prosedural juga. Kalau di kuliah

1:25:01mungkin belajarnya prosedural awalnya ya.

1:25:03Jadi mungkin karena fungsional

1:25:07ini jarang

1:25:09diajarkan di kampus,

1:25:11mungkin orang jadi kurang familiar.

1:25:13Begitu.

1:25:15Iya benar.

1:25:17Dulu SSR, dari dulu SSR

1:25:19kan. Request Response.

1:25:21Terus ke Client Side Rendering.

1:25:23Sekarang balik lagi ke SSR. Apa lagi

1:25:25Tretrek App hilang.

1:25:27Ke mana nih yang mau

1:25:29bikin Client Side Rendering.

1:25:31Berapa episode tau ya

1:25:33kita beneran ke sini.

1:25:35Uter.

1:25:37Dan Abrahimov nge-tweet tuh.

1:25:39Dia itu nggak mau menyimpan SSR yang dulu

1:25:41sama SSR yang sekarang. Karena

1:25:43yang dulukan tidak ada

1:25:45interaktif kan. Karena

1:25:47udah ngerender HTML udah tuh.

1:25:49Ya udah.

1:25:51Jadi seharusnya itu bukan lagi

1:25:53ngomong SSR, JSR, tapi ya

1:25:55evolusi gani beberapa teknik yang

1:25:57ada di sini.

1:25:59Ya betul.

1:26:01Jadi ya begitulah.

1:26:03Namanya teknologi ya.

1:26:05Mungkin apa namanya

1:26:07siklusnya muter-muter, tapi

1:26:09ada tambahan-tambahannya.

1:26:11Iya tambahannya menjadi lebih bagus

1:26:13kan. Kenapa sekarang fungsional

1:26:15jadi lebih bagus ya. Mungkin ada

1:26:17bahasa-bahasa yang baru

1:26:19yang membuat fungsional, bahasa

1:26:21fungsional ini lebih make sense dan lebih

1:26:23cocok. Mungkin ya.

1:26:25Jadi nggak ada salahnya belajar

1:26:29berbagai paradigma.

1:26:31Tok juga kalau kita nggak pakai fungsional

1:26:33di pekerjaan, bisa menambah

1:26:35apa ya, menambah pengetahuan sama

1:26:37membuat

1:26:39kita bekerja dengan OOP jadi

1:26:41lebih bagus juga dengan mungkin beberapa

1:26:43konsep-konsep fungsional bisa dipakai ya.

1:26:45Bisa, bisa. Langsung di kolaborasikan

1:26:47dengan kelas dan metode

1:26:49menggunakan fungsional pun bisa.

1:26:51Bisa ya. Jadi bahasa-bahasa seperti

1:26:53bahasa yang multipurpose kayak Java,

1:26:55ada apa lagi, GoLang

1:26:57atau RAS gitu ya.

1:26:59Itu bisa, ya

1:27:01paitan Ruby dan lain-lain

1:27:03itu juga bisa pakai

1:27:05konsep-konsep fungsional, begitu juga pakai

1:27:07konsep-konsep OOP, dua-duanya

1:27:09bisa. Oke.

1:27:11Ada lagi mau disampaikan, Mas Don, sebelum kita

1:27:13udahan? Dari,

1:27:15nggak ada pertanyaan lagi nih yang

1:27:17habis-habis-habis.

1:27:19Habis. Ada nih,

1:27:21ada terakhir-terakhir, tuh paling

1:27:23bawah yang start, budget

1:27:25dibawah 1 juta. Oh, budget.

1:27:27Nah, ini menarik.

1:27:29Yang punya pengalaman di lapangan,

1:27:31Mas Don. Budget rantai per bulan dibawah

1:27:331 juta dan tidak expect user

1:27:35banyak. Code Function aman tidak sebagai

1:27:37sistem? Aman?

1:27:39Aman sejauh. Aman.

1:27:41Jawabannya

1:27:43adalah

1:27:45sebenarnya

1:27:47menggunakan

1:27:49Fly.io dan

1:27:51berbagai platform

1:27:53yang kita gunain tadi itu

1:27:55aman-aman aja. Bahkan malah

1:27:57bayar infrastrukturnya gitu kan.

1:27:591 juta aja bisa kamu embat sendiri.

1:28:01Canda.

1:28:03Karena

1:28:05kalau,

1:28:07kemarin dapet email dari Fly.io,

1:28:09kalau kamu harga per bulan

1:28:11dibawah 5 dolar, itu

1:28:13gratis. Gratis.

1:28:15Jadi sebenarnya bisa aja.

1:28:17Tapi kalau katakanlah kamu tidak

1:28:19nyaman dengan menggunakan platform,

1:28:21kamu bisa menggunakan VPS aja gitu.

1:28:23VPS, kayak

1:28:254 core, 8 giga,

1:28:27itu kan relatif masih dibawah

1:28:291 juta kan ya. Kamu bisa install database,

1:28:31kamu bisa install sesuatu.

1:28:33Kamu bisa maintain datamu sendiri.

1:28:35Itu juga make sense.

1:28:37Di sana. Kalau boleh

1:28:39aku share salah satu

1:28:41VPS langganan favorit

1:28:43untuk aku, karena murah banget

1:28:45dan tidak orasnya.

1:28:47Namanya Contaboo.

1:28:49Apa itu? Contaboo?

1:28:51Contaboo. Contaboo. Coba Mas Riza.

1:28:53Contaboo?

1:28:55Berapa murahnya dan CPU-nya gede banget.

1:28:57Contaboo Cloud VPS ini?

1:28:59Iya. Itu

1:29:01murah banget.

1:29:03Ini perusahaan dari mana nih?

1:29:05Jerman. Oh Jerman. Wow.

1:29:07Tapi punya Singapura di sana.

1:29:094 core, 8 giga, cuma 8 dolar.

1:29:11Bayangin.

1:29:13Coba buka yang 5, 6 dolar.

1:29:15Mana? Ini?

1:29:17Coba select. Itu berapa service-nya?

1:29:194 core, 8 giga.

1:29:21Bayangin. Cuma 100 ribu.

1:29:23100 ribu ya.

1:29:25Nah, semua get request

1:29:27di cash yang banyak, itu kan usage-nya

1:29:29bakal kecil banget tuh. Nah,

1:29:31terus 3 klien taro situ.

1:29:333 juta kan.

1:29:35Cuma berapa?

1:29:37Sisanya kantongin.

1:29:39Iya. 1 juta itu bisa buat 1 tahun lho.

1:29:41Bisa buat 1 tahun.

1:29:43Terus bisa set up buat banyak klien kan.

1:29:45Iya, iya, iya.

1:29:47Kalau pakai VPS.

1:29:49Biasa.

1:29:51Biasa.

1:29:53Untuk jalanin ICD devops,

1:29:55jadi benda itu doang.

1:29:57Wah. Oh, ini ada yang pakai juga nih.

1:30:018bit. Wey.

1:30:03Saya pakai Contabo juga. Mantap.

1:30:05Oh, nice. Murmer.

1:30:07Spek tumpah-tumpah. Wiss.

1:30:09Oh iya, kita nggak sponsor ini ya.

1:30:11Kita juga sponsor.

1:30:13Kita jualan kita ya.

1:30:15Padahal kita jualannya Google Cloud.

1:30:21Ini masih relate sama pertanyaan tadi.

1:30:25Apakah fungsinya

1:30:27simple

1:30:29jadinya jarang diajarkan?

1:30:31Nggak sih, kalau...

1:30:33Nggak simple juga sih.

1:30:35Oh iya, ada yang subscribe.

1:30:37Terima kasih.

1:30:3950 ribu.

1:30:41Alhamdulillah.

1:30:43Lanjut, lanjut, lanjut. Gimana, gimana?

1:30:45Simple itu tidak mudah ya.

1:30:47Jawabannya.

1:30:49Simple itu bukan mudah.

1:30:51Tapi kalau kita ngomong perkara

1:30:53edukasi di Indonesia lebih ke arah

1:30:55adaptasi dari

1:30:57kampus itu memang tidak secepat

1:30:59dari teknologi berjalan.

1:31:01Sama pakai established language nggak sih?

1:31:03Kalau kampus kan pasti

1:31:05ada kurikulum yang pakai bahasa-bahasa

1:31:07meregraman yang udah established banget.

1:31:09Itu kan nggak bakal berubah ya?

1:31:11Karena sebenarnya kampus itu

1:31:13bukan untuk menyediakan

1:31:15kayak talenta untuk

1:31:17ready ke job market.

1:31:19Sebenarnya kampus itu

1:31:21diajarin untuk berfikir.

1:31:23Jadi sebenarnya kalian ambil itu

1:31:25adalah bagaimana algoritma bekerja,

1:31:27bagaimana struktur data itu bekerja.

1:31:29Karena itu akan diimplementasi apapun bahasanya

1:31:31di sana.

1:31:33Justru salah kalian menyalahkan kampus.

1:31:35Sebenarnya kampus itu diajarin kalian untuk berfikir.

1:31:37Bukan untuk siap kerja di sana.

1:31:39Itu salah kapra.

1:31:41Kebanyakan.

1:31:43Siap, siap, siap.

1:31:45Oh iya!

1:31:47Jangan lupa untuk

1:31:49temen-temen yang mau

1:31:51feedback untuk episode malam ini.

1:31:53Kalau feedback-nya bagus nanti

1:31:55Mas Donny-nya kita undang lagi.

1:31:57Mas apa ya?

1:31:59Oh iya!

1:32:01Tensorflow.js ya?

1:32:03Karena thesis-ku menggunakan Tensorflow.js.

1:32:05Oh iya, ini menarik nih

1:32:07Tensorflow.js ya.

1:32:09Machine learning, Google Web itu gimana?

1:32:13Ya, boleh.

1:32:15Nanti kalau thesis-ku udah jadi ya.

1:32:17Asik.

1:32:19Sebelum sidang ya.

1:32:21Sebelum sidang kita sidang dulu ya.

1:32:23Nanti sebelum sidang.

1:32:25Aku masih mingi.

1:32:27Slide sebelum sidangnya

1:32:29dipaparin disini.

1:32:31Nanti taunya dosennya sama

1:32:35pengujinya malah komen disini.

1:32:37Pak saya nggak usah demo ya.

1:32:39Pak saya ada videonya silahkan lihat.

1:32:41Ada di YouTube gitu ya.

1:32:45Mantap, mantap.

1:32:47Boleh, boleh, boleh.

1:32:49Next time kita undang lagi ya.

1:32:51Mas Donny.

1:32:53Sidang terbuka.

1:32:55Nah.

1:32:57Tadi ada pertanyaan

1:32:59ini.

1:33:01Tentang switch dari RegNative ke Platter.

1:33:03Itu kenapa?

1:33:05Dan apakah

1:33:07yang membuat timnya Mas Donny

1:33:09atau Mas Donny itu pengen tetap

1:33:11pakai Platter atau ada keinginan balik lagi

1:33:13ke RegNative?

1:33:15Framework berpikir ya satu.

1:33:17Kenapa gitu kan ya.

1:33:19Kenapa Zero One Group itu pakai Platter.

1:33:21Jadi kami adalah agensi.

1:33:23Jadi kami itu bukan produk.

1:33:25Sehingga apa sih yang kita value lebih?

1:33:27Bagaimana kita itu membisa

1:33:29buat produk yang efisien

1:33:31tapi berkualitas tinggi.

1:33:33Permasalahan dari RegNative itu adalah

1:33:35kamu tidak bisa membuat

1:33:37UI yang bagus secara out of the box.

1:33:39Kamu harus buat itu semua.

1:33:41Kenapa?

1:33:43Karena RegNative itu hanya

1:33:45untuk menjalankan

1:33:47bagaimana kalian bisa membuat

1:33:49aplikasi mobile dengan

1:33:51native component.

1:33:53Jadi kayak RegNative itu menekan

1:33:55ke native component. Sehingga untuk perkara

1:33:57UI-nya kalian butuh buat sendiri

1:33:59atau third party.

1:34:01Terima kasih.

1:34:03Walaupun sekarang ada tamah GUI ya.

1:34:05Kalau kalian tahu sekarang ada tamah GUI

1:34:07yang lebih cepat daripada

1:34:09native base dan kawan-kawannya.

1:34:11Pada saat itu susah.

1:34:13Yang kedua itu adalah talenta.

1:34:15Tidak ada orang yang benar-benar jadi

1:34:17ke-3 RegNative. Padahal masalah

1:34:19mobile itu adalah kebanyakan

1:34:21di mobile space-nya bukan di

1:34:23coding react-nya. Coding react-nya gampang.

1:34:25Tapi kalau ada error yang tidak bisa

1:34:27disolve dan isunya masih buka itu

1:34:29mungkin.

1:34:31Maksudnya harus dikasih ke klien dalam waktu tertentu

1:34:33di sana.

1:34:35Jadi talenta dan masalah third party.

1:34:37Flutter ini mengeliminasi semuanya.

1:34:39Karena Flutter

1:34:41penggunaan widget atau component.

1:34:43Kalau RegNative menggunakan component ya

1:34:45penggunaan widget itu secara

1:34:47gampang kita bisa langsung bikin UI yang bagus.

1:34:49Jadi cepat berarti.

1:34:51Berarti aku sebagai agensi buat

1:34:53produk cepat. Yang kedua

1:34:55itu adalah talenta.

1:34:57Itu buku developer student club.

1:34:59Banyak ya.

1:35:01Banyak banget talenta Flutter

1:35:03di sana. Sehingga

1:35:05sehingga secara

1:35:07growth kita itu bisa naik

1:35:09growth kami natural ya.

1:35:11Bukan pakai venture capital

1:35:13uangnya. Itu 3x

1:35:155 tahun lalu naik ya.

1:35:17Untuk Flutter di sana.

1:35:19Berarti ada measurable impact-nya ya.

1:35:21Bukan cuma karena iseng.

1:35:23Wah enak nih, seru nih Flutter.

1:35:25Jadi yang

1:35:27aku share selalu disini adalah

1:35:29konteksnya dulu apa.

1:35:31Apa kenapa.

1:35:33Kalau aku

1:35:35memang untuk personal, mungkin terasa dengan

1:35:37RegNative. Cuman untuk

1:35:39kelangsungan bisnis utama

1:35:41nggak mungkin menggunakan.

1:35:43Oke.

1:35:45Jadi lebih mudah

1:35:47mencari talent di

1:35:49Flutter daripada RegNative ya?

1:35:51Ya. Dan kalau lihat Google trending

1:35:53aja, React Native dan Flutter jauh

1:35:55di bawah RegNative.

1:35:57Dan juga kebanyakan teman-teman yang Flutter

1:35:59itu gampang banget

1:36:01move dari Android.

1:36:03Dari Android ke Flutter

1:36:05begitu ya? Gampang. Karena

1:36:07heavily OOP.

1:36:09Heavily Object Oriented Programming.

1:36:11Jadi gampang. Sedangkan coding RegNative kan

1:36:13beda. Kalau misalnya

1:36:15aku sebagai anak Android belajar RegNative

1:36:17itu harus belajar React dulu

1:36:19disana. Bagaimana

1:36:21personal component itu dibuat

1:36:23disana? Ada overhead

1:36:25disitu.

1:36:27Sedangkan anak yang baik-baiknya Android

1:36:29budget Flutter sebenarnya bisa

1:36:31produktif.

1:36:33Jadi benefit itu

1:36:35yang kita kapitalisasi di

1:36:37zero-one group.

1:36:39Jadi berbeda. Oke kebutuhan mas

1:36:418-bit.

1:36:438-bit.

1:36:45Solusi dari zero-one group

1:36:47tidak akan bisa dipasamakan dengan

1:36:49masalahnya mas.

1:36:51Tapi kami punya alasan

1:36:53sendiri. Pertimbangan, considerationnya

1:36:55itulah udah dijelasin

1:36:57sama keuntungannya beneran

1:36:59profitnya naik ya tadi.

1:37:01Ya, headcount sama

1:37:03headcount sama

1:37:05ini ya. Bagaimana kita

1:37:07profit beradakan revenue

1:37:09banyak yang kita bisa ambil dan setopu.

1:37:11Dan kita udah pernah bandingin dalam satu menu

1:37:13Riku. Ada blognya

1:37:15di sini. Mantap.

1:37:17Share dong.

1:37:19Share dong.

1:37:21Jadi kami udah pernah bandingin

1:37:23bandingin Ionic

1:37:25React Native sama Flutter.

1:37:27Oke.

1:37:29Bandingin Ionic

1:37:33React Native

1:37:35sama Flutter. Ionic

1:37:37ini hybrid berarti kan?

1:37:39Ionic berarti pakai WebView.

1:37:41Kapasitor namanya.

1:37:43Blue Cordoba.

1:37:45Ya.

1:37:47Jadi kita bandingin, kita bikin satu UI

1:37:49gimana cara bikinnya per

1:37:51UI-nya.

1:37:53Jadi di Ionic, di React Native

1:37:55gimana, di Flutter gimana.

1:37:57Wah menarik.

1:37:59Ini bisa jadi bahasan sendiri nih.

1:38:01Di satu NX Monoripo

1:38:03jadi di Monoripo ada 3

1:38:05aplikasi berbeda.

1:38:07Oke. Tapi

1:38:09aplikasinya sama?

1:38:11Sama. Aplikasinya sama. Tinggal bagaimana

1:38:13itu beda semua.

1:38:15Jadi cuma ini.

1:38:17Ini ya tiga-tiganya ya.

1:38:19Wow. Seru sekali.

1:38:21Mainannya.

1:38:23Bisa reset-reset gini ya.

1:38:25Enaknya di Seruan Club ada waktu buat reset.

1:38:27Hahahaha.

1:38:29Hiring, hiring.

1:38:31Itu di bawah artikel.

1:38:33Biasanya ada kan artikel medium.

1:38:35Coba deh paling bawah ada nggak?

1:38:37Nggak ada.

1:38:39Follow aja dulu, follow ya.

1:38:41Mantap, mantap, mantap.

1:38:43Oke.

1:38:45Ada lagi?

1:38:47Ada lagi?

1:38:49Nggak ada.

1:38:51Habis.

1:38:53Dari Mas Donny, ada yang mau disampaikan lagi?

1:38:55Dari aku sih

1:38:57lebih ke ini ya.

1:38:59Pesan dari aku

1:39:01walaupun kita belajar Edge pada malam kali ini

1:39:03yang penting itu adalah

1:39:05bukan perkara tools yang kita gunakan.

1:39:07Tapi

1:39:09aku mungkin di hari sabtu akan

1:39:11berbagi

1:39:13diundang di coding untuk berbahas

1:39:15tentang how to be

1:39:17product-minded software engineer.

1:39:19Jadi kita nggak bahas coding

1:39:21tapi bagaimana kita sebagai software engineer

1:39:23itu mampu memecahkan masalah.

1:39:25Jadi

1:39:27pesan dari aku itu adalah jangan

1:39:29terpoko dengan silaunya

1:39:31teknologi baru. Tapi bagaimana

1:39:33kalian itu bisa berpikir secara

1:39:35logis untuk menyelesaikan

1:39:37masalahnya. Karena kalian itu kebanyakan

1:39:39dibayar untuk menyelesaikan

1:39:41masalah bukan menggunakan teknologi

1:39:43terbaru. Jadi

1:39:45belajar lah untuk konstruktif

1:39:47berpikir yang baik sebelum

1:39:49kalian menggunakan teknologi yang

1:39:51kalian gunakan.

1:39:53Wow, luar biasa.

1:39:55Biar nggak digusur sama AI ya?

1:39:57Iya.

1:39:59Contohnya misalkan lagi

1:40:05udah bikin aplikasi React

1:40:07terus tiba-tiba butuh routing

1:40:09library. Wah langsung pake Next.js

1:40:11gitu kan. Padahal cuma butuhnya routing doang.

1:40:13Kayaknya satu framework.

1:40:15Jangan. Ya ada ya

1:40:17library untuk routing juga

1:40:19ada ya. Jadi

1:40:21gunakan sesuai kebutuhan aja. Jangan

1:40:23apa, jangan

1:40:25apa ya

1:40:27terpengaruh oleh

1:40:29hype ya.

1:40:31Why?

1:40:33Start with why.

1:40:35Start with why.

1:40:37Jadi kenapa dulu gitu.

1:40:39Jangan jadi

1:40:41apa ya, jangan jadi

1:40:43link-in driven development.

1:40:45Hype driven development.

1:40:47Jadi wah

1:40:49pake Next.js, pake Kafka,

1:40:51pake Kubernetes supaya

1:40:53di link-in bagus. Jangan gitu ya.

1:40:55Malah jadi masalah.

1:40:57Bukan menyelesaikan masalah, tapi menyelesaikan masalah

1:40:59dengan masalah baru.

1:41:01Habis itu resign.

1:41:03Habis itu resign, orang yang

1:41:05baru masuk yang kena getahnya.

1:41:07Dosa itu ya.

1:41:09Berdosa itu dia marah-marah

1:41:11aduh apaan ini gitu kan.

1:41:13Itu adalah dosa

1:41:15kita.

1:41:17Itu yang saya hadapi sekarang.

1:41:19Ini apaan ini.

1:41:21Limpahan ya.

1:41:23Luar biasa. Oke kalau gitu terima kasih

1:41:25banyak mas Donny untuk malam hari ini.

1:41:27Yang mau

1:41:29follow-follow bisa kemana?

1:41:31Yang apa sosial media yang aktif?

1:41:33Sebenernya gampang banget namaku

1:41:35itu nggak ada yang ngembarin. Jadi

1:41:37cari aja namam belakangku

1:41:39di Google. Semua ada.

1:41:41Oke mantap. Unique ya.

1:41:43Unique ya. Langsung di follow

1:41:45aja, langsung interaksi langsung dengan

1:41:47mas Donny. Ada yang mau ditanyakan juga. Langsung

1:41:49aja lewat Twitter juga lumayan aktif.

1:41:51Kalau gitu

1:41:53kita pamit. Saya Riza

1:41:55dan ada Eka. Kita

1:41:57ketemu lagi minggu depan.

1:41:59Selamat malam. Dadah.

1:42:01Selamat berpuasa.

1:42:03Oh iya selamat puasa ya.

1:42:05Buat teman-teman yang

1:42:07puasa minggu depan, eh minggu depan

1:42:09dua berapa hari lagi.

1:42:11Mas Lama belum minggu depan. Hari Kamis.

1:42:13Hari Kamis.

1:42:15Puasanya. Dadah.

Suka episode ini?

Langganan untuk update episode terbaru setiap Selasa malam!

Langganan Sekarang

Episode Terkait

Perkembangan Teknologi WEB dari httparchive - Ngobrolin WEB Ep7
EP 1

11 Nov 2022

Perkembangan Teknologi WEB dari httparchive - Ngobrolin WEB Ep7

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

WebAI - Ngobrolin WEB
EP 151

25 Nov 2025

WebAI - Ngobrolin WEB

πŸ—£οΈπŸ•ΈοΈ Selasa malam waktunya #ngobrolinWEB! Malam ini membahas AI yang dapat dijalankan di web browser atau istilah kere...

Ngborolin 2025 - Ngobrolin WEB
EP 111

7 Jan 2025

Ngborolin 2025 - Ngobrolin WEB

πŸ“– Ulasan Tren Web 2024 - Perkembangan AI Generatif: Penyedia dan produk AI menjadi lebih beragam, tidak hanya chatbot ...

Komentar