Lompat ke konten utama
EP 25

Ngobrolin Teknologi Edge

Ringkasan Episode

Bantu Koreksi

Teknologi edge dibahas bersama Donny, head of engineering di Zero One Group, dan penjelasan paling gampangnya: mirip CDN, hanya saja yang ditaruh di banyak titik itu bukan sekadar berkas melainkan logika program. Permintaan pengunjung diarahkan ke lokasi terdekat lewat geolokasi IP — pengunjung dari Asia Tenggara dilayani dari Singapura kalau Jakarta belum ada — dan penyebaran ke puluhan titik terjadi sekaligus, sesuatu yang mustahil dilakukan sendiri baik dari sisi biaya maupun tenaga. Untuk web, artinya halaman bisa dirakit di server yang dekat dengan pengunjungnya, lengkap dengan bahasa, mata uang, dan pilihan produk sesuai wilayahnya; Vercel, Netlify dan Cloudflare Workers sudah menyediakan edge function untuk itu. Pertanyaan yang langsung muncul adalah nasib basis datanya. Dua jalan dibahas — Fly.io menyediakan klaster Postgres yang benar-benar tersebar di beberapa region, atau basis datanya ditahan tetap terpusat lalu cache-nya yang disebar. Yang kedua jauh lebih murah, meski membawa persoalan klasik: membatalkan cache adalah salah satu masalah paling sulit di komputasi. Disinggung juga Turso, yang membawa SQLite sendiri ke edge. Alasan edge bisa hidup begitu cepat adalah lapisan abstraksinya yang jauh lebih ringan. Ceritanya ditarik dari mesin fisik, ke virtualisasi, ke Docker dan Kubernetes, sampai ke runtime JavaScript yang berdiri di atas semuanya — makin ke atas makin cepat menyala. Mesin tiap penyedia berbeda-beda, Deno misalnya berdiri di atas V8, tapi karena semuanya mengacu pada standar web API yang sama, kode yang kita tulis tetap serupa. Ditutup dengan kenangan mengangkut server ke pusat data karena rumah kebanjiran, sebagai kontras dengan hari ini.

Poin-poin Utama

  • •Edge paling mudah dipahami sebagai CDN yang bisa menjalankan logika program, bukan cuma menyajikan berkas — Vercel, Netlify dan Cloudflare Workers semuanya sudah menyediakan edge function
  • •Permintaan diarahkan lewat geolokasi IP ke titik terdekat: pengunjung Asia Tenggara dilayani dari Singapura selama Jakarta belum ada
  • •Halaman bisa dirakit dekat pengunjungnya lengkap dengan bahasa, mata uang, dan pilihan produk sesuai wilayah, bukan sekadar aset statis
  • •Kalau aplikasi tersebar tapi basis datanya di satu benua, jaraknya tetap terasa — Fly.io menjawabnya dengan klaster Postgres tersebar, dan Turso dengan membawa SQLite ke edge
  • •Jalan yang lebih murah adalah menyebar cache-nya saja, dengan konsekuensi klasik: membatalkan cache adalah salah satu masalah tersulit di komputasi
  • •Edge cepat menyala karena abstraksinya jauh lebih ringan — jenjangnya dari mesin fisik, virtualisasi, Docker dan Kubernetes, sampai runtime JavaScript; mesin tiap penyedia berbeda, Deno misalnya berdiri di atas V8, tapi standar web API-nya sama sehingga kode yang ditulis tetap serupa
  • •Serverless bukan berarti tidak ada server, melainkan servernya bukan kita yang maintain — analoginya wireless yang di dalamnya tetap ada kabel, hanya saja kita tidak berurusan dengannya

(musik intro)

(telepon)

Halo-halo, selamat malam.

Malam semuanya, selamat hari Selasa dan hari Selasa waktunya ngobrolin web.

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

Berbeda, biasanya ada saya Riza, ada Eka, dan juga ada Ivan.

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

Bintang tamu kita kebakaran.

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

Spesifikasinya di serverless ya, teknologi serverless ya Mas?

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

Dan juga serverless, function dan lain-lain.

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

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

Penyusup?

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

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

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

Wah keren.

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

Jadi ya, sangat exciting diundang buat ngobrol tentang teknis.

Udah lama kita nggak ngobrol-ngobrol juga ya Mas.

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

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

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

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

Jadi literalis selama 4 tahun.

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

Betul, sebenarnya ready tahun 2021 kalau nggak salah lagi.

Cuman ada perubahan struktur.

Lihat transkrip lengkap (2431 segmen lagi)

Ganti personel, akhirnya nyangkut itu aplikasinya, aplikasinya.

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

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

materi itu akhirnya jadi harus prepare lagi untuk menyiapin itu.

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

Abis itu langsung jalan-jalan ya, dev-face ya.

Oh iya, langsung ditagih dong.

Iya, mau kemana nih? Langsung isi di mana?

Ke Medan ya, oh oke.

Oke.

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

Indonesia ya?

Iya, Indonesia.

Terjauh di barat ya Medan, nggak pernah gini kan.

Malaman pertama sih ke Medan.

Oke, iya. Mas Donny ke Medan, saya ke Surabaya.

Ya itu lucunya tuh.

Kebalik.

Saya mau lepein ke Medan padahal.

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

Udah duluan, iya.

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

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

Belum, belum masuk.

Kan itu Agustus.

Agustus? Bukan November?

Kita Summit, GDI Summit-nya Agustus kayaknya deh.

Serius? Oh iya Agustus ya, oke.

Kok jadi lupa gitu, oke.

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

Nantap.

Terus ada Andi, ada Audi. Ini penonton-penonton setia nih.

Terus ada dari Jogja, Gayu.

Ada teman, dulu teman sekantor saya ini.

Ada Banjarmasin, ada Surabaya.

Wah mantap, halo semuanya.

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

Wah mantap, berarti ini masanya Mas Donny ya kelihatannya.

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

Bahas klojur.

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

Siapa ya?

Kalau ada yang penasaran tulis di komen.

Oh iya boleh, siapa yang jagoan klojur?

Ya Mas Donny lagi.

Selamat malam.

Ada 4 orang. Yang tau Mas Arya.

Mas Arya.

Nggak jelas. Mas salah satu dari hijra siapa ya?

Yang kemarin juga kan?

Oh juang, juang.

Mas juang juga klojur kan? Baru belajar lagi?

Baru belajar, dia kan aslinya kan itu, Okemal-Okemal.

ML, family.

Terus terjerumus.

Nama aslinya, tapi twitternya Amper Sanda.

Luki namanya.

Pratera engineer sebenernya.

Tapi dia malah satu cinta klojur dulu.

Ada masih udah juga dari Surabaya, ada yang dari Medan.

Raihan kemarin nonton nggak?

Urwa Lingga.

Jakarta, siap.

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

Apa itu teknologi edge dan apa untungnya kita menggunakan edge dibandingkan?

Penggunaannya, kapan kita perlu pakai, gimana pakainya?

Dan, iya, yang berhubungan dengan itulah ya.

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

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

Kita mulai ya. Apa itu edge?

Nah, disini ada artikel dari Deno.

Yang salah satu teknologi yang menggunakan edge juga.

Jadi kalo edge itu, kalo kita sebut edge katanya artinya

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

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

berarti dicari yang terdekat. Oh, di Jakarta belum ada.

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

Cari tempat terdekat. Jadi dia ada kayak geolocationnya gitu.

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

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

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

Ke Singapura satu, ke mungkin Jepang satu, ke mana lagi itu?

Ke Hong Kong satu, ke Amerika satu, kan capek kan?

Dan secara infra dan biaya nggak mungkin kita manual, secara manual,

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

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

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

Jadi yang paling sederhana bisa dijelaskan adalah mirip dengan CDN,

tapi kita bisa menyematkan sebuah logical function, bisa.

Back-end-nya lah ya, back-end-nya lah ya, gitu ya.

Full server. Full server, ya.

Jadi, daripada hanya files gitu, karena kita bisa lakukan misalnya,

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

Kita bisa lakukan di edge.

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

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

Bisa juga ya.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-Linux, Apache, EHP. -EHP.

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

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

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

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

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

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

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

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

-Terus database-nya gimana mas? -Database hosting-nya gimana?

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

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

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

-Tetap pake. -Nanti kita bahas itu malah.

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

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

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

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

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

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

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

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

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

Yang pertama adalah menaman variable, itu paling susah.

Yang kedua, caching invalidate.

Yang kedua adalah invalidate caching disana.

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

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

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

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

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

Misalnya kita mau akses ke Australia gitu kan ya.

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

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

Karena hitungannya adalah per instance kita ada berapa.

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

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

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

Jadi dicoba bagaimana kita bisa menggunakan cachingnya di Verso Function.

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

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

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

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

Terus ada juga Netlify juga ada, dan ada banyak yang lainnya.

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

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

atau sebenarnya semua platform atau bahasa juga bisa jalan di edge.

- Sagnostik sebetulnya kan ya? - Sagnostik ya.

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

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

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

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

Wah, dan gue masih jelek semua di callback.

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

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

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

mengcover beberapa web engine yang ada sekarang.

- Yang berbeda ya? - Berbeda ya.

Nah, ternyata adalah kenapa kok bisa instant?

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

dan menggunakan web API yang sudah sangat gelubah.

- Oke. - Jadi kita bisa...

- Web engine berarti ya? - Iya, berbasis web engine.

- Misalnya V8. - Misalnya V8, di sini ada JavaScript.

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

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

Compliance-nya adalah web API dia bisa.

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

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

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

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

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

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

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

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

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

pembuatnya, untuk menggunakan Ruby, Vagran.

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

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

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

- Pasti raspis nih yang kayak gini-gini nih? - Enggak sih.

- Kirain. - Enggak mesti, enggak mesti.

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

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

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

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

daripada misalnya kita harus menyalakan docker container di sana.

Jadi kata-kata ada docker container di atasnya ada runtime sendiri.

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

Jadi ada juga engine WebAssembly juga bisa untuk menjalankan di Edge.

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

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

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

Dan biasanya itu enggak langsung ke deploy semua.

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

yang juga diakses di setiap region.

Oh berarti enggak call start ya?

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

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

- Tergantung pasti. - Tergantung. It depends ya.

Ini jawaban paling, paling gampang adalah it depends.

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

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

Tadi mungkin nanti aja di akhir.

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

Tergantung, it depends.

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

Oh iya, Superman kan dulu kan?

Ya, agungan Superman itu fullstack ya.

Ya, fullstack itu fullstack.

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

Kayak nggak perlu harus set up.

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

- Untuk set up. - Tuh, saya nggak pernah.

Jadi aku masih inget gotong-gotong data center gitu kan.

Sekarang tinggal persel deploy kan kesel.

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

Barangnya nggak ada.

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

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

Walaupun di dalam irbat wireless ya mungkin ada kabelnya.

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

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

Bukan kita yang maintain servernya.

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

Sedikit lah gitu.

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

Update ubuntunya, update HP-HP-nya.

Kenapa nggak, tahu nggak kenapa gotong-gotong harus gotong server?

Dulu server itu ada di rumah.

Di rumah kantor yang lama dulu gitu kan ya.

Tahu-tahu ada ujian deras, ianya jatuh.

Jadi listriknya mana?

Diri banget.

Ngeserve bisnis.

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

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

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

Taruh data center, oke.

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

Benar-benar pengalaman tak terlupak.

Saya dulu masih jamannya ada tim infra.

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

Enak ya.

Kalau sekarang kayaknya engineer suruh bikin sendiri ya.

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

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

Kalau dulu ada tim khusus tuh.

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

Untuk memudahkan kita melakukan itu sendiri.

Sekarang developer job-designnya nambah ya.

Iya.

Tapi sekarang nggak langsung nguntungin buat apa ya.

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

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

Dengan adanya teknologi-teknologi kayak serverless, as-function gini.

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

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

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

Karena bahasanya kan JavaScript dan TypeScript.

Ya yang penting tahu standarnya, sintaksnya, logiknya, ya udah.

Bisa bikin produk full sampai jadi, sampai launching, walaupun MVP.

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

Butuh orang ya.

Soal infra, soal apa lah load balancer atau apa yang, yang udah,

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

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

Oh iya, banyak banget.

Gimana Mas Den, lanjut lanjut.

Yang mana nih dilanjut ya?

Ini yang barusan, dikomentari, dikomentari.

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

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

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

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

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

Jadi tinggal kita itu definisi fullstack-nya apa?

Jangan terlengkung dengan yang namanya fullstack.

Iya, sekarang tuh semua ada servisnya ya.

Mau serving image, ada servisnya, autentikasi, ada servisnya, mau apa ya?

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

Banyak, sekarang udah enak gitu ya, tinggal bayar.

Ya dulu juga bayar ya bikin servernya.

Hampir semua kan sekarang ada free tier-nya.

Oh iya, betul.

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

Betul, betul, betul.

Nanti kalau misalkan sudah scaling, baru bayar ya?

Ya, baru bayar.

Baik bayar orang atau bayar servisnya?

Atau dua-duanya.

Atau dua-duanya.

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

Ini seru nih.

Apa tuh?

Bisa, mungkin bisa di ceritakan Mas Don.

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

Suan Weng, sound.

Nama username-nya ya itu, maaf ya Mas, kalau Mas maaf.

Sound kan, Suan Weng kan, nama aslinya kan.

Ya, dan nama panjangnya.

Iya, dia orang Singapura kan.

Oh iya, orang Singapura ya?

Iya, dia lagi di Singapura sekarang.

Oh lagi di Singapura.

Dia di US deh, orang Singapura tapi di US.

Iya, di US dia.

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

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

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

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

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

Atau dan kawan-kawan.

Gulp kan, gulp, geran.

Pasti pernah mainan yang begituan disana.

Kayak sekarang udah geran ya.

Minggu lalu bahas Yeoman ya.

Yeoman.

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

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

Oke, siap.

Monorepo disana.

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

Sekarang sudah multi-region ada function.

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

Bahwa JavaScript bisa dijalankan dimana saja disana.

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

Walaupun dulu pernah musuhan ya.

Walaupun pernah musuhan itu.

Pernah.

Akhirnya sekarang.

Saya benci jadi cinta.

Asik.

Jadi cinta dan jadi sumber.

Sumber penghasilan.

Dojekinya disana ya.

Ternyata ya.

Akhirnya kita mulai muncul ada namanya WebAssembly atau yang pernah.

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

Hmm, Phoenix.

Akhir juga disana.

Bahwa itu namanya HTML overwire gitu kan ya.

Yang di set itu HTMLnya gitu.

Itu menarik juga bagaimana kita mindsetnya itu akhirnya juga.

Kalau kita ke React Server Component.

Mungkin ini kan dengan web ya.

Bagaimana React Server Component itu bekerja.

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

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

Karena real ada runtimenya.

Kalau jadi swell mungkin aman itu.

Makanya ada astro gitu kan ya.

Jadi padahal kita nge-send sama React Dome-nya.

Kita cuma nge-send HTML-nya disana.

Tapi kita hydrate.

Gimana itu Mbak?

Hydrate belakangan, jadi yang dikirim ada dulu.

Oh ya hydrate ya.

Hydrate belakangan.

Halo.

Duh kok putus.

Wah Mas Donny-nya koneksinya putus kayaknya.

Oke sambil menunggu Mas Donny.

Kita baca-baca komen dulu.

Komennya ramai sekali ya.

Mas Donny-nya nge-freeze.

Oh iya.

Ada Ivan? Masuk Ivan.

Masuk silahkan.

Siap titit.

Ini ada beberapa pertanyaan nanti yang berhubungan dengan Edge.

Nanti kita akan bahas.

Yang tadi...

Nur Holid juga sempat jadi fullstack ya.

Masang-masang server.

Enggak, maksudnya masang server.

Iya. Ini...

Rantaru.

Curhat.

Setting post fix sendiri ya.

Terus juga...

Ya ini menarik juga ya.

Rush masuk banget ke dunia JS.

Karena trendnya...

Orang-orang developer sekarang...

Yang bikin DevTools, salah satunya...

DevTools JavaScript itu banyakan pakenya Rush.

Dan juga...

Go lang juga ada beberapa ya.

Jadi bahasa-bahasa yang...

High performance digunakan...

Yang compile digunakan untuk...

Membuat tools untuk...

Melakukan sesuatu di JavaScript.

Itu lumayan banyak...

Contohnya ya kayak...

SWC ya.

SWC kemudian...

Yang di pakai oleh Next juga ya.

Rome ya.

Enggak tahu. Turbo Repo...

Pakai Rush atau enggak ya?

Enggak tahu.

Halo-halo. Soalnya kita kembali.

Mati lampu.

Mas Donnie mati lampu katanya.

Request time out.

Ceplek gitu.

Itu tuh komen fans berat Mas Donnie...

Dinyalain dulu. Dimunculin dulu.

Fans berat...

Mas Donnie hadir. Dimas, Dimas.

Halo Dimas.

Mas yang mana itu?

Oke. Nah...

Ini...

Kita tadi sedang membahas tentang...

Tentang fenomena Rush.

Yang banyak digunakan...

Untuk tools, membuat tools...

Untuk JavaScript ya.

Termasuk juga kalau nggak salah...

Dino juga dibuat...

Pake Rush ya.

Dan aku punya kesempatan untuk...

Contribute ke Dino.

Jadi...

Akhirnya ngerasain...

Contribute ke proyek besar ya...

Pake Rush. Dan itu sampai harus.

Karena yang namanya...

Runtime itu gede banget kan.

Buildnya pun...

Pemakan 20 giga.

Jadi aku build Dino.

Itu ngabisin...

Buildnya sama binarynya itu...

Totalnya itu ada 20 giga.

Jadi ngambil SSD...

Lumayan gitu kan. Apalagi RAM.

RAMnya juga...

Untuk ngeload satu...

Pitch file...

Testing di Dino itu juga...

Ribuan line of code.

Atau puluhan ribuan.

Bahkan pake FIM itu ngeheng.

Waduh.

Jadi lumayan pengalaman pertama ya...

Untuk contribute ke Dino.

Dan itu memang Dino...

Menariknya Dino itu ditulis awalnya pake Go.

Waduh betul. Habis itu di rewrite kan.

Di rewrite pake Rush.

Dan akhirnya juga keluar dari...

Kayaknya bahas kemaren deh aku lupa.

Eka yang bahas tentang TypeScript kan ya.

Kemaren kan.

Nah Dino itu salah satu yang...

Gak pake TypeScript.

Dia akhirnya pake JavaScript.

Balik lagi ya ke JavaScript ya.

Awalnya TypeScript terus balik ke JavaScript ya.

Karena compile time gitu kan.

Jadi ya Dino pake Rush gitu kan ya.

Banyak kayak...

Ada padanannya Elasticsearch.

Kalau Mbak Eka atau...

Mas Rizatau itu adalah...

Baileysearch.

Itu juga menainkan Rush.

Kalo Bun itu pake Zig ya.

Zig line.

Bun itu pake Zig ya.

Oke oke.

Nah kita lanjut...

Bahasa apa lagi nih?

Gimana? Kalo misalkan...

Kita tertarik mau...

Tertarik dengan Edge.

Terus kita mau pake.

Gimana tuh caranya?

Yang paling gampang itu adalah...

Gunakan platform yang out of the box...

Sudah menyediakan Edge.

Jadi bayangkan kalian itu...

Edge itu membuat kalian...

Membuat sebuah satu produk...

Digital yang mampu...

Menargetkan market pasar Indonesia.

Oke.

Kalo pernah tau Indie Hacker ya.

Yang orang-orang berbagi cerita...

Bagaimana membuat sebuah produk...

Kemudian dipastarkan secara global.

Gila-gila kan Edge kalian itu...

Bisa punya banyak...

Konsumen atau user, tidak hanya dari Indonesia.

Tapi dari seluruh dunia dan tidak perlu...

Bingung perkara latensi.

Disana. Gunakanlah...

Versal, gunakanlah...

Atau Versal, Fly I/O.

Atau sekarang, ternyata juga ada...

Aku hampir lupa, ada yang namanya Distributed Database.

Misalnya Planet Skill.

Ya, yang MySQL bukan?

MySQL disana.

Aku lupa pada namanya Postgres apa.

Cuman, untuk...

Serving aplikasi kita...

Keseluruh dunia itu sekarang udah gampang banget.

Jadi, gunakan...

Kalo Eskialet, kalo ga salah namanya...

Lightstream bukan ya?

Nah itu udah, aku udah lama ga tau ya.

Oke, lanjut.

Jadi, before getting started...

Sebenernya, udah harus paham ya...

Tentang Edge itu.

Sama detail, tapi...

Intinya adalah kita dibantu untuk...

Membuat aplikasi kita available diseluruh dunia.

Kan kita ga mungkin kan...

Kita mau punya...

Apps atau aplikasi, misalnya Node.

Kita mau bikin kayak Notion gitu kan ya.

Hanya untuk orang Indonesia.

Ya, kamu yang dari UK...

Ngakses aplikasi mau kan lambat.

Karena servernya ada di Indonesia.

Jadi, ya...

Gunakan belah beberapa platform...

Yang sudah tersedia.

Ya, teknologi Edge ini...

Lebih cocok digunakan kalo...

Service kita berlaku global.

Kalo misalkan hanya...

Serving di Indonesia saja, misalkan contohnya apa ya?

Cetus berita gitu.

Berarti ya pake VM aja yang di lokal gitu ya?

Jadi, sebenernya...

Permasalahan yang dihadapi orang yang membuat...

Aci Indonesia adalah...

Kita belum sampe kesana gitu.

Belum sampe kesana gitu.

Bahwa, permasalahan ini...

Sebenernya kita tidak terlalu...

Quot-unquot butuh untuk menggunakan Edge.

Karena selama kalo mau ke Indonesia ngapain?

Jadi, jadi...

Walaupun kita excited dengan...

Jargon-jargon seperti ini, menurutku...

Untuk sebagai skill...

Seorang software developer...

Atau software engineer sebenernya tidak terlalu...

Signifikan.

Untuk dipelajarin orang Edge.

Tapi, mindsetnya adalah bukan mempelajarin teknologinya.

Tapi kayak ada peluang.

Kita tau konsepnya.

Secara garis besar umumnya.

Dan membantu seperti Mbak Eka...

Yang fokus kepada produk itu sendiri.

Jadi, tidak udah.

Tidak usah memperbedulikan deployment.

Udah. Aku paham...

Versal fly I/O deploy ke semua.

Aku bisa bikin produk untuk...

Semua yang ada di dunia ini.

Keren ya.

Kalo kita mau launching...

Service atau produk kita secara global.

Jadi, sekarang lebih gampang ya.

Kalo di Google Cloud sendiri ada ga sih, Mas?

Untuk Edge ini?

Salah satu...

Produk, mungkin belum yang...

Dedicated.

Ada seperti Versal.

Atau seperti...

Disana. Jadi, kata-kata Cloud Function.

Cloud Function gitu.

Dia...

Bisa kita deploy ini ke multiple region.

Akhirnya manual.

Kita ga bisa...

Secara otomatis...

Terdisibusih langsung disana.

Tapi yang pernah...

Mungkin kalau CDN pasti lah ya.

Pasti sudah ada.

Firebase Hosting itu...

Yang salah satu yang pernah aku pake...

Buat ngeserve salah satu dashboard...

Internasional, itu juga...

Firebase Hosting dan Fastly.

Karena kolega CDN-nya...

Kalo tidak salah...

Itu adalah Fastly.

Dari Google Insider pun kayaknya...

Belum ada.

Belum ada produk yang kayak...

Mudah.

Karena memang targetnya kan berbeda kan.

Target pasar dari...

Google Cloud sendiri kan berbeda dengan teman-teman...

Seperti Versal. Dan ini juga...

Aku kenapa bahas ini...

Ini sebenernya menarik. Karena kebanyakan...

Kayak Deno, Versal...

Play.io, itu adalah venture capital.

Pakingnya.

Hmm, oke.

Jadi kenapa kok Deno itu...

Bikin Deno Deploy? Karena...

Deno itu...

Kan bikin open source, dapet uang dari mana?

Kenapa kok...

Deno itu nge-push edge? Karena...

Supaya orang itu pake Deno Deploy.

Sama kayak Gun itu, Bun...

Itu sekarang kan didanaing...

Sama venture capital.

Karena Indian dia mau bikin edge juga.

Disana.

Dapat uang dari mana gitu, kalo misalnya disana.

Jadi...

Kayak framework-framework itu...

Framework yang open source.

Jualannya itu jualan hosting. Itu udah umum kan?

Iya. Sudah...

Mulai umum sekarang. Disana.

Sehingga...

Yang bisa dikejar itu adalah...

Developer experience.

Kemudahan dari setiap orang yang mau developer.

Orangan. Sedangkan kalo kayak misalnya...

Google ataupun...

Cloud leader yang lain...

Di ranah enterprise itu...

Targetnya beda.

Bila level, bukan?

Jadi misalnya si Verstel...

Netlify itu justru menggunakan...

Di belakang layar menggunakan...

Google Cloud.

Out yang lain, kan?

Bener. Dan Verstel pun kalo tidak salah...

Ada plugin atau sebutannya...

Di Verstel, itu bisa connect langsung...

Ke Google Cloud. Untuk kita punya database...

Maupun data engineering.

Misalnya kita mau ada analytics, kita mau lempar...

Ke BigQuery, itu bisa langsung connect.

Tapi masih beta. Tapi udah lama gak ngecek.

Lumayan.

Apalagi kayak kita yang dapet credit.

Ya aku belum apply sih. Nanti aku play deh.

Lumayan dapet gratis nih.

Ada pertanyaan dari Adbit yang sebenernya udah kita jawab...

Di awal ya. Tadi kita ada pertanyaan...

Tentang itu tentang database. Jadi...

Database nya satu, opsinya tadi...

Bisa terdistribusi juga.

Yang kedua, kita lebih banyak main di...

Caching strateginya ya.

Yang terdistribusinya justru, yang ikut adalah...

Servernya juga bisa nge-caching dari...

Database ya.

Bisa, bisa dari...

Banyak level kan. Jadi kayak mau di sebelah mana.

Cuman yang paling gampang itu adalah...

Dari sisi header request itu pasti...

Kalau header request aplikasi kan...

Statik ke cachingnya kan.

Yang diirim apa itu.

Tapi kalau dynamic, misalnya...

Kita punya sosmed gitu, ada yang...

Postingan baru, itu kan butuh...

Caching di sisi servernya juga ya.

Berarti ya.

Tapi kita kan kalau misalnya...

Kita ngomong SSR, berarti kan...

Ketika kita bikin fetch gitu ya.

Misalnya bayangin...

Kita bikin fetch ke API gitu kan.

Kita kan bisa tetap setting ini kan ya.

Request header untuk...

Untuk nge-cache data JSON nya kan.

Jadi...

Itu juga bisa digunakan. Tapi ya hati-hati aja.

Kalau misalnya gak update.

Kalau paling bahaya.

Yang di-cache, yang dikirim...

Sejam yang lalu...

Data nya gak berubah-ubah.

Ntar di round-end bahaya.

Berarti di servernya pun harus...

Caching.

Atau bikin bisa gak sih?

Pakai SWR atau semacamnya.

Still-while-revalidate. Tapi di sisi servernya.

Jadi servernya...

Diam-diam sebetulnya...

Manggil data lagi dari database.

Tapi dia ngirim...

Cached response supaya cepet.

Kalau still-while-revalidate kan...

Kebanyakan ditriggernya dari klien ya.

Jadi menurutku kayak gak ada...

Gak ada konsep.

Ini correct me if I'm wrong yang dikomen.

Silahkan.

Di sana.

Berarti kan diam-diam kan ya.

SWR kan diam-diam. Mereka ke caching.

Tapi itu kalau dari update baru...

Baru diganti ya.

Di level kliennya.

Kalau di dalam server...

Itu jatuhnya kayak keronjok.

Mecekin apakah udah update apa enggak.

Jadi menurutku gak ada...

Kayak SWR di dalam server sih.

Jadi lebih ke arah ada...

Beberapa technology caching.

Contohnya tadi yang versi experimental edge.

Di sana.

Yang kita bisa lakukan.

Tapi aku jujur aku belum...

Sampai sana sih.

Untuk implement itu.

Jadi aku harus double check lagi dokumentasinya.

Oke. Ini ada pesan yang menarik dari...

Ada komen database nih tadi.

Yang tadi?

Yang ini?

Bukan. Ada yang grow effects.

Grow effects, oh iya.

Aku enggak ngerti ini apa.

Eventual consistency.

Jaminan cara-cara menghadapi delay.

Ini.

Delay eventual consistency database.

Ketika misal...

Sebuah transaksi butuh bersifat...

Sinkronisasi.

Atau hal-hal yang sebaiknya non edge system.

Oh, jadi transaksional.

Atau misalkan harus...

Sinkronisasi. Harus sinkron.

Jadi yang...

Konteks dari...

Mungkin itu salah satu...

Kalau misalnya Mas Riza atau Mbak Eka pernah mendengar...

Konteks di dalam database itu kan ada...

Theor, bukan teori ya.

Tapi ada satu prinsipul namanya ACID ya.

ACID ya.

Jadi Atomicity.

Consistency.

Integrity.

Jadi yang dimaksikan adalah ketika ada beberapa transaksi...

Yang harus itu...

Sinkronisasi itu apa yang terjadi, apakah ditaruh di edge.

Jawabannya adalah...

Ya, kita tidak...

Menaruh database di edge.

Sebenarnya.

Cluster database yang...

Terhubung dengan beberapa region yang ada.

Jadi definisinya bukan edge.

Tapi adalah cluster database.

Sehingga cluster itu bersifat sebagai satu kesatuan.

Dan...

Prinsipul ACID itu tetap ada disana.

Jadi kalau kita ngomong secara database...

Secara detail ya.

Tapi kalau kita ngomong perkara informasi paling enaknya...

Tetap pakai caching.

Karena itu yang direkomendasikan sama...

Guilmo Delrenz ya.

CEO ya, Versal.

Itu lebih ke arah menggunakan tehnik caching.

Tehnik caching ya.

Kalau database-nya...

Ikut terdistribusi juga seperti di edge.

Ikutan di edge-nya.

Itu maka...

Maka sinkronisasi agak sulit ya.

Tapi kalau clustering...

Itu dia berbeda...

Dengan edge-nya kan.

Edge fungsinya dimana, misalkan di Singapura.

Oh, database-nya nggak ada nih di Singapura.

Ada yang terdekat mungkin di Hongkong.

Latensinya ada, tapi tidak terlalu jauh kan.

Dibandingkan ke Amerika kan.

Jadi dia larinya ke...

Baca data atau simpan data ke...

Cluster yang ada di Hongkong.

Jadi kalau dilihat dari...

Dokumentasi Fly IO Postgres itu...

Bukan edge database, tapi adalah cluster.

Cluster.

Multi-region.

Jadi ya bukan edge.

Sebenarnya. Jadi ya cluster.

Di sana.

Wah, mantap. Terjawab udah selama ini tuh penasaran.

Cuma nggak seniat itu buat ngulik.

Tapi untung...

Untung ada sesi malam ini ya.

Jadi diajarin sama Mas Dhoni.

Mantap.

Ada pertanyaan bagus lagi nih.

Apakah setiap company yang punya edge service...

Mereka punya infrastructure sendiri...

Atau mereka punya service...

Di masing-masing region.

Jawabannya enggak kan ya.

Jadi kalau kita...

Kalau most of Indonesian company...

Mungkin tidak harus.

Tapi kalau misalnya kayak...

Mungkin kita tahu beberapa company di Indonesia...

Yang juga menyediakan service-nya...

Tidak hanya di Indonesia.

Misalnya Traveloka.

Aku tidak tahu dalam mana yang Traveloka.

Tapi pasti mereka punya...

Beberapa teknik untuk bisa...

Service data maupun...

Backend ataupun...

Apa pun itu di region yang bisa service.

Di ASA Tamaraga.

Oke. Ini kayaknya maksudnya...

Nggak tahu ya. Silahkan dikoreksi.

Ini maksudnya...

Perusahaan yang punya service edge seperti...

Versafly.io.

Apakah mereka bikin infrastructure sendiri...

Atau bikin apa?

Mereka pakai service lain ya.

Tidak. Jawabannya...

Cost-nya mahal banget kalau bikin sendiri.

Mereka kan menggunakan...

Si...

Ya. Salah satunya...

GCP ya.

Salah satunya GCP di sana.

Tapi...

Tapi kalau nggak salah ya.

Kalau nggak salah baca, Flyaway itu mereka bikin sendiri.

Kalau nggak salah baca.

Ya. Mereka nggak...

Mengabstrak si layer...

Di atasnya service provider.

Ya. Mungkin pasti...

Mereka akan kerjasama dengan...

Yang lebih low level lagi gitu.

Cuman mereka katanya gitu. Mereka nggak ikutan.

Nggak pakai GCP...

Atau service serupa.

Nah. Dan yang menariknya adalah...

Oh iya. Mereka mungkin ya...

Harus menyediakan cost untuk...

Menyediakan itu agar...

Available di global ya.

Tapi mereka menggunakan teknik containerisasi yang...

Open source namanya...

Firecracker. Ini aku baru lihat.

Firecracker.

Itu yang...

Dari beberapa...

Cloud leader salah satunya Google.

Juga berkontribusi di sana. Jadi ya...

Secara teknologi, mereka juga menggunakan...

Salah satu standard dari...

Ketika membuat core platform.

Oke.

Oke. Nah.

Pertanyaan saya berikutnya. Apakah...

Si Edge ini...

Kalau kita mau coba...

Ya. Mau coba-coba menggunakan Edge.

Apakah kita harus menggunakan framework...

Seperti Quick?

Atau mungkin...

Apa lagi ya? Remix.

Remix itu...

Edge enggak ya? Atau Deno?

Enggak kan ya?

Jawabannya adalah...

Kalau kita mau...

Ini...

Kalau di secara umum jawabannya...

Enggak.

Bisa support Ruby, bisa support...

Oh iya. Bisa bahasa yang lain. Betul-betul.

Jadi...

Framework dengan request-respon...

Tradisional pun tetap bisa...

Dijalankan di Edge ya?

Ya. Karena kalau di Fly.io itu...

Tidak menggunakan JavaScript runtime.

Karena dia menggunakan firecracker tadi.

Micro VM. Jadi virtualisasi yang...

Lebih kecil sehingga...

Teknologi selain JavaScript itu...

Bisa jalan di sana. Jadi bisa pake Google.

Bisa pake LSP. Django pun bisa.

Laravel?

PHP bisa.

Laravel? Bisa. PSP bisa.

ROR bisa...

Tapi...

Tapi kalau kita mau...

Either Cloud Fireworks...

Mereka bikin runtime sendiri.

Dia hanya bisa menggunakan...

JavaScript.

Ya. Betul.

Wah. Menarik ya.

Nah.

Bahasa apa lagi nih?

Masih ada pertanyaan lain tuh banyak.

Oke. Kita jawab pertanyaan ya.

Nah. Ini... Ini... Possible enggak?

Dari Ranma. Menarik nih.

Pake JS runtime plus SQLite.

Jadi SQLite-nya dibawa ke Edge ya?

Ada namanya TURSO. Namanya TURSO. Keren deh.

Jadi... TURSO.

Ada di private chat tuh.

Coba dibuka.

Ini?

Oh. Jadi...

Cuma dia sebenarnya nge-fork.

Forking SQLite.

Nah. Detailnya gimana sih sebenarnya?

Belum nyoba ya. Nggak gitu tahu.

Jadi dia... Mereka nge-fork SQLite.

Untuk dijalani di Edge Function.

Kalkulasinya.

Kan SQLite kan kayak cuma bisa didump kan.

Maksudnya nggak bisa kayak Postgres kita connect.

Untuk melakukan CRUD gitu.

Nggak bisa.

Jadi kalkulasinya...

Dilakukan di Edge Function.

Di Edge itu.

Terus... Ya udah. Dia nge-replace.

Dia bisa meng-update SQLite.

SQLite-like database.

On the Edge.

Cuma detailnya gimana tuh?

Nah. Coba tolong dicelasin.

Jadi ini yang mungkin...

Sebagai pengganti dari caching itu sendiri.

Jadi dia itu tetap butuh database yang utama.

Tapi nanti komputasi...

Misalnya ketika request dia itu juga akan ngirim

SQLite itu di Edge.

Di sana. Jadi instead of kamu

nge-fetch database Postgres.

Ada nih SQLite di Edge gitu.

Jadi... Lebih cepat gitu.

Tapi ada komputasi itu.

Dari TURSO yang ter...

Tersentralisasi. Pakai Postgre.

Aku lihat gambarnya di sini. Aku buka di

chiselsstrack.com ya. Yang punya TURSO.

Di sana.

Dia tetap menggunakan

Satu database. Misalnya Postgre SQLite

di tengah. Di sana.

Oke.

Oke. Nah.

Kalau LightStream.

Ini termasuk ini juga nggak?

Terus ini gimana? LightStream?

Ini LightStream.

.io

Fully replicated database.

SQLite.

Oh.

Continuous Stream.

Jadi ini contohnya adalah

Mereka itu menaruh SQLite

di beberapa

storage ya. Storage.

Di sana. Tapi kita bisa

kemudian untuk selalu mengupdate

file itu ketika ada perubahan.

Oke.

Agak sedikit berbeda ya.

Agak sedikit berbeda sih.

Jadi mereka memanfaatkan

multi-region dari

Blob Storage.

Ya menarik juga nih.

Jadi beda konteks

sama yang tadi ya TURSO ya.

Oke.

Dia menggunakan ya daripada

kan lebih murah tuh ya daripada setup

database. Betul.

Lebih murah.

Ada yang bikin

aplikasi cuman database

tau gak apa? Google spreadsheet.

Kita menggunakan

IQ serebu.

Kita gunakan

Google API buat akses

spreadsheet. Ya udah tuh tinggal update aja disana.

Oh ya benar juga ya.

Seru ini ya.

Sebenernya kayak mancing kreativitas.

Yang bikin teknologi

tech-tech modern

terbaru gitu kayak

ngakalin. Kan semua ada trade-off-nya.

Apapun itu kan jelas ada trade-off-nya ya.

Nah ini dengan banyaknya

edge sama serverless, malah justru database

atau data storage yang

least powerful, yang paling gak powerful

malah jadi naik lagi.

Karena murah dan gampang diseber

atau degenerate di mana-mana.

Menarik ya.

Jadi malah

ikut ya itu ya

ekosistem ya. Satu

bertumbuh yang lain sebelah-sebelahnya ikut

bertumbuh atau yang tadi udah mau layu

hidup lagi gitu ya.

Ini tadi kita sempet bahas

server-side rendering sekalian

ISG juga biar teman-teman paham.

ISG itu apa ya?

Incremental Static

Regeneration.

Apa? I-nya apa?

Incremental.

Incremental. Oke.

Itu konsepnya gimana?

Ada yang tau? Mba Eka.

Eka. Itu kayaknya

di Next.js ada deh kalau gak salah.

Jadi sebenarnya

ISG itu introduce

persel ya

persel ya

di sana. Jadi

Eka itu menggabungkan dua konsep

teman-teman SSG ya.

SSG sama SSR ya.

Tapi kan kalau dulu kan

SSG itu harus dibuild semua ya kan.

Misalnya kita punya blok kita

ada 20 artikel.

Terus kita nambahin satu artikel baru jadi

dua satu halaman itu

dibuild lagi semua.

Nah ini tuh

kelihatan kalau gak salah.

Jadi yaudah kita ngebuild

apa yang perlu dibuild.

Jadi under the hood

si library-nya itu

bisa bikin kayak div lah.

Divnya aja ya.

Dia cukup pinter buat

nyari mana yang perlu

diubah. Nah cuma

itu kan implementasi di Next.js.

Belum mulai lagi sih apakah

di framework atau meta framework lain

ada dan implementasinya gimana.

Intinya sih

ngedapetin keuntungannya

pure static kan kalau dari

perspektif user nih end user yang

ngebuka halaman kita. Dia kan dapat

keuntungannya pure SSG ya

cepet

dan langsung kebuka performance bagus

dan sebagainya. Dari sisi

developer mengurangi

pain point-nya atau ke gak enakannya

pure SSG harus

ngebuild semua.

Oke, oke. Nah

berikutnya, ada yang nanya

tentang Hermes.

Ada yang tau?

Hermes. Java script engine

di React Native.

Apa tuh Hermes? Coba kita

cari.

Lebih ke ini ya. Jadi memang

definisinya beneran time.

Tapi yang dibuat oleh

Facebook ya.

Yang dibuat dalam Facebook

disana. Itu memang dedikasinya

adalah untuk

berjalan di mobile

device. Disana.

Mobile device-nya adalah

React Native gitu.

Jadi bayangin kamu bikin note

tapi dimasukin ke

disana. Tapi

tidak semua note APA

ada. Tapi memang khusus buat

jalanin aplikasi React Native.

Jadi lebih kesana

ya.

Itu open

source JS engine juga kan ya.

Tapi masuknya ya ke ranah

mobile kali ya. Ranah-ranah

mobile gitu.

Itu yang kayak

lagi aku dalemin yang

kalau gak salah Mas Rizya pernah ngetit

belajar apa tahun ini gitu kan ya.

Mau bikin compiler katanya.

Enggak bikin ya. Tapi

lebih ke contribute. Belajar?

Belajar ke contribute ke note.

Mau contribute ke banyak hal.

Luar biasa.

Berikutnya

kalau jadi front-end

developer susah gak?

Susah gak jadi.

Susah gak jadi.

Enggak gak susah. Belajar aja.

Enggak susah sih.

Sama. Susahnya sama aja

kayak jadi back-end developer atau jadi

devops atau

apa. Cuma kan cocok-cocokan ya.

Mending dicoba dulu

belajarin desertnya semua. Kita kan

gak bisa tau tuh kita cocok atau gak.

Kalau belum dicoba.

Lebih baik malah bukan susah apa

gak. Kamu mau ngapain?

Di start dari wayenya dulu kenapa

mau jadi front-end developer?

Di sana. Kamukan dulu kamu

ngapain mau belajar.

Terlepas susah apa ya.

Semuanya susah.

Memangnya belajar ya. Pasti pusing ya.

Yang gampang Mas. Tidur-tiduran di rumah.

Gampang juga.

Sama ini.

Gimana gimana?

Tuh lanjut.

Sama aja

kalau misalkan beginner

to intermediate JS mau

coba RAS itu sakit kepala.

Pasti sakit kepala namanya juga belajar.

Pusing ya.

Di sana pasti karena

beda pemahaman

tentang bagaimana kita

melakukan pemugraman di RAS.

Ada beberapa kalau

kamu sebagai yang pernah main JS

gak pernah main low level sebelumnya

gak ngerti cara bagaimana memanage memory akan

sangat-sangat pusing.

Apa lagi?

Lanjut-lanjut.

Bahkan kalau tau C sama C++ pun

cara untuk kita

memanage memory itu akan berbeda.

Di RAS.

Jadi ya susah.

Aku dulu sama teman zero one group

bikin beberapa open source project

itu pun untuk produktif butuh sebulan.

Wow sebulan ya.

Apalagi RAS itu

type language kan.

Jadi kalau misalkan dari JavaScript

kayaknya agak terlalu jauh loncatnya ya.

Kalau dari TypeScript mungkin lumayan ya.

Tapi mungkin

saran tambahan

kalau emang mau belajar bahasa baru

atau platform baru itu

kalau bisa

jangan mencari ekvivalen

dari bahasa yang sebelumnya.

Oh di JavaScript gini, di RAS gimana?

Karena beda banget.

Cara pikirnya beda ya.

Pilosofinya beda.

Kalau kita stuck di bahasa lama malah stress mungkin.

Iya.

Jadi kalau misalkan di RAS itu dia

ada konsep-konsep kayak borrowing

ada apa lagi tuh. Macam-macam gitu kan.

Di JavaScript kan gak ada ekvivalennya. Begitu juga sebaliknya.

Kalau saya mau ini

di JavaScript gimana ya.

Ada call back, ada even loop,

ada macem-macem gitu.

Maka fundamental dan filosofi itu

yang harus dipelajari.

Gak, cari ekvivalen.

Mungkin kalau sintaks ya bisa lah. Cari ekvivalennya

for loop di sini ya itu mungkin hampir sama.

Tapi kalau

dalemannya yang berbeda.

Gitu.

Jadi kalau RAS itu sebetulnya inspired

by apa sih sebagai bahasa?

Kan biasanya ada turunan-turunannya

bahasa-bahasa yang baru.

Jadi

seingetku

RAS itu terinspirasi dari OCaml.

Funksional programmingnya dari

sana.

Haskell mungkin ada

terinspirasi dari sana. Karena type

functional programming. Karena

RAS itu meng-leverage beberapa

teknik-teknik functional programming

yang kita

bisa lakukan di sana.

Jadi dapat dari situ.

Pengen dapet

performa yang bagus kayak low

level tapi juga pengen

menyenangkan bagaimana kita

mammogram berdasarkan menggunakan

functional programming lagi.

Oh berarti gak OOP

based ya? Bisa

tapi tidak ada yang namanya class.

Bisa. Jadi

kita bisa. Sebenernya multi

paradigma ya.

Jadi kita bisa

mengimplementasi method. Tapi

bukan math, bukan

class namanya. Jadi kita

menginstrack, kemudian kita mengimplem

EMPL. Jadi mengimplemenasi

apa method

atau fungsi terhadap strack itu

sendiri.

Oke.

Sip sip.

Nah ini ada pertanyaan

lumayan menarik juga nih.

Jadi Drian ini masuk

ke sebuah perusahaan.

Basisnya React dan

Aravail. Terus tiba-tiba perusahaannya

pakai Senja sama

web service Lamina. Lamina itu apa?

Kita juga bingung.

Kenapa?

Senja itu kalau gak salah

Java and JavaScript framework

Ini kan

Senja itu

kalau gak salah UI library juga.

Tapi jaman dulu. XT, JS

jamannya apa?

Java ya Senja ya?

Nggak. Java and JavaScript.

Jadi mungkin ya

back-endnya Java terus untuk

strack disini.

Nah, tapi itu tadi

Laravel. Laravel PHP.

Oh, basicnya.

Sorry, salah.

Salah baca.

Ya, beda stack.

Kurdu pelajaran dari awal.

Ada component kan Senja kan?

Oh iya, XT, JS.

Benar.

Ini dulu Mas Arya kerja

disini nih, di Senja.

Oh.

Jadi ada framework

jadi sepaket ada framework

front-endnya, ada back-endnya ya?

Tapi enterprise berbayar.

Bukan yang open source.

Bingungnya dimana?

Ya, pelajari aja Senja nya.

Ada dokumentasinya kan pasti.

Karena kalau kamu bekerja

pada suatu persahaan ya mau gak mau kan?

Harus belajar.

Kenapa waktu interview gak nanya

di sini pakai apa?

Waktu

interview nanya dong.

Pengaruh ini sih, pengaruh apakah

ini juga ya kalau misalnya

berhadapan dengan vendor juga

sebagai perusahaan juga harus mengerti

gimana cara

teknologi yang digunakan apa.

Misalnya, misalnya aku kan sebagai

Salto Company yang juga berbasis agensi ya.

Aku pernah tidak selalu

menggunakan tech-tech yang aku

gunakan.

Jadi pernah dulu

pakai Kotlin? Pernah.

Pernah pakai

JavaScript, Vanilla

walaupun secara defaultnya

type script juga pernah.

Jadi ya sebenarnya gak ada masalah

perkara teknologi. Selama konsep

dari software engineering itu udah kuat

harusnya gak ada masalah sih

belajar disini.

Ada pertanyaan terkait

jadinya, Mas Nuni dari perspektif

sebagai lead atau mentor,

gimana tuh kalau ngadepin kayak si

siapa tadi Mas atau Mbak

Adrian tadi orang baru

tech-tech yang dikuasai sama sekali berbeda

tapi ya maksudnya dia bisa diterima

berarti kan kemungkinan dianggap punya potensi

atau mampu. Cara nge-guidednya

kira-kira gimana tuh?

Yang mana ya komennya?

Yang tadi, yang ini, yang kita

tampilin di layar.

Dia basicnya reaksi sama Laravel, cuma aplikasi

vendor-nya pakai Senca.

Terus tadi yang pertanya sebagai mentor itu

sebelah mana ya komennya?

Oh enggak, ini pertanyaan tambahan aja.

Sorry, boleh diulang gak? Mauin maaf.

Itu langkah untuk

membimbing atau mengintegrasikan

tim member baru yang

kondisinya kayak gitu tuh.

Gak paham sama sekali.

Apa beda tech-tech?

Dan bingung?

Sebenernya ini juga

salah satu yang pernah

aku hadapin di

Zero One ya. Jadi Zero One itu

ini aku kasih

perbedaan konteks.

Jadi Zero One dulu itu mobilnya pakai

React Native.

Ternyata non-JS ekosistem

paling gampang React Native dong.

React Native dan Expo

yang mungkin mau.

Ternyata ada permasalahan

waktu setelah developer experience

itu di sana. Dan akhirnya kita untuk

mengevaluasi kita mau

pakai apa? Beneran gak mau investasi

karena kondisi Zero One belum pernah

paham tentang mobil.

Karena background-nya web sama back-end.

Jadi gak ada yang paham tentang masalah di mobil.

Akhirnya kita melakukan reset

2-3 bulan.

Itu kita akhirnya milih untuk pindah ke

Flutter.

Salah satu teknologi di Google

yang mobil di Flutter.

Sebagai orang yang

tidak pernah pegang Flutter sebelumnya

mau gak mau harus pegang.

Jadi tetap hiring

teman-teman yang

React Native gitu.

Kita gak hiring React Native.

Jadi kami hiring Flutter.

Tapi konteksnya adalah

yang Flutter pada saat itu

masih entry-level.

Jadi justru yang ada perasanya malah

aku.

Jadi aku harus belajar.

Aku menggunakan

anak yang entry-level

itu untuk kayak

bisa bantu jelasin aku gak Flutter.

Karena

masih lagi anget-angetnya ya ilmunya.

Ya, disana. Jadi sebagai

Lead pun punya tanggung jawab

tidak hanya untuk

menyuruh

timnya untuk belajar.

Tapi dia juga harus pernah pegang

dalam esensi pernah

tahu bagaimana caranya nge-build

aplikasi dari teknologi tersebut.

Karena gak akan nyambung

kalau gak pernah nyoba. Jadi

sebagai Lead sebelum mengarahkan

kita harus tahu sebagai

apa teknologinya itu kayak gimana.

Mau teknologi apa-apa.

Insya Allah masih coba

untuk hands-on

disana. Nah bagi teman-teman

yang

belum pernah

belajar. Ini konteksnya adalah dulu

tekstek pertama saja doang adalah closure.

Jadi ada yang ngomong closure ya?

Belajar.

Karena closure itu tidak semudah

itu. Karena mungkin mindsetnya kan

beda kan. Orang terbiasa

teksnya kayak si. Sedangkan closure itu

pakai list untuk

kurung-kurung yang

seperti itu. Kurungnya banyak ya.

Kurungnya banyak gitu kan ya disana.

Jadi gimana cara kita

menafigasinya harus ada

sesi untuk mereka belajar.

Jadi satu

minggu, dua minggu mereka join

ke zero-one. Waktu itu dia gak

disuruh modi. Disuruhnya

belajar dulu.

Enak ya. Udah dibayar itu.

Udah dibayar gitu.

Enak ya.

Jadi belajar dulu disana.

Adaptasi gitu.

Tapi akhirnya terlalu

kosnya terlalu besar untuk ngajarin

closure. Karena yang bisa closure cuman berapa orang.

We put

ke investasi

ke Node.js Ecosystem, ke Javascript.

Bisa juga pakai Closure Script ya nanti ya.

Oh justru malah

ini lucunya adalah aku belajar

Frontend itu dari Closure Script bukan dari...

Oh gitu. Oh wow.

Kebalik.

Kebalik ya.

Baru ke react disana.

Non-mainstream.

Tidak mainstream.

Oke. Pertanyaan berikutnya

ini ada yang bertanya tentang

Edge Function lagi. Apakah

bisa hybrid dengan konvensional

atau monolith. Atau

kita harus microservice ya

semuanya, function.

Bisa kan?

Bisa, bisa.

Bisa, bisa. Jawabannya adalah bisa, pasti bisa.

Tapi yang

menurutku yang selalu kita

hadapi sebagai orang teknis

itu adalah gunakan

teknologi yang tepat untuk permasalahan kita.

Tidak semuanya harus di Edge.

Tidak semuanya.

Tapi core utama bisnis kalian itu

adalah monolith di awal

disana. Tapi ada fitur

baru yang membutuhkan teknologi baru

kalian bisa gunakan teknologi Edge

disana. Karena kalau kalian harus

migrasi cost dan

gaya-gaya untuk

rewrite. Kan paling senang tuh engineer

kalau ngerewrite kan ya disana.

Ya. Semua

shiny new tools masuk.

Masuk gitu. Tapi abis itu

dia resign terus gak ada yang maintain. Itu

kan susah. Nah lho.

Itu yang sering dialami

oleh Zero One Group karena kami itu

selalu mencoba untuk

membantu enterprise yang ditinggal

oleh penulis sebelumnya

yang menggunakan bleeding edge.

Dan akhirnya audited.

Jadi kaya

tercara bagaimana untuk cost tetap

bisnis tetap jalan.

Tapi cost nya itu gak harus

sampai rewrite disana.

Jadi apa dulu nih yang mau dipecahin?

Kita bisa

mengkolaborasi kan. Tapi yang penting

adalah kamu tuh memecahkan masalah dari

produk yang kamu buat.

Gak harus semuanya

pakai Kubernetes.

Gak harus semuanya pakai Kubernetes.

Gak semua harus pakai

micro service.

Iya.

Paling senang

rewrite setuju. Iya lah.

Iya.

Paling senang rewrite ya. Luar biasa.

Kalau Raz sendiri

ya sering diajak gelet sama compiler ya.

Pasti jawabannya.

Kalau kamu gak biasa

lebih kaya guru sih.

Kamu jangan lakukan ini, tolong lakukan ini ya.

Ada sarannya

tapi kan.

Pesan error nya itu udah lebih

manusiawi kan.

Itu membuat

Raz compile time nya lama.

Oh.

Jadi dia ada jpt nya gak?

Gak aja.

Compiler error nya kaya

jpt gitu.

Beda dengan Go compile time nya sangat cepat ya.

Compile time nya cepat banget.

Tapi kalau Raz itu lama compile time nya.

Oh. Kenapa tuh?

Karena banyak

hal yang dilakukan oleh

compiler itu sendiri

pada Raz. Karena mereka

harus ngecek memory management.

Mereka harus ngecek

pesan yang baik untuk disana. Sedangkan

Go itu kamu bisa ke compile

itu error. Karena mungkin

data nya pointer nya error.

Di Raz itu

gak bakal kamu

pointer error sampe kamu benar

di compile. Jadi itu makanya lebih lambat.

Waktu nge compile

dia sebelum compile dia ngecek semua

berarti? Dia ngejalanin semua ya?

Lama. Disana.

Jadi makanya

ya jadi

jadi akhirnya di tahun

ini apa tahun lalu ya?

Mereka main incremental build.

Jadi harus build semua

dari awal.

Jadi lebih cepat ya?

Jadi lebih cepat.

Nah. Ngomongin Go nih. Ada yang minta saran nih.

Dia front-end.

Mas Arjo ini front-end.

Tapi pengen belajar back-end pake Go.

Supaya bisa nyambi.

Biar bisa freelance.

Biar bisa back-end untuk freelance.

Kalau dari

front-end front-end apa? JavaScript

apa TypeScript? Kalo JavaScript kayaknya

agak ini ya agak

panjang ya jalannya ya. Karena

JavaScript kan dinamis ya. Mungkin

baca TypeScript dulu kali ya sebagai perantara kali ya.

Ya.

Kenapa Go?

Kenapa Go? Iya pertanyaannya

kenapa Go? Kenapa harus-harus.

Perjayaan saja yang udah deket.

Karena begini loh. Selalu salah kapra

orang-orang itu. Kenapa gak jadi whole stakes sekalian?

Hahaha.

Salah kapra orang-orang itu adalah programming

language itu jadi yang

idaman utama. Padahal

katakanlah kamu bikin back-end sama Aras ya.

Cepet banget gak?

Kalau kamu bikin querynya

5 second, mau pake Aras

nonggu nya 5 second.

Jadi gak ada masalah

sebenernya. Bahkan Instagram sekarang back-end

masih pake Python. Pake Python.

Django. Iya.

Pake Django disana. Jadi

lebih ke arah kenapa harus Go?

Apa kalau kamu mau kerja ke company

besar di Indonesia?

Fair gitu. Boleh.

Tapi kalau freelance, ngapain

harus pake Go? Orang bisa kayak

perlunakan pahat PHP Laravel?

Iya. Dapet Lamborghini.

Dapet. Beli Lamborghini. Iya.

Kamu mau beli Laravel?

Kamu mau beli Laravel ya? Dapet Lamborghini ya?

Iya. Dia gak tau ya itu

punya dia atau bukan ya. Nilas dia foto di depan

Lamborghini. Kita gak tau itu

punya siapa. Ya

bisa jadi punya dia sih. Bener.

Karena Laravel itu banyak service yang

berbayarnya kan.

Manitasnya disana.

Iya. Pertanyaan yang sama juga.

Kenapa harus Go?

Iya. Padahal

Google aja

yang punya Go

dia gak rewrite tuh Gmail.

Gmail masih pake Java tuh.

Jadi bahasa

yang paling populer di

dalam Google sendiri itu

yang pertama adalah Java,

Python, C, C++.

Baru Go lang. Go lang itu banyak dipake

di GCP-nya ya.

Infrastruktur.

Ada ops-nya biasanya.

Jadi kalau misalkan

mau ke back-end ya mendingan

lebih dekat ke Node.js kali ya.

Mungkin bisa langsung belajar Deno

atau Boon. Sama-sama lah itu

JavaScript runtime ya.

Oke. Nah

berikutnya

PHP.

Banyak ya. Banyak ininya apa? Banyak

job-nya kali ya.

Terus

Facebook masih pake PHP ya.

Dia udah beda ya. Beda.

Kita bukan Facebook. Jadi jangan samakan.

Jangan liat

"Wah Facebook pake PHP."

PHP mereka udah beda.

Mereka udah bisa bikin

compiler dan interpreter sendiri.

Dan kita juga gak perlu

secanggih mereka kan. Apalagi

usernya masih 100, 200,

1000 gitu ya.

Masih bisa lah pake PHP.

Tergantung tujuannya.

Tujuannya mau buat apa.

Iya. Why-nya kenapa?

Betul. Betul. Betul.

Tapi kalau tujuannya untuk belajar sih

gak apa-apa kan. Gak apa-apa.

Gak apa-apa gitu. Karena mau belajar

Haskell pun gak ada masalah.

Haskell. Iya.

Tapi kalau mau bikin

produk ya mikir-mikir dulu ya.

Oh jarang banget yang pake

Haskell.

Itu udah susah

belajarnya itu.

Iya. Apalagi pake

PureScript. Aduh pake apa lagi?

Freelance terbaik katanya.

Itu job security. Tapi tuh kalau bahasa aneh-aneh

job security yang bisa cuma

kita gak bakal kena lay off.

Gak akan dipecat.

Kalau mau job security ya mbak?

Itu lebih ke

Kobol tuh.

Kobol.

Gang gitu.

Iya. Jobnya sih

secure. Kita gak bakal kena lay off.

Tapi perusahaan ini kita gak tahu tiba-tiba.

Tiba-tiba tidak bekerja.

Tidak beroperasi lagi ya udah.

Kita juga harus cabut.

Iya bener kan tuh.

8bit juga menyarankan

kalau emang mau

mau belajar back-end ya coba

belajar yang deket aja dulu.

Karena kan banyak hal yang di back-end

yang konsepnya yang baru

dibandingkan front-end kan.

Kita harus belajar database, belajar apalagi

technique caching,

belajar gimana

apa mengatur service dan lain-lain

routing kan.

Kalau misalkan kita belajar dengan bahasa baru itu

ya jadi bertingkat-tingkat

berkali lipat gitu.

Ya kalau emang mau belajar go

ujungnya boleh. Belajar note dulu.

Oh udah ngerti back-end nih sedikit-sedikit.

Baru ke go atau kemana.

Lebih seru lagi

kalau sambil ngerjain project. Jadi tadi

cari freelance kan. Cari aja yang

paling

paling memungkinkan

diambil terus belajar

sambil ngerjain.

Risikan sih tapi ya

belajarnya jadi lebih tepat.

Projectnya yang kecil-kecil aja. Bahkan

kalau mungkin kalau dari ini di luar bahasa

go ya. Chrome end ke

back-end atau mungkin ke full stack.

Hal sesimpel kayak bikin apa sih

GraphQL server itu loh.

Pakai library yang udah ada pun.

Misalnya pakai Prisma sama Apollo.

Itu kan kita tinggal nyambung-nyambungin.

Tapi yang valuable

itu kayak yang berharga tuh pas kita

kita beneran praktek

gimana cara bikin database query yang

relationnya irit lah.

Selama ini kalau di Chrome end

mungkin kan nggak terlalu mikir. Pokoknya

panggil endpoint. Post, muncul deh

semua post. Tapi post itu kan

ada user. User ada datanya.

Misalnya ada username, ada profile, ada

apa. Nah kalau misalnya

kita udah masuk ke

full stack-nya bikin CC API-nya

kan kita harus mikirin

data relasi-relasi

manggil berbagai

table yang berbeda kan.

Itu bikin query-nya jadi berat banget kan.

Berat dan apa? Costly juga

bisa mahal, bisa bikin database

bool. Nah kita mulai

mikirin itu aja kan sebenernya udah

langkah menuju belajar

back-end. Walaupun secara bahasa dan

sinteks ya belum belajarin apapun

yang baru.

Oke-oke. Nah ini juga

pertanyaan menarik nih. Kenapa sekarang-

sekarang ini lagi rame functional programming?

Ayo. Kenapa?

Gak tau.

Uh.

Kenapa?

Gak bisa jawab sebenernya kalau misalnya

kenapa rame.

Tapi biasanya juga orang-orang

yang sangat

excited atau sangat

senang

menggunakan functional programming itu akan selalu

mencoba untuk menyebarkan

tentang apa itu functional programming.

Contohnya

samapin.

Ya kalau pakai film, pakai Axlinux

itu pasti langsung itu ya.

Gak ditanya juga jawab.

Saya pakai film gitu ya.

Tapi

selain perkara gitu ya

pemahaman tentang konsep

tidak hanya OP itu akan

menambah pengetahuan kita

dan bahwa tidak ada

hanya satu solusi untuk

mengerjakan sesuatu itu.

Jadi lebih ke arah beneficial kita

sebagai software developer atau engineer

untuk mengetahui lebih dari satu paradigma.

Karena

functional programming itu punya benefitnya

daripada OP.

Tapi apakah functional programming

jauh lebih baik? Jawabannya tidak

tergantung.

Tergantung lagi, kembali lagi, it depends.

Di Zero One Group itu tidak

garis keras functional programming

tapi kami itu selalu

menggunakan functional programming

untuk memastikan bahwa data yang

kita gunakan itu selalu

benar-benar tidak termutasi.

Data inputnya adalah functional programming.

Itu kita tidak pernah memutasi data.

Sederhananya adalah

kalau kita menggunakan

di JavaScript kita itu tidak pernah pakai

let ataupun var ya.

Jadi selalu menggunakan cons.

Karena kita tahu bahwa

ini tidak akan berubah data ini.

Immutable.

Immutable gitu. Data ini tidak berubah.

Sebenarnya esensinya adalah bukaan penggunaan function.

Tapi kita tahu bahwa

state yang kita lakukan

adalah input sama outputnya bisa di prediksi.

Dan kenapa kita

menggunakan immutable, gampang ditest.

Bisa ditebak lah ya.

Oh, kalau ini berarti nilainya

segini udah pasti. Kita udah yakin.

Kalau misalkan OOP

kan dia ada konsep global

variable-nya kan.

Kalau di JavaScript itu pakai disk gitu kan.

Itu isinya bisa macam-macam gitu kan.

Dan bisa berubah di tengah jalan.

Sebenarnya

kalau

dibilang tren, sebenarnya fungsional programming

kan juga udah lama kan.

Lebih lama fungsional kan.

1960-an.

Justru lebih muncul duluan.

Jadi tren-tren

di teknologi itu ya gitu.

Muter-muter aja.

Yang tadinya kurang tren.

Terus tiba-tiba muncul OOP.

Abis itu sekarang OOP kurang tren.

Balik lagi ke fungsional.

Dan seterusnya.

Dari SQL ke NoSQL.

Balik lagi ke SQL.

Dulu Imperative.

Padahal dari dulu

SQL itu adalah bahasa deskriptif

kan. Deklaratif, sorry.

Bahasa Deklaratif kan. Sekarang Deklaratif.

Ada React, ada ini, ada SwiftUI.

Padahal dari dulu SQL itu adalah

Deklaratif.

Cuman orang gak nyadar aja.

Cuman sayangnya ini ya.

Sayangnya di kampus-kampus

itu mungkin belum ada kali ya.

Diajarkan paradigma

fungsional ya.

Banyakkan paradigma OOP.

Dan jujur dulu juga

waktu awal-awal belajar di kampus

itu saya kesulitan memahami

OOP itu.

Kalau misalkan teman-teman

ada beberapa teman juga yang bilang.

Kalau misalkan teman-teman belajar OOP itu dengan

membuat sebuah game.

Itu makes sense.

Karena ya itu objek kan.

Ada karakternya. Terus mungkin

karakternya ini diturunkan dari

karakter yang lain.

Ada metode nya bisa ngapain, bisa ngapain.

Betul.

Karakter ini dot run. Dia lari,

jam, dia loncat.

Terus misalkan ada musuhnya, musuhnya

ada turunan-turunannya. Itu makes sense.

Tapi ketika OOP diimplementasikan

di aplikasi

bisnis, bingung.

Ini objeknya

yang mana?

Akhirnya ada mapping tuh dari database

yang table-table

menjadi objek gitu kan.

Itu. Jadi mungkin

kalau mengalami kesulitan dengan OOP

ya coba belajar paradigma yang lain.

Ada banyak yang lain kan.

Selain fungsional, ada

namanya ada

struck base ya. Apa sih? Ada banyak lah.

Ada prosedural juga. Kalau di kuliah

mungkin belajarnya prosedural awalnya ya.

Jadi mungkin karena fungsional

ini jarang

diajarkan di kampus,

mungkin orang jadi kurang familiar.

Begitu.

Iya benar.

Dulu SSR, dari dulu SSR

kan. Request Response.

Terus ke Client Side Rendering.

Sekarang balik lagi ke SSR. Apa lagi

Tretrek App hilang.

Ke mana nih yang mau

bikin Client Side Rendering.

Berapa episode tau ya

kita beneran ke sini.

Uter.

Dan Abrahimov nge-tweet tuh.

Dia itu nggak mau menyimpan SSR yang dulu

sama SSR yang sekarang. Karena

yang dulukan tidak ada

interaktif kan. Karena

udah ngerender HTML udah tuh.

Ya udah.

Jadi seharusnya itu bukan lagi

ngomong SSR, JSR, tapi ya

evolusi gani beberapa teknik yang

ada di sini.

Ya betul.

Jadi ya begitulah.

Namanya teknologi ya.

Mungkin apa namanya

siklusnya muter-muter, tapi

ada tambahan-tambahannya.

Iya tambahannya menjadi lebih bagus

kan. Kenapa sekarang fungsional

jadi lebih bagus ya. Mungkin ada

bahasa-bahasa yang baru

yang membuat fungsional, bahasa

fungsional ini lebih make sense dan lebih

cocok. Mungkin ya.

Jadi nggak ada salahnya belajar

berbagai paradigma.

Tok juga kalau kita nggak pakai fungsional

di pekerjaan, bisa menambah

apa ya, menambah pengetahuan sama

membuat

kita bekerja dengan OOP jadi

lebih bagus juga dengan mungkin beberapa

konsep-konsep fungsional bisa dipakai ya.

Bisa, bisa. Langsung di kolaborasikan

dengan kelas dan metode

menggunakan fungsional pun bisa.

Bisa ya. Jadi bahasa-bahasa seperti

bahasa yang multipurpose kayak Java,

ada apa lagi, GoLang

atau RAS gitu ya.

Itu bisa, ya

paitan Ruby dan lain-lain

itu juga bisa pakai

konsep-konsep fungsional, begitu juga pakai

konsep-konsep OOP, dua-duanya

bisa. Oke.

Ada lagi mau disampaikan, Mas Don, sebelum kita

udahan? Dari,

nggak ada pertanyaan lagi nih yang

habis-habis-habis.

Habis. Ada nih,

ada terakhir-terakhir, tuh paling

bawah yang start, budget

dibawah 1 juta. Oh, budget.

Nah, ini menarik.

Yang punya pengalaman di lapangan,

Mas Don. Budget rantai per bulan dibawah

1 juta dan tidak expect user

banyak. Code Function aman tidak sebagai

sistem? Aman?

Aman sejauh. Aman.

Jawabannya

adalah

sebenarnya

menggunakan

Fly.io dan

berbagai platform

yang kita gunain tadi itu

aman-aman aja. Bahkan malah

bayar infrastrukturnya gitu kan.

1 juta aja bisa kamu embat sendiri.

Canda.

Karena

kalau,

kemarin dapet email dari Fly.io,

kalau kamu harga per bulan

dibawah 5 dolar, itu

gratis. Gratis.

Jadi sebenarnya bisa aja.

Tapi kalau katakanlah kamu tidak

nyaman dengan menggunakan platform,

kamu bisa menggunakan VPS aja gitu.

VPS, kayak

4 core, 8 giga,

itu kan relatif masih dibawah

1 juta kan ya. Kamu bisa install database,

kamu bisa install sesuatu.

Kamu bisa maintain datamu sendiri.

Itu juga make sense.

Di sana. Kalau boleh

aku share salah satu

VPS langganan favorit

untuk aku, karena murah banget

dan tidak orasnya.

Namanya Contaboo.

Apa itu? Contaboo?

Contaboo. Contaboo. Coba Mas Riza.

Contaboo?

Berapa murahnya dan CPU-nya gede banget.

Contaboo Cloud VPS ini?

Iya. Itu

murah banget.

Ini perusahaan dari mana nih?

Jerman. Oh Jerman. Wow.

Tapi punya Singapura di sana.

4 core, 8 giga, cuma 8 dolar.

Bayangin.

Coba buka yang 5, 6 dolar.

Mana? Ini?

Coba select. Itu berapa service-nya?

4 core, 8 giga.

Bayangin. Cuma 100 ribu.

100 ribu ya.

Nah, semua get request

di cash yang banyak, itu kan usage-nya

bakal kecil banget tuh. Nah,

terus 3 klien taro situ.

3 juta kan.

Cuma berapa?

Sisanya kantongin.

Iya. 1 juta itu bisa buat 1 tahun lho.

Bisa buat 1 tahun.

Terus bisa set up buat banyak klien kan.

Iya, iya, iya.

Kalau pakai VPS.

Biasa.

Biasa.

Untuk jalanin ICD devops,

jadi benda itu doang.

Wah. Oh, ini ada yang pakai juga nih.

8bit. Wey.

Saya pakai Contabo juga. Mantap.

Oh, nice. Murmer.

Spek tumpah-tumpah. Wiss.

Oh iya, kita nggak sponsor ini ya.

Kita juga sponsor.

Kita jualan kita ya.

Padahal kita jualannya Google Cloud.

Ini masih relate sama pertanyaan tadi.

Apakah fungsinya

simple

jadinya jarang diajarkan?

Nggak sih, kalau...

Nggak simple juga sih.

Oh iya, ada yang subscribe.

Terima kasih.

50 ribu.

Alhamdulillah.

Lanjut, lanjut, lanjut. Gimana, gimana?

Simple itu tidak mudah ya.

Jawabannya.

Simple itu bukan mudah.

Tapi kalau kita ngomong perkara

edukasi di Indonesia lebih ke arah

adaptasi dari

kampus itu memang tidak secepat

dari teknologi berjalan.

Sama pakai established language nggak sih?

Kalau kampus kan pasti

ada kurikulum yang pakai bahasa-bahasa

meregraman yang udah established banget.

Itu kan nggak bakal berubah ya?

Karena sebenarnya kampus itu

bukan untuk menyediakan

kayak talenta untuk

ready ke job market.

Sebenarnya kampus itu

diajarin untuk berfikir.

Jadi sebenarnya kalian ambil itu

adalah bagaimana algoritma bekerja,

bagaimana struktur data itu bekerja.

Karena itu akan diimplementasi apapun bahasanya

di sana.

Justru salah kalian menyalahkan kampus.

Sebenarnya kampus itu diajarin kalian untuk berfikir.

Bukan untuk siap kerja di sana.

Itu salah kapra.

Kebanyakan.

Siap, siap, siap.

Oh iya!

Jangan lupa untuk

temen-temen yang mau

feedback untuk episode malam ini.

Kalau feedback-nya bagus nanti

Mas Donny-nya kita undang lagi.

Mas apa ya?

Oh iya!

Tensorflow.js ya?

Karena thesis-ku menggunakan Tensorflow.js.

Oh iya, ini menarik nih

Tensorflow.js ya.

Machine learning, Google Web itu gimana?

Ya, boleh.

Nanti kalau thesis-ku udah jadi ya.

Asik.

Sebelum sidang ya.

Sebelum sidang kita sidang dulu ya.

Nanti sebelum sidang.

Aku masih mingi.

Slide sebelum sidangnya

dipaparin disini.

Nanti taunya dosennya sama

pengujinya malah komen disini.

Pak saya nggak usah demo ya.

Pak saya ada videonya silahkan lihat.

Ada di YouTube gitu ya.

Mantap, mantap.

Boleh, boleh, boleh.

Next time kita undang lagi ya.

Mas Donny.

Sidang terbuka.

Nah.

Tadi ada pertanyaan

ini.

Tentang switch dari RegNative ke Platter.

Itu kenapa?

Dan apakah

yang membuat timnya Mas Donny

atau Mas Donny itu pengen tetap

pakai Platter atau ada keinginan balik lagi

ke RegNative?

Framework berpikir ya satu.

Kenapa gitu kan ya.

Kenapa Zero One Group itu pakai Platter.

Jadi kami adalah agensi.

Jadi kami itu bukan produk.

Sehingga apa sih yang kita value lebih?

Bagaimana kita itu membisa

buat produk yang efisien

tapi berkualitas tinggi.

Permasalahan dari RegNative itu adalah

kamu tidak bisa membuat

UI yang bagus secara out of the box.

Kamu harus buat itu semua.

Kenapa?

Karena RegNative itu hanya

untuk menjalankan

bagaimana kalian bisa membuat

aplikasi mobile dengan

native component.

Jadi kayak RegNative itu menekan

ke native component. Sehingga untuk perkara

UI-nya kalian butuh buat sendiri

atau third party.

Terima kasih.

Walaupun sekarang ada tamah GUI ya.

Kalau kalian tahu sekarang ada tamah GUI

yang lebih cepat daripada

native base dan kawan-kawannya.

Pada saat itu susah.

Yang kedua itu adalah talenta.

Tidak ada orang yang benar-benar jadi

ke-3 RegNative. Padahal masalah

mobile itu adalah kebanyakan

di mobile space-nya bukan di

coding react-nya. Coding react-nya gampang.

Tapi kalau ada error yang tidak bisa

disolve dan isunya masih buka itu

mungkin.

Maksudnya harus dikasih ke klien dalam waktu tertentu

di sana.

Jadi talenta dan masalah third party.

Flutter ini mengeliminasi semuanya.

Karena Flutter

penggunaan widget atau component.

Kalau RegNative menggunakan component ya

penggunaan widget itu secara

gampang kita bisa langsung bikin UI yang bagus.

Jadi cepat berarti.

Berarti aku sebagai agensi buat

produk cepat. Yang kedua

itu adalah talenta.

Itu buku developer student club.

Banyak ya.

Banyak banget talenta Flutter

di sana. Sehingga

sehingga secara

growth kita itu bisa naik

growth kami natural ya.

Bukan pakai venture capital

uangnya. Itu 3x

5 tahun lalu naik ya.

Untuk Flutter di sana.

Berarti ada measurable impact-nya ya.

Bukan cuma karena iseng.

Wah enak nih, seru nih Flutter.

Jadi yang

aku share selalu disini adalah

konteksnya dulu apa.

Apa kenapa.

Kalau aku

memang untuk personal, mungkin terasa dengan

RegNative. Cuman untuk

kelangsungan bisnis utama

nggak mungkin menggunakan.

Oke.

Jadi lebih mudah

mencari talent di

Flutter daripada RegNative ya?

Ya. Dan kalau lihat Google trending

aja, React Native dan Flutter jauh

di bawah RegNative.

Dan juga kebanyakan teman-teman yang Flutter

itu gampang banget

move dari Android.

Dari Android ke Flutter

begitu ya? Gampang. Karena

heavily OOP.

Heavily Object Oriented Programming.

Jadi gampang. Sedangkan coding RegNative kan

beda. Kalau misalnya

aku sebagai anak Android belajar RegNative

itu harus belajar React dulu

disana. Bagaimana

personal component itu dibuat

disana? Ada overhead

disitu.

Sedangkan anak yang baik-baiknya Android

budget Flutter sebenarnya bisa

produktif.

Jadi benefit itu

yang kita kapitalisasi di

zero-one group.

Jadi berbeda. Oke kebutuhan mas

8-bit.

8-bit.

Solusi dari zero-one group

tidak akan bisa dipasamakan dengan

masalahnya mas.

Tapi kami punya alasan

sendiri. Pertimbangan, considerationnya

itulah udah dijelasin

sama keuntungannya beneran

profitnya naik ya tadi.

Ya, headcount sama

headcount sama

ini ya. Bagaimana kita

profit beradakan revenue

banyak yang kita bisa ambil dan setopu.

Dan kita udah pernah bandingin dalam satu menu

Riku. Ada blognya

di sini. Mantap.

Share dong.

Share dong.

Jadi kami udah pernah bandingin

bandingin Ionic

React Native sama Flutter.

Oke.

Bandingin Ionic

React Native

sama Flutter. Ionic

ini hybrid berarti kan?

Ionic berarti pakai WebView.

Kapasitor namanya.

Blue Cordoba.

Ya.

Jadi kita bandingin, kita bikin satu UI

gimana cara bikinnya per

UI-nya.

Jadi di Ionic, di React Native

gimana, di Flutter gimana.

Wah menarik.

Ini bisa jadi bahasan sendiri nih.

Di satu NX Monoripo

jadi di Monoripo ada 3

aplikasi berbeda.

Oke. Tapi

aplikasinya sama?

Sama. Aplikasinya sama. Tinggal bagaimana

itu beda semua.

Jadi cuma ini.

Ini ya tiga-tiganya ya.

Wow. Seru sekali.

Mainannya.

Bisa reset-reset gini ya.

Enaknya di Seruan Club ada waktu buat reset.

Hahahaha.

Hiring, hiring.

Itu di bawah artikel.

Biasanya ada kan artikel medium.

Coba deh paling bawah ada nggak?

Nggak ada.

Follow aja dulu, follow ya.

Mantap, mantap, mantap.

Oke.

Ada lagi?

Ada lagi?

Nggak ada.

Habis.

Dari Mas Donny, ada yang mau disampaikan lagi?

Dari aku sih

lebih ke ini ya.

Pesan dari aku

walaupun kita belajar Edge pada malam kali ini

yang penting itu adalah

bukan perkara tools yang kita gunakan.

Tapi

aku mungkin di hari sabtu akan

berbagi

diundang di coding untuk berbahas

tentang how to be

product-minded software engineer.

Jadi kita nggak bahas coding

tapi bagaimana kita sebagai software engineer

itu mampu memecahkan masalah.

Jadi

pesan dari aku itu adalah jangan

terpoko dengan silaunya

teknologi baru. Tapi bagaimana

kalian itu bisa berpikir secara

logis untuk menyelesaikan

masalahnya. Karena kalian itu kebanyakan

dibayar untuk menyelesaikan

masalah bukan menggunakan teknologi

terbaru. Jadi

belajar lah untuk konstruktif

berpikir yang baik sebelum

kalian menggunakan teknologi yang

kalian gunakan.

Wow, luar biasa.

Biar nggak digusur sama AI ya?

Iya.

Contohnya misalkan lagi

udah bikin aplikasi React

terus tiba-tiba butuh routing

library. Wah langsung pake Next.js

gitu kan. Padahal cuma butuhnya routing doang.

Kayaknya satu framework.

Jangan. Ya ada ya

library untuk routing juga

ada ya. Jadi

gunakan sesuai kebutuhan aja. Jangan

apa, jangan

apa ya

terpengaruh oleh

hype ya.

Why?

Start with why.

Start with why.

Jadi kenapa dulu gitu.

Jangan jadi

apa ya, jangan jadi

link-in driven development.

Hype driven development.

Jadi wah

pake Next.js, pake Kafka,

pake Kubernetes supaya

di link-in bagus. Jangan gitu ya.

Malah jadi masalah.

Bukan menyelesaikan masalah, tapi menyelesaikan masalah

dengan masalah baru.

Habis itu resign.

Habis itu resign, orang yang

baru masuk yang kena getahnya.

Dosa itu ya.

Berdosa itu dia marah-marah

aduh apaan ini gitu kan.

Itu adalah dosa

kita.

Itu yang saya hadapi sekarang.

Ini apaan ini.

Limpahan ya.

Luar biasa. Oke kalau gitu terima kasih

banyak mas Donny untuk malam hari ini.

Yang mau

follow-follow bisa kemana?

Yang apa sosial media yang aktif?

Sebenernya gampang banget namaku

itu nggak ada yang ngembarin. Jadi

cari aja namam belakangku

di Google. Semua ada.

Oke mantap. Unique ya.

Unique ya. Langsung di follow

aja, langsung interaksi langsung dengan

mas Donny. Ada yang mau ditanyakan juga. Langsung

aja lewat Twitter juga lumayan aktif.

Kalau gitu

kita pamit. Saya Riza

dan ada Eka. Kita

ketemu lagi minggu depan.

Selamat malam. Dadah.

Selamat berpuasa.

Oh iya selamat puasa ya.

Buat teman-teman yang

puasa minggu depan, eh minggu depan

dua berapa hari lagi.

Mas Lama belum minggu depan. Hari Kamis.

Hari Kamis.

Puasanya. Dadah.

Deskripsi asli dari YouTube

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.

Episode Terkait

Bagikan:

Suka episode ini?

Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.

Pilih Cara Langganan

Memuat komentar dari GitHub Discussions...

Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .