Tutorial Terraform untuk Pemula: Infrastruktur sebagai Kode Dari File Pertama hingga Modul
Pelajari Terraform tanpa akun cloud atau tagihan kejutan. Mulailah dengan file lokal untuk memahami rencana, penerapan, dan status, lalu beralih ke sumber daya cloud nyata, modul, dan alur kerja yang aman bagi tim.
- Terraform membuat dan mengubah infrastruktur dari file teks yang dapat Anda simpan di Git.
- Alur kerja inti adalah
init,plan,apply, danplanmenunjukkan perubahan sebelum terjadi. - file status mencatat apa yang dikelola Terraform. Lindungi, dan jangan pernah komit ke Git.
- Gunakan modul untuk menggunakan kembali pola, dan status jarak jauh dengan penguncian saat bekerja dalam tim.
Mengklik di sekitar konsol cloud baik-baik saja untuk satu server. Ini rusak ketika Anda memerlukan pengaturan yang sama dalam pementasan dan produksi, atau ketika seseorang bertanya siapa yang mengubah aturan firewall pada bulan Maret lalu. Tutorial Terraform untuk pemula ini menunjukkan cara yang lebih baik: jelaskan infrastruktur Anda dalam kode, dan biarkan alat mewujudkannya.
Sebagian besar tutorial dimulai dengan akun cloud, yang menambah risiko penagihan sebelum Anda mempelajari apa pun. Kami mulai dengan penyedia Terraform local, yang hanya membuat file di komputer Anda, jadi kesalahan tidak memerlukan biaya apa pun. Contoh-contoh ini dan contoh keluarannya adalah ilustrasi standar yang tidak kami jalankan untuk artikel ini, dan susunan kata yang tepat bervariasi menurut versi.
Apa itu Terraform?
Terraform adalah alat infrastruktur sebagai kode (IaC) dari HashiCorp. Anda menulis file konfigurasi dalam HCL, Bahasa Konfigurasi HashiCorp, yang menjelaskan hasil akhir yang Anda inginkan. Terraform kemudian menentukan apa yang harus dibuat, diubah, atau dihapus untuk mencapainya.
Ia berkomunikasi dengan platform melalui plugin yang disebut penyedia. Ada penyedia untuk AWS, Azure, Google Cloud, Kubernetes, GitHub, Cloudflare, dan banyak lainnya, sehingga Anda dapat menggunakan satu alur kerja di semuanya.
Satu hal yang perlu diketahui: pada tahun 2023, HashiCorp memindahkan Terraform ke Lisensi Sumber Bisnis. Komunitas kemudian membuat OpenTofu, sebuah fork sumber terbuka yang menggunakan perintah dan konfigurasi yang sangat mirip. Apa yang Anda pelajari di sini sebagian besar berlaku untuk keduanya.
Mengapa infrastruktur sebagai kode?
| Pertanyaan | Konsol manual berfungsi | terraform |
|---|---|---|
| Siapa yang mengubah apa? | Sulit untuk mengetahuinya | sejarah Git |
| Bisakah kita menyalin pementasan ke produksi? | Mengklik dengan hati-hati | Gunakan kembali kode tersebut |
| Apa manfaat perubahan ini? | Anda mengetahuinya setelah itu | terraform plan menunjukkannya kepada Anda terlebih dahulu |
| Bisakah seseorang mengulasnya? | Tidak mudah | Permintaan tarik normal |
| Pemulihan bencana | Tergantung pada ingatan orang | Buat ulang dari kode, ditambah cadangan data |
Terraform juga deklaratif. Anda menyatakan “harus ada tiga server”, bukan “buat server, tiga kali”. Jika sudah ada dua, ia menambahkan satu. Sebuah skrip yang hanya mengulangi langkah-langkahnya bisa menghasilkan tiga langkah lagi.
Instal Terraform
Instal menggunakan instruksi resmi HashiCorp untuk sistem operasi Anda, lalu konfirmasikan bahwa itu berfungsi:
terraform -version
Buat folder kosong untuk proyek tersebut. Terraform membaca setiap file .tf di folder saat ini, jadi satu folder sama dengan satu konfigurasi.
Konfigurasi pertama Anda
Buat file bernama main.tf:
terraform {
required_providers {
local = {
source = "hashicorp/local"
version = "~> 2.5"
}
}
}
resource "local_file" "greeting" {
filename = "${path.module}/hello.txt"
content = "Hello from Terraform\n"
}
Lihatlah blok resource, karena hampir semua yang Anda tulis mengikuti bentuk ini. local_file adalah jenis sumber daya, dan greeting adalah nama Anda sendiri untuk sumber daya tersebut di dalam konfigurasi. Bersama-sama, mereka membentuk alamatnya: local_file.greeting. Argumen di dalamnya menggambarkan apa yang Anda inginkan.
Alur kerja: init, plan, apply
terraform init
Ini menyiapkan folder dan mengunduh penyedia yang Anda minta. Jalankan sekali di awal, dan jalankan lagi setiap kali Anda menambahkan penyedia atau modul. Itu juga membuat file .terraform.lock.hcl, yang mencatat versi penyedia yang tepat. Komit file itu ke Git.
terraform init
rencana terraform
Ini membandingkan kode Anda dengan apa yang ada dan menunjukkan perubahan yang direncanakan, tanpa menyentuh apa pun:
terraform plan
# local_file.greeting will be created
+ resource "local_file" "greeting" {
+ content = "Hello from Terraform\n"
+ filename = "./hello.txt"
}
Plan: 1 to add, 0 to change, 0 to destroy.
Pelajari simbol-simbolnya, karena Anda akan membaca banyak rencana:
| Simbol | Artinya |
|---|---|
+ |
Buat |
~ |
Pembaruan di tempat |
- |
Hancurkan |
-/+ |
Hancurkan dan ciptakan kembali |
terraform berlaku
Ini menunjukkan rencananya lagi, meminta konfirmasi dan membuat perubahan:
terraform apply
Ketik yes, dan hello.txt muncul. Sekarang jalankan terraform plan lagi. Seharusnya melaporkan tidak ada perubahan, karena kenyataan sudah sesuai dengan kode Anda. Properti ini, jika dijalankan berulang kali tidak menyebabkan perubahan lebih lanjut, disebut idempotensi.
Mengubah dan menghancurkan
Edit baris content dan jalankan terraform plan. Terraform menemukan perbedaannya dan mengusulkan perubahan. Untuk sumber daya ini, ia menggantikan file. Perhatikan penggantian infrastruktur nyata, karena membuat ulang database dapat berarti kehilangan data.
Selanjutnya, hapus hello.txt dengan tangan dan rencanakan lagi. Terraform menyadari bahwa itu hilang dan menawarkan untuk membuatnya kembali. Perbedaan antara kode Anda dan kenyataan disebut drift, dan mendeteksinya adalah salah satu manfaat utama alat ini.
Untuk menghapus semua yang dikelola konfigurasi ini, jalankan:
terraform destroy
Variabel dan keluaran
Nilai-nilai hard-code menghentikan Anda menggunakan kembali kode. Variabel masukan membuat konfigurasi menjadi fleksibel, dan keluaran melaporkan kembali nilai-nilai yang berguna:
# variables.tf
variable "environment" {
type = string
description = "Deployment environment"
default = "dev"
validation {
condition = contains(["dev", "staging", "prod"], var.environment)
error_message = "Use dev, staging or prod."
}
}
# main.tf
resource "local_file" "config" {
filename = "${path.module}/${var.environment}.txt"
content = "environment=${var.environment}\n"
}
# outputs.tf
output "config_path" {
value = local_file.config.filename
}
Tetapkan nilai pada baris perintah, atau simpan dalam file bernama terraform.tfvars, yang dimuat secara otomatis:
terraform apply -var="environment=staging"
Menggunakan local_file.config.filename dalam output juga merupakan cara sumber daya merujuk satu sama lain. Terraform membaca referensi tersebut untuk menentukan urutan yang benar dalam menciptakan sesuatu.
Keadaan terraform
Setelah mendaftar, Anda akan menemukan file bernama terraform.tfstate. Ini adalah catatan Terraform tentang apa yang dikelolanya, memetakan kode Anda ke objek nyata. Tanpanya, Terraform tidak akan mengetahui bahwa local_file.greeting adalah file spesifik tersebut.
Tiga aturan penting di sini:
- Jangan pernah memasukkan status ke Git. Ini dapat berisi kata sandi dan rahasia lainnya dalam teks biasa.
- Jangan mengeditnya dengan tangan. Gunakan perintah seperti
terraform state listdanterraform state mv. - Gunakan backend jarak jauh untuk proyek tim. Backend bersama menyimpan status secara terpusat dan menguncinya, sehingga dua orang tidak dapat mengajukan permohonan sekaligus.
Berikut adalah backend umum yang menggunakan Amazon S3, dengan bucket yang Anda buat sebelumnya:
terraform {
backend "s3" {
bucket = "my-company-terraform-state"
key = "shop/prod/terraform.tfstate"
region = "ap-south-1"
encrypt = true
use_lockfile = true
}
}
Kiat: Mulailah setiap proyek dengan .gitignore yang mengecualikan .terraform/, *.tfstate, *.tfstate.* dan *.tfvars file apa pun yang menyimpan rahasia.
Sumber daya cloud yang nyata
Alur kerja tidak berubah saat Anda berpindah ke cloud. Ini adalah bucket S3 di AWS. Periksa harga terlebih dahulu, dan hancurkan apa pun yang Anda buat saat berlatih:
provider "aws" {
region = "ap-south-1"
}
resource "aws_s3_bucket" "reports" {
bucket = "my-unique-reports-bucket-2026"
tags = {
Environment = var.environment
ManagedBy = "terraform"
}
}
Terraform mendapatkan kredensial dari pengaturan AWS CLI atau variabel lingkungan Anda. Jangan pernah menulis kunci akses ke file .tf.
Modul
Modul hanyalah folder file Terraform yang dapat Anda panggil dengan input berbeda. Ini berfungsi seperti sebuah fungsi, memungkinkan Anda mendefinisikan suatu pola satu kali dan menggunakannya kembali:
project/
main.tf
modules/
reports_bucket/
main.tf
variables.tf
outputs.tf
module "staging_reports" {
source = "./modules/reports_bucket"
environment = "staging"
}
module "prod_reports" {
source = "./modules/reports_bucket"
environment = "prod"
}
Terraform Registry publik juga memiliki modul siap pakai, tetapi bacalah modul tersebut sebelum Anda mengandalkannya, dan sematkan versinya. Jangan membuat modul terlalu dini. Tunggu sampai Anda mengulangi suatu pola setidaknya dua kali.
Alur kerja tim yang aman
- Buat cabang dan ubah file
.tf. Lihat Tutorial Git untuk pemula kami jika Anda memerlukan penyegaran. - Jalankan
terraform fmtdanterraform validate. - Buka permintaan tarik, dengan keluaran
terraform planterlampir untuk ditinjau. - Setelah disetujui, terapkan rencana tersimpan tersebut dari satu tempat terkendali, idealnya di saluran pipa.
Menyimpan paket memastikan Anda menerapkan apa yang telah ditinjau:
terraform plan -out=tfplan
terraform apply tfplan
Hal ini secara alami cocok dengan CI/CD dan Tindakan GitHub. Terraform biasanya menyediakan cluster, dan alat seperti Kubernetes kemudian menjalankan aplikasi di atasnya.
Kesalahan umum
- Melamar tanpa membaca rencana. Satu
-/+di database bisa menjadi kejutan yang sangat mahal. - Menyimpan status di satu laptop. Jika laptop tersebut hilang, Terraform akan kehilangan jejak infrastruktur Anda.
- Membuat perubahan konsol manual. Perubahan tersebut menyebabkan penyimpangan, dan penerapan selanjutnya dapat membatalkan perubahan tersebut.
- Menggunakan versi yang tidak dipasangi pin. Pasang pin pada penyedia dan versi modul sehingga peningkatan dilakukan dengan sengaja.
- Menggunakan satu konfigurasi besar. Pemisahan berdasarkan lingkungan atau sistem membatasi kerusakan akibat kesalahan apa pun.
Penutup
Anda sekarang telah melihat ide di balik hampir semua pekerjaan Terraform: mendeklarasikan sumber daya, meninjau rencana, menerapkannya, dan melindungi negara. Berlatihlah dengan penyedia local hingga alur kerja terasa alami, lalu kelola satu sumber daya nyata kecil di akun tingkat gratis. Memasukkan status dan modul jarak jauh ketika lebih dari satu orang, atau lebih dari satu lingkungan, terlibat.
Pertanyaan yang sering diajukan
Terraform digunakan untuk apa?
Terraform digunakan untuk membuat dan mengelola infrastruktur, seperti server, jaringan, database, dan DNS, dengan mendeskripsikannya dalam kode alih-alih mengonfigurasinya secara manual.
Apakah Terraform gratis?
Terraform CLI bebas digunakan di bawah Lisensi Sumber Bisnisnya, meskipun persyaratannya membatasi beberapa penggunaan komersial yang bersaing. HCP Terraform memiliki tingkatan berbayar, dan OpenTofu adalah open source.
Apa perbedaan antara Terraform dan Ansible?
Terraform terutama menyediakan infrastruktur secara deklaratif. Ansible terutama mengonfigurasi perangkat lunak pada mesin yang ada. Banyak tim menggunakan keduanya, Terraform terlebih dahulu dan Ansible setelahnya.
Apa itu file status Terraform?
Ini adalah catatan yang memetakan konfigurasi Anda ke sumber daya nyata. Terraform menggunakannya untuk mengatasi perubahan. Itu bisa menyimpan rahasia, jadi simpanlah dengan aman dan jauhkan dari Git.
Apakah saya perlu mengetahui pemrograman untuk mempelajari Terraform?
Tidak terlalu. HCL sederhana dan deklaratif. Memahami platform yang Anda kelola, seperti jaringan AWS, biasanya lebih sulit dibandingkan bahasanya sendiri.
Teruslah belajar
Butuh bantuan dengan pengujian, WordPress atau SEO?
Kami membantu tim mengirimkan perangkat lunak yang lebih baik dan mengembangkan situs mereka. Beritahu kami apa yang sedang Anda kerjakan dan kami akan menyarankan langkah selanjutnya yang jelas.
Panduan lebih lanjut tentang pengujian, AI & pengembangan modern
Menikmati artikel ini? Pilih topik dan langsung masuk ke tutorial terbaru kami.
Penjelasan Halusinasi AI: Mengapa Model Bahasa Memperbaiki Masalah dan Cara Menguranginya
Halusinasi AI menjelaskan: apa itu, mengapa model bahasa memproduksinya, tipe umum, cara menguranginya dengan landasan dan petunjuk, dan pemeriksaan…
Baca artikel →DevOpsPenjelasan Variabel Lingkungan: File .env, Rahasia, dan Konfigurasi Dilakukan dengan Benar
Variabel lingkungan dijelaskan dengan contoh Python yang kami jalankan: membaca dan mengaturnya, mengapa setiap nilai berupa string, file .env, pewa…
Baca artikel →Pengembangan perangkat lunakPenjelasan Pembatasan Kecepatan API: Algoritma, Header, dan Penanganan 429 Kesalahan
Pembatasan laju API dijelaskan dengan simulasi yang kami jalankan: keranjang token, jendela tetap, jendela geser, respons 429, header batas laju, pe…
Baca artikel →Otomatisasi pengujianMengejek dengan Python: unittest.mock, patch dan Kesalahan yang Membuat Tes Berbohong
Mengejek dengan Python dengan unittest.mock, menguji: Mock dan return_value, side_effect, menambal di mana nama digunakan, spesifikasi dan autospec,…
Baca artikel →Pengujian perangkat lunakPenjelasan Cakupan Kode: Cakupan Jalur vs Cabang dan Apa Arti 100% Sebenarnya
Cakupan kode dijelaskan dengan coverage.py yang sebenarnya dijalankan: cakupan garis, cabang dan kondisi, membaca laporan, mengapa cakupan 100% masi…
Baca artikel →Basis data & SQLDELETE vs TRUNCATE vs DROP dalam SQL: Perbedaan, Rollback dan Kapan Menggunakan Masing-Masing
DELETE vs TRUNCATE vs DROP dijelaskan dengan SQL yang diuji: apa yang dihapus, rollback, pemicu, reset identitas, kecepatan, dan perbedaan PostgreSQ…
Baca artikel →Basis data & SQLPenjelasan Tampilan SQL: Membuat, Menggunakan, dan Menghindari Kesalahan, Dengan Contoh
Tampilan SQL dijelaskan dengan kueri yang kami jalankan: membuat tampilan, hasil langsung, menyembunyikan kolom, kinerja, tampilan yang dapat diperb…
Baca artikel →Pengembangan perangkat lunakAntarmuka TypeScript vs Tipe: Perbedaan Nyata, Diuji Dengan Kompiler
Antarmuka TypeScript vs tipe, diperiksa dengan kompiler sebenarnya: apa yang bisa dilakukan keduanya, apa yang hanya bisa dilakukan satu orang, peng…
Baca artikel →Pengembangan perangkat lunakPenjelasan Python *args dan **kwargs: Fungsi Fleksibel Dengan Contoh Jelas
Python *args dan **kwargs dijelaskan dengan kode yang kami jalankan: pengepakan dan pembongkaran, urutan parameter, argumen hanya kata kunci dan pos…
Baca artikel →Pengembangan perangkat lunakFungsi Python Lambda: Sintaks, Kegunaan Sebenarnya, dan Kapan Tidak Digunakan
Fungsi python lambda dijelaskan dengan kode yang kami jalankan: sintaksis, pengurutan dengan kunci, peta dan filter, penutupan, jebakan pengikatan a…
Baca artikel →Kecerdasan buatanApa Itu Agen AI? Cara Kerjanya, Dengan Agent Loop Sederhana yang Dapat Anda Jalankan
Apa itu agen AI? Panduan sederhana tentang loop agen, alat, memori, dan pagar pembatas, dengan loop Python kecil yang kami jalankan, risiko nyata da…
Baca artikel →DevOpsPemantauan vs Observabilitas: Perbedaan Nyata, Dengan Log, Metrik, dan Jejak
Penjelasan pemantauan vs observabilitas: kegagalan yang diketahui dan tidak diketahui, log, metrik dan jejak, penelusuran insiden checkout, sinyal e…
Baca artikel →DevOpsVolume Docker vs Bind Mounts: Pertahankan Data Kontainer dengan Cara yang Benar
Volume Docker vs pengikatan pengikat dijelaskan: mengapa data kontainer menghilang, volume yang diberi nama, pengikatan pengikatan, tmpfs, contoh Tu…
Baca artikel →Otomatisasi pengujianTDD vs BDD: Perbedaan Utama, Satu Fitur Dibangun dengan Dua Cara dan Kapan Menggunakan Masing-masing
TDD vs BDD dijelaskan dengan satu fitur diskon yang dibuat dengan dua cara: refactor merah-hijau dengan kode yang kami jalankan, skenario Mengingat-…
Baca artikel →Pengujian perangkat lunakUser Acceptance Testing (UAT): Proses, Checklist dan Contoh Nyata
Pengujian penerimaan pengguna menjelaskan: siapa yang menjalankannya, perbedaannya dengan QA, proses tujuh langkah, templat kasus uji UAT, daftar pe…
Baca artikel →Basis data & SQLPenjelasan Nilai NULL SQL: IS NULL, COALESCE, NULLIF dan Jebakan yang Harus Dihindari
Nilai SQL NULL dijelaskan dengan kueri yang kami jalankan: logika tiga nilai, IS NULL, COALESCE, NULLIF, cara agregat, penggabungan, dan pengurutan …
Baca artikel →Basis data & SQLPernyataan SQL CASE WHEN: Sintaks, Contoh Nyata dan Kesalahan Umum
SQL CASE KETIKA dijelaskan dengan kueri yang kami jalankan: formulir sederhana dan dicari, urutan kondisi, pivot dengan SUM, trik COUNT, pengurutan …
Baca artikel →Pengembangan perangkat lunakApa itu JWT? Token Web JSON Dijelaskan Dengan Contoh Kerja
Apa itu JWT? JSON Web Tokens menjelaskan: tiga bagian, token yang dibuat dan dirusak dalam kode yang kami jalankan, sesi JWT vs, penyimpanan, token …
Baca artikel →Pengembangan perangkat lunakPenjelasan Loop Acara JavaScript: Call Stack, Microtasks, dan Timer Dengan Contoh
Perulangan peristiwa JavaScript dijelaskan dengan kode yang kami jalankan: tumpukan panggilan, antrian tugas dan tugas mikro, mengapa setTimeout 0 t…
Baca artikel →Pengembangan perangkat lunakGenerator Python dan Penjelasan Hasil: Menghemat Memori Dengan Contoh Nyata
Generator dan hasil Python dijelaskan dengan kode yang kami jalankan: bagaimana mereka menjeda dan melanjutkan, mengukur penghematan memori, saluran…
Baca artikel →Kecerdasan buatanApa itu Embedding? Kesamaan Vektor dan Kosinus Dijelaskan Secara Sederhana
Apa itu embeddings? Panduan bahasa sederhana tentang vektor, kesamaan kosinus, dan penelusuran semantik, dengan contoh kecil yang kami jalankan, pen…
Baca artikel →DevOpsPenerapan Biru-Hijau vs Canary: Perbedaan, Kompromi, dan Cara Memilih
Penjelasan penerapan blue-green vs canary: cara kerja masing-masing, biaya, risiko dan rollback, pengelompokan pengguna stabil yang kami uji, migras…
Baca artikel →Otomatisasi pengujianTes Tidak Stabil: Apa Penyebabnya dan Cara Memperbaikinya untuk Kebaikan
Pengujian yang tidak stabil dijelaskan dengan demo yang kami jalankan: penyebab utama, cara mengonfirmasi dan mendiagnosisnya, perbaikan waktu yang …
Baca artikel →Pengujian perangkat lunakLoad Testing vs Stress Testing: Perbedaan, Metrik dan Contoh k6
Penjelasan pengujian beban vs pengujian stres: apa yang dibuktikan masing-masing, pengujian lonjakan dan rendam, metrik yang penting, mengapa rata-r…
Baca artikel →Pengujian perangkat lunakKasus Uji vs Skenario Uji: Perbedaan Utama, Contoh, dan Kapan Menggunakan Masing-masing
Penjelasan kasus uji vs skenario pengujian: definisi yang jelas, tabel berdampingan, satu fitur pengaturan ulang kata sandi yang diambil dari skenar…
Baca artikel →Basis data & SQLOptimasi Kueri SQL: Baca Rencana Eksekusi dan Perbaiki Kueri Lambat, Dengan Pengaturan Waktu
Pengoptimalan kueri SQL diuji pada sejuta baris: membaca rencana eksekusi, menambahkan indeks yang tepat, memperbaiki filter yang tidak dapat disarg…
Baca artikel →Basis data & SQLSQL UNION vs UNION ALL: Perbedaan, Contoh dan Kinerja Diuji
SQL UNION vs UNION ALL dijelaskan dengan kueri yang kami jalankan: duplikat, aturan yang diikuti keduanya, bug data nyata, kinerja terukur, INTERSEC…
Baca artikel →Pengembangan perangkat lunakTutorial API Pengambilan JavaScript: GET, POST, Penanganan Kesalahan, dan Batas Waktu
Tutorial JavaScript Fetch API diuji pada server lokal: GET dan POST, mengapa 404 tidak muncul, bantuan yang dapat digunakan kembali, string kueri, b…
Baca artikel →Pengembangan perangkat lunakPenanganan File Python: Baca, Tulis, CSV, JSON dan pathlib Dengan Contoh
Penanganan file Python dijelaskan dengan kode yang kami jalankan: mode terbuka, dengan, membaca file besar, CSV, JSON, pathlib, file biner, penulisa…
Baca artikel →Pengembangan perangkat lunakKelas dan Objek Python: Tutorial OOP Dengan Contoh Nyata
Kelas dan objek Python dijelaskan dengan kode yang kami jalankan: __init__, metode, atribut kelas vs instance, warisan, properti, metode dunder, kel…
Baca artikel →Kecerdasan buatanApa Itu Model Bahasa Besar? Bagaimana LLM Bekerja, Dijelaskan Tanpa Hype
Apa yang dimaksud dengan model bahasa besar? LLM dijelaskan dalam bahasa sederhana: token, penyematan, perhatian, pelatihan, jendela suhu dan kontek…
Baca artikel →DevOpsPerintah Linux untuk Pemula: Panduan Terminal Penting Dengan Contoh
Perintah Linux untuk pemula, dikelompokkan berdasarkan tugas: navigasi, file, melihat log, grep, pipa, izin, proses dan arsip, dengan contoh analisi…
Baca artikel →Otomatisasi pengujianSelenium vs Penulis Drama: Perbedaan Utama, Perbandingan Kode, dan Mana yang Harus Dipilih
Selenium vs Playwright dibandingkan: arsitektur, menunggu, dukungan browser dan bahasa, debugging, pengujian yang sama di kedua alat, saran migrasi …
Baca artikel →Pengujian perangkat lunakPartisi Ekivalensi: Teknik Desain Tes Dijelaskan Dengan Contoh yang Dikerjakan
Penjelasan partisi ekivalensi: cara menemukan partisi yang valid dan tidak valid, contoh yang berfungsi untuk usia, kata sandi dan kupon, pengujian …
Baca artikel →Pengujian perangkat lunakSeverity vs Priority dalam Pengujian Perangkat Lunak: Perbedaan, Matriks dan Contoh Nyata
Keparahan vs prioritas dalam pengujian perangkat lunak dijelaskan: definisi yang jelas, matriks empat arah dengan contoh, skala level, siapa yang me…
Baca artikel →Basis data & SQLTutorial Subkueri SQL: Jenis, Subkueri yang Berkorelasi, dan ADA Dengan Contoh
Tutorial subkueri SQL dengan kueri yang kami jalankan: subkueri skalar, IN, FROM dan SELECT, subkueri yang berkorelasi, EXISTS, jebakan NOT IN NULL …
Baca artikel →Basis data & SQLPenjelasan Transaksi SQL dan ACID: COMMIT, ROLLBACK dan Tingkat Isolasi
Transaksi SQL dan ACID dijelaskan dengan transfer bank yang kami jalankan: COMMIT, ROLLBACK, savepoint, kunci, tingkat isolasi, pembacaan kotor, keb…
Baca artikel →Pengembangan perangkat lunakLembar Cheat Perintah Git: Perintah yang Sebenarnya Anda Gunakan, Beserta Contohnya
Lembar contekan perintah Git yang dikelompokkan berdasarkan tugas: pengaturan, pementasan, cabang, remote, simpanan, riwayat, dan pembatalan kesalah…
Baca artikel →Pengembangan perangkat lunakPenjelasan Janji JavaScript: lalu, tangkap, Janji.semua, dan Kesalahan Umum
Janji JavaScript dijelaskan dengan kode yang kami jalankan: status, rantai lalu dan tangkap, penanganan kesalahan, Promise.all, allSettled, race dan…
Baca artikel →Pengembangan perangkat lunakTutorial Kamus Python: Metode, Contoh dan Pola Umum
Tutorial kamus Python dengan kode yang kami jalankan: membuat, membaca dan memperbarui dicts, metode utama, penggabungan, pemahaman, pola penghitung…
Baca artikel →Kecerdasan buatanApa itu RAG? Generasi Retrieval-Augmented Dijelaskan Dengan Contoh Kerja
Apa itu RAG? Generasi yang ditambah pengambilan dijelaskan langkah demi langkah: pengindeksan, pemotongan, penyematan, pengambilan, contoh kecil Pyt…
Baca artikel →DevOpsTutorial Terraform untuk Pemula: Infrastruktur sebagai Kode Dari File Pertama hingga Modul
Tutorial Terraform untuk pemula: mulai tanpa akun cloud, pelajari init, rencanakan dan terapkan, lalu variabel, keluaran, status, modul, dan alur ke…
Baca artikel →DevOpsDocker vs Kubernetes: Perbedaan Utama, Cara Kerja Sama, dan Yang Anda Butuhkan
Docker vs Kubernetes menjelaskan: apa yang dilakukan masing-masing, aplikasi yang sama dijalankan dengan keduanya, Docker Compose dan Swarm dibandin…
Baca artikel →Otomatisasi pengujianTutorial Pytest untuk Pemula: Fixture, Parametrize dan Contoh Nyata
Tutorial pytest untuk pemula dengan pengujian yang kami jalankan di pytest 9.2: pernyataan, perlengkapan, parametrize, conftest, marker, tmp_path, m…
Baca artikel →Pengujian perangkat lunakSiklus Hidup Pengujian Perangkat Lunak (STLC): 6 Fase, Kriteria Masuk dan Keluar, Contoh
Siklus hidup pengujian perangkat lunak menjelaskan: enam fase STLC dengan kriteria masuk dan keluar, hasil, contoh fitur login yang berfungsi, STLC …
Baca artikel →Pengembangan perangkat lunakGit merge vs rebase: perbedaan, contoh, dan kapan memakai masing-masing
Git merge vs rebase dijelaskan dengan keluaran log nyata, tabel perbandingan, aturan emas rebase, dan alur kerja tim yang aman.
Baca artikel →Pengembangan perangkat lunakList Comprehension Python: Sintaks, Contoh, dan Kapan Harus Dihindari
List comprehension Python dijelaskan: sintaks, filter, if-else, perulangan bersarang, waktu yang diukur, dan kapan perulangan for biasa lebih baik.
Baca artikel →Basis data & SQLPenjelasan SQL JOIN dengan Contoh (Inner, Left, Right, Full)
Pahami SQL JOIN langkah demi langkah dengan tabel dan query contoh: INNER, LEFT, RIGHT, FULL, CROSS, dan SELF, plus kesalahan umum dan tips performa.
Baca artikel →