Lompat ke konten utama
EP 55

Ngoding di browser

Ringkasan Episode

Bantu Koreksi

Episode ini kedatangan seorang developer advocate dari AWS, dan pertanyaan pembukanya membumi: masih menjalankan lingkungan pengembangan di localhost, atau sudah pindah ke Cloud9, Codespaces dan sejenisnya? Obrolannya lalu melebar ke penyunting kode masing-masing — Sublime, Vim, Notepad++, dan Atom yang sudah dihentikan — dengan pengamatan bahwa yang populer di satu lingkungan belum tentu dipakai di lingkungan lain: pengembang Android bertahan di Android Studio, pengembang Java di Eclipse atau NetBeans, pengembang desktop di Visual Studio. Beberapa fakta menarik diungkap. VSCode ternyata dibangun dengan teknologi web, dan berkas yang kita unduh sebenarnya bukan sumber terbuka — kodenya ada di GitHub tapi harus dikompilasi sendiri, persis pola Chrome dan Chromium. Mesin penyuntingnya pun tersedia terpisah dan dipakai banyak perkakas berbasis web lain. Bagian utamanya soal menulis kode dari jauh. Dulu menyunting berkas di server berarti masuk lewat SSH dan memakai Vim atau Nano; sekarang VSCode bisa dijalankan sebagai server dan diakses lewat browser. Dibedakan pula dua hal yang sering tertukar: VSCode yang benar-benar berjalan di browser, versus VSCode lokal yang menyambung ke WSL, ke kontainer Docker, atau ke mesin lain lewat terowongan. Ditutup dengan gagasan berakhirnya kebiasaan bekerja di localhost, karena proyek makin berat dan perusahaan seperti Google memang sudah lama bekerja begitu — basis kode Chrome konon butuh berhari-hari untuk dikompilasi di laptop biasa.

Poin-poin Utama

  • Penyunting kode yang populer di satu lingkungan belum tentu dipakai di lingkungan lain — Android Studio untuk Android, Eclipse atau NetBeans untuk Java, Visual Studio untuk desktop
  • VSCode dibangun dengan teknologi web, dan berkas unduhannya bukan sumber terbuka — kodenya ada di GitHub tapi harus dikompilasi sendiri
  • Pola itu persis seperti Chrome dan Chromium: mesinnya terbuka, tapi produk jadinya tidak
  • Mesin penyunting di dalam VSCode tersedia sebagai pustaka tersendiri dan dipakai banyak perkakas berbasis web lain
  • Dulu menyunting berkas di server berarti masuk lewat SSH dan memakai Vim atau Nano; kini VSCode bisa dijalankan sebagai server dan diakses lewat browser
  • Dua hal sering tertukar: VSCode yang benar-benar berjalan di browser, versus VSCode lokal yang menyambung ke WSL, kontainer Docker, atau mesin lain lewat terowongan
  • Google memang sudah lama bekerja di mesin jauh, karena basis kode sebesar Chrome konon butuh berhari-hari untuk dikompilasi di laptop biasa

Halo, halo. Hai, hai, hai. Selamat malam.

Selamat malam.

Semuanya di mana kabarnya?

Ketemu lagi dengan kita bertiga.

Ada Eka, ada Ivan, dan juga ada saya Rizadz

di acara ngobrolin.

Ngobrolin, ngobrolin.

Selasa malamnya mana? Selasa malamnya.

Yang disanggarakan setiap kelasa malam.

Selasa malam.

Sudah setahun kita masih belum kompek.

Sengaja, sengaja, biar beda.

Biar nggak pernah kompak.

Tapi hari ini saya sudah balik ke rumah.

Oh ya, sudah kembali di kantor lagi ya.

Kantornya di rumah.

Nah, work camp-nya gimana, lancar?

Lancar, aman, seru, menarik.

Ya, asyik ketemu teman-teman.

Dan sedikit berbeda kan konsep work camp-nya.

Konsep work camp-nya itu work camp next generation.

Apa tuh, bedanya apa?

Lebih spesifik dan target topiknya, niche-nya.

Jadi kalau work camp regular itu

si panitia mengadakan, kayak ngadain work camp.

Terus kemudian speaker-nya itu yang submit kontennya.

Tapi si panitia cuman, oke ini list dari teknologi atau topik

yang kita ingin membawakan, tetapi lebih luas.

Sedangkan kalau next gen ini lebih spesifik ke niche tertentu.

Tergantung si panitia mau mengadakannya apa.

Lihat transkrip lengkap (2283 segmen lagi)

Dikasih tema berarti ya?

Dikasih tema, ya betul.

Nah, di Tegal kemarin itu work camp for enterprise, ceritanya.

Nanti di Jakarta nanti beda work camp for creativity.

Jadi kayak lebih banyak membahas UX, UI dan sebagainya.

Tapi bukan jadi pendicara.

Jadi bisa jadi kalau kayak kemarin itu workshop.

Jadi saya sebagai keynote menyampaikan work camp for enterprise.

Terus Mas Ryo Buruhan menyampaikan bagaimana cara

memikirkan design thinking untuk proses dari awal bisa untuk ke enterprise.

Design ininya ya, design user experience dari SISUS-nya.

Baru langsung di saat itu juga demo dan workshop.

Jadi kayak semua pesertanya itu sama-sama membangun website.

Tapi seru tuh.

Seru banget.

Nanti konsepnya di Jakarta berbeda lagi.

Ini bukan ngobrolin work press kan.

Oh iya, nanti kita bikin episode sendiri ya.

Ngobrolin work camp.

Nah, topik malam ini adalah apa ya?

Teman-teman di sini masih moding di localhost, masih jalanin di localhost,

jalanin dev environment di localhost atau sudah mulai beralih ke cloud

kayak apa ya cloud 9, ada apa lagi code sandbox, code spaces, bithub.

Macam-macam ya.

Stack bits dan lain-lain gitu.

Cloud 9 itu kemarin kayak boi even gak sih? Cloud 9 gitu.

Emang dan apa yang ada angkanya?

Oh dulu banget ada boi even namanya 5.

Anjur itu dulu banget.

50 cent, cloud 9.

50 cent mah bukan boi even bro.

Cloud 9.

Cloud 9 iya sih, iya sih.

Kayak boi even gitu kan.

Pasti mikir boi even bener kan gara-gara team.

10 to 5, misalnya 10 to 5.

10 to 5 itu ben kan.

Itu ben biasa, kalau yang boi even di club itu ada bintang-bintang kita ngecap.

Betul maksudnya.

Ben belum mikirnya tadi apa kayaknya emang ada boi even, ada 5 nya, tapi bukan 5 ya, T5.

Ya gitu.

Nah kita bisa berterima kasih kepada, salah satunya kepada VS Code ya terutama ya.

Mungkin di awal dari Atom, ini ada yang masih pakai Atom gak? Atom Code Editor yang sudah dihentikan oleh GitHub ya.

Setelah diakusisi GitHub, terus dihentikan.

Kemudian dilanjutkan, kedidayaannya dilanjutkan oleh VS Code.

Yang sebenarnya dikembangkan dengan teknologi web.

Pake elektron kan, masih ya pakai elektron sekarang, saya gak tahu.

Atau juga elektron, VS Code.

Ya Atom elektron, VS Code kan juga awalnya elektron, tapi gak tahu sekarang.

Kalau gak salah VS Code itu tuh yang telah dilanjutkan dari dulu banget, itu Microsoft punya Visual Studio kan ya.

Makanya VS kan, VS Code.

VS ya, Visual Studio itu yang berbayar kan, yang lisensi kan. Jadi desktop, desktop app, buat ngumpangin .NET, C#, Fibonet dan lain-lain.

Saya tuh sebelum mengenal VS Code itu, apa sih VS ya, Visual Studio.

Bukan Visual Studio itu saya bilang untuk .NET ya, itu kan saya pakai waktu jaman kuliah gitu.

Betul.

Oh ternyata VS Code yang banget.

Tapi bukan yang sekarang kan, bukan versi yang sekarang.

Kan, itu jauh berbeda, project yang berbeda.

Kayaknya mereka untuk branding aja.

Tetap VS nya dimasuk-masukin aja lah, sambung-sambungin biasa.

Totally different project.

Ya, ya berterima kasih lah sama teknologi elektron, web, diawali sama Atom.

Abis itu Atom diakusisi sama GitHub, GitHub diakusisi sama Microsoft, akhirnya Microsoft bikin VS Code gitu kan.

Dan sekarang VS Code kayaknya bisa di, apa ya, bisa diakses dari mana aja.

Bukan hanya dari desktop, multi platform, bisa di Linux, bisa di Windows, bisa di Mac OS, tapi juga bisa di browser gitu.

Dan kita akan bahas malam ini, tapi kita bahas bareng Nara Sumber.

Nah, kita undang-undang Nara Sumber.

Kita punya Nara Sumber ya.

Mas Riu, halo Mas Riu.

Apa kabar?

Nara Sumber kayak ngobrol apa aja.

Sebelum ngobrol mungkin kenalan dulu dong, kenalan dikit dulu dong.

Buat yang belum kenal.

Perkenalkan semua, nama saya Rius Tamal, buat yang belum kenal.

Saat ini saya bekerja di AWS sebagai developer advocate.

Sudah hampir 2 tahun ya.

Udah lama banget.

Udah lama banget.

Udah 2 tahun sih.

Udah 20 tahun, 2 tahun.

Oh, 2 tahun.

Ya, jadi itu aja sih kenalannya.

Tapi saya sebenarnya bukan pengguna Visual Studio VS Code ya.

Bukan pengguna VS Code secara harian ya dari dulu.

Ya, saya pakai editor apa emang kalau harian?

Kalau di desktop saya itu biasanya pakai sublime malah.

Oh, sublime.

Kira-kira di Vim.

Oh, masih gue.

Kalau Vim itu untuk para die hard itu semua.

Iya, kira-kira sekarang udah gak ada orang pakai sublime text atau apa.

Cuma ada, apa?

Masih, masih.

Saya masih pakai sublime.

Itu loh, Ivan bukannya pakai Vim ya.

Saya, ya, tergantung situasi.

Tergantung situasi.

Tetapi, kalau untuk project di kantor.

Karena setupnya, sekarang onboardingnya, segala macam sudah VS Code.

Sebenarnya di kantor itu terbagi 2 jenka ini sama VS Code.

Ya, tergantung project.

Kalau sehari-hari kalau saya cuma kayak bongkar folder yang biasa saya gak buka di VS Code.

Saya bukanya di sublime atau sukanya di Vim juga.

Karena simple, jadi kayak cek sedikit.

Kalo ini salaman dulu dong, pengguna sublime juga.

Tapi saya coba, yang lagi nonton, kalian masih ada yang pakai sublime dan lain-lain?

Mopet plus plus.

Ada yang pakai Mopet plus plus.

Logonya kadel ya itu.

Logonya kadel.

Kamelion loh.

Kamelion.

Tapi karena gak bisa dipenggiri, memang VS Code kan kayaknya ini paling popular deh sekarang ya.

Ya, iya.

Dan itu kayak streamlined expectation IDE gitu.

Kayak misalnya, ya itu.

Kalau orang pangkir repon atau IDE online, kayak yaudah.

Tergantung ambience-nya.

Tergantung, pasti ada di ruang lingkup mana.

Ya.

Jadi kalo misalnya ngomongin soal web dev, ya.

Terpisah tuh antara VS Code dan si Jetbrain.

Ya, itu biasa jadi itu.

Jetbrain masih ini ya.

Masih meradjai juga ya.

Masih banyak penggunanya.

Kalau Android dev jarang kan yang pakai VS Code?

Ya engga lah, Android Studio lah.

Ya, Jetbrain juga.

Jadi tergantung di environment-nya dimana.

Punya pasalnya masing-masing.

Apalagi desktop developer kayaknya, bukan VS Code, malah Visual Studio Code yang apa?

Visual Studio beneran.

Standard.

Ya, Visual Studio.

Kalo buat Java, Java pake, ya itu Jetbrain, kalo engga Eclipse.

Masih ada ga Eclipse.

NetBeans masih ada ga sih NetBeans?

Ada ya Eclipse ya.

Masih, masih NetBeans masih ada.

Terus kalo misalnya Ana Titan.

Wah, ini lebih hardcore lagi.

Lebih hardcore lagi pake Notepad.

Kalo Vim itu masih ada highlighting kan.

Kalo Notepad engga?

Kalo pas baru belajar loading pertama kali, itu tuh pake Notepad beneran.

Disimpen developing this.

Kalo pake Notepad, masih biasa.

Di upload-nya soalnya dari luar.

Kalo saya denger ada yang pake front page, baru saya "ohhh".

Oh, dulu saya pake itu dulu, front page.

Front page, the weaver.

Itu kan biasanya banding sama office kan soalnya.

Iya, iya.

Jadi terpaksa di pake juga ini.

Tapi ga tau produk apaan sebenernya front page ini.

Kalo udah tau, akhir-akhir kalo "ohh ini buat develop web", ga gitu.

Kalo sekarang pake SharePoint mungkin ya.

Oke, oke.

Nah, salah satu, apa ya, salah satu.

Jadi si VS Code ini, selain dia memang, dia...

VS Code open source engga?

Engga.

Code server-nya.

Code server-nya open source.

Tapi sebenernya VS Code yang binary-nya engga kan.

Makanya ada yang namanya VS Codeium.

Yes.

VS Code yang kita pake itu closed source.

Dianggasa dengan open source.

Yang open-nya VS Codeium, betul.

Hirip dengan Chrome sama Chromium ya.

Iya, ya, Chrome sama Chromium.

Jadi si VS Code-nya sebenernya ada codenya di GitHub.

Tapi kalo kalian mau pake itu, harus di-compile sendiri.

Kalo pake yang binary, download yang XC, terus yang misalkan install...

Yang sudah konek ke Microsoft Store.

Nah, itu closed source.

Close source, ya.

Yes.

Yang pasti open-nya bener-bener...

Ya, perbandingannya kayak Chromium.

Chrom dan Chromium.

Dan Opera, contohnya Opera-nya itu closed.

Tapi Chromium-nya open source.

Nah, yang menariknya dari si VS Code ini...

Di engine-nya, di belakang layarnya itu...

Ada yang namanya Monoco Editor.

Dan ini dipake di banyak tempat sekarang.

Di web gitu ya.

Kayak misalkan ada tools kayak Livebook.

Kayak Jupyter.

Text editor apapun lah.

Iya, pokoknya yang web.

Itu mah ada NPM-nya kan.

Iya, Monoco Editor ini kayak TinyMCE.

Kalo temen-temen tau ya.

Nah, ini kayak gini.

Ya, jadi versi coding-nya.

Nah, bentuknya kayak gini nih.

Timnya juga udah disediain semua.

Land use-nya juga udah banyak.

Oh, jadi ini di belakang...

Di belakang layarnya ini belakang sih?

Di belakang layarnya ini.

Editor-nya, untuk editor-nya.

Usus editor-nya doang.

Jadi bukan environment, ada file explorer-nya.

Nah, itu VS Code yang lain ya.

Ini dibuild dari JavaScript juga.

TypeScript.

Ya, itu yang dipakai di VS Code-nya.

Termasuk yang di server-nya.

Nah, kalo dulu kan kita cuman pilihannya

kalo misalkan kita mau code di machine lain

atau mungkin langsung code di production.

Itu pilihannya sedikit kan.

Antara kita pake Vim atau pake Nano.

Ya kan?

Nah, kalo sekarang...

Kita SSH ke server-nya

terus langsung di-tikni.

Langsung di-tikni terminal.

Langsung di editor yang ada di server-nya.

Yang biasanya server-nya kan gak ada GUI kan.

Harus di terminal.

Jadi yang terminal base.

Nah, sekarang VS Code itu udah bisa dibikin server-nya.

Tapi aksesnya gak lewat SSH.

Melalui browser.

Banyak orang yang kayaknya agak bingung dengan itu loh.

VS Code Remote Code Extension itu loh.

Kadang-kadang bingung antara VS Code yang browser

yang bisa jalan di browser

dengan yang Remote Code Extension itu kadang-kadang mereka masih bingung.

Padahal yang Remote Code Extension itu bukannya yang cuman

dia mengkonekskan yang di lokal dia.

Instant VS Code di lokal dia

ke server entah itu dengan SSH atau dengan koneksi apapun.

Bukannya seperti itu kan yang untuk...

Kalau yang Remote Code itu dia biasa buka tunnel.

Dia buka tunnel.

Ya, dia buka tunnel.

Jadi di server itu kan

VS Code itu punya namanya Code Server.

Jadi ada Code Server-nya.

Yang konek ke I/O-nya.

Yang konek ke I/O yang di server.

Yang di Remote.

Yang di tunnel.

Untuk yang kita lihat di VS Code yang di lokal kita.

Semacam bikin direkoneksi antar user lah.

Ini bukan.

Order.com ya. Ini ya.

Run VS Code on any machine anywhere and access in browser.

Ini yang pernah saya...

Ini yang terpakai yang buat...

Oh buat projeknya ya.

- Menarik ya. - Kayaknya bukan ini mungkin.

Oh bukan. Beda lagi.

- Kurang tahu ya. - Oke.

Oh, persiksaan ya.

Di alamannya Remote Code Estimation itu dia requirement-nya di server apa sih emang?

- Biar requirement-nya saja. - Coba.

Atau ada package khusus yang harus di-install di mana?

Oh, dia menjelaskan kok nih di sini.

Bentar-bentar. Coba buka ini.

Yang Remote Code Estimation ya? Bukan yang Code Server ya?

Oh, ini yang offisialnya ya?

Offisialnya ya? Remote Overview ini ya?

Ya begini-gini kudu offisial lah. Serem juga ya kalau pakai third party.

Ya, ya, ya.

Dan kelihatannya emang nggak bakal bisa.

Maksudnya nggak dibuka. Ini yang kapabilitas kayak gini kayaknya nggak bakal di-expose buat third party plugin developer kan.

Ya, ya.

- Ini dia... - Zoom in.

Nah, mantap.

Jadi sistemnya begitu yang dibawa, dia connect ke VS Code Server-nya. Dan VS Code Server-nya lah yang jalan untuk menjalankan I/O di server.

Remote OS, nggak mesti di remote server. Bisa jadi antara Windows dengan WSL-nya.

Jadi ke WSL itu kan Windows Substances or Subsystem. Bisa juga kita remote ke Docker.

- Ya, WSL itu Docker sebenarnya. - Ya.

Ya, sama aja.

Atau bisa juga ke remote server yang terpisah mesin.

- Oke, oke. Oh berarti... - Kalau yang terpisah mesin, dia pakai tunneling.

Dia pakai tunneling, jadi connect kedua pakai SSL biasanya.

Oh, tahu nih roadmap-nya. Berarti si Visual Studio Code ini bikin dulu yang buat WSL-nya dia.

Udah berhasil, bisa buat Docker di luar WSL, kemudian akhirnya jadi ada server ini ya.

- Jadi, jalanin seperti itu ya. - Code Server, bukan Code Server.

Berarti dia yang jalanin servernya di tengah-tengah lah ya.

Ya, ya, ya. Nah, ini menarik kenapa? Karena saya beberapa bulan, udah agak lama sih, dapet artikel yang menarik nih.

Judulnya juga cukup ini ya, The End of Local Host.

Judulnya kedu gini. Kalau di dunia teknologi, walaupun enggak ya, maksudnya enggak.

Ini kan enggak bisa taken literally. Gak mungkin lah. Cuma biar...

- Siapa namanya dia? Saya semua tahu ID-nya dia. - SVX?

- Ya. - Sean Wang semuanya.

- Oh ya, Sean Wang. - Sean Wang.

Ya, jadi dia bilang kayaknya nih ke depannya, kalau di 2030 katakan lah gitu ya.

- Zoom in, zoom in. - Kalau internet udah murah, mesin juga semakin murah.

Terus juga, apa namanya, projek kita semakin rumit ya.

Kalau misalkan kita mau deploy, mau compile, banyak dependensi dan lain-lain,

itu pekerjaannya semakin banyak gitu kan. Akhirnya kayaknya lebih gampang kita enggak pakai localhost.

Jadi langsung ke server, bukan ke production ya. Kan banyak staging-nya kan.

Ada staging-nya kan, ada development, ada staging, mungkin ada personal.

Set up informant atau istilahnya apa, ini ya. Team client ya, server team client ya.

Jadi client-nya itu enggak kerja keras. Laptop kita enggak kerja keras.

Kita remote atau SSH atau melalui apapun ke server atau melalui HTTP.

Dan sebenarnya udah teknologi lama kan, itu team client ya.

Sudah, itu udah lama sekali. Cuman yang lebih menarik lagi adalah ternyata perusahaan-perusahaan besar juga mengadopsi.

Kayak Google katanya. Pakai namanya Google Sider.

Oh, eternally berarti sudah punya sistem kayak gitu.

Iya. Saya waktu itu pernah kayak ngobrol-ngobrol, kalau untuk development Chrome itu,

untuk nge-compile Chrome itu, kalau pakai laptop kita biasa, bisa tiga hari nge-compile kodanya.

Atau itu, ya kan. Jadi harus selalu pada yang nge-compile.

Facebook, Etsy, Shopify, yang terakhir Slack.

Tapi ini kan semacam trend kan, memang. Kita enggak keras abawah.

Kita sebenarnya banyak yang kerja pendatang.

Ini kan kayak aplikasi perkamporan, office kayak gitu.

Dulu kan kita pasti menjalankan di desktop kita, global.

Iya, benar juga.

Sekarang kan kita...

Semua web ya?

Iya, kayak gitu.

Iya. Cuma bener loh. Sekarang bahkan gue enggak punya aplikasi apa?

Enggak punya aplikasi di office sama sekali.

Di laptop emang enggak install, enggak punya Microsoft Word lah,

enggak punya apa, yang Mac pages, enggak ada.

Karena emang di tempat kerja juga udah punya workspaces sendiri, Google Docs dan lain-lain.

Kalaupun buat personal, ya pakai akun personal, ya Google Docs juga.

Jadi maksudnya make sense, ya bisa aja.

Selain office productivity gitu, coding jadi fenomena selanjutnya ya.

Coding udah semua. Coding environment, pin ya.

Alasan saya sebenarnya suka dengan cloud IDE itu sebenarnya sesimpel.

Saya kayaknya ngopal di laptop sebetulnya.

Memberatkan laptop ya.

Kalo bikin folder lagi, ada node modules-nya, banyak node file-nya.

Apalagi meskipun kita pakai Docker ya.

Keputusnya kita masih buat kali kita pakai Docker.

Sama aja kita nyalakan di kita.

Tetap aja kita download itu di T-Locker with you guys.

Terus T-Locker kita, itu kurang enak aja sekarang.

Jadi penting aku semua kuletakan di T-Locker.

Aku bukan desktop deklopernya kalau enggak.

Tapi itu lebih ke web atau infrastructure kan.

Kita gak perlu mekanisme koneksi ke hardware misalkan.

Jadi ya lebih fast.

Memang kalau dari...

Tidak di arti ini aja.

Jadi semua misal apapun, kerja apapun udah digunakan.

Terutama kalau misalkan compiling itu ya.

Kayak node GSModule.

Bukan biasa-biasanya pan lama, terus bikin work.

Tidak kan.

Kalo dilakukan di remote atau di server itu...

Kalo kita lagi streaming atau youtube kita...

Bener.

Gak bikin lambat ya.

Kalo lampu tiba-tiba, scene mati atau gimana.

Tetep kita bisa connect lagi.

Gak terputus prosesnya.

Betul.

Salah satu keuntungan Cloud ID itu menurut saya itu...

Kalo kita misalnya...

Kalo saya sebagai web dev ya, install node, node package.

Kalo projectnya gede itu node module-nya banyak banget.

Bisa sampe 1-2 giga kali ya.

Kalo baru install, baru sedot tuh.

Apalagi kalo sub module-nya banyak tuh.

Sub module-nya banyak.

Waduh.

Itu kalo misalnya saya pake tethering...

Aduh.

Nangis.

Abis kuota saya, habis.

Habis gitu kan.

Jadi terpaksa harus...

Kalo di cafe, biasanya di trotal.

Kalo ada cafe kadang...

Kalo yang adminnya pintar, dia trotal.

Ex FD juga ya, adminnya ya?

Iya.

Disreng NPM nih, apaan nih NPM?

Trotal.

Kalo di...

Kan kalo pada rata kalo cafe kan sudah pake mikrotik.

Mikrotik biasanya udah ada sistemnya.

Udah otomatis, udah otomatis trotal.

Udah, udah otomatis ya.

Kalo...

Di rumah baru kalo kecepatan internet yang kayak...

Kebetulan yang punya saya bagus ya...

Gak ada sedot 1-2 giga, ya aman.

Tapi kalo buat temen-temen yang baru belajar sedot TypeScript ya.

Mau belajar aja udah habis kuota.

Waduh.

Selain perkara habis kuota...

Ini nih kalo apa, orang lagi belajar...

Atau misalnya kayak workshop atau semacamnya...

Jadi inget sih, maksudnya kadang ribet ya kalo...

Semua harus...

Harusnya laptopnya macem-macem, OS-nya macem-macem...

Belum ada, tiba-tiba ada error-error aneh, udahlah.

Streamline pake Note IDE solusinya.

Ngadain workshop kalo misalnya...

Install Note Module, semua begitu si...

Pak Guru Riza kita mengatakan di kelasnya.

Install Note Module, semua pada install Note Module.

Itu internetnya ngacok itu bandwidthnya.

Terus, misalnya ada yang pake Windows.

Note-nya, di Apple-nya nggak ada Note-nya atau apalah.

Iya.

Kalo di Bootcamp biasanya kalo ada yang pake Windows dulu ya...

Sebelum jamannya WSL ya kalo ada yang pake Windows.

Maaf kita nggak support ya kalo misalkan ada error.

Kasihan.

Kasihan sendiri.

Selain banyak error-annya aneh.

Sebaiknya.

Terus selanjutnya di...

Kalo aku workshop.

Kalo di...

Biasanya itu pake Cloud9 untuk menjarahkan penggunaan.

Cloud9.

Iya itu.

Cloud9.

Cloud9.

Ada itu lagunya apa?

Cloud9.

Raine Adams.

Raine Adams ya.

Iya, Cloud9.

Mereka masih makan umur.

Mereka masih makan umur.

Makanya saya...

Cloud9 itu kayak...

Kayak...

Ketuk-ketuk antara Cloud9 sama Summer of 69.

Ada juga kan lagunya Raine.

Raine Adams juga kan.

Kenapa punya lagu yang beda-beda repotin orang?

Tuh, makanya saya inget Cloud9 itu kayak ejak.

Kayak lagu atau apa gitu.

Makanya Cloud9.

Yang nonton di mana semua ini.

Nah, saya sebelum kita kesini.

Sebelum kesini saya ada sejarah nih dengan Cloud9.

Sebelum diakusi sama AOS.

Ya, jadi kan Cloud9 awalnya kan proyek sendiri.

Terus dia...

Proyek sendiri.

Sama AOS kan.

Dua ribu.

Saya lihat, saya baru saja di Tokopedia, dia semenjak tahun 2010.

Tetapi saya sudah pakai ini semenjak saya di kantor itu 2012.

Berarti 2012 saya pakai Cloud9.

Untuk?

Untuk proyek pribadi, untuk getes-getes.

Jadi saya tuh sempat kepikiran...

Kan waktu 2012 saya punya kantor sendiri.

Jadi untuk supaya tim di kantor itu nggak perlu pakai laptop yang mahal-mahal.

Saya mau penghematkan kos.

Saya build server lokal, bukan office net.

Office yang lokal area.

Saya beli komputer yang agak mumpuni satu server.

Dan berhasil saya kerjakan itu.

Jadi rata-rata di kantor pakai Cloud9 untuk mengejarin proyeknya.

Sempat terjadi di beberapa proyek saya pakai Cloud9.

Tapi akhirnya ujung-ujungnya mereka...

Server lokal.

Nanti kita bahas kenapa vlog-nya kenapa, nanti akan saya bahas.

Kita lanjut dulu soal Cloud9.

Dan Cloud9 lanjut ke AWS.

Di AWS saya nggak pernah pakai lagi.

Di AWS, di beberapa service menyediakan ini ya.

Kalau misalkan pakai Lambda.

Nah, moding-nya bisa di Cloud9 kan.

Dan beberapa service yang lain ya.

Nah, terus...

Ini, mas Ryo pakai, apa nasinya Cloud9 ini...

Nanya-nanya produk nih jadinya.

Ini kayak workstation gitu ya.

Jadi saya sign-in, langsung dapet instance.

Terserah dah mau diapain gitu ya.

Ya, kita kan waktu buat instance buat Cloud9-nya kita pilih-pilih instance-nya.

Mau spek-nya seperti apa.

Atau bisa kita open-kan dengan teksi spek instance yang kita punya.

Jadi kita sudah punya machine yang ada inox ya.

Sama ini.

Jadi dia di-install di AC-to-machine.

Jadi nggak harus.

Oke.

Tapi apa yang buat integrasi yang...

di AWS yang harus dikumpulkan.

Bisa randa atau RTM.

Di-packing.

Cocok.

Berarti cocok banget ini untuk dipakai di sandbox gitu ya.

Ya.

Sandboxing.

Selama saya kerja di AWS, saya...

Oh, ada cerita menarik juga nih di Cloud9.

Jadi waktu...

Aku sebenarnya punya cerita Cloud.

Iya.

Jadi kan waktu pandemi pertama kali, waktu PPKM pertama kali di-announce kan nggak boleh tuh.

Jadi bootcamp dari yang awalnya offline, langsung online dari rumah masing-masing kan.

Terus ada kesulitan banyak yang troubleshoot tuh.

Kok laptop-nya mungkin kurang mumpuni atau apa gitu kan.

Akhirnya kita cobalah eksperimen, coba bikin Cloud9, instance Cloud9.

Jadi setiap student dapat akses ke Cloud9, mereka coding di situ.

Coba untuk di-roll out untuk ke beberapa student.

Problemnya satu, kalau di Indonesia ya.

Karena mungkin mereka di rumah masing-masing atau di daerah, bahkan ada yang pulang kampung di daerah.

Koneksi internet.

Kurang stabil.

Yang menyebabkan Cloud9 jadi nyalamati-nyalamati.

Kan nggak enak ya eksperiencenya kan.

Akhirnya ya nggak jadi.

Akhirnya kita lebih memilih untuk cari subsidi laptop dan koneksi internet, paket.

Lebih masih kesana akhirnya.

Begitulah.

Nah sekarang ke Mas Rio nih.

Mas Rio kan istilahnya pekerjaan sehari-harinya mungkin udah disediakan lah gitu ya ada Cloud9.

Kenapa mau bikin proyek ini?

Installer VS Code Core Web.

Ini sebenarnya satu karena ada beberapa extension.

Itu yang pengerja lebih baik di VS Code atau nggak tersedia di Cloud9.

Cloud9 ada extension-nya juga ya?

Iya tapi jadikan di koreksi ya internal.

Oke.

Tapi kalau VS Code kan apa aja aja gitu ya.

Apakah API buat bikin plugin lumayan luas lah API yang disediakan?

Terus saya pribadi juga punya target untuk beberapa open source project.

Yang kecil tapi terutama bisa gue gunakan sendiri sih.

Terus tadi gue tahun ini tiga dan ini yang ketiga.

Oke.

Semuanya shell script.

Jadi ini aku build dengan.

Ini kalau kita lihat ini itu component-nya ada dua yang utama.

Yang itu code server itu open source project.

Jadi dia itu ambil code base-nya.

Yang tadi ya?

VS Code.

Terus dia...

Sebenarnya dia maintain lah istilahnya dia sync dengan.

Yang tadi ya berarti ya ini ya?

Iya.

Yang kedua adalah KB.

Nah KB ini...

Cuma yang penting dari KB ini dia...

Kayaknya suara mas Rio agak terpotong-potong ya.

Iya terasin dikit.

Terus volume-nya naikin dikit deh.

Ya volume.

Atau pakai itu kali ya voice isolation kali ya.

Coba setting audio.

Reduce background noise apa?

Echo cancellation.

Iya mungkin ada echo cancellation.

Ya itu di...

That's better.

Gede bagus.

Oh ini udah?

Lanjut lanjut.

Iya udah.

Jadi tadi KD ini gunanya buat apa?

Reverse proxy-nya.

Jadi code server-nya itu dia nge-bin di localhost aja.

Untuk expose ke internet dia pakai KD.

Ya betul.

Kenapa pakai KD?

Karena dia konfigurasinya lebih simple untuk masalah TTPs.

Karena TTPs kan kusil ya.

Untuk hal kayak gini ya.

Jadi kita gak ingin kan kita ngeses...

Ngeses cloud ADA kita dengan plain TTP kan.

Gak mungkin kan gitu.

Jadi kan orang bisa...

Ya di browser kadang-kadang ditolak ya.

Apalagi ya proses sekarang kayaknya nolak ya.

Nolak ya.

Udah otomatisnya TTPs ya.

Apalagi kalau kemarin .dev ya kemarin ya.

Kalau domainnya .dev kita kena tuh.

Kok gak bisa sih TTP?

Mereka bisa di atas telekural.

Iya.

Kalau TLSnya .dev mas Rio.

Harus HTTPS dari browser.

Otoran baru lagi dari per-browseran.

Per-browseran.

Itu kayaknya .dev itu kan ininya si...

Google.

Kalau gak salah ya.

Itu ininya si registranya si Google.

Dan dia membuat Chromium dan segala macemnya dari per-browser.

Kalau menjungi .dev harus HTTPS.

Akan otomatis didirect.

Dan kita bingung kenapa ini.

Tapi kedepannya semua juga gitu kan.

Kalau kita mau HTTPS harus diseruk flagnya harus di disable kan.

Iya.

Di false HTTPS kan.

Yes false HTTPS.

Oke ini mirip-mirip kayak NG Rock bukan sih?

Bukan.

NG Rock itu tunneling.

NG Rock itu tunneling.

Ini mirip NG X sebagai proxy.

I see.

Kalau mau di-compare Apple to Apple.

Ini mirip dengan traffic.

Ya betul.

Oh traffic.

Reverse proxy ya.

NG X juga sering dipakai buat reverse proxy ya.

Kalau NG X kan seluruhnya.

Itu mau idea web server dan mau dipakai buat apa.

Ya web server bisa.

Jadi traffic HAProxy.

HAProxy.

Ya kayak di server.

Oke.

Tapi gue lebih suka ini karena kayaknya lebih simple daripada yang lain.

Itunya apa?

Konfigurasinya.

Iya konfigurasinya.

Dan untuk jalan kayaknya misalkan kita gak pikir ada konfigurasinya tinggal kayak gini aja.

Kayak di layar itu.

Oh beneran.

Ketika kita menjalankan kayak gitu ya.

Dia otomat di balik layar itu dia nge-request ke 0SSL server.

Untuk sertifikatnya kayak gitu.

Di belakang layar.

Wah enak sekali.

Enak sekali.

Terus lanjut.

Jadi disini itu sih 2 common utamanya.

Cuma 2 itu aja.

Cuma aku otomasi dalam arti instalasinya kayak gitu.

Oke.

Jadi disini dia harus jalan di Linux ya.

Harus di Linux.

Untuk saat ini jadi kalau untuk OS lain gak support.

Kalau kita, selain itu ini opinionated jadi ketika ingin di tab love contents aku jelaskan.

Dan itu ada development package.

Jadi kan kalau kita sudah punya cloud IDE kan biasanya kita install package-pockets untuk development.

Jadi ada opinion.

Opiniku aja.

Jadi ya kemungkinan yang lain.

Ya betul. Tapi ini gak terinstall secara otomatis.

By default.

Tapi harus diinstall dengan opsi dev utils itu.

Kalau pengen semuanya.

Kalau pengen salah satu tinggal opsinya dinyalakan aja.

Jadi dibelakangnya pakai automation-nya unsybol gitu mas?

Untuk?

Enggak. Ini pure sales script.

Coba dibuka aja.

Coba dibuka ya.

Kalau buat project sekarang lebih suka single file kayak gini.

Jadi biar gak usah banyak.

Jadi pure pure pure sales script.

Jadi kita ada beberapa hal yang dilakukan.

Kayak initialisasi, deteksi OS.

Terus kemudian install VSCode-nya, install KD-nya.

Tapi yang aku lakukan disini itu terutama untuk installasi package-pocketsnya ya.

Package untuk installasi masing-masing distribution Linux itu kan beda.

Ada yang pakai YAM, ada yang pakai APT.

Nah itu aku punya semacam abstraksi function.

Atau yang mengastraksi bagaimana package itu diinstall.

Jadi kita deteksi dulu OS-nya apa.

Terus kita kemudian panggil fungsi yang sudah di abstraksi itu.

Tinggal jalankan fungsi itu.

Nanti dia otomatis mengenali kalau Senos pakai YAM.

Atau kalau dia Ubuntu pakai ini.

Senos sudah ganti jadi Alma.

Ganti nama?

Sudah ditinggal kan Senos.

Mesti ada Senos ini kan?

Masih masih.

Tapi lu sudah pindah ke Alma kan?

Minta pindah ke Alma.

Tapi Senos stream masih jalan kok.

Senos 9 tetap stream masih jalan.

Ini kemarin aku juga coba kan.

Di Alma Linux.

Dalamnya aman kali gitu.

Karena dia bisnya Senos.

Jadi yang ingin belajar shell script pun bisa dari shell script ini.

Saya nanti izin menggunakan ini Mas Rio.

Karena saya punya project yang milip sekali.

Ini Mas Riza.

Apa tuh?

Ini saya chat.

Jadi dulu banget saya pernah bikin 3 tahun lalu ya.

Itu saya paste di ya.

Jadi 3 tahun lalu saya bikin web WordPress environment box ceritanya.

Jadi pakai code server.

Tapi disini pakai traffic saya.

Oke.

Oh bedanya itu.

Jadi saya dan boxnya ini sendiri itu sebenarnya npm install di localhost tinggal pakai sebenarnya.

Bisa.

Wp info back start ini segala macam.

Proces start bisa langsung multiple instance bisa jalan.

WordPress instance yang langsung bisa ngoding.

Bisa ngoding via browser.

Terus saya bikin 1 step lagi.

Jadi 1 step lagi udah sempat jalan.

Cuman gak saya lanjutin.

Saya bikin domainnya wpeenvbox.com dulu.

Tapi sudah mati saya gak berpajar.

Jadi si user ini.

Iya wpeenvbox dia start server dia langsung buat 1 instance sendiri.

Docker instance ya pakai docker instance.

Dan jalanin code server jalanin traffic.

Jadi trafficnya 1 terus banyak instance.

Dan langsung otomatis buat sub domainnya.

Dan langsung dari GUI nya langsung dapet akses ke code server.

Sama akses ke public WordPress site nya.

Yang sudah terinstall.

Jadi impian saya waktu dulu itu 1 klik jadi code server dan jadi WordPress instance.

Jadi saya tinggal.

Jadi misalnya staging.example.com, prod.example.com.

Semua itu masing-masing udah jalan sendiri pakai docker.

Nah berhubung Mas Rio punya.

Pake aja. Punya otomasi baru ya bakal saya rombak nanti.

Bakal pakai itu.

Saya awalnya pakai docker untuk jalanin vscode server nya ini.

Tapi saya batalin karena saya ingin di vscode terminalnya itu user bisa menjalankan docker.

Docker bisa.

Bisa tapi kan harus ada trik-trik tertentu.

Yang kita harus mounting system tertentu dan sebagainya.

Harus run di list tertentu dan sebagainya.

Aku gak mau ambil jalan itu.

Akhirnya docker nya aku install di VM nya langsung di host nya.

Perbedaan approach saya dengan Mas Rio.

Kalo Mas Rio kan berarti satu script ini installasinya langsung satu host satu instance.

Kan mahal ya.

Jadi ini cara pakenya gimana kita bikin VM dulu.

Mau demo aja ini.

Oh demo.

Langsung girang kalau ada yang mau demo.

Teman-teman kalo mau cek ya bisa langsung ke GitHub nya Mas Rio.

Di bookmark sekarang bookmark.

Installer facebook or web.

Di star jangan lupa.

Contribusilah jangan star doang.

Pull request.

Atau bikin issue.

Pull request ngereputin.

Harus di cek harus jalanin.

Kalo star kan ya quick dopamine hit.

Mumpung hari ini hektoberfest.

Nah ini yang sudah jadi ya.

Jadi sebenernya nanti kalo sudah jadi kayak gini.

Kita bisa ngeakses VS Code nya via alamat kayak gini.

Ini domain nya kan domain mapping ke DNS service biasa ya.

Nanti ini sebenernya harus login dulu kayak gini.

VS Code server itu dia autentikasinya by defaultnya pakai kayak gini.

Nanti rencana versi yang berikutnya aku mau ini aku buang.

Aku ganti dengan GitHub authentication.

Login with GitHub gitu ya.

Ini password nya ngobrolin web 2022 nih kayaknya.

Password nya 123.

Itu bisa HTTPS itu karena pakai caddy tadi ya.

Jadi ini aku jalanin VS Code server nya ini user nya sendiri ya.

Ada user VS Code.

Jadi kalo aku cek kayak gini.

Ini user nya VS Code.

Jadi kalau misalnya aku butuh sesuatu menjalankan root command.

Rm, rm, rm.

Rm, rm, rm.

Full day.

Aku gak pernah pakai VS Code.

Di lokal gak pernah terlalu intense ya pakai VS Code.

Tapi kalau di terminal kayak gini kan misalnya kita develop sesuatu ya.

Terus gimana ngeakses aplikasinya kayak gitu.

Ternyata dia sudah menyediakan proxy si code server nya ini.

Jadi by default nanti misalkan kalo kita develop aplikasi seperti Node.js, PHP, whatever.

Kan dia di expose ke port tertentu kan biasanya kan.

Gimana kita ngeaksesnya?

Itu bisa gak?

Forward proxy.

Cuma simple aja kita misalkan punya web app kita mau jalanin di port 8081 misalkan.

Mana ini aku dadahin.

Forward ya.

Nah ini aku coba running aplikasinya misalkan ini engine X ya.

Di 81, 81.

Di apa?

Di mapping ke 80 ya.

Ya tapi nanti kita ngeselin kayak gini.

Nah ini kan dia mendeteksi bahwa kita sudah menjalankan aplikasi di port.

Portnya ada aplikasi yang open nih.

Nah kita bisa tahu bahwa oh ada aplikasi yang jalan di port 81, 81.

Nah kita tinggal buka aja nanti aplikasinya kayak gini.

Dia otomatis buat kayak gini.

Oh dibikinin semacam folder gitu ya apa?

Ya kalau kita gak mau pakai path, maunya subdomain dari VS Code nya.

Jadi KD nya itu hanya dia caching ini aja, caching yang domain utama ini aja.

Semua yang ini akan dilempar ke instantnya code server yang running di...

yang running di sini.

Oh ini Cloud 9.

Ya aku developnya.

Cloud 9. Gak apa-apa kalian lihat aja.

Jadi misalkan kita punya aplikasi lain misalkan.

Katakanlah aplikasi...

WordPress.

WordPress.

Terlalu besar WordPress itu contoh.

Nim.

Apaculah.

Terus portnya 82, 82.

Apaculnya itu dia 80.

ATZT-D kalau gak salah.

Kalau gak salah ya.

Unable to find.

Gak dia harus install dulu.

Cepet kan karena kita di internet.

Deket ya tanggaan.

Nah ini kan dia ada 2 aplikasi jalan nih.

Jadi kita bisa tinggal jalanin.

Nah ini ada 2 aplikasi yang running ya sekarang.

Kalau kita gak pengen pakai proxy kayak gini, kita bisa modif.

Jadi kita bisa pakai misalkan domen langsung 82 82.

Jadi gak ada proxy kayak gini.

Nah ini berarti DKD-nya.

Kalau pengen kayak gini.

Tapi settingan gue untuk yang sekarang itu paketnya yang ini.

Untuk lebih memudahkan aja.

Kalau kita pengen yang kayak gitu bisa aja sih.

Tapi kita harus buat konfigurasi baru di DKD-nya.

Jadi wildcard tanggaan aja.

Kalau kita punya wildcard certificate kita bisa masukin apa aja.

Setiap port bisa disini misalkan port 300 kayak gini.

Atau port 3000.

Nanti dia otomatis connect ke local server via code di port 3000.

Jadi bergantung pattern gak gitu.

Kalau misalnya kita nge-tick kayak gini, berarti dia connect.

Atau mau forward port ke 82 82.

Ini sama kayak kita punya ng-rock sendiri.

Iya bener bener.

Nah itu kan kalau jalanin nginx dengan docker.

Kalau misalkan saya mau bikin aplikasi node, node.js.

Terus jalanin npm start gitu.

Gitu gimana?

Sama aja.

Kita coba ya express.js.

Nod kan menjalankan portnya sendiri kan.

Port 3000.

Buka port baru.

Sama aja sih harusnya.

Tapi kita coba aja.

Hello world, hello world.

Pake code whisper dong.

Belum kayaknya setelah ini stasiunnya.

Oh belum di stasiun ya masih baru ya.

Kita buat aja di terminal baru.

Npm install.

Npm init dulu kali gak, gak perlu ya?

Gak perlu ya.

Install dulu aja.

Epic editionnya ada gak? Oh udah.

Udah ya.

Hello.

Ini processor permission ini.

Ini web API ini.

Web API.

Jadi tetap ada...

Hello.

Coba ya.

Yang satu intrens jaman 2012 untuk pakai IDE di browser adalah keyboard bindingnya itu masih sulit.

Ya sekarang kayaknya browser kan sudah terintegrasi lebih baik ya kayaknya ya.

Kalo jaman itu pada ngeluh wah...

Control S, kok malah...

Control S bukan nge-save tetapi malah nge-save web page.

Kalo di command S jadi apa nih?

Kalo buka file di command S jadi apa?

Safe.

Udah di interrupt ya?

Reven default.

Kayaknya.

Ya kan udah di handle dari itunya.

Kaya gini ya.

Coba kita jalanin ya, ini harusnya port 30 ya defaultnya ya?

Tiga ribu.

Ya tiga ribu.

Node.js, na app listening.

Nah kan langsung dia ngeteksi kan buat tiga ribu.

Jadi kita tinggal...

Oh nice, langsung beneran.

Hello.

Nanya kayak gitu sih yang kalo di cloud.

Nah sekarang...

Udah beneran sama banget kayak lokal kan?

Iya, sama dimana.

Install-install kan.

Terutama suka kerja mobile ya.

Misalkan sering ke kafe atau ke...

Mana?

Camping.

Di pinggir pantai gitu ya.

Cuma camping lah masalahnya ga ada internetnya.

Nah itu apa yang masalah sih.

Nah itu masalah.

Pakai starling lah.

Starling.

Star bakliling.

Oke, kita buat dari awal ya.

Kita pakai alasnya aja yang muda ya.

Oke.

Harus pakai...

Harus pakai alastik IP ya.

Karena...

Oh light cell bisa?

Gak harus gitu.

Gak harus AOS ya, ini...

Ini alastik.

Apapun yang bisa...

Digivalent sama...

Digital Oceane gitu ya.

Ini...

TPS lah.

Saya tuh semenjak Amazon...

Mengeluarkan light cell, saya jatuh cinta lagi ke Amazon.

Karena saya tidak suka dengan EC2.

Konfigurasinya banyak.

Harus udah bikin instance ya, bikin load balancernya, segala macem.

Padahal cuma mau...

Cuma mau hidupin satu.

Mau buat hot press aja.

Iya.

Cuma mau ngetes, udah mau main gitu.

Oke, kita...

Kita buat aja yang 5 dolar aja ya.

Satu, tiga.

5 dolar.

Ini kita bikin VM dulu.

Terus abis itu...

Tapi...

Ada plus minusnya ya, kalau light cell sama EC2.

Nah, kalau EC2 kayak aku gini...

Yang jalan, yang ini kan pakai EC2 kan.

Yang ini.

Nah, itu ketunggulannya apa...

Kalau yang pakai EC2...

Aku stop ya.

Karena kalau aku udah stop...

Berarti dia harusnya gak jalan, gak gini.

Jadi dia...

Dia connect ke...

Ini yang mengeluarkan error-nya, ini KB.

Dia KB, terus dia proxy ke...

Sucuk setronnya, tapi dia gak ada kembali.

Karena mesinnya udah gak jalan kan?

Karena udah gak ada.

Karena udah aku stop di...

Ini yang node.js aku stop kan.

Nah, inaknya kalau yang apa...

Yang pakai EC2 itu...

Aku bisa ganti CPU...

Ketika dibutuhkan.

Aduh, ganti spec mesin ketika dibutuhkan.

Iya.

Betul.

Upgrade ya.

Iya.

Nah, kayak gini.

Contohnya aku, ini kan tadi...

Apa?

T3 Large.

Aku misalkan pingin lagi...

Lagi compile aplikasi yang...

Gede banget, atau kayak gimana.

Aku bisa ganti ke tipe instant yang...

Mungkin yang khusus untuk compute intensive...

Kayak gini-gitu. Dengan RAM yang lebih...

Kecil. Nanti setelah compile...

Aku balikkan lagi ke t3 micro...

Maka itu bisa. Tapi kalau...

Light cell, ini kita harus...

Snapshot dulu, ya.

Bisa kembali ke instant yang lebih kecil.

Kalau udah yang lebih-lebih besar...

Bisa lebih kecil ya.

Itu gelemarannya.

Ya, ada track off-nya lah.

Nah, ini udah selesai.

Ya, ini kita harus...

Kita harus open world...

443 ya.

443 itu berarti SSH...

SSL?

Ya, SSL.

HTTPS, ya.

HTTPS.

Nah, udah. Berarti kita tinggal login ke...

Login, pakai SSH.

Ke SSH, ke server-nya.

Misalkan ke...

Ini Cloud 9, nih.

Ya.

Oh, Cloud 9.

Ini Cloud 9, nih.

Cloud number 9, salah.

Itu lagu.

Oke, kita sudah masuk ke server ini, ya.

Yang ke Ubuntu ini, ya.

Tadi kita tinggal lihat...

Tinggal jalanin...

Kita tinggal...

Kita tinggal...

Kita tinggal specify domain yang akan kita gunakan...

Untuk access ini.

Kita nggak bisa pakai IP zone, ya.

Gak bisa, nggak bisa pakai IP, ya.

Bisa, bisa aja.

Cuman, nanti...

Closer-nya complain nggak, gitu.

Certificate...

Karena certificate-nya...

Gak bisa untuk IP.

Ya, certificate harus domain.

Ada...

Ada certificate yang bisa untuk IP.

Ada.

Tetapi yang gratis nggak bisa.

Iya, yang...

Zero SSL sama certificate.

Ya.

Oke. Kita pakai yang...

Itu aja apa? Yang gratisan aja.

Dari Zero SSL.

Nah, ada implement variable yang harus kita set...

Sebelum install sudah jalanin.

Karena itu domain yang...

Itu pakai ini.

Bisa pakai free sub domain aja.

Bisa pakai free sub domain aja, apa ya?

Iya, ini.

Aku pakai...

SSL.

SSL.IP.IO

Oh, iya.

SSL.IP.IO

SSL.IP.IO

Ini harusnya nanti...

Ini harusnya nanti...

Ini harusnya nanti...

Ini harusnya nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti...

Nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti nanti...

Namanya gitu kan.

Untuk untuk untuk testing sih.

Seru ya.

Oke.

Helpful banget.

Oke.

Itu sudah ya. Saya nggak juga passwordnya.

Nah, kalau password...

Ini yang tadi ya.

Gini lah.

Habis ini.

Habis video ini di hub.

Terus...

Kita tinggal copy pasting aja sih.

Ini dia akan...

Istilahnya nge-grab...

Ya, kode terbaru dari...

Dari brands main sih dia.

Oke. Sebentar.

Kalau kita bikin VM-nya pakai Debian...

Berarti harus intah churalnya dulu ya.

Karena biasanya belum ada.

Nggak ada churalnya.

Harusnya sudah ada.

Harusnya sudah ada Debian.

Ya, pokoknya salah satu ya.

Nah, pokoknya yang...

Pokoknya yang aku tulis di...

Mana? Di...

Bisa langsung dijalani tanpa install apa-apa ya?

Yang ini sudah bisa.

Nah, ini aku tes.

Kayaknya available deh.

Semuanya sudah bisa ya.

Lanjut, lanjut.

Lanjut.

Enter.

Dia akan install macam-macam.

Dia akan install...

Yang jelas dia akan install code server.

Pasti. Sama...

Gokor belum? Gokor?

Karena...

Asumsi-nya mungkin...

Ya, asumsi-nya disini dia hanya...

Pengen paste-nya.

Gokor begitu.

Yang ini dia ada...

Ada...

Gede server.

Ya, harusnya nggak lama sih.

Harusnya mungkin...

Ya, selama 1 menit lah.

Tergantung OS-nya.

Kadang-kadang ada OS yang...

Upgrade-nya itu lama banget kayak gitu.

Tapi sebenarnya XENOS 9 itu dia...

Semuanya.

Tergantung.

Ini sekarang lagi install code server.

Dia...

Dia install yang...

Aku pakai itu ya.

Dia apa? Install code server.

Nah, ini.

Aku pakai...

Ini nih.

Dari website-nya langsung.

Iya, iya.

Jadi...

Sebenarnya, jalanin ini.

Tapi dia pakai user VSCode.

Sama...

Sistem D-nya aku buatin.

Sama sudutnya aku juga buatin.

Biar dia bisa menjalankan sudut...

Sebagai user VSCode.

Ini optimal DX banget ya.

Apa?

Designer experience.

Dibikin nyaman. Ini kan sebenarnya...

Kita nyuruh user...

Nginstall sendiri juga sebetulnya bisa.

Tinggal kepas-kepas aja.

Tapi ini udah di handle semua.

Udah, pokoknya terima beres.

Dengan reasonable default.

Iya.

Karena nanti kalau untuk workshop.

Jadi kita punya alternatif.

Oh, iya.

Nah, udah selesai.

Nah, kan...

Ini udah selesai, nanti...

Nanti mutul kayak gini nih.

Jadi ada...

Yang bisa kita...

Sama passwordnya tuh disimpan disini sih.

Di home directory VSCode.

Jadi kalau kita mau...

Kita bisa lihat.

Yang tadi...

Soalnya di phone sama...

VSCode.

Nah, ini dia.

Bin adresnya disini ya.

8080.

Oke.

Ini dia ini.

Ini si VSCode Jasper ini.

88.

Coba kita kunjungi...

URL-nya.

Harusnya sih bisa. Nah.

Wow, web kan tepat banget.

Web 2023 ya.

2023.

Jadi deh.

Yang suka...

Yang suka tim putih, ya.

Kayak gini.

Nah, ini...

Ini disini nggak ada doker.

Nggak ada apa.

Tapi tetap udah bisa digunakan.

Nggak gitu. Misalkan kita...

Sama sendiri ya.

Cuman kalau pengen...

Ngiguti yang...

Disini, misalkan pengen install ini semua.

Tinggal...

Setelah kan script yang sama.

Oke.

Tadi itu optionnya core.

Tadi kan optionnya...

Ditutupan. Ini core-nya.

Tapi yang ini...

Optionnya dev/utils.

Mau, tinggal...

Kalau sudah selesai install, bisa...

Diulang lagi, bisa...

Diulang aja.

Bisa, tinggal diulang aja.

Dengan print yang sama, nggak masalah.

Oh, oke.

Oh iya, karena ada cuma install ya.

Iya, misalkan pindah IP.

Misalkan ini kan IP-nya berubah.

Tinggal jalanin ulang aja.

Jangan nanti diautomasi...

Oke.

Tadi gini ya.

Baru ini. Domain baru jadi...

Hello lagi.

Ini web API...

Emang gitu, buat keamanan kan.

Ini optionnya...

Ya, optionnya...

Kita tambahin dev/utils.

Bukan core, kayak gitu.

Tapi kalau misalkan kita install Java aja.

Gak ganti aja, jadi game.

Install Docker aja.

Agung dalam ini, install...

Semua?

Bukan, ya.

Tinggal...

Gini.

Kejahatan install Docker.

Install apa aja yang ada di sini.

Ada Boon juga, ini.

Yang lagi...

Yang...

Boon yang FOMO, pengen nyobain Boon.

males nganggut ngetik lokal.

Bisa, kan?

Iya.

Kalau punya VM, tapi ini kan...

Sebenarnya...

Semua provider ya, gak hanya OS.

Kan pricingnya...

PSUGO, kan?

Jadi habis nyobain, tinggal habis aja.

Mayornya kan...

Ya.

Tau sekian dolar.

Kayak-kayak aku ini.

Aku...

Selesai eksperimen aja, aku habis kan.

Tau sekian dolar.

Tau sekian dolar.

Ini ada pertanyaan nih.

Satu VM bisa install beberapa VS Code?

Nggak? Nggak ya.

Satu VM, satu ya?

Untuk saat ini sebenarnya satu.

Kalau mau modifikasi biar bisa dua, bisa aja.

Iya, iya, iya.

Kayak gitu sih.

Jadi, ini...

Domain yang port testingnya, ini aku udah jelasin.

Kalau mau ganti password...

Kita harus restart sih.

Jadi habis...

Harus restart sistem D-nya.

Karena kan...

VS Code 7-nya ini kita start...

Stop lewat sistem D ya.

Jadi, kalau...

Kalau apa?

Kalau kita habis ganti password...

Harus tanya kayak gini.

Kita coba liat statusnya.

Bisa aja.

Bisa kan di...

Langsung di...

Di sini aja deh.

Kok udah tutup?

Mati.

Kenapa Mas, jadi apa?

Abis koneksi.

Masnya koneksi.

Koneksi lagi dry.

Koneksi lagi dry.

Mati.

Mati servisnya.

Servisnya.

Kalau koneksi mati...

Masa...

Mas Rio-nya masih bisa ngomong.

Iya, yang mati ini servernya berarti.

Bukan aku ini.

Bukan internetnya.

Atau itunya si...

Reverse-nya kali.

Mungkin ya.

Di install gitu, dimatiin dulu gak?

Ini kan yang tadi.

Yang tadi.

Yang sebelumnya, ya.

Ini yang di situ.

Ini yang di situ sih aman.

Yang baru kan tadi yang mati.

Yang baru.

Jadi tiba-tiba...

Dia keluar sendiri ya?

Close.

Intinya gak gitu sih?

Menarik, menarik.

Nah, ini...

Salah satu kekurangannya mungkin ya gitu ya.

Yang tadi ada di artikel juga.

Kalau kita lagi di pesawat.

Internet mati.

Ya, ya.

Harus stabil juga sih kalau di...

Harus stabil juga.

Ini kan kayak butuh...

Butuh yang koneksi yang stabil.

Untuk tipe-tipe aplikasi yang kayak gini.

Sama kayak aplikasi yang...

Office...

Yang di web itu kayak Google Docs.

Itu kan butuh koneksi yang stabil.

Betul.

Kalau gak dia tiba-tiba offline sendiri.

Tapi kalau kayak Docs kan simple banget ya.

Apa?

Udah ada fitur offline-nya.

Offline kan kita tinggal ngetik...

Tinggal ngetik aja asal kita gak perlu...

Mention atau komen atau apapun yang...

Advanced, kalau cuma ngetik mah.

Gampang kan dibikin offline.

Dibikin offline-friendly.

Nah, kalau ini kayak gini dibikin...

Offline-friendly kan kayak hampir gak mungkin ya.

Bisa, bisa.

Kalau...

Ininya di Docker, di Locker, di Locker.

Ini jalannya di Docker, di Locker.

Tiba-tiba internet mati.

Gak masalah.

Masih bisa ditekan.

Kalau...

Kalau itu...

Kalau yang tadi autentic tadi ya.

Berarti gak bisa dipakai ya?

Iya, sampe nyara lagi.

Oke.

Sama mirip kayak...

Kayak ini kan Cloud 9.

Iya.

Agak panjangnya aku...

Aku...

Agak tutup lah.

Networknya dimatiin.

Ini kan agap aja mati kan.

Gak gitu kan ketutupan.

Harus...

Sama aja kita kalau...

Ketika koneksinya mulai...

Lagi kembali kayak gitu.

Harusnya ya apa yang kita lihat...

Terakhir kali itu yang muncul di layar harusnya.

Yang terakhir kita ketik kan.

Iya, yang terakhir kita ketik.

Tadi kan aku kan...

Membuka ini kan.

Pasti seperti apa, yang terakhir kali aku tinggal.

Terusnya.

Wow.

Ini yang perlu diridu.

Perlu diridu.

Temen-temen yang nonton...

Gimana, tertarik?

Ngoading di browser gak?

Ini seru.

Tadi kan kita udah bahas kan, team client kan.

Artinya, gak mesti laptop.

Bisa di tablet. Bisa di...

Handphone.

Gak enak, Mas.

Ketiknya gimana?

Tablet lah ya, tablet lah ya.

Tablet ya.

Kalau tablet masih bisa dikonekt ke keyboard-nya sih.

Iya, kalau tablet...

Kalau ada keyboardnya sih enak.

Iya, tablet yang ada keyboardnya.

Bisa, misalkan emergency gitu kan.

Lagi tiba-tiba lagi di...

Di kawinan gitu.

Wah, mati nih.

Harus buka tablet.

Emergency pernah nge-film dari sini.

Dari handphone.

Ketik, ketik, ketik, ketik, ketik.

Dari mana aja bisa.

Selama pakai hacker keyboard ya.

Supaya bisa ada SKN2.

Ini nih, kayak sesemenarik nih.

Tadi ternyata...

Kan belum aku...

Belum aku attach static IP kan dia kan.

Iya.

Terus berubah.

Ini harusnya...

Kalau kita punya kayak gini kan harusnya di attach static IP.

Dan nanti kalau kita stop atau apapun itu...

Ya, berubah.

Ini kebetulan berubah, misalkan...

Kalau kita access yang lama kan...

Otomatis nggak bisa kan.

Karena kan IP yang lama kan...

Mengarah ke...

Ke tempat yang lain anggapannya.

Kayak gitu.

Kita bisa jalankan ulangi dunia...

Apa?

Installer-nya kayak gitu.

Ini kan IP-nya berubah kan.

Ini buat define IP-nya lagi ya?

Untuk apa?

Untuk define IP-nya lagi.

Kalau IP yang berubah berarti...

Si KD-nya harus di...

Ini lagi.

Harus di konfigurasi lagi.

Atau jalanin installernya aja lagi.

Bisa langsung edit KD file-nya.

Bisa langsung ya, oke.

Atau jalanin ulang installernya aja.

Bisa, terserah.

Oke.

Wah seru ya.

Ini aneh nih.

Ini satu lagi kekurangannya...

Untuk developer web...

Kayaknya aman ya.

Developer web aman.

Tapi kalau mobile belum.

Belum ada emulator yang bisa jalan...

Di server ya.

Semua native kayaknya agak sulit ya.

Kalau mobile...

Bisa pakai feed...

Bukan pakai yang model kayak gini ya.

Sekalian remote desktop.

Mirip kayak gitu.

Oh iya, remote desktop bisa.

Tapi pilih...

Aplikasi...

Aplikasi remote desktop...

Yang Rancher Pro ya.

Yang support untuk...

Nge-forward...

Lokal port...

Ke server.

Misalkan kita nyolok sesuatu di USB kita...

Di lokal.

Nah itu dia si aplikasi...

Remote desktopnya.

Harusnya bisa nge-forward apa yang dicolok di lokal...

Ke server remote.

Biar kere-taksi kayak gitu.

Pakai USB IP.

Nah untuk...

Masalah emulator...

Atau simulator itu...

Google kemarin...

Udah sempat announce kan.

Project ini kan. IDX.

Kita gak tau ya bentuknya gimana ya.

Tapi di sini...

Di sini ditampilin...

Di landing page-nya bahwa...

Ada tampilan iOS simulator dan...

Android emulator.

Padahal di sini...

Di atasnya...

Baru ada Flutter. Mungkin ini buat Flutter kali ya.

Bukan buat...

Yang udah support Flutter sih.

Bukan buat Android Studio ya.

Bukan buat Android ya.

Android native itu maksudnya.

Nah...

Menariknya juga si Project IDX ini...

Kalau gak salah dia pakai...

Support juga.

Dengan play installed extension kayaknya.

Dengan play installed extension kayaknya.

Iya pasti.

Pasti ya.

Di mana-mana gitu ya.

Eka kan sudah punya.

Kita aja yang berdua.

Kita aja yang berdua belum dapet.

Belum dapet-dapet. Eka udah dapet dari kapan.

Kalian belum join waitlist ya gak?

Udah.

Udah.

Pilih kasih.

Udah join waitlist.

Udah isi form disini juga.

Udah isi form internal juga.

Wait, wait.

Gak bisa.

Hahaha.

Nggak.

Kemarin-kemarin kalau buka...

IDX.dev.

Lagi kondisi login...

Ke Google itu otomatis...

Redirect ke editor-nya deh.

Sekarang ilang. Kayak...

Website-nya juga...

Facebook juga.

Misal plug-in-plugin...

Extension-extension...

Aman ya taunya.

Ya kalau buat web dev ya.

Belum cobanya.

Terus scroll ke bawah.

Salah satu jualannya ini ya, AI ya.

AI. Cuma AI ini kan...

Aturan hukum di masing-masing...

Region beda ya.

Kira-kira ternyata baru launch...

Untuk US, Asia, Eropa...

Afrika, lain-lain...

Belum.

Oke.

Loh...

Kutip berikutnya gak bisa buka IDX.

Ah...

Di browser juga.

Ya, di browser.

Di browser juga betul. Sama.

Ya kan? Arahnya sekarang...

Iya, tin client kan...

Didorong juga dengan...

Produknya Google kayak...

Chromebook. Ya kan?

Semuanya cobala, gak ada...

Jadi semuanya ya...

Pake editor...

Yang di server.

Jadi yang kerja kerasnya di server.

Di client-nya...

Chromebook-nya Mas Riza gimana nasibnya tuh?

Sudah mati.

Loh, masa sih?

Gak tau mau direparasi dimana itu.

Masa harus ke Amerika lagi.

Nunggu ada summit lagi.

Nunggu ada summit, dapet lagi.

Lumayan buat apa...

Sebenernya...

Chromebook itu... ya kan... awalnya kan...

Pesimis kan. Ini bisa buat...

Moding gak ya? Gitu buat development gak ya?

Gitu kan.

Tapi begitu dipake...

Ya, buat di lokal juga bisa.

Jalanin apa? Nginstal VS Code di lokal juga bisa.

Walaupun agak berat ya.

Itu OS-nya apa Mas Riza?

Chrome OS.

Basisnya apa itu? Linux?

Linux.

Ya, basisnya Linux.

Oh ada komen lain juga berarti ya?

Bisa beda terkenal.

Ya, sama.

Nah yang menariknya...

Dia bisa menjalankan... ya sekarang Windows juga bisa sih.

Dia bisa menjalankan aplikasi Android.

Jadi kalau misalkan kita mau bikin...

Mau dibug atau mau cobain...

Aplikasi atau website kita...

Kita bisa buka...

Opera browser, bisa buka...

UC browser.

Karena bisa di install disana.

Yang di desktop juga bisa.

Jadi kombinasi.

Opera mini mungkin maksudnya.

Ya, opera mini lah.

Saya pakai opera loh, jadi...

Jangan salah sebut.

Ya, maaf.

Soalnya itu Chromium juga kan.

Jadi gak perlu di tes ya.

Sampai aman.

Kalau opera mini yang pusing.

Cuman Safari aja yang belum bisa.

Gak mungkin kayaknya deh.

Kecil kemungkinan.

Kecil kemungkinan.

Project IDX ini menarik ditunggu...

Karena ya itu emulatornya gimana...

Mereka mengintegrasikan...

Dengan simulatornya walaupun...

Ya mungkin Flutter ya.

Kita gak bisa berharap kayak...

Kotlin terus tiba-tiba ada...

Emulator. Karena...

Belum ada sih. Kalau terakhir pas masih bisa mengakses...

Itu di lower web.

Cuma bisa Flutter.

Yang ada kayak semacam...

Preview pane-nya. Cuma kan Flutter itu...

Sebenarnya emang bisa compile...

Ke html aja pasti.

Jadi ya...

Keliatannya yang...

Mvp-nya. Cuma itu deh.

Kalau yang native belum ada.

Iya, karena salah satu barer itu...

Entrinya Android dan iOS kan itu ya.

Apa?

Mesin yang bisa menjalankan emulator...

Atau simulator.

Jadi kan kasarnya kayak harus setiap kita ngapain...

Harus ada yang mengcompile kan.

Ya apapun istilahnya itu pokoknya...

Harus ngejadiin...

Bisa di render di web.

Nah gimana tuh?

Flutter kan emang bisa di render di web kan.

Outputnya. Nah cuma kalau native...

Native gimana?

Itulah salah satu keunggulannya...

Developer web.

Sebenarnya penelitinya rendah. Belajarnya gampang. Nggak perlu siapin simulator dan lain-lain.

Minimal punya laptop udah bisa jalan.

Selama ada browser aman, sudah.

Nggak perlu install apa-apa juga udah bisa.

Gitu kan.

Kalau misalkan laptopnya kurang mumpuni...

Ya pakai yang...

Solusi yang ditawarkan oleh Cloud9...

Atau...

Projeknya mas Rio...

Dan yang lain-lain gitu.

Jadi solusinya udah...

Enaknya juga kalau itu ya sebenarnya...

Kalau kita...

Nggak...

Harusnya ya...

Kalau laptopnya itu...

Securitinya untuk lockenya benar...

Kita nggak takut kehilangan data.

Karena datanya kan nggak di laptop kita.

Oh iya itu...

Misalkan misalkan nilang atau rusak...

Atau apapun lah.

Kan development kita kan...

Semuanya ada di...

Sudah ada di Cloud ya.

Tanggapannya nggak...

Backupnya nggak di sana.

Oh itu sudut pandang yang...

Menarik juga buat employer ya.

Buat apa...

Purusan ya.

Jadi nggak perlu terlalu mikirin...

Securiti yang di laptop gimana...

Kalau misalkan kecopetan...

Amit-amit kecopetan dan lain-lain datanya...

Bilang ya gitu kan.

Benar, benar, benar.

Makanya...

Perusahaan pertimbangan juga.

Betul, betul. Perusahaan-perusahaan besar sekarang...

Yang tadi sempat kita highlight kan...

Kayak Google, Facebook...

Bahkan sampai Slack, semuanya udah...

Ke Cloud semua juga.

Selain karena faktor keamanan juga mereka...

Arsitekturnya udah sangat kompleks kan.

Kalau jalanin di lokal...

Mungkin nangis tuh. Apalagi yang Monoripo.

Dan tadi kan...

Udah terbukti tuh ada matrixnya...

Bahwa emang dihitung build time-nya...

Lebih efisien...

Kalau dipindahin ke satu tempat.

Maksudnya laptopnya...

Mesin yang dipakai masing-masing...

Karyawan lah, employer, user...

Udah langsung bisa dipakai nge-woding lagi...

Tanpa harus nunggu-nunggu nge-build.

Yes.

Ya kan proses kompilasi dan lain-lain itu kan...

Proses yang cukup mahal dan...

Kalau di server kan lebih optimize lah ya...

Dibandingkan di laptop kan.

Ada yang sudah coba...

GitHub Codespaces nggak? Karena...

Udah?

Codespaces tuh...

Kayak mempermudah barrier ini...

Setup-setupnya...

Ini bisa saya demo-in kalau mau...

Dan bahkan ada free tier-nya...

Maksudnya kalau...

Ya sama lah kayak GitHub Actions...

Jadi dibawah sekian menit...

Atau dibawah sekian apalah...

Itu gratis.

Kan ada ininya kan...

Kalau misalkan kita direpo tertentu...

Kita pencet shortcut apa ya?

Titik ya? Langsung kebuka...

Repo apapun yang...

Repo apapun sih...

Emang bisa.

Tapi itu running di Docker kan...

Bukan DPM ya...

Itu saya coba...

Ini kan...

Project Paskey...

Ya hilang...

Ya udah saya coba...

Butuh beberapa waktu...

Sambil ngomong aja...

Dia untuk nge-setupnya itu...

Hanya butuh kasih devcontainer nih...

Vscode ya...

Devcontainer...

Kita set ininya...

Nge-define...

Kita ngapain...

Ini settingannya...

Portnya apa...

Menjalani Docker Compose apa...

Terus...

Post create comment ini karena saya butuh...

Bahasanya...

Dependency...

Jadi Docker Compose-nya...

Bentuknya begini doang...

Menjalani...

Ini kita yang bikin Docker Compose-nya...

Karena saya WordPress kan butuh...

Oh iya...

Dependency dan lain-lain ya...

Dan database ya...

Image nya WordPress sama...

DB nya malah DB...

Setupnya...

Docker file nya ngapain...

Ya kan...

Terus post installation nya...

Ngapain...

Terus...

Ini yang lama karena...

Saya...

Teringatnya kemarin masih ada...

Tapi habis itu saya gak lanjutin...

Terus dia...

Mati sendiri deh...

Nah kalau yang free tier ini...

Bedanya sama yang berbayar apa...

Nggak ada free tier itu...

Free tier itu cuma 60 jam...

60 jam itu masalah sebulan...

Bayar...

Oh bayar...

Nggak...

Jadi...

Justru kan biar entis...

Menarik user...

Dan kalau untuk minor editing...

Itu nyandu banget sih...

Jadi kalau cuma hapus dikit...

Sekarang bahkan gak...

Buka di lokal...

Ya udah edit aja langsung code spaces...

Langsung dipush...

Abis itu di stop kan...

Udah...

Jadi...

Produknya Microsoft ya...

Ini...

Oh iya ada portnya...

Ini...

Ini kan...

Sudah ini...

Jalanin dulu dia...

Post create comment saya...

Post create comment saya jalan...

Udah...

Udah...

Option...

Get home URL...

Halah...

Site URL...

Ini...

Jadi saya tinggal kunjungi...

Si GitHubnya...

Lewat...

Tadah...

Asik...

Admin...

Password...

Karena admin password...

Karena saya setup di post...

Setupnya saya begitu...

Tadah...

Simple banget bayangin dulu...

Susahnya setengah mati mau...

Nginstall...

WordPress baru...

Harus nge-set apa...

XAMPP...

Nyalain XAMPP nyalain apalagi...

Semua apanya...

Nah GitHub ini menarik deh...

Dia punya dua produk yang...

Dia punya dua produk yang...

Apa itu...

Yang mirip code spaces sama?

Satu GitHub code spaces...

Yang ini nih...

Satu lagi GitHub.dev...

Baru inget yang pencet tipik di semua repo...

Itu GitHub.dev...

Nah bedanya adalah GitHub.dev itu...

Editor...

Sama-sama based on VS Code...

Ya iyalah...

Sama-sama based on VS Code...

Tapi kalau yang GitHub.dev itu lightweight lah...

Poolnya simple banget dan cuma text editor...

Jadi kita bisa ngedit semua...

Kita bisa commit ya apapun...

Operasi git lah...

Commit, merge atau apapun bisa...

Cuma gak bisa jalanin server...

Yang gak bisa kayak gini...

Gak bisa ngapa-ngapain...

Gak bisa di preview...

Gak bisa ngerun apapun...

Tapi bisa ngedit...

Create file...

Punya yang operasi file system...

Dari create...

Dari apa...

Bikin file baru, ngedelete, ngerename...

Ngedit isinya...

Git add, git merge...

Itu bisa di GitHub.dev...

Tapi gak bisa ngejalanin kayak gini...

Ini yang lebih ringan ya...

Untuk edit-edit sederhana...

Gitu kali ya...

GitHub.dev itu iya ya...

Bukan, ini code space, ini yang full server...

Oh bukan, ini code space...

Maksudnya yang GitHub.dev...

GitHub.dev itu kita gak bisa ngejalanin...

Jadi misalnya kita punya...

Yaitu WordPress site...

Atau code base Laravela...

Atau code base Next.js...

Kita gak bisa di preview, gak bisa running...

Masisnya bisa sampai yang serius juga loh...

Sampai 16 core...

Tapi gratisnya bisa loh...

Kalo gratisnya gak bisa deh...

Kenapa, kenapa?

Gratisan bisa...

Gak bisa kan, gak bisa update...

Ini gratis, ini gratis...

Kode space itu kan...

Retire-nya kan...

Core hour...

Jadi kalo kita 4 core, makin cepet lagi...

Oh makin mahal, i see...

Enak ya...

Kenapa? Itu bagus sih kaya bisnis modelnya...

Kita pengen nyoba kan bisa...

Ya makin banyak kita pake, otomatis...

Ya tambah mahal...

Maksudnya itu fair kan...

Mereka pengen cari untung, kita pengen ngetes...

Barrier...

Oh ini SAS 20 core hour per month...

Barrier entry-nya untuk...

Untuk code space ini...

Adalah harus pake kategori ini...

Itu barrier entry-nya...

Di Indonesia itu...

Satu hal yang cukup...

Cukup langka...

Hanya 3%...

Hanya 3%...

Hanya 3%?

3% dari jumlah penduduk...

Untuk penetrasi kartu kredit...

Di Indonesia...

Kalo kaya kantoran gitu...

Kayaknya udah biasa kan ya...

Biasanya kan kantor...

Tempat kerja developer yang...

Ya di dunia teknologi lah...

Kan pasti kantor udah ada kartu kredit...

Gitu kan...

Untuk perusahaannya ya...

Tapi untuk karya...

Maksudnya untuk individu per...

Developer-nya...

Begitulah GitHub code space...

Jadi...

GitHub-nya...

Mempermudah barrier entry...

Untuk project base...

Jadi sudah ada...

Kan sudah pasti project base itu...

Opionated...

Untuk...

Kalo kita bareng sama tim...

Ya setup-nya harus begitu...

Pakai GitHub code space itu...

Dan...

Sorry...

Karena GitHub dan Microsoft dan VSCode...

Adalah satu company...

Defcontainer yang saya setup tadi...

Bisa di jalankan di lokal...

Bisa di sync ya...

Ya Defcontainer yang...

Bukan...

Jadi waktu itu...

Abis itu bisa dijalankan di lokal host gitu ya...

Bukan...

Bukan itu masa saya...

Jadi...

Kayak lokal biasa aja kan...

Ya kan bisa dijalankan di lokal host kan...

Iya...

Si VSCode...

Akan...

Akan ngedetek Defcontainer.json juga...

Bisa...

Dan kalo misalnya kita mau setup Defcontainer-nya...

Maka VSCode akan...

Menjalankan script saya yang disini...

Men set up...

Plop plop plop...

Dan langsung...

Si VSCode-nya ngeremote ke...

Defcontainer...

Jadi...

Projek saya yang di lokal jalan...

Jalan di dalam Docker...

Sudah jadi...

Automatis gitu...

Semuanya...

Karena saya sudah sediakan Defcontainer...

Jadi sekarang di projek-projek itu mulai...

Makanya kenapa saya harus pake VSCode...

Setupnya pake Defcontainer...

Semua...

Jadi...

Begitu barir entry untuk onboarding...

Begitu mereka nge-pool project...

Langsung Defcontainer-nya...

Ngedetek...

Langsung jalanin...

Jalanin semua opunited setup...

Block...

Udah tinggal onboarding aja...

Dan code spaces tentunya dipakai di...

Github-nya sendiri...

Dipakai...

Mereka sudah enggak pakai macOS model lagi...

Mungkin laptopnya...

Yang lebih ringan kali ya...

Kayak Macbook Air kali ya...

Terus mereka semuanya...

Moding-nya pakai code spaces...

Macbook Pro M3 muncul tadi malam...

Dan harganya luar biasa...

Nah ini ada pertanyaan menarik nih...

Kira-kira bisa nggak...

Disdeploy ke serverless...

Biar enggak mahal...

Lambda...

Csp-nya ada dia...

CN-nya...

Gak bisa...

Ini enggak bisa deh...

Karena code server...

Kan jalannya harus...

Harus jalan terus kan...

Ga cocok...

Buat serverless kayaknya...

Kecuali duitnya...

Jadi kayak serverless...

Kalau yang dimaksud adalah...

Dia otomatis...

Berhenti...

Kita nggak pengapain...

Misalkan nggak gitu...

Time off atau idle...

Dalam beberapa menit itu...

Bisa aja dibuat scriptnya sih...

Artinya kita...

Stop instantnya kayak gitu...

Kita code spaces itu...

Kalau kita nggak...

Idle 15 menit...

Dia post...

Code spacesnya...

Dan kalau post, dia nggak hitung core hour...

Oh bagus ya...

Baik...

Lagi pula serverless itu function as a service kan...

Kita nggak bisa install macam-macam...

Kayak pakai...

Base yang seperti tadi mas Rio...

Contoh kan ya...

Sebenarnya...

Kalau serverless...

Nggak hanya itu aja sih...

Koncept serverless kan sebenarnya...

Operasional model aja...

Yang saya bilang itu kan lebih ke...

Specifik ke...

Selain kayak lambda ya...

Oh ya lambda...

Tapi kalau...

Serverless juga ada kayak...

Kalau di AWS itu ada yang kayak...

Fargate...

Oh Fargate...

Kita nggak perlu menit apapun...

Pokoknya tinggal lempar aja...

Terus...

Terserah dia...

Keraminya gimana...

S3 itu sebenarnya serverless kan...

Karena kita underlying...

Yang ngurusin...

Terus kita hanya bayar...

Ketika kita...

Kalau nge-upload...

Kalau nggak...

Mau kan itu kan...

Kita nggak bayar...

Tapi...

Kalau saya ya...

Nanti rencana sih saya ke depan...

Kalau saya serius di VS Good...

Saya akan connectkan...

Instant VS Good saya dengan...

Jadi kalau saya sudah nggak...

Shutdown aja gitu ya...

Matiin gitu ya...

Ada komennya...

Kalau mau...

Tinggal on kayak gitu...

Dengan cintak tertentu...

Itu bisa aja...

Iya iya iya...

Menarik...

Tapi kalau yang saya...

Kalau untuk menekan biaya...

Di tempat yang saya...

Pakai sekarang...

Yang saya pakai itu...

Dia pakai spot instant malah...

Oke...

Malah aneh kan...

Spot instant kan bisa determine...

Kapan pun kan...

Terus gimana saya...

Receive datanya semua...

Padahal kan itu spot instant...

Semua...

Data saya yang di Cloud 9 tadi...

Itu saya...

Pakainya bukan di local file system...

Tapi di EFS...

NFS...

Jadi saya punya script...

Ketika dia booting...

Dia akan memount...

File server itu...

Ke home directory...

Jadi semua yang saya tinggal...

Ketika servernya itu ganti...

Karena dia kan determinate...

Karena dia spot instant...

Spot instant kan nggak ada garansi bahwa...

Instant itu atau server itu...

Akan terus jalan kan...

Karena kan ada harga yang lebih murah...

Harga yang lebih murah...

Tapi nggak ada jaminan nih...

Kamu bakalan aman...

Dari determination...

Tapi...

Aku...

Akalin dengan...

Semua file nya nggak aku letakkan...

Di server nya...

Tapi aku letakkan di cell server...

Jadi ketika dia determine...

Data saya semua aman...

Nanti server nya up lagi...

Spot instant nya...

Otomatis boot script nya...

Kita akan memount file server...

Yang ada di...

Kemudian di mount di home...

Kan semua konfigurasinya akan kembali seperti semula...

Oh...

Itu lebih murah...

Lebih murah ya...

Itu lemahnya kan namanya file server ya...

Jadi...

Terutama kalau...

NPM...

File kecil...

File gede nggak masalah...

Gak bisa terlalu banyak...

Tapi kalau file kecil di bawahnya...

Yang sebenarnya...

Karena yang lama itu kayak open connection nya ya...

Masing-masing...

Harus...

Latensi kan...

Itu kan network kan...

Setiap kita nge-read atau write...

Ada overhead...

Ada overhead...

Jadi...

Ada dread off nya lah...

Kayak gitu...

Kira-kira rencana kedepan...

Buat project VSCode on server ini...

Mau...

Dihapain aja...

Itu ada build up map nya...

Kalau boleh request itu...

Maksudnya itu...

Yang ke subdomain...

Lebih menarik ke subdomain, karena gini...

Kalau subfolder...

Aplikasinya bisa kena...

Ke masalah routing...

Frontend terutama ya...

Routing nya kena...

Jadi misalnya, karena...

Domain nya apa, terus ada subfolder...

Dan nanti aplikasi kita berbeda...

Itu moment di routing...

Sedangkan waktu di live nya...

Kita tanpa ada subfolder...

Nah itu...

Sebenernya bisa...

Tapi masalahnya...

Masalahnya itu di zero SSL...

Atau less entry nya...

Dia gak mau ngerima wildcard...

Kecuali ada DNS validation...

Jadi harus pure automatic...

Jadi harus kita...

Saya di traffic bisa...

Nanti saya coba ulik deh...

Request udah...

Gini...

Belum pernah pake caddy...

Jadi saya coba ulik nanti...

Coba ya...

Coba net caddy kayaknya...

Aku bisa yang wildcard...

Cuman kan...

Ada kelemahan...

Apa ya kemarin...

Dificate nya itu kayaknya...

Kalau wildcard itu...

Ada aturan apa lupa...

Nanti...

Gue coba lagi...

Memang...

Domain nya memang gak gitu...

Nanti kalau gak bisa pake...

Saya pernah pake namanya...

Engine X proxy manager...

Ada tampilan ini nya lagi...

Ada tampilan...

Gui nya untuk engine X...

Coba nanti buka...

Engine X proxy manager lagi...

Kita bisa bikin sendiri...

Kita punya reverse proxy disitu...

Coba ya...

Anyway...

Nanti lah coba saya ulik, pasti bisa...

Kalau gitu...

Kalau lihat...

Jangan kaget ya script saya itu...

Gak ada perintah if nya...

Gak ada else nya...

Bisa...

Aku tipe...

Aku mengambil apa...

Istirahanya...

Early return...

Pattern...

Atau intinya sebesar mungkin aku gak pake else...

Jadi kalau dilihat kodonya...

Setiap kodaku itu...

Abis gak ada else nya...

Pasti ya hanya if aja...

Kalau di self script malah gak ada syntax if nya...

Cuma syntax bracket aja kalau dilihat...

Jadi contohnya...

Kalo deteksi apa...

Deteksi...

Ini ya contohnya...

Logical operator apa kaget itu...

Nah kaget itu...

Apakah file ini ada...

Jika ada, lakukan ini...

Berarti fungsinya dipecah kecil-kecil ya...

Jadi yaudah...

Langsung return...

Langsung return...

Tapi kan berarti gak bisa macem-macem...

Satu fungsinya...

Kenapa scope nya jadi lebih kecil-kecil...

Seru, seru, seru...

Tapi menurutku lebih simple...

Lebih mudah dimengerti kalau menurutku fungsinya...

Karena dia lebih kecil, terus lebih...

Dia jalannya udah pasti...

Oh dia berhenti di sini gak gitu...

Udah...

Preferensi sih...

Ya, ya...

Ini ide...

Episod kedepan nih...

Ngobrolin clean code...

Atau apa ya...

Style-style yang kayak gitu...

Itu namanya apa sih? Kayak pattern gitu...

Ya gitu lah...

Ngobrolin clean code...

Siap, siap, siap...

Ada lagi mau dicampai kan...

Sebelum kita udahan?

Udah...

Aman? Okay...

Ya mau follow-follow Mas Ryo kemana?

Github.com/RyoAstamal

Ya atau di-link-in aja...

Ya...

RyoAstamal, harusnya namanya cuma satu aja ya...

Nggak ada orang lain ya...

Unique...

Cukup unik namanya...

Cukup unik, ya...

Okay, kalau gitu...

Kita pambit dulu...

Terima kasih banyak buat semuanya yang sudah hadir malam hari ini...

Terima kasih banyak buat Mas Ryo...

Terima kasih...

Terima kasih...

Projek yang keren banget...

Mudah-mudahan...

Terima kasih juga dari sini...

Buat ide baru ya...

Yang belum star, silahkan di-star ya...

Yang belum star, silahkan di-star...

Yang belum star, silahkan di-follow...

Mutualan, mutualan...

Oke...

Sekian dulu untuk episode kita kali ini...

Sampai jumpa lagi...

Hari Sulasa depan jam 8 malam...

Bye-bye...

Bye...

Oh belum disiap...

-Singgir -Singgir

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://ksana.in/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 .