Ngobrolin Teknologi Edge
Ringkasan Episode
Bantu KoreksiTeknologi 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
3 Jul 2024
Ngobrolin Elixir
Episode ini membahas tentang Elixir, bahasa pemrograman fungsional yang berjalan di BEAM (Erlang Virtual Machine), bersa...
2 Okt 2024
Ngobrolin Drama Trademark & Open Source
Episode ini membahas drama perseteruan antara Matt Mullenweg (co-founder WordPress) dengan WP Engine, sebuah perusahaan ...
6 Mei 2026
Zona Waktu
Episode ini membahas zona waktu, topik yang terlihat sepele sampai benar-benar diimplementasikan. Premisnya: waktu bukan...
Suka episode ini?
Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.
Memuat komentar dari GitHub Discussions...
Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .