Lewati ke konten

Berkas Alat dan Perbaikan

Kumpulan berkas yang dipakai untuk mengaudit dan memperbaiki materi hari 3. Setiap berkas punya halamannya sendiri, dan isinya ditampilkan utuh sehingga bisa disalin.

Semuanya berjalan dengan Node.js biasa, tanpa dependensi tambahan.

Berkas Isi
Praktik 6/sql/00_reset.sql Drop tabel untuk mulai dari nol. Destruktif.
Praktik 6/sql/00_diagnosa.sql Cari sebab kegagalan constraint sebelum memperbaiki apa pun.
Praktik 6/sql/03_perbaikan-email.sql Bersihkan email kembar dan kosong, pasang constraint dengan penjagaan.
Praktik 6/sql/04_perbaikan-katalog-2d.sql Alihkan author yang tidak punya induk, lalu pasang foreign key.
Praktik 6/sql/05_skema-siap-import.sql Buat tabel dan isi penulis lebih dahulu, sehingga CSV bisa diimport tanpa dihapus.
Praktik 6/sql/06_periksa-constraint.sql Sebutkan nama constraint yang hilang, tanpa mengandalkan tampilan DBeaver.
Praktik 6/sql/01_schema_users_katalog.sql Tiga tabel, primary key, foreign key, dan CHECK constraint.
Praktik 6/sql/02_seed_super_admin.sql Menolak jalan bila nilainya bukan hash bcrypt.
Praktik 6/tools/perbaiki-csv.mjs Ubah pemisah pipa menjadi koma, validasi UUID dan baris kembar.
Praktik 6/data/katalog_data_2d.bersih.csv Berkas Praktik 6 dengan pemisah koma, siap diimpor.
Praktik 6/data/katalog_data_3d.bersih.csv Berkas Praktik 8 dengan pemisah koma, siap diimpor.
Berkas Isi
Praktik 7/sql/01_peran_geoserver.sql Peran baca-saja dan baca-tulis, bukan super user.
Praktik 7/tools/periksa-geoserver.mjs Login, workspace, store, layer, akses publik, dan CORS.
Berkas Isi
Praktik 8/sql/01_perbaikan-grant-postgis.sql Cabut hak dari PUBLIC dan anon, kunci search_path.
Praktik 8/tools/periksa-koneksi.mjs Periksa .env, DATABASE_URL, jangkauan TCP, dan daftar tabel.
Berkas Isi
Praktik 9/perbaikan/verifyBearerToken.js Token hanya dari header, pesan galat seragam.
Praktik 9/perbaikan/roles.js Satu sumber daftar role, tahan nilai tak dikenal.
Praktik 9/perbaikan/create-route.js Validasi, hash asinkron, select tanpa password.
Praktik 9/perbaikan/update-route.js Hanya mengubah field yang benar-benar dikirim.
Praktik 9/tools/audit-api.mjs Menangkap impor hilang, token di query string, dan kolom bocor.
Praktik 9/tools/uji-api.mjs Uji alur login dan otorisasi pada aplikasi yang berjalan.
Praktik 9/tools/hash-password.mjs Prompt tersembunyi, cost 12, ada mode pemeriksaan.
Berkas Isi
Praktik 10/perbaikan/route.js Impor lengkap, sesi JWT yang benar, token tetap di server.
Praktik 10/tools/periksa-konfigurasi.mjs proxy.js, basePath, .env, dan dependensi.
Berkas Isi
Praktik 11/perbaikan/nginx.conf Ditambah location ACME, include TLS, dan server block 443.
Praktik 11/perbaikan/docker-compose.yml Port 443 dipublikasikan, tiga volume HTTPS ditambahkan.
Praktik 11/perbaikan/tls-aktifkan.conf.md Perintah siap tempel untuk mengaktifkan HTTPS.
Praktik 11/perbaikan/vm-sa.md Bentuk alamat Service Account yang benar, dan cara memeriksanya.
Praktik 11/perbaikan/blok-identitas.sh Slug diturunkan dari email, menolak jalan bila bentrok.
Praktik 11/tools/periksa-deploy.mjs Keterkaitan compose, nginx, dan cloudbuild.
Praktik 11/tools/periksa-yaml.mjs Pengganti check-config.mjs tanpa paket yaml.
Praktik 11/tools/periksa-nginx.mjs Struktur directive, kurung, dan resolver.
Praktik 11/tools/periksa-variabel.mjs Variabel tak terdeklarasi, variabel mati, VM_SA, dan firewall.
Praktik 11/tools/uji-subdomain.mjs DNS, jalur ACME, dan sertifikat, berurutan.
Praktik 11/tools/pra-terbang.mjs Periksa slug sebelum menyentuh Tahap 4.
Praktik 11/tools/audit-tabrakan.mjs Model nama resource dan skenario pesimistis.
Praktik 11/data/daftar-peserta.contoh.csv Contoh daftar email, slug, dan project.
Berkas Isi
package.json Hanya bcryptjs, dipakai hash-password.mjs. Skrip lain tanpa dependensi.
jalankan-semua.mjs Menjalankan sepuluh pemeriksa sekaligus lalu merangkum hasilnya.

Dari akar repository:

Terminal window
cd "alat/hari-3"
node jalankan-semua.mjs

Pemeriksa yang menguji layanan berjalan dijalankan terpisah, karena butuh layanan yang sudah hidup.