Halovina Tutorial

Sharing insights about python, go and javascript

website: halovina.com/


Halovina Tutorial

Berhenti Bicara Fitur, Mulailah Bicara Value: Tips Komunikasi untuk Tech Lead

Bagi seorang Senior Engineer, kode adalah bahasa sehari-hari. Namun, seiring bertambahnya jam terbang, tantangan terbesar bukan lagi terletak pada "Bagaimana cara membangunnya?" melainkan "Mengapa kita membangunnya?" dan "Untuk siapa ini dibuat?".

Di sinilah ilmu marketing, khususnya konsep Customer Persona, menjadi senjata rahasia yang sering kali diremehkan oleh para praktisi teknis.

1. Customer Persona: User Stories Versi Lebih Mendalam

2. Mengubah Technical Debt Menjadi Business Value

3. Empathy-Driven Development

.

halovina.com/berhenti-bicara-fitur-mulailah-bicara…

.

2 weeks ago | [YT] | 0

Halovina Tutorial

SOLID Principle: Python Coding Best Practices

Mungkin Anda telah sangat mengenal prinspi desain OOP yang begitu terkenal ini yaitu SOLID Principles. Saya ingin membahas ulang sebagai bahan pengingat buat saya dan juga buat Anda :)

Pernahkah Anda melihat kode yang begitu rumit hingga Anda takut menyentuhnya karena khawatir satu perubahan kecil akan merusak keseluruhan sistem?

Dalam dunia software engineering, SOLID adalah lima prinsip desain Object-Oriented Programming (OOP) yang diperkenalkan oleh Robert C. Martin (Uncle Bob).

Menerapkan prinsip ini bukan hanya soal "terlihat keren", tapi soal investasi jangka panjang untuk aplikasi yang mudah dipelihara dan dikembangkan.

Artikel ini akan mengupas tuntas apa itu SOLID, kelebihan dan kelemahannya, serta contoh implementasi nyata menggunakan Python.

halovina.com/solid-principle-python-coding-best-pr…

.

.

5 months ago | [YT] | 0

Halovina Tutorial

Apa itu Google ADK?

Google ADK (Agent Development Kit) adalah framework keren yang bikin kita bisa nge-build AI Agent dengan gampang.

Bayangin AI Agent ini kayak asisten pribadi yang nggak cuma pinter ngomong, tapi juga bisa eksekusi perintah spesifik (pake tools) buat ngambil data real-time.

halovina.com/panduan-membuat-agent-dengan-google-a…

.

.

5 months ago | [YT] | 0

Halovina Tutorial

Pernah bingung gimana cara kirim jutaan push notifikasi secara cepat dan handal tanpa bikin server utama crash?

Di video terbaru, kita akan bedah tuntas arsitektur lengkapnya! Kita akan gabungkan tiga teknologi keren:

(1) FastAPI 🐍: Sebagai API producer yang menerima request notifikasi.

(2) Kafka 🚀: Sebagai message broker (antrian) biar event-driven, asinkron, dan scalable.

(3) Firebase (FCM) 🔥: Sebagai consumer yang bertugas mengirim pesan ke perangkat user.

Ini adalah arsitektur event-driven yang banyak dipakai di industri. Cocok banget buat kamu yang mau naik level dari sekadar CRUD

.

.

6 months ago | [YT] | 0

Halovina Tutorial

--- FastAPI Rate Limit: Membatasi Request User dengan Redis dan MySQL ---

Bayangkan skenario ini: aplikasi Anda sedang naik daun. Fitur top-up saldo menjadi favorit pengguna, transaksi meroket, dan metrik bisnis menunjukkan warna hijau. Namun, di balik kesuksesan itu, tim engineering mulai merasakan "getaran" yang mengkhawatirkan. Saat jam-jam sibuk, notifikasi error bermunculan, database mulai melambat, dan puncaknya—sistem lumpuh karena overload traffic.

Kisah ini bukan fiksi. Ini adalah tantangan nyata yang dihadapi banyak sistem digital yang bertumbuh pesat. Fitur transaksional seperti top-up saldo adalah pedang bermata dua; ia krusial bagi bisnis, tetapi juga menjadi titik paling rentan terhadap lonjakan permintaan.

Rate limit menjadi salah satu solusi yang handal dan murah untuk case ini ....

....

8 months ago | [YT] | 0

Halovina Tutorial

--- MCP (Multi-Client Protocol) Sederhana Menggunakan FastAPI. ---

Dalam implementasi ini, server FastAPI bertindak sebagai penyedia data, dengan tugas spesifik membaca data penjualan dari sebuah file CSV dan menawarkannya melalui sebuah endpoint API.

Di sisi lain, klien FastAPI bertugas untuk meminta data tersebut dari server, kemudian memprosesnya lebih lanjut dengan mengirimkan data penjualan yang diterima ke model AI Gemini untuk dianalisis.

Proses ini menggambarkan arsitektur terdistribusi yang praktis, di mana satu layanan (server) bertanggung jawab atas akses data, sementara layanan lain (klien) menangani logika bisnis dan integrasi dengan layanan eksternal seperti kecerdasan buatan untuk menghasilkan insight atau analisis mendalam.

.

.

8 months ago | [YT] | 0

Halovina Tutorial

Apa saja yang baru di django versi 5.2 ?

(3) Peningkatan Dukungan Asynchronous (Async)

Django terus melanjutkan perjalanannya menjadi framework yang async-friendly.

Di versi 5.2, banyak bagian dari django.contrib.auth (sistem otentikasi) yang mendapatkan metode asinkron. Ini berarti operasi terkait login, logout, dan pengecekan sesi bisa berjalan secara non-blocking, yang sangat bagus untuk aplikasi dengan trafic tinggi.


(4) Widget Form Baru dan Peningkatan Aksesibilitas

Django 5.2 memperkenalkan beberapa widget form baru yang sesuai dengan tipe input HTML5 modern, seperti:

- ColorInput

- SearchInput

- TelInput (untuk nomor telepon)

Selain itu, ada banyak peningkatan pada atribut aksesibilitas (seperti ARIA) pada form yang dirender, membuat aplikasi Django Anda lebih user friendly.

.

.

9 months ago | [YT] | 0

Halovina Tutorial

Apa saja yang baru di django versi 5.2 ?

(2) Kustomisasi BoundField yang Lebih Mudah

BoundField adalah objek di Django yang merepresentasikan sebuah field dari form yang terikat dengan data.

Sederhananya, ini adalah "jembatan" antara field form Anda dengan bagaimana ia ditampilkan di template HTML.

Sebelumnya, jika Anda ingin mengubah cara sebuah field (misalnya, menambahkan class CSS tertentu secara otomatis) dirender, prosesnya cukup rumit.

Kini, Django 5.2 menyederhanakannya. Anda bisa mendefinisikan kelas BoundField kustom di level proyek, form, atau bahkan di level field itu sendiri.


Sample case:

Anda ingin semua input form di project Anda memiliki class CSS form-control dari Bootstrap secara default.


.

.

9 months ago | [YT] | 1

Halovina Tutorial

Apa saja yang baru di django versi 5.2 ?

(1) Composite Primary Keys


Ini adalah salah satu pembaruan terbesar dan yang paling ditunggu-tunggu. Sebelumnya, Django hanya mengizinkan satu kolom saja untuk menjadi primary key di sebuah model.

Dengan adanya CompositePrimaryKey, kini Anda bisa menggunakan beberapa kolom sekaligus sebagai kunci primer.

Sample case:

Bayangkan Anda memiliki model untuk menyimpan data pesanan buku di sebuah perpustakaan, di mana satu buku bisa dipesan oleh banyak anggota dan satu anggota bisa memesan banyak buku. Anda bisa membuat kunci unik dari gabungan book_id dan member_id.

.

.

9 months ago | [YT] | 1

Halovina Tutorial

Django versi 5.2.5 telah release ...

yuks segera di upgrade ke versi terbaru

Command: pip install -U Django


.

9 months ago | [YT] | 0