Study
← Semua Kategori

Yesod

Instalasi & Scaffolding (stack new)

Menyiapkan tool Stack dan membuat project Yesod baru dari template scaffolding.

Struktur Project (Routes, Foundation, Handler)

Memahami tata letak file config/routes, Foundation.hs, dan folder Handler pada project Yesod.

Type-Safe Routing (File Routes + Dispatch)

Memahami bagaimana Yesod menghasilkan route type-safe dari file config/routes.

Handler Function & Respond

Menulis fungsi handler dan berbagai cara mengembalikan response dari Handler monad.

Widget & Hamlet Template

Menyusun tampilan reusable memakai sistem Widget dan template Hamlet, Lucius, Julius.

Persistent Entity Definition

Mendefinisikan model data lewat quasi-quotation Persistent di config/models.

Persistent Query Dasar

Melakukan operasi CRUD dasar ke database memakai fungsi Persistent seperti selectList, insert, dan get.

Form Handling (yesod-form)

Membuat dan memproses form type-safe memakai library yesod-form.

Session & Autentikasi Dasar

Menyimpan data session dan menerapkan autentikasi login memakai yesod-auth.

JSON API dengan Yesod

Membangun endpoint JSON memakai instance ToJSON/FromJSON dan returnJson.

Static File & Subsite

Melayani file statis dan memahami konsep subsite untuk modul aplikasi yang bisa dipakai ulang.

Middleware Dasar

Menyisipkan logic yang berjalan di setiap request lewat yesodMiddleware.

Error Handling (Handler Exceptions)

Menangani error dan exception di handler memakai notFound, permissionDenied, dan errorHandler custom.

Database Migration Persistent

Memahami migrasi otomatis Persistent dan strategi migrasi manual untuk perubahan skema.

Testing Dasar (Yesod Test)

Menulis test integrasi untuk handler memakai library yesod-test.

Routing dengan Parameter

Menangkap parameter dinamis dari URL dengan tipe yang divalidasi otomatis oleh Yesod.

RESTful Resource Pattern

Menyusun route dan handler mengikuti konvensi REST (index, show, create, update, delete) di Yesod.

Konfigurasi & Environment

Mengelola pengaturan aplikasi lewat config/settings.yml dan environment variable untuk tiap environment.

Tugas Akhir

Membangun aplikasi mini blog dengan Yesod yang menggabungkan Persistent, form, autentikasi, dan JSON API.