PHP Unit Test Explorer With Laravel Sail

Image
What is PHP Unit Test Explorer Before we discuss in deep, i want to explain the standard definition. PHP Unit Test Explorer is one of extensions in visual studio code. You can search in extension menu and install it.  After installed, you can find it on sidebar. It has test tube icon. Laravel Sail Laravel sail is one of laravel tools for easy and consistent development. Under the hood, it uses docker and docker compose. One advantage using sail is we don't need to setup bunch of php and web server configuration. It was already handled by sail. We just need to run docker compose command or via sail command. You can learn more detail about how sail works in Laravel documentation here . What if we want to implement TDD in Laravel? As developer, we need to make sure our code run well. So, we need to test it by implementing TDD. Luckily, Laravel support TDD by default. You can run artisan command to generate test file. In the newest version, Laravel supports phpunit and pest configurati

Mengenal Seluk Beluk DNS

Melanjutkan hasil pembelajaran bulan lalu, masih seputar dasar Networking, saya akan menjabarkan konsep DNS. Anda bebas memberikan feedback.

DNS atau Domain Name System merupakan Sistem penaman host sebuah komputer yang terhubung ke jaringan komputer. Jaringan yang dimaksud dapat berupa jaringan lokal (pribadi) maupun yang bersifat global (Jaringan Internet).

Dilihat dari namanya. Domain yang artinya daerah atau wilayah dan name system yang artinya sistem penamaan. Secara bebas dapat diartikan sebagai sistem penamaan suatu wilayah tertentu. Dalam dunia Komputer Jaringan, DNS mengacu pada sistem penamaan wilayah/host. Host ialah komputer atau devices yang terhubung ke jaringan internet (online).

Ilustrasinya sederhana, dari sisi jaringan berbasis OSI (Open System Interconnection) semua komputer yang terhubung ke Jaringan internet menggunakan indentitas agar tentu bisa dibedakan satu sama lain. Tugas ini dihandle oleh Network layer(Layer dalam OSI model). Tujuan Internet tentu agar semua komputer dapat saling terhubung. Tidak hanya terhubung, tapi bertukar informasi dengan tepat. Agar informasi dikirim maupun diterima dengan benar,diperlukan mekanisme. Mekanisme yang paling umum ialah penerapan Identitas. Identitas ini dikenal dengan nama IP (Internet Protocol) address. Jadi untuk menghubungi suatu komputer di internet, kita harus tau Alamat IP Komputer tersebut. Alamat IP memiliki format contohnya 192.168.1.1. Bagi anda yang sudah mahir dan lama berkecimpung di dunia Jaringan Komputer, Alamat IP bukan merupakan masalah. Namun, jika orang awam yang mengaksesnya, itu akan menjadi cukup bermasalah. Kemungkinan besar mereka akan menyatakan itu tidak praktis dan susah diingat. Sederhananya, DNS menjawab masalah itu. Alamat IP yang semula berupa deretan angka, diubah menjadi deretan kata dengan format tertentu. Anda pasti akrab dengan www.facebook.com atau google.com. Itu bentuk nyata implementasi DNS. Secara teknis, DNS bisa melakukan lebih dari itu.

Bagaimana DNS bekerja?


Pertanyaan ini sebenarnya memerlukan penjabaran teknis yang cukup panjang. Saya akan memberikan gambaran umumnya saja agar mudah dipahami. Saat kita mengetikan sebuah alamat pada browser(Mozilla, Chrome, Opera dan semisalnya) seperti www.facebook.com, maka sistem akan memerintahkan komputer lokal untuk mengenali www.facebook.com. Sistem ini dikenal dengan nama resolver lokal. Komputer modern umumnya sudah mendukung layanan service untuk mengecek apakah www.facebook.com ada dan bisa dihubungi. Ingat, tujuan DNS ialah memudahkan orang awan dalam mengingat host dalam bentuk deretan kata. Namun, tetap prinsipnya komputer terhubung ke internet menggunakan alamat IP. Fungsi DNS disini menyediakan alamat IP yang menjadi alamat domain www.facebook.com

Bahasa kerennya mapping IP ke nama domain facebook maupun sebaliknya. Kebanyakan pada umumnya komputer tidak akan menyimpan alamat IP facebook. Namun, hal ini bisa saja dilakukan setting manual agar komputer mengenali IP facebook secara langsung. Ketika tidak ada satupun IP yang berelasi dengan facebook maka komputer akan melakukan pencarian pada DNS server. Jika anda menggunakan layanan koneksi internet salah satu ISP maupun mobile internet network, anda akan mendapatkan DNS server secara otomatis.Anda bisa saja melakukan pengaturan manual agar DNS server mengarah ke Server tertentu. Komputer akan menghubungi DNS server tersebut dan menanyakan apakah IP facebook terdaftar pada server. Jika ada, server akan mengirimkan IP tersebut ke komputer kita. 

Komputer akan menghubungi alamat IP facebook. Sekarang Anda bisa login ke facebook. Proses ini terlihat panjang dan memakan waktu. Faktanya, semua proses panjang di atas, tidak memerlukan waktu yang lama. Bahkan jika kecepatan Internet sangat memadai, hal ini hanya memerlukan hitungan detik saja. Semua itu dikarenakan DNS memang dirancang ringan, cepat dan efisien.

Struktur URL


Jika diperhatikan lebih seksama, sebuah URL ( Unified Resource Locator ) akan terlihat seperti ini


jika kita amati

https:// merupakan protokol

www. merupakan standart akses web

facebook merupakan nama domain dari sebuah perusahaan atau perorangan

.com merupakan top level domain

faktanya, keseluruhan domain dalam URL akan diartikan atau diproses oleh DNS dimulai dari paling kiri kemudian ke kanan. Sebuah domain apapun sejatinya mengandung tanda titik di belakang seperti ini 


sekalipun anda tidak menerapkannya, tanda titik akan disematkan automatis
oleh DNS sistem. 
Mengapa?

Karena . merupakan root DNS dunia.

Hiraki DNS dan 13 Root DNS dunia


Menjelaskan ini, Anda sedikit banyak harus melihat kembali mengapa DNS ada dan bagaimana DNS bisa terbentuk. Artinya anda harus mengikuti sejarah DNS dunia yang sampai sekarang masih tetap dipertahankan agar anda bisa berselancar di dunia maya tanpa perlu pusing-pusing mengingat ribuan IP host computer di internet.

Pertama kali diterapkan di Stanford Research Institute, DNS masih berupa sistem sederhana yang memetakan komputer dalam sebuah jaringan dengan menggunakan file HOST.TXT resolver. Semua komputer memiliki file ini untuk mengidentifikasi nama komputer beserta IPnya. Sistem lawas ini masih dipertahankan pada Komputer-komputer sistem modern seperti GNU/Linux maupun windows. Jika anda pengguna windows anda bisa mengakses filenya pada direktori System32 pada folder  c:\windows\system32\drivers\etc\hosts sedangkan pada GNU/Linux file ini berada pada direktori /etc/hosts. Jadi sebelum memanggil layanan DNS, pertama sistem akan memeriksa file tersebut terlebih dahulu. Anda bisa saja menambahkan misal www.facebook.com ke file ini. 

Sistem akan langsung mengarahkan ke alamat IP yang ada dalam file tersebut tanpa harus meminta layanan DNS untuk mencarinya. Namun, Seiring berkembangnya zaman, metode ini dinilai kurang dinamis dan memiliki banyak kelemahan. Pertama, setiap ada perubahan atau penambahan host, Setiap komputer dalam jaringan harus menambahkan komputer tersebut secara manual agar komputer tersebut dapat teridentifikasi. Pada masa itu, dalam jaringan ARPANET, Setiap komputer yang akan bergabung dalam jaringan harus terdaftar dalam databases pusat untuk pendataan. Seiring bertambahnya komputer kegiatan ini semakin menyulitkan dan tidak efisien.

Di awal tahun 1980, seorang yang menyadari hal tersebut mencoba memberikan solusi. Adalah Paul Mockapetris dibawah arahan Postel membangun sistem DNS. Spesifikasi awal ini dipublikasikan di bawah badan The Internet Engineering Task Force.

Melanjutkan sistem ini, pada tahun 1984 Sekelompok Mahasiswa di UC Berkeley, Douglas Terry, Mark Painter, David Riggle, and Songnian Zhou, menulis Name Server berbasis Sistem Unix pertama kalinya yang dikenal dengan Berkeley Internet Name Domain (BIND). Pada tahun berikutnya Kevin Dunlap melakukan perbaikan dari implementasi DNS tersebut. Kemudian disusul oleh Mike Karels, Phil Almquist, and Paul Vixie yang memelihara BIND sejak awal tahun 1990. Sejak saat itu BIND digunakan secara luas khsusnya pada sistem berbasis Unix maupun GNU/Linux.

Comments

Popular posts from this blog

Mengapa Saya Memutuskan Menjadi Seorang Freelancer?

PHP Unit Test Explorer With Laravel Sail

Completely a Mess or Achievement ? Evaluasi 2 Tahun di Jakarta