Sunday, May 27, 2018

Mengganti Banner Spring-Boot

Pada blog kali ini bakal membahas hal yang ga penting dan iseng aja, karena kerjaan lumayan sibuk
Menunggu back end start adalah hal yang cukup membosankan. Menunggu 15 detik sampai 2 menit sampai run selesai. Kita bisa membuat start ini lebih menarik dengan mengganti banner spring boot

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.1.RELEASE) 

Ini tampilan standar yang selalu kita lihat. Dengan membuat file banner.txt di dalam folder src/main/resource dengan kode

maka akan menjadi


Spring boot juga bisa menampilkan banner dalam bentuk gambar dalam format JPG dan PNG dengan me rename menjadi banner.jpg atau banner.png



Bahkan Spring Boot 2 bisa menampilkan GIF dalam terminal, tapi tidak disarankan karena waktu run akan menjadi lama karena harus mengunggu GIF selesai


Sekian, Happy Code

Saturday, April 14, 2018

Guide Line Database

Pada blog kali ini, bakal sharing session soal hal fundamental, yaitu database. Dari pengalaman, urusan database kebanyakan akan dihandle oleh back end, dari membuat tabel, membuat data initial, manipulasi data, dll. Padahal persoalan database kadang butuh handling sendiri, back end dan database duo yang saling melengkapi. Sendok dan garpu, piring dan gelas, back end dan database

Kebanyakan kita memberikan semua proses logika di bagian back end, sedangkan database hanya sebagai tempat penyimpanan. Untuk proses yang sederhana mungkin tidak akan jadi masalah, namun untuk yang sangat kompleks back end memiliki keterbatasan dalam waktu pemrosesan. Dari sisi lain, database juga memiliki keterbatasan lain, yaitu tidak dapat dilakukan unit testing untuk SQL dan maintain antar environment yang cukup merepotkan

Jadi kapan proses logika dibebankan di database ?
Berikut sedikit kasus nya

Report
Report di sini adalah kesimpulan dari sekumpulan data yang membentuk suatu pola. Karena biasanya membutuhkan banyak relasi tabel, report lebih baik dimaintain di database dalam bentuk view, atau jika perlu lebih cepat lagi juga dapat membuat function yang memberikan return bentuk tabel walaupun membuat function akan lebih sulit dibuat

Sinkronisasi Data
Dalam beberapa kasus, data yang kita butuhkan berasal dari sistem yang sudah ada, kalau kasus seperti ini ada beberapa pilihan sesuai kebutuhan
Apakah data ini masih di database yang sama ? Jika tidak, maka harus dihandle oleh back end
Apakah data ini sering dipakai ? Jika tidak, maka gunakan view saja. Jika sering, buat tabel bayangan nya dengan kolom seminimal mungkin dan buat prosedur sinkronisasi nya

Manipulasi Data Masif
Manipulasi data adalah perubahan data seperti insert, update, delete. Untuk jumlah data di bawah 20 bisa mengandalkan back end. Untuk jumlah data di atas 50 gunakan procedure atau function dari database. Perbedaan waktu antara proses back end dan proses database bisa berbeda ratusan kali lipat

Data Kompleks atau Loading Lama
Ada kalanya data yang ditampilkan berhubungan dengan banyak tabel, dan membuat kode di back end menjadi rumit dan panjang, yang tentunya juga membuat loading data menjadi lama. Jika proses return berjalan lebih dari 15 detik, maka itu pertanda back end tidak bisa menghandle proses ini. Dibutuhkan proses di database seperti pada report, yaitu dengan view, atau jika perlu lebih cepat dengan function. Penambahan index juga akan sangat membantu.

SQL bagi sebagian orang memang cukup sulit, dan jarang didalami. Butuh data yang banyak sekaligus variatif dan juga kasus-kasus baru untuk membuat query rumit sesuai proses bisnis. Jika ditemukan, jadikan lah sebagai kesempatan belajar. Tanya lah kepada yang berpengalaman jika mengalami kesulitan


Monday, March 19, 2018

Hal yang perlu kamu siapkan sebelum menjadi React Developer

Teknologi sangat berkembang begitu cepat. Khususnya di teknologi website. Banyak sekali framework atau library yang dibuat untuk mempermudah developer dalam mengembangkan sebuah aplikasi website sepeti Angular, VueJs, ReactJs, PReact dan masih banyak lagi. Nah pada bahasan kali ini saya ingin mengupas hal-hal yang kamu perlu ketahui jika ingin belajar membuat Aplikasi website menggunakan React. Hal ini saya tulis berdasarkan pengalaman dari projek yang sedang saya kerjakan. Ya, ReactJS hanya sebuah library view untuk membuat aplikasi Website. Mudahnya React hanya sebuah 'V' (View) dari Arsitektur MVC (Model View Controller). React awalnya dibuat oleh Engineer Facebook untuk membuat aplikasi web dengan data yang berubah setiap saat (real-time). Dengan React yang mengusung jargon "Learn Once, Write Anywhere", dengan mempelajari React kita dapat mengembangkan berbagai aplikasi di macam-macam platform ReactJs di Web, React Native di Mobile Apps, ReacTV pada Smart TV, bahkan kita dapat membuat aplikasi IoT dengan menggunakan React. Atas dasar itu menurut penulis pribadi, sebagai web developer sangat penting untuk belajar React.

React sesungguhnya sangatlah mudah dipelajari jika kita memiliki dasar-dasar pemrogaman web yang baik seperti HTML, CSS dan Javascript. 

Jika sudah mengetahui dasar pemrograman tersebut, kita harus tau cara membuat Component berdasarkan konsep Atomic Web Design. Sebuah aplikasi React dibuat berdasarkan Component-Component kecil yang saling berkomunikasi secara fungsinya masing-masing. Membuat sebuah Component React merupakan sebuah tantangan tersendiri, karena harus membuat tampilan dengan business logic yang di design.

Dari beberapa hal tersebut adalah opini pribadi penulis berdasarkan pengalaman pada projek yang saya kerjakan menggunakan React. Sejauh ini masih painful menggunakan React dan masih dalam tahap adaptasi. Namun jika tidak mencoba, kita tidak tahu bukan? :D

So, ayo belajar React! :D

Mengenal Ant Design : UI Component for React App

Pada kesempatan kali ini saya ingin mengenalkan sebuah UI Component untuk Aplikasi React. Ya, Ant Design. Untuk Developer React, pasti sudah tidak asing dengan UI Component tersebut. Ant Design merupakan UI Component yang dikembangkan dengan pattern Material Design. Ant design menyediakan Component yang menarik dari sisi user interface dan user experience. Ant Design menyediakan Component seperti alert, button, modal, notification, table, pagination, form handler, dan masih banyak lagi untuk dapat di explore.

Berikut kelebihan Ant Design:

- User Interface dan User Experience yang menarik.
- Mudah di implementasikan (dokumentasi disini : https://ant.design/).
- Support dengan mobile web responsive.
- Komponen sudah HOC (Higher Order Component). Memungkinkan me-reusable Component.

Cara install Ant Design:

Cukup tulis command dibawah ini pada terminal anda:

npm install antd --save

untuk mengimport Component Ant Design pada React Component yang kita buat bisa seperti dibawah ini:








Memanggil component Ant pada method render():










Dengan menggunakan Ant Design, sebagai developer react, dengan menggunakan Ant Design tentu dapat mempersingkat waktu development pengerjaan aplikasi. Sekian sedikit penjelasan mengenai Ant Design dari saya. Salam Semangat and Keep Coding guys! :D

Sunday, March 18, 2018

Pembuatan Producer dan Consumer Service pada Oracle Service Bus Console 12c

Setelah menjelaskan tentang tata cara pembuatan JMS Topic pada weblogic 12c, saya ingin menjelaskan pembuatan Producer Consumer (berdasarkan Queue) atau Publisher Subscriber Service (Berdasarkan Topic) pada OSB Console 12c, pembuatannya cukup mudah dikarenakan kita hanya memerlukan untuk membuat sebuah Proxy Service ataupun Business Service.

Pembuatan Producer (Queue) atau Publisher (Topic), tahap-tahapnya sebagai berikut:
  1. Masuk dalam OSB Console lalu klik tombol Create

                 
  2. Klik Kanan All Projects, Pilih Create, Lalu Klik Project (Langsung ke langkah 4 bila menggunakan projek existing)
                     
  3. Tentukan Nama Projek sebagai contoh "JMSTest"

                    
  4. Klik kanan Projek yang baru saja dibuat lalu pilih Create, lalu klik Resource

                               
  5. Pilih Business Service, lalu pilih Technology, pilih JMS, klik OK

                    

                    

                    
  6. Tentukan nama Resource, tekan Type

                   
  7. Ganti tipe pesan menjadi Messaging Service, ubah tipe request menjadi Text, dan tipe response menjadi None, lalu klik Transport

                   
                 
  8. Ganti Endpoint URI dengan: jms://host:port/{JNDI Connection Factory}/{JNDI Queue atau Topic yang akan di produce}

                  
  9. Masuklah ke service yang baru saja dibuat, lalu masuk ke transport detail, pilihlah jenis Tujuannya apakah Queue (sebagai Producer) atau Topic (Sebagai Publisher)

                 

                 
Pembuatan Producer/Publisher selesai.

Pembuatan Consumer (Queue) atau Subscriber (Topic), cukup mirip dengan pembuatan Producer/Publisher, tahap-tahapnya sebagai berikut:
  1. Masuk dalam OSB Console lalu klik tombol Create

                 
  2. Klik Kanan All Projects, Pilih Create, Lalu Klik Project (Langsung ke langkah 4 bila menggunakan projek existing)

                     
  3. Tentukan Nama Projek sebagai contoh "JMSTest"

                    
  4. Klik kanan Projek yang baru saja dibuat lalu pilih Create, lalu klik Resource

                               
  5. Pilih Proxy Service, lalu pilih Technology, pilih JMS, klik OK

                    

                    

                    
  6. Tentukan nama Resource, hilangkan centang pembuatan pipeline terkecuali bila ingin memroses pesan yang diterima/consume, tekan Type

                   
  7. Ganti tipe pesan menjadi Messaging Service, lalu klik Transport

                   
  8. Ganti Endpoint URI dengan: jms://host:port/{JNDI Connection Factory}/{JNDI Queue atau Topic yang akan di consume}

                  
  9. Masuklah ke service yang baru saja dibuat, lalu masuk ke transport detail, pilihlah jenis Tujuannya apakah Queue (sebagai Consumer) atau Topic (Sebagai Subscriber)

                 

                 

     Bila memilih Topic maka bukalah Advanced Option lalu isilah Client ID dari durable subscriber yang didaftarkan pada weblogic atau untuk membuat durable subscriber baru tanpa membuka weblogic dengan mencentang Durable Subscription yang berada dibawah isian Client ID.

               

    Pembuatan Consumer/Subscriber selesai.

    Sekian penjelasan dari saya, semoga bermanfaat :)