Skip to main content

Go Programming Language

Ada hal yang menarik dari Go programming language, yaitu adanya fitur cross compilation. Yaitu kita bisa membuat executable file yang dihasilkan untuk dijalankan pada platform (OS) yang berbeda. 

Sebagai contoh kasus, kita melakukan pengembangan sebuah aplikasi di Linux. Setelah berhasil, maka bila kita ingin menjalankannya di Windows, maka yang perlu kita lakukan adalah sebagai berikut:

$ GOOS=windows go build hello.go

Maka output dari build ini adalah hello.exe dan bila kita cek, dengan perintah $ file hello.exe, maka akan muncul penjelasan sebagai berikut:

hello.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
Hal ini menunjukkan bahwa file hello.exe tersebut runnable di Windows. Bila kita coba jalankan di Linux, akan muncul error message berikut:

 -bash: ./hello.exe: cannot execute binary file: Exec format error

Hal yang menarik lagi adalah bahwa untuk menjalankan file hello.exe tersebut, kita tidak perlu menginstal Go di Windows yang kita tuju. Tidak seperti Java yang mensyaratkan untuk menginstall Java Runtime Environment (JRE) pada Windows tujuan. 

Inilah cara yang cerdik dari para pengembang bahasa Go tersebut. It's a cool thing. 



Comments

Popular posts from this blog

Masalah "Open Containing Folder" di Firefox

Sebagaimana lazimnya bila kita sudah selesai mendownload sebuah file dengan menggunakan Firefox, maka kita akan menuju ke folder tempat file tersebut di download. Ada sedikit permasalahan, saat kita menggunakannya di lingkungan Linux.


Bukan aplikasi file manager yang terbuka, akan tetapi kadang-kadang malah aplikasi lain, seperti Audacious.
Mengapa hal tersebut bisa terjadi di lingkungan Linux? Karena di Linux, tidak ada standardisasi file manager yang dipakai. Ada yang menggunakan nautilus, konqueror, dolphin, thunar, dll.
Untuk XFCE, dengan file manager Thunar. Berikut adalah cara untuk memecahkan masalah tersebut:
Edit file mimeapps.list berikut

$ nano ~/.local/share/applications/mimeapps.list
Pada bagian [Default Applications], tambahkan baris berikut:

inode/directory=Thunar.desktopDemikian.

Linux Yang Baik Hati

Ada beberapa pengguna Windows yang kadang curhat ke aku tentang gangguan virus saat mereka berkomputasi. Salah satunya adalah saudaraku sendiri yang tergolong end user.

Mengapa file-file yang ada di flash disknya kok tiba-tiba menghilang? Atau mengapa jadi aneh?

Rupanya setelah aku periksa dengan Linux tentu saja, terlihat jelas bahwa ada virus disana. Yaitu jenis virus yang menyembunyikan file-nya dan membuat shortcut ke folder yang akan di eksekusi seolah-olah itu adalah file kepunyaan pengguna. Akan tetapi disitulah jebakan batman-nya. Yaitu kode jahat yang akan dijalankan, begitu kita meng-klik short cut tsb.

Bila kita menganalisa dengan  Windows, maka fenomena keanehan tersebut akan berjalan. Karena virus tersebut memang didesain untuk menyasar Windows.

Akan tetapi bila kita menggunakan Linux, maka jelas sudah bahwa itu adalah kerjaan sebuah virus. Dan sudah beberapa kali aku menemui kasus seperti itu. Dan akhirnya apa yang aku lakukan?

Cukup aku ambil data yang di sembunyikan…

Visual Studio Code Untuk Belajar Python, C, C++ dan C#

Setelah mencari IDE (Integrated Development Environment) apa yang terbaik untuk mendevelop Python, Akhirnya saya mendapatkan pencerahan setelah menemukan Visual Studio Code. Rupanya ada perbedaan antara IDE dengan Editor. Bila Editor adalah semacam text editor saja, seperti notepad++, Emacs, vim, maka IDE adalah editor + compiler.

Oleh karena itu, maka IDE biasanya lebih berat dalam hal performance. Karena memang membundle editor + compilernya. Secara default, Visual Studio Code didesain bagi pengembang aplikasi web, yang meliputi html, css, java script, type script. Jadi untuk mendevelop bahasa pemrograman seperti Python, perlu sedikit cara agar bisa digunakan juga sebagai compiler.


Setting Python
Tekan F1, lalu ketik Task: Configure Taks Runner. Kemudian gantilah "command" : "python.sh", "isShellCommand" : true, "showOutput" : "always", "args" : ["{$file}"]
Itu artinya bila kita menjalankan task runner (run build Task…