Fakultas Ilmu Komputer UI

Commit 10cffb10 authored by Tirta Abimanyu Purnomo's avatar Tirta Abimanyu Purnomo
Browse files

Merge branch 'master' of gitlab.cs.ui.ac.id:ppl2019-c7/blog

parents f6ddbe8b 54788936
Pipeline #9930 passed with stages
in 1 minute and 54 seconds
......@@ -5,18 +5,30 @@ variables:
HTTPS_PROXY: http://proxy.cs.ui.ac.id:8080
stages:
- build
- deploy
build:
image: ruby:2.3
stage: deploy
stage: build
script:
- bundle install
- bundle exec jekyll build -d public
- sh deploy.sh
artifacts:
paths:
- public
only:
refs:
- master
deploy:
image: alpine:3.9
stage: deploy
script:
- apk add curl zip
- sh deploy.sh
dependencies:
- build
only:
refs:
- master
---
layout: post
title: Git Amend
date: 2019-03-21 09:02:07 +0700
author: ragil
---
Semua manual git sebenarnya dapat dilihat
```
git <command> --help
```
Namun, di sini saya akan menjelaskan fungsi git yang cukup menarik
```
git commit --amend <commit>
```
<!--more-->
Amend dapat digunakan untk mengganti **date** dan **author** dalam commit.
Hal ini diperlukan ketika saya dan teman saya masih melakukan commit menggunakan akun
`gitlab.com` dan bukan `gitlab.cs.ui.ac.id` (lupa mengganti config user), sehingga user yang melakukan commit tidak konsisten.
Untuk melakukan perubahan nama, maka kita harus melakukan `rebase` atau _reapply_ commit dimulai dari
commit yang ingin diganti.
```
git rebase -i <commit>
```
![](/assets/images/2019-03-21-git-amend/amend0.png)
Kemudian, untuk commit yang ingin di-edit maka ganti __pick__ menjadi __edit__.
Lalu, rebase akan mulai berjalan dan akan berhenti sementara pada commit yang ditandai __edit__.
Lakukan `git commit --amend --author="Author Name <email@address.com>"` untuk mengganti nama yang
diperlukan atau gunakan `git commit --amend --date "<date>"` untuk mengganti waktu dan tanggal.
![](/assets/images/2019-03-21-git-amend/amend1.png)
Terakhir, lakukan `git rebase --continue` hingga selesai dan `git push -f`.
---
layout: post
title: "GMT"
date: 2019-03-21 10:00:00 +0700
author: yogi
---
--
Pada blog minggu ini, saya akan menceritakan pengalaman saya mengenai GMT, bukan Greenwich Mean Time, melainkan:
Git, Mock, dan TDD.
<!--more-->
Fitur yang saya kerjakan adalah logout dan membuat endpoint server serta pagination.
Pada fitur login dan logout, kami memutuskan untuk menggunakan Django REST Framework dikarenakan kebijakan autentikasinya yang mencakup OAuth1a dan OAuth2 serta Serialization yang mendukung ORM dan non-ORM.
Agar dapat mengimplementasikan fitur logout, saya menambahkan penggunaan REST_FRAMEWORK (TokenAuthentication dan SessionAuthentication) pada file settings.py
Pembuatan tes untuk fitur ini saya buat pada dua buah kondisi, yaitu saat pengguna mengakses /logout/ dalam keadaan belum dan sudah ter-logout.
Sedangkan untuk dapat menjalankan tesnya dengan baik, saya menambahkan fungsi baru berupa post pada file views.py yang akan mengambil token dari pengguna lalu dihapus.
Pada fitur pembuatan endpoint server, kami menggunakan DjangoModelFactory untuk membuat data dummy dan Serializer agar data yang kompleks dapat dikonversi ke dalam datatype milik Python sehingga dapat dirender ke dalam konten lain.
Untuk pengetesannya sendiri, saya mengikuti pengetesan pada fitur logout, yaitu saat pengguna mengakses /servers/ dalam keadaan belum dan sudah ter-logout.
Sedangkan untuk dapat menjalankan tesnya dengan baik, saya menambahkan path baru yang mencakup servers.urls pada file urls.py
Pada fitur paginasi, saya hanya membuat tes yang akan membandingkan panjang dari data yang diterima serta menambahkan penggunaan pagination pada file views.py, ukuran page sebanyak 20 pada settings.py, dan kelas inner meta untuk membantu pengurutan ketika pagination berdasarkan id
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment