Mengenal Trait di PHP
Trait adalah mekanisme untuk penggunaan kembali kode dalam single inheritance. Trait dimaksudkan untuk mengurangi beberapa keterbatasan dari turunan tunggal dengan memungkinkan pengembang untuk menggunakan kembali serangkain fungsi-fungsi secara bebas pada beberapa klas yang independen yang hidup dalam hirarki klas yang berbeda.
Trait mirip dengan klas, hanya saja trait dimaksudkan untuk mengelompokan fungsi menjadi kecil dan konsisten. Kita tidak bisa meng-instansi trait pada dirinya sendiri tetapi kita bisa menggunakannya tanpa harus menurukannya(inheritance).
…Default run pada cargo run
Sebelumnya pada postingan tentang [Cargo run multi binary]({% post_url 2020-04-18-cargo-run-multi-binary %}) saya mencontohkan bagaimana menjalankan binary khusus menggunakan cargo run
, sehingga kita bisa bikin aplikasi secara terpisah berdasarkan nama file.
Kenapa menggunakan multi binary pada saat menjalankan cargo run
?. Karena code fn main()
dapat digunakan pada setiap file.
Link Internal Post pada Artikel di Jekyll
Saya ingin berbagi tips singkat bagaimana membuat link yang merujuk ke internal post
di jekyll. Contoh berikut ini untuk postingan bertipe markdown.
Passing argument to app when using cargo run
Pernahkah membuat aplikasi cli dengan clap kemudian ingin menjalankan dengan cargo run --help
tetapi output yang keluar malah helpnya dari cargo ?. Ternyata cargo punya syntax agar argument yang kita lewatkan ditujukan ke aplikasi bukan untuk cargo. Cukup tambahkan --
sebelum argument yang ada pada aplikasi.
Cara Aman Mendapatkan data dari POST/GET pada Yii2
Yii2 menyertakan fungsi-fungsi yang biasa sering kita gunakan secara lengkap dan aman, biasanya kita sering menggunakan fungsi $_GET['nama_var']
dan $_POST['nama_var']
untuk mendapatkan data dari user yang dikirim melalui post/get. namun cara tersebut kurang aman karena tidak adanya nilai default jika variabelnya kosong.
Mengenal Tipe Data Dasar pada Rust
Rust memiliki beberapa tipe data dasar antara lain
- booleans -
bool
untuk data berupa benar/salah true dan false - integer tak bertanda -
u8
,u32
,u64
,u128
untuk mewakili bilangan bulat positif - integer bertanda -
i8
,i32
,i64
,i128
untuk mewakili bilangan bulat positif dan negatif - pointer sized integer -
usize
,isize
untuk mewakili data yang berindex dan memiliki ukuran dimemori - bilangan pecah -
f32
,f64
- terkait text -
str
,chr
- tuple -
(value, value, ...)
untuk data berurutan dengan ukuran tetap - slices -
&[T]
untuk mewakili data berurutan pada memori atau biasa dikenal dengan nama array/larik
Mengenal Bahasa Pemrograman Rust
Rust adalah bahasa pemrograman multi-paradigma yang fokus pada performa dan keamanan terutama safe concurrency
,
Rust secara syntax mirip C++ tetapi menyediakan kemanan memory tanpa menggunakan Garbage Collector pada pengelolaan memorinya. (wikipedia)
Setting PATH linux pada shell zsh
PATH
merupakan variabel shell yang akan menjadi acuan saat kita menjalankan perintah pada terminal dilinux. Shell akan mencari file binary dengan melihat variabel PATH. Misal kita ingin membuat custom command dengan program bash sederhana yang akan menjalankan aplikasi composer tanpa harus harus menyebut command php. contoh:
Cargo run multi binary
Pada saat kita menjalankan cargo run
maka secara default cargo
akan mencari file dengan nama main.rs
, bagaimana jika kita ingin menjalankan aplikasi yang berbeda nama file, misal kita ingin agar cargo dapat menjalankan file publisher.rs
atau subscriber.rs
pada saat kita ketik perintah cargo run
. Maka kita bisa menggunakan parameter --bin nama_binary
:
Hg pull dan push dengan switch config antara default dan remote
Ingin switch konfigurasi saat menjalankan hg pull dan push?. Misalkan kita punya 2 konfigurasi default
dan remote
maka kita dapat menjalankan hg pull dan push seperi berikut ini