ROADMAP FULLSTACK
PENGENALAN ROADMAP
-FULLSTACK
• Roadmap ini mencakup langkah-langkah, teknologi, dan
konsep-konsep yang perlu dipelajari, serta urutan belajar yang
direkomendasikan.
• Misalnya, seorang Full Stack Developer Roadmap
mencakup keterampilan-keterampilan yang perlu dipelajari dari pemula hingga
profesional, seperti penggunaan command line, version control, dasar-dasar web,
dan topik-topik lainnya
Menjadi seorang fullstack
Hal yang wajib skill yang di punya oleh seseorang Programmer secara general ya. harus memiliki skill Yaitu :
- HTML Hypertext Markup Language (Untuk Struktur Halaman HTML, ada banyak file namun bisa di akses file klik tombol saja)
| Contoh Struktur HTML |
- JAVASCRIPT (Untuk supaya website bisa lebih interaktif /memiliki animasi dll)
Sekarang jika sudah mulai paham dengan HTML,CSS,JAVASCRIPT lanjut pembahasan lain
- NPM (NODE PACKAGE MANAGER) --> sering di gunakan untuk mempermudah menambahkan tools yang serupa dengan orang lain, tanpa harus buat baru lagi. tetapi tidak dapat asal COPY&PASTE begitu saja perlu penyesuaian dengan codingnnya yahhh...
- GIT/GITHUB--> VERSION CONTROL SYSTEM (VCS)
- REACT (REACT adalah sebuah perpustakaan (library) React juga dapat di gunakan utnuk merender antarmuka/interfaces di sisi node.js dan juga mendukung pengembangan applikasi android melalui kerangka kerja React Native).
- NODE.JS
disini backend ada yang menggunakan MYSQL dan NON-MYSQL
- MYSQL
- NON-MYSQL
- PostgreSQL
- SQLite
- MongoDB
- RESTFULL APIs (Dulu nama-namanya sebelum di ganti menjadi APIs)
- RPC (Remote Procedure Call): Ini adalah metode yang memungkinkan program untuk memanggil fungsi pada program lain di jaringan.
- Web services: Ini adalah aplikasi web yang menyediakan fungsionalitas yang dapat diakses oleh program lain melalui HTTP.
- SOAP (Simple Object Access Protocol): Ini adalah protokol standar untuk pertukaran data antara aplikasi web.
- REST (Representational State Transfer): Ini adalah gaya arsitektur untuk web services yang menekankan penggunaan HTTP untuk manipulasi data
2. Autentikasi JWT (JSON Web Token)
- Proses Login: Ketika pengguna login, server akan membuat token JWT yang berisi informasi tentang pengguna, seperti nama pengguna, ID pengguna, dan peran. Token ini ditandatangani dengan kunci rahasia dan dienkripsi. Server kemudian akan mengirimkan token kepada pengguna, biasanya dalam bentuk cookie atau header HTTP.
- Autentikasi Akses: Ketika pengguna ingin mengakses sumber daya yang dilindungi, mereka harus menyertakan token dalam permintaan mereka. Server akan menerima token dan melakukan langkah-langkah berikut
- Memverifikasi tanda tangan: Server akan menggunakan kunci publik untuk memverifikasi tanda tangan pada token. Jika tanda tangan tidak valid, token ditolak.
- Dekripsi token: Server akan mendekripsi token untuk mendapatkan informasi tentang pengguna.
- Memverifikasi informasi pengguna: Server akan memverifikasi informasi pengguna dalam token. Jika informasi tidak valid, token ditolak.
- Mengizinkan akses: Jika token valid, server akan mengizinkan akses ke sumber daya yang dilindungi.
- Aman: Token JWT ditandatangani dan dienkripsi, sehingga aman dari pemalsuan dan manipulasi.
- Stateless: Autentikasi JWT tidak memerlukan penyimpanan informasi sesi di server, sehingga lebih skalabel dan efisien.
- Fleksibel: Token JWT dapat digunakan dengan berbagai jenis aplikasi, termasuk aplikasi web, aplikasi mobile, dan API.
3.Redis: Penyimpanan Data In-Memory yang Cepat dan Skalabel
- Kecepatan Tinggi: Redis dapat melakukan operasi baca dan tulis dengan sangat cepat karena data disimpan dalam memori.
- Skalabilitas: Redis dapat diskalakan secara horizontal dengan menambahkan lebih banyak server ke cluster.
- Ketahanan: Redis dapat direplikasi untuk memastikan ketersediaan data yang tinggi.
- Multi-Model Data: Redis mendukung berbagai struktur data, seperti string, hash, list, set, dan sorted set.
- Kemudahan Penggunaan: Redis mudah digunakan dan dipelajari.
- Caching: Redis dapat digunakan untuk cache data yang sering diakses untuk meningkatkan kinerja aplikasi.
- Real-time applications: Redis dapat digunakan untuk membangun aplikasi real-time seperti chat dan social media.
- Leaderboards: Redis dapat digunakan untuk membangun leaderboards untuk game dan aplikasi lainnya.
- Messaging: Redis dapat digunakan sebagai message broker untuk decouple aplikasi dan layanan.
Pengetahuan DevOps
Sebagai Seorang fullstack wajib paling tidak mengerti ilmu LINUX BASIC, seperti CLI di terminal linux yang simple-simple saja seperti remoe rm "<file_name>" (tanpa tulisan di dalam kutip langsung saja sesudah rm masukkan nama filenya)
- Basic AWS SERVICE/layanan
- Route53 (untuk manage DOMAIN NAME SYSTEM (DNS) )
- SES (Simple Email Service (SES) biasa ini lebih stabil, fleksibel dan harganya murah)
- EC2 (Elastic Compute Cloud (EC2) layanan web yang menyediakan kapasitas bentuk server virtual )
- VPC(Virtual Private Cloud (VPC) ini biasanya kurang lebih seperti RDP(REMOTE DESKTOP PROTOCOL) fungsi sama seperti windows biasa atau linux pada umumnya)
- S3(Layanan penyimpanan cloud (S3) seperti google drive)
- Monitoring kode program:
- Definisi: Merupakan proses mengamati dan melacak kinerja kode program. Ini dapat dilakukan dengan berbagai cara, seperti
- Memantau penggunaan memori dan CPU: Untuk memastikan program berjalan dengan efisien.
- Mencari bug dan kesalahan: Untuk memastikan program berjalan dengan benar.
- Melacak perubahan kode: Untuk melihat bagaimana kode telah berkembang dan bagaimana perubahan memengaruhi kinerja program.
- Tujuan: Membantu pengembang untuk:
2. Meningkatkan stabilitas program:
Dengan mengidentifikasi dan memperbaiki bug yang menyebabkan program mogok
atau menghasilkan hasil yang tidak terduga.
3. Memahami cara kerja program: Dengan melacak perubahan kode dan melihat bagaimana perubahan tersebut memengaruhi kinerja program.
- Contoh alat monitor codingan
- New Relic: Alat yang populer untuk memantau kinerja aplikasi web dan mobile.
- AppDynamics: Alat yang populer untuk memantau kinerja aplikasi Java, .NET, dan PHP.
- Dynatrace: Alat yang populer untuk memantau kinerja aplikasi cloud.



asda