Showing posts with label Pemprograman web. Show all posts
Showing posts with label Pemprograman web. Show all posts

Konfigurasi NGINX sebagai Reverse Proxy ke lebih dari satu services multi port

12:47 AM Add Comment
NGINX
Tutorial kali ini kita akan melakukan konfigurasi NGINX sebagai Reverse Proxy ke lebih dari satu server atau host aplikasi RESTful API yang berjalan di port nya masing-masing atau multi port. Contohnya anda mempunyai lebih dari satu docker container yang berjalan di mesin komputer yang sama, dan aplikasi client hanya bisa request melalui port 80 saja, atau port 443 jika request menggunakan https. Atau mungkin hanya service biasa yang tidak di bungkus dengan docker container yang langsung berjalan di localhost atau di mesin server yang lain dengan port tertentu. Contoh ilustrasinya seperti ini:
Ilustrasi NGINX services multi port

Baiklah, kita akan membuat NGINX berfungsi sebagai reverse proxy seperti gambar di atas. Server yang kita gunakan untuk menjalankan nginx menggunakan operating system Linux Ubuntu.  Ikuti langkah-langkah berikut ini: 1. Install nginx di server linux ubuntu:
$ sudo apt-get install nginx
2. Buatlah file konfigurasi baru di dalam folder sites-available:
$ sudo vi /etc/nginx/sites-available/api.example.com.conf
3. Copy paste script berikut ke dalam file /etc/nginx/sites-available/api.example.com.conf
server {
 keepalive_timeout 30;
 # SSL configuration
 listen 443 ssl default_server;
 listen [::]:443 ssl default_server;
 server_name api.example.com;
 ssl_certificate /etc/nginx/ssl/certificate.crt;
 ssl_certificate_key /etc/nginx/ssl/certificate.key;
 ssl_session_cache    shared:SSL:10m;
 ssl_session_timeout  10m;
 # application-a
 location /application-a {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-a(/.*) $1 break;
  proxy_pass http://127.0.0.1:8881;
 }
 # application-b
 location /application-b {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-b(/.*) $1 break;
  proxy_pass http://127.0.0.1:8882;
 }
 # application-c
 location /application-c {
  include /etc/nginx/global/include.request.conf;
  rewrite ^/application-c(/.*) $1 break;
  proxy_pass http://127.0.0.1:8883;
 }
 location / {
  try_files $uri $uri/ =404;
 }
 access_log /etc/nginx/logs/access.log;
 error_log  /etc/nginx/logs/error.log;
}

server {
 listen 80 default_server;
 listen [::]:80 default_server;
 server_name    api.example.com;
 rewrite        ^ https://$server_name$request_uri? permanent;
}
Ganti api.example.com dengan nama domain anda. Jika tidak punya nama domain, ganti dengan ip public server anda. 4. Buat file /etc/nginx/global/include.request.conf
$ sudo mkdir /etc/nginx/global
$ sudo vi /etc/nginx/global/include.request.conf
5. Copy paste script berikut ke dalam file /etc/nginx/global/include.request.conf
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
6. Buat file /etc/nginx/ssl/certificate.crt dan /etc/nginx/ssl/certificate.key sehingga bisa di akses melalui https.
$ sudo mkdir /etc/nginx/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/certificate.key -out /etc/nginx/ssl/certificate.crt
7. Aktifkan konffigurasi di atas dengan membuat softlink di folder /etc/nginx/sites-enable
$ sudo ln -s /etc/nginx/sites-available/api.example.com.conf /etc/nginx/sites-enabled/
8. Reload konfigurasi nginx
$ sudo systemctl reload nginx
Okey, sekarang aplikasi RESTful API anda yang terdiri dari beberapa aplikasi dengan port nya masing-masing atau multi port, bisa di akses melalui port 80 atau 443. Seperti contoh berikut: https://api.example.com/application-a/.... https://api.example.com/application-b/.... https://api.example.com/application-c/.... Port nya tidak perlu disertakan pada alamat url, karena secara default akan mengakses ke port 80 untuk http dan ke port 443 untuk https. Sekian tutorial kali ini, semoga tutorial ini bisa sedikit membantu anda memanfaatkan NGINX sebagai proxy untuk aplikasi backend multi port sehingga bisa diakses dari satu port saja. Jika ada pertanyaan atau bagian tutorial yang kurang jelas atau anda mengalami kesulitan saat mengikuti langkah-langkah di atas, silahkan bertanya lewat kolom komentar. Terima kasih sudah mampir di blog yang sangat sederhana ini. Semoga sukses.

Type Conversion javascript

12:26 AM Add Comment
Type Conversion javascript

Type Conversion adalah sebuah cara untuk merubah type data pada javascript, misalkan merubah type data string menjadi number atau sering disebut conversion. Conversi ke String
let angka=12;//type data Number
let ubah = String(angka);// "12"
console.log(typeof ubah); // type data menjadi String

let cek = true; //type data boolean
let ubah2= String(cek);//"true"
console.log(ubah2);
atau bisa menggunakan cara yang kedua yaitu menggunakan fungsi toString();
let num=12;//type Number
let ubah =  num.toString();
console.log(typeof ubah);// "String"
Conversi ke Number
let text ="123";//String
let ubah = Number(text);
console.log(typeof ubah);//Number

let cek =true;//boolean
let ubah1 =Number(cek);// 1
console.log(typeof ubah1);//Number
nilai true dan false kalau di konversi dengan Number menjadi 1(true) dan 0(false). cara kedua menggunakan fungsi parseInt dan parseFloat, parseInt digunakan untuk merubah menjadi bilangan bulat sedangkan parseFloat digunakan untuk merubah kebilangan pecahan.

  
let num="12.12";//string
let bulat = parseInt(num); //hasil 12
console.log(typeof bulat);// Number

let pecahan=parseFloat(num);//hasil 12.12
console.log(typeof pecahan);//Number
Conversi ke Boolean
console.log(Boolean(1));//true
console.log(Boolean(0));//false
console.log(Boolean("story"));//true
console.log(Boolean(""));//false
sekian cara konversi type data pada javascript, ada tantangan buat teman-teman silahkan dijawab untuk melatih pemahaman teman-teman.
"" + 2 + 3
"" - 4 + 5
true + true
12 / "3"
"5" * "5"
7 + 8 + "px"
"$" + 1 + 12
"5" - 4
"12px" - 8
12 / 0
"  -12\n" + 5
"  -14\n" - 3
null + 3
undefined + 3

TUTORIAL CARA HOSTING REACT JS

11:39 PM Add Comment
Tutorial kali ini kita akan belajar cara hosting react js atau cara upload ke hosting apache. Biasa nya jasa penyedia hosting yang ada di pasaran, adalah hosting apache yang terdiri dari database mysql, aplikasi php dan web server apache, atau kalau anda sudah mahir biasanya menggunakan vps (virtual private server) atau server dengan teknologi cloud computing.

Biasanya saya menggunakan vultr.com. Jika anda ingin menggunakan vps atau cloud computing, atau server cloud, tapi kurang tahu caranya, anda bisa menghubungi saya. Baiklah mungkin anda memilih menggunakan hosting apache, karena lebih mudah dan lebih praktis karena aplikasi-aplikasi yang dibutuhkan yaitu mysql, php dan apache sudah diinstall dan siap digunakan tanpa harus config sana sini. Silahkan anda pilih jasa-jasa penyedia hosting seperti rumahweb, niaga hoster, dewa web, nusantara host, dan masih banyak lagi situs-situs penyedia hosting lainnya. 

Kunjungi situs penyedia hosting yang anda inginkan, ikuti langkah-langkah untuk berlangganan di sana, pilihlah nama domain yang ter-keren, dan jangan lupa untuk membayar hosting tersebut, biar nantinya diaktifkan oleh admin nya, sehingga nama domain ter-keren yang anda pilih tadi bisa diakses dari browser anda, contohnya www.namadomainterkeren.com. Okeh, kembali ke project anda. Ikuti langkah-langkah berikut untuk membuat project anda bisa dibuka melalui nama domain yang sudah anda pilih.

Langkah langkah cara hosting React JS

1. Lihat script atau command apa saja yang tersedia di dalam project anda.
$ cd aplikasi-reactjs
$ cat package.json
 

 2. Di bagian field scripts, disitu ada command start, build, test dan eject. Command yang kita akan gunakan adalah command build, yaitu untuk bundling source dari project react js kita, yang telah di minify sehingga menjadi sangat ringan, dan siap untuk diupload ke server hosting.
$ npm run build
Tunggu sampai selesai. Hasil build nya berada di dalam folder build. 3. Upload hasil build tadi ke dalam hosting yang telah kita beli dari situs penyedia hosting tadi. Buka aplikasi ftp anda lalu upload ke dalam publc folder. Biasanya nama foldernya adalah www atau public_html. Upload semua isi dari folder build tadi ke dalam folder public di hosting anda. Jangan lupa hapus file home.htm dari dalam folder public_html jika ada.  


 4. Jika telah selesai anda upload semua source yang ada di dalam folder build tadi, maka aplikasi react js anda sudah bisa di akses dari nama domain yang anda telah daftarkan tadi. Untuk tutorial ini, saya menggunakan nama domain "opetstudio.com". Silahakn akses http://www.opetstudio.com untuk melihat hasilnya. Jika anda telah berhasil, share alamat domain ter-keren anda tadi di kolom komentar. Jika ada yang kurang jelas, silahakan bertanya di kolom komentar, saya akan membantu anda sampai bisa. Ikuti terus seri tutorial "Tutorial React Js Bahasa Indonesia". Tutorial yang berikutnya, kita akan membuat router di dalam project react js kita, sehingga kita bisa membuat halaman-halaman di dalam website kita tadi, seperti halaman home, halaman about, halaman contact dan lain-lain. Sekian tutorial kali ini, source code nya ada di dalam https://github.com/opetstudio/tutorial-reactjs Terima kasih sudah membaca tutorial yang sederhana ini. Semoga bermanfaat.

tutorial bootstrap # memahami layout pada bootstrap

1:24 PM Add Comment
memahami layout pada bootstrap



memahami layout pada bootstrap

layout merupakan hal yang sangat penting dalama pembuatan website, maka dari itu kita harus paham dulu agar bisa membuat layout yang responsif.coba temen-temen bayangkan kalau website/blog yang temen-teman kunjungi itu tidak responsif pasti langsung di closs atau cari alternatif lain yang lebih nyaman digunakan.dengan layout yang responsif akan membuat user betah berkunjung di website. layout yang respinsif adalah website yang kita buat bisa beradaptasi dengan device yang user gunakan.layout yang kita pelajari saat ini menggunakan framework, yaitu framework bootstrap.

layout yang paling dasar diboostrap adalah class container, container adalah pembungkus semua element.

class container terbagi menjadi dua:
1. container
2. container-fluid

Baca juga membuat segitiga dengan javascript

class container akan membuat layout berada di tegah-tegah atau hanya 80% saja dari browser.

cara mnggunakanya

<div class="container">
//content
</div>

class container-fluid akan membuat layout berada 100% ukuran browser atau full layar

cara menggunakannya

<div class="container-fluid">
//content
</div>

dalam satu halaman web bisa saja digunakan dua-duanya sesuai kebutuhan.

selanjutnya class row, class row sama seperti row/baris pada tabel pada umumnya.

class col sama seprti colum tabel pada umunya, row dan col selalu berdampingan penggunanya.

<div class="container">
<div class="row">
<div class="col">
1 of 2
</div>
<div class="col">
2 of 2
</div>
</div>
</div>

perlu di perhatikan layout pada framework boostrap itu terbagi menjadi 12 collum

terdapat juga beberapa pilihan class grid

Small untuk ukuran layar ≥576px dengan nama classnya sm, class sm bisa diisi 1-12

<div class="row">
<div class="col-sm-12">
//content
</div>
</div>

Medium untuk ukuran layar ≥768px dengan nama class md, class md sama juga bisa diisi 1-12

<div class="row">
<div class="col-md-12">
//content
</div>
</div>

Large untuk ukuran layar ≥992px dengan nama class lg, class lg sama juga bisa diisi 1-12

<div class="row">
<div class="col-lg-12">
//content
</div>
</div>

Extra large untuk layar ≥1200px dengan nama class xl, class xl juga bisa diisi -12

<div class="row">
<div class="col-xl-12">
//content
</div>
</div>

class grid bisa di kombinasikan penggunaanya tergantung dari website target pengguna website temen-teman

<div class="row">
<div class="col-xl-12 col-md-8">content</div>
</div>

terdapat satu class keren yaitu class offset, class ini digunakan jika kamu ingin membuang beberapa collum sebelunya.

<div class="row">
<div class="col-md-4">col-md-4</div>
<div class="col-md-4 offset-md-4">col-md-4 .offset-md-4</div>
</div>

silahkan lihat documentasinya klik disini

artikel ini hanya membahas pengenalnya saja

 

Kenalan dengan Progressive Web Apps(PWA)

10:16 AM Add Comment
Kepanjangan dari PWA adalah Progressive Web Apps. lantar apa itu pengertian dari Progressive Web Apps ??

Apa itu Progressive Web Apps(PWA)  ?


Progressive Web Apps adalah sebuah metode untuk membuat sebuah webiste berjalan,terlihat, dan terasa seperti aplikasi native pada umumnya, tetapi merupakan situs web yang sudah di optimized untuk dijalankan dimobile. meskipun seperti aplikasi native kita tidak perlu mendownload di app store, cukup dengan membuka webiste yang sudah teroptimized beberapa  detik nanti akan muncul pop-up untuk mengijinkan apakah web tersebut diizinkan dipasang di HOME. meskipun sudah terpasang dihome pwa tetap berjalan di atas browser dan pwa yang baik harus bisa berjalan meskipun di jaringan 3G dan offline, juga memiliki fitur offline caching,background syncing dan push notifications dengan menggunakan service worker. apa itu service worker ? service worker adalah sebuah aplikasi file javascript yang berjalan di background dan tidak dapat berintarksi langsung dengan halaman website maupun tidak bisa mengakses DOM Secara langsung tetapi dapat berkomunikasi melalui messages (Post Messages). pwa harus menggunakan service worker karena service worker bertindak sebagai proxy server diantara web app, browser dan jaringan(bila tersedia). pada load pertama kali service worker akan mendownload content webiste tersebut dan di simpan dicache browser. dengan demikian jika mengakses lagi dapat memuat website tersebut lebih cepat karena tinggal mengambil data dari cache browser yang disimpan tadi. Dengan cara ini website akan bisa diakses secara offline atau sedang mengalami sinyal yang buruk. Perusahan yang sudah menerapkan pwa pada website mereka
alibaba pwa
Alibaba
trivago pwa
trivago
Instagram pwa
Instagram
twiter pwa
Twitter
dan masi banyak lagi website keren yang sudah menggunakan pwa. dengan menggunakan pwa akan memberikan pengalam kepada user yang membuka website kita sebagai berikut : => Reliable  proses load website akan lebih cepat user tidak lagi melihat downasaur bahkan dalam jaringan yang sangat buruk sekalipun. => fast dengan respon yang cepat dapat mencegah user meninggalkan website kita karena 53% user akan meninggakan webiste kita jika dalam 3 menit webiste kita tidak memberikan respon apapun atau malah muncul downasaur. => Engaging karena pwa terlihat seperti aplikasi native pada umunya maka akan memberikan user  experience yang sangat mendalam. hal yang perlu di perhatikan dalam pembuatan pwa: Service Worker service worker bertindak sebagai proxy server diantara web app, browser dan jaringan(bila tersedia). pada load pertama kali service worker akan mendownload content webiste tersebut dan di simpan dicache browser. dengan demikian jika mengakses lagi dapat memuat website tersebut lebih cepat karena tinggal mengambil data dari cache browser yang disimpan tadi. Dengan cara ini website akan bisa diakses secara offline atau sedang mengalami sinyal yang buruk. Manifest File manifest File adalah file JSON config yang mencakup tentang informasi dari aplikasi seperti jenis icon yang akan disimpan dilayar ketika diisntall, tema,dan nama pendek dari aplikasi. HTTPS service worker memerlukan https untuk tujuan keamanan.karena service worker memiliki kemampuan untuk memodifikasi respon disisi client dan dapat mencegah request jaringan, semua komunikasi antara browser dan jaringan perlu di dienkripsi.
alat yang dibutuhkan untuk membuat pwa:
  1. Chrome 52 atau di atasnya
  2. Web Server for Chrome, atau server web pilihan Anda
  3. Text Editor
  4. Pengetahuan dasar tentang HTML, CSS, JavaScript, dan Chrome DevTools
setelah pwa selesai di bagun jangan lupa testing dengan developer tools => audits semoga bermanfaat