deploy laravel ke hosting gratis kayak InfinityFree butuh beberapa penyesuaian, karena laravel biasanya jalan di VPS atau server dedicated. panduan ini bakal nunjukin cara tepatnya, dari nol sampai aplikasi jalan. sebelum deploy, pastikan kalian sudah baca tutorial laravel lengkap buat ngerti struktur project-nya, dan kalau nanti butuh kelola database, siapkan akses phpMyAdmin di Laragon.
semua langkah di sini proses yang pernah saya jalani sendiri, lengkap dengan error 500 yang sempat bikin saya bingung berhari-hari.
membuat tool CLI sendiri adalah salah satu cara paling memuaskan memakai Python, dan argparse adalah modul bawaan yang membuatnya mudah ๐. saya sering membuat script kecil untuk tugas berulang, lalu menambahkannya ke menu CLI agar bisa dipakai dengan parameter yang berbeda.
jika kalian sudah pernah main sys.argv manual atau baca module dan package dan file handling, maka argparse akan terasa seperti upgrade yang paling masuk akal. tidak perlu install apa pun, cukup import argparse.
error (exception) itu hal yang wajar dalam pemrograman, bukan tanda kalian gagal. yang membedakan programmer yang baik adalah cara menangani error tersebut, dan python nyediain try-except buat nanganin error dengan elegan. konsep ini bakal sering banget kalian pakai waktu mulai bikin fungsi sendiri atau nyusun kode ke module.
saya dulu sering nulis kode tanpa try-except sama sekali, sampai aplikasi yang saya buat tiba-tiba berhenti total di depan klien gara-gara satu file yang tidak ditemukan.
automasi adalah alasan utama saya belajar Python, dan menjadwalkan task adalah bagian yang membuatnya benar-benar berguna. backup database setiap malam, laporan otomatis setiap pagi, semuanya berjalan tanpa perlu diingat ๐. kita mulai dari cara paling sederhana, sampai yang bisa dijadwalkan otomatis di Windows dan Linux.
jika kalian sudah paham manipulasi waktu di Python dan file handling, maka materi scheduler ini akan langsung nyambung. soalnya hampir semua task yang dijadwalkan ujungnya baca file, tulis laporan, atau backup database.
Tkinter adalah library GUI bawaan Python. Tanpa pip install apa pun.
jika kalian sudah nyaman dengan Python console dan ingin programnya punya jendela, tombol, dan form yang bisa diklik, maka Tkinter adalah langkah paling natural selanjutnya. salah satu project Tkinter yang paling berkesan bagi saya adalah aplikasi To-Do List kecil yang saya buat untuk menggantikan catatan tempel di meja kerja. ternyata membuat aplikasi desktop dengan Python semudah itu, dan hasilnya benar-benar dipakai setiap hari ๐.
.gitignore adalah file konfigurasi git yang memberi tahu git file/folder mana yang tidak boleh dilacak (tracked). ini mencegah file sampah, cache, dan file sensitif masuk ke repository. kalau kalian belum pernah pake git sama sekali, mulakan dulu dari panduan install git di windows.
saya baru ngerasain pentingnya .gitignore setelah kejadian yang bikin deg-degan: tanpa sengaja saya commit file .env berisi password database. untungnya project pribadi, jadi langsung saya perbaiki. sejak saat itu, tiap bikin project baru, file .
Git adalah version control yang melacak setiap perubahan kode. GitHub adalah layanan hosting untuk repository Git. panduan ini akan mengajarkan workflow dasar Git dari nol sampai project kalian nangkring di GitHub. sebelum mulai, pastikan Git sudah terinstal, jika belum ikuti cara install Git di Windows.
workflow clone โ add โ commit โ push adalah rutinitas yang saya lakukan puluhan kali dalam seminggu. awalnya setiap langkah terasa asing, tapi setelah memahami alurnya, kode kerja di folder โ stage โ snapshot (commit) โ upload (push), semuanya jadi kebiasaan ๐.
SQLite adalah database yang tersimpan di satu file. Python memiliki modul sqlite3 bawaan, tanpa pip install apa pun.
jika kalian baru belajar database di Python, maka SQLite adalah tempat mulai yang paling ramah. SQLite adalah pilihan pertama saya untuk aplikasi kecil dan prototype, tidak perlu server, tidak perlu konfigurasi, cukup satu file data.db langsung jalan. banyak aplikasi yang saya buat mulai dari SQLite lalu pindah ke MySQL saat sudah butuh banyak user, dan polanya selalu sama ๐.
file handling memungkinkan program menyimpan dan membaca data dari file di komputer. ini penting untuk log, konfigurasi, dan penyimpanan data. konsep ini juga pengembangan dari module dan package Python, karena file sering dipakai nyimpen data yang diproses oleh module itu.
salah satu program pertama yang benar-benya berguna bagi saya adalah script python yang baca file log lalu rangkum errornya, dan itu cuma butuh open(), read(), dan write(). sejak pengalaman itu, file handling jadi salah satu kemampuan yang selalu saya seretkin ke setiap project.
setelah kemarin main dengan SQLite yang cukup satu file data.db, langkah selanjutnya adalah MySQL, database yang paling sering saya temui di dunia kerja. jika SQLite cocok buat prototype, maka MySQL adalah tempat data kalian tinggal kalau sudah butuh banyak user, banyak koneksi, dan akses barengan.
saya masih ingat pertama kali koneksi Python ke MySQL malah error Authentication plugin 'caching_sha2_password' is not supported, padahal password sudah benar. ternyata MySQL 8 ganti auth default dan driver saya masih versi lama.
operator perbandingan itu fondasi sebelum kalian nyentuh perbedaan var, let, dan const lebih dalam, atau bahkan sebelum ngerti array methods kayak map, filter, dan reduce. hampir setiap logika di javascript, dari if, while, sampai validasi form, pasti pakai operator ini.
saya ingat pertama kali belajar javascript, paling sering bingung bukan di sintaksnya, tapi di kenapa "5" == 5 hasilnya true dan "5" === 5 hasilnya false. di artikel ini saya bahas tuntas biar kalian tidak ngalamin kebingungan yang sama.
primary key dan foreign key adalah dua konsep yang hampir selalu muncul barengan begitu kita bicara database relasional. kalau primary key itu identitas, foreign key itu penghubungnya. tanpa keduanya, tabel cuma jadi kumpulan data yang tidak saling kenal.
dulu saya sempat menganggap foreign key cuma formalitas. bikin tabel, relasi dijaga lewat kode Laravel saja. sampai suatu hari laporan keuangan menunjukkan transaksi milik mahasiswa dengan NIM yang tidak ada di tabel mahasiswa. data yatim. sejak itu saya tidak pernah merancang tabel tanpa foreign key lagi. artikel ini saya tulis supaya kalian tidak perlu mengalami hal yang sama.