The Final Architecture of Project UN

Kerjaan

Sambil nungguin GoT final, gw bisa update udah sampe mana project UN sekarang.

Hampir satu bulan terakhir ini gw akhirnya nemu arsitektur yang pas buat project ini. Sebelumnya, dari awal tahun 2017 emang ngebingungin. Ganti-ganti stack, teknlogi, tapi selalu gagal karena ngerasa arsitekturnya gak pas.

You know, arsitektur yang bener itu ngaruh buat jangka panjang. Of course, gw selalu pake Clojure, arsitektur pertama yang gw coba Luminus stack, yaa tapi gitu deh, banyak deps aneh dan kode-kode yang buat gw susah untuk debug nya.

Arsitektur kedua gw coba from scaratch ring + reagent + prostgres SQL. It works well until the frontend break. Yup, ketika kerja di bagian frontend gw secara gak sadar nambah terus accidental complexity.

Arsitektur ketiga ring + om next + postgres. It went wrong when I went wire up postgres and om next. Entah kenapa gw ngerasa selalu ada yang salah dengan kode gw. So, gw mutusin untuk ngeberhentiin stack ini.

Arsitektur ke-empat gw akhirnya pake framework untangeld (sekarang jadi fulcro) ini juga keren, karena di untangled ini based on om next lib dan gw gak terlalu musingin reconciler dan parser logic. Sampe akhirnya gw nemu much better server architecture.

So what architecture?!

Jadi, setelah kemaren dapet kesempatan sebentar ngebantuin project temen, yang secara gak sengaja gw liat stack dia cool banget. Mereka pake stack Pedestal + Datomic + Re-Frame + Material UI.

Pedestal over ring itu segalanya, hal-hal rumit yang gw lakuin di ring bisa dilakuin di pedestal dengan mudah banget, routing, middleware, server dll. Apalagi di pedestal gw bisa pake enterprise grade server kayak immutant!

Sayangnya, mereka ngaak pake Om Next dan Figwheel! Figwheel bagi gw tooling cant live without with. Sedangkan Om Next over Re-Frame karena Om Next punya reconciler dan Query yang bisa gantiin REST architecure.

Gw masih inget talk-nya data over api over dsl dari Stuart Halloway. Yang intinya gw baru sadar kalo Pedestal dan Om-next ngeimplementasiin ini.

Btw gw juga bikin template chestnut like but with Pedestal.

Yes, it much like coding with react kalo pake om-next, gak sesimple pake re-frame. Tapi gw yakin kalo apps udah gede Om Next bisa ngebantu di bagian Query dan Networkingnya. Apalagi wiring om-next dan datomic itu kyk PHP with mySQL.

Seneak peek time!

Gimana keren bukan! di atas gw pake om next + material-ui. 😉

2 comments

Lebaran Pertama

Thought

Well, well, well!, lebaran taun ini jadi debut lebaran gw as not being as collage student. Udah ketebak, pressure taun ini bakalan berat banget!.

Apaan?? “Kapan kawin?”

Bagi kebanyakan fresh graduate yang tinggalnya di pinggiran kyk gw, pertanyaan itu bisa jadi horror dan tekanan. 1000x salaman dan saat salaman, kalo gw charge harga per pertanyaan itu 10 rebu, gw bisa beli iPhone 7 deh.

Tambah parahnya, banyak temen seumuran yang sekarang udah mulai tunangan, nikah, punya anak, dan bahkan punya banyak anak!. Apa gak tertekan tuh pas ketemu mereka bawa istri dan anak, sementara gw masih kayak anak kecil!

Dulu, iye dulu. Gw bisa ngeles dengan jawaban “masih kuliah, fokus dulu namatin” Lah sekarang?? ngomong “mau fokus kerja? nyari karrir dulu?”. Well, it not bad excuse sih!

Status gw saat ini, sendiri! happy!, still catching my dream, namatin game yang gw beli taun kemaren dan taun ini yang belum kemaenin, guling-guling di pasir, dan banyak hal-hal tolol sampe serius lain yang pengen gw lakuin as a single person yang gak punya tanggung jawab serius.

Gw masih belum mau mikirin popok bayi gimana, besok makan apa, nidurin bayi pas bangun malem, ngejemur selimut yang kena ompol, dll.

Nah kalo gw udah fokusnya nyari pasangan, ngga deh. Trade-off nya kemahalan. Waktu gw terlalu berharga buat nyari tuan putri sempurna.

Lagi pula, biarpun kelakuan masih kayak anak 15 taun, Gw tau apa yang harus gw lakuan. Yah, gw udah punya masterplan buat idup gw kedepannya gimana. Yang paling deket ini. Yang intinya sih, I don’t mess around with my future and dream. Cukup sekali aja gw tau rasanya gimana sakitnya cita-cita itu gagal.

Eh tapi, kalo gw langsung nemu, gak mikir dua kali deh. I will marry her for sure!

So, What Next?!

Yang pasti ngeberesin project UN dan pengen ngabil nanodegree Udacity juga.

Ngomong-ngomong soal project UN, statusnya sekarang sudah pasti stack-stacknya dan arsitekturnya mau gimana. Mudah2an 2 bulan kedepan sudah bisa demo :).

Taun ini juga gw lagi sibuk ngeberesin target yang gw tulis sebelumnya.

0 comments

Amaze banget sama ClojureScript dan om.next

Random

Facebook sama netflix ninggalin REST, mereka nge-invent Relay dan Falcor buat gantiinya. Intinya, buat request gak perlu lagi minta orang back-end buat bikin end-point baru, orang UI bisa bikir request sendiri.

Well, pas skripsi, gw tau perihnya ngebikin banyak endpoint buat ngehandle request yang aneh2. Endpoinya sih gampang, testing nya yang ribet. Itu kayak makan cabe, awalnya sih enak, akhirnya mencret berdarah2.

Dan sekarang, gw pake om.next, ClojureScript library btw, yang nyuri ide Facebook dan Netflix itu. om.next ini lebih keren lagi karena querynya simple. Bayangin ngoding UI tapi punya teknologi select sql tanpa harus ada server dan bisa bikin route semena2.

Nggak ada lagi string json, semuanya full struktur data

Nggak ada lagi string json, semuanya full struktur data

Di samping gambar, itu bukan json btw.

Well, client in full control!

Testimoni pake om.next seminggu terakhir.

0 comments

Law of Attraction – Train Your Brain to Learn Faster (Psychology)

Self Development

Remember that every year I set what was my goal is. And I still remember that I want to learn new thing every year. Back than, I thought that, I learn new something of course, but not in that depth. I want to be master of course.

So I set that target. Become expert in Clojure. I glad, I found this:

Now, I know what I want doing, why I never achieve in expertise level. The truth are: I’m trying to reinvent something that already exist. Is like:

“Avoid starting from scratch. With no model to begin from – no example or strategy you are following – you’re reinventing the wheel and doomed to waste time. So, what proven framework, person, strategy, or step-by-step instruction are you following in order to learn this new area?”

What I need now is training menu and tutor. For now I will stick with my old plan to finish SICP book and CS600.1/2 course.

0 comments

All My Web Using SSL Now!

Kerjaan

Thanks to Let’s Encrypt for make this possible. For make internet more safe and secure. I will support it.

My blog and web are now using SSL.

0 comments