Monday, October 27th, 2008
Java punya beberapa varian, misal JavaSE untuk pemrograman Desktop dan Applet, JavaEE untuk pemrograman Web dan aplikasi berbasis Enterprise atau JavaME untuk pemrograman berbasis perangkat bergerak atau yang lebih dikenal di Indonesia dengan nama hape.
Tapi ternyata Java juga disupport oleh beberapa bahasa pemrograman lain, jadi kita bisa bikin program java pake bahasa tersebut, atau sebaliknya kita bikin program untuk bahasa tersebut dengan menggunakan Java. Jadi seperti peribahasa "Sekali Dayung Dua sampai Tiga Pulau Terlampaui".
Digunakan untuk yang ingin belajar banyak bahasa pemrograman tapi gak mau nginstal banyak software, karena semua tools yang dipake semuanya dibuat menjadi pustaka Java berekstensi jar, jadi gak perlu install, hanya tinggal ekstrak aja.
1. GWT (Google Web Toolkit)
GWT dipake untuk membuat aplikasi web berbasis AJAX tapi bahasa pemrograman yang kita pakai adalah Java, dibuat oleh team google. Tampilan yang dihasilkan dari aplikasi khas banget dengan ciri google.
2. Jython
Kombinasi antara Java dan Python, Bisa buat aplikasi Python menggunakan Java atau sebaliknya buat aplikasi Java menggunakan Python.
3. JRuby
Kombinasi antara Java dan Ruby. Punya support untuk Ruby on Rails, dengan nama JRuby on Rails. Untuk yang udah denger sebuah bahasa scripting yang namanya ruby, tapi blon nyobain sampe saat ini.
4. QTJambi
Yup, namanya Jambi seperti nama sebuah provinsi di Sumatera. Mungkin idenya dicomot dari Java yang nama sebuah pulau di negara kita juga :-P. QT adalah sebuah windows framework berbasis C++, tapi digabungkan dengan Java sehingga kita bisa pake library QT di bahasa pemrograman Java.
5. ZK
Dengan ZK kita bisa membuat aplikasi web berbasis AJAX untuk JavaEE tanpa perlu ngerti bagaimana sintaks dari AJAX itu sendiri. Hanya tinggal memanggil tag-tag yang perintahnya mirip dengan tag HTML. Tinggal gabungin dengan Servlet atau JSP.
6. Quercus
Kalo yang ini bukan sebuah bahasa pemrograman, tapi sebuah web server yang sanggup menangani PHP dan Servlet. Jadi kita buat program tetep pake PHP, oleh server ini akan diterjemahkan menjadi pustaka Java. Sehingga kita bisa mengimport pustaka Java di source PHP.
Baru 6 aja yang ke-ulik, itu juga masih dasarnya blon sampe pemrograman kompleks. Kayak ada waktu aja untuk mendalami semuanya :-P. Yang penting gak ketinggalan teknologi dulu deh.
Posted in java, linux, myself, windows | No Comments »
Wednesday, October 8th, 2008
Masih menggunakan file .nanorc, kita coba mengaktifkan Syntax Highlighting pada editor teks Nano, karena Nano sebenernya dah support untuk pewarnaan tapi secara default tidak ada konfigurasinya. Jadi konfigurasinya harus kita tambahin sendiri.
Untuk menambahkan pewarnaan pada Nano sebenernya harus udah ngerti dulu penggunaan regular expression, tapi di dunia maya sudah tersedia beberapa versi syntax untuk bahasa pemrograman populer.
Ini dicomot dari beberapa situs web.
PHP
|
syntax "php" "\.php[2345s~]?$"
color brightblue "(.*)\("
#Changed this one to a character class instead of "=*|=*|<|>|!":
color blue "\$[a-zA-Z_0-9$]*|[=!<>]"
color green "(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|@|while)\s"
color green "[.,{}();]"
color red "('.*')|(\".*\")"
#Forces regex to stop matching at EOL.
#Sometimes the dot . matches newline as well so this is more portable:
color brightyellow "(#.*|//.*)$"
color brightyellow start="/\*" end="\*/"
#not all php open tags are "long"
#I wanted to write (<\?(?!xml)(php)?|\?>) but the parser didn't support it.
color brightblue "(<\?(php)?|\?>)"
#unfortunately, this also makes the php tags themselves white.
#But I'll live anyway
color white start="\?>" end="<\?(php)?" |
PYTHON
|
syntax "python" "\.py$"
color brightblue "def [a-zA-Z_0-9]+"
color brightcyan "\<(and|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|map|not|or|pass|print|raise|return|try|while)\>"
color brightgreen "([\"']).*?[^\\]\1"
color brightgreen start="\"\"\"" end="\"\"\""
color brightred "#.*$" |
HTML
|
syntax "HTML" "\.html$"
color blue start="<" end=">"
color red "&[^; ]*;" |
C/C++
|
syntax "c-file" "\.(c|C|cc|cpp|h|H|hh|hpp)$"
color red "\<[A-Z_]{2,}\>"
color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|signed|unsigned|inline)\>"
color green "\<(class|printf|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>"
color brightyellow "\<(for|if|while|do|else|case|default|switch|goto|continue|break|return)\>"
color brightyellow "\<(try|throw|catch|operator|new|delete)\>"
color brightcyan "^ *# *(define|undef|include|ifn?def|endif|elif|else|if)"
color brightmagenta "'([^\]|(\\['abfnrtv\\]))'" "'\\(([0-7][0-7]?)|([0-3][0-7][0-7]))'" "'\\x[0-9A-Fa-f][0-9A-Fa-f]?'" |
JAVA
|
syntax "Java source" "\.java$"
color green "\<(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\>"
color red "\<(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\>"
color cyan "\<(abstract|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile)\>"
color red ""[^\"]*""
color yellow "\<(true|false|null)\>"
color blue "//.*"
color blue start="/\*" end="\*/"
color brightblue start="/\*\*" end="\*/"
color brightgreen,green " +$" |
Shell Script
|
syntax "shellscript" "\.sh$"
color brightgreen "^[a-zA-Z_0-9]+\(\)"
color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>"
color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
color green "-(e|d|f|r|g|u|w|x|L)\>"
color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
color brightblue "\<make\>" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>"
color brightred "\$\{?[a-zA-Z_0-9]+\}?"
color yellow "#.*$"
color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'" |
Pascal
|
syntax "Delphi Source" "\.pas$"
color brightcyan "\<(boolean|byte|char|double|float|integer|long|new|short|this|transient|void)\>"
color brightred "\<(break|case|catch|continue|default|do|else|finally|for|if|then|return|switch|throw|try|while|function)\>"
color cyan "\<(abstract|unit|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|$color brightyellow "\<(until|repeat|var|uses|type|begin|end|const)\>"
color magenta "\<(true|false|null|procedure)\>"
color brightblue "//.*"
color brightblue start="\{" end="\}" |
Sumber:
http://www.linuxhowtos.org/System/
http://ubuntuforums.org/forumdisplay.php?f=100
http://forums.gentoo.org/viewforum-f-12.html
Technorati : tools, tutorial
Del.icio.us : tools, tutorial
Posted in linux | No Comments »
Thursday, September 25th, 2008
Kalo merasa gak nyaman dengan Ubuntu Server dalam versi console yang gak bisa melakukan beberapa perintah bersamaan, bisa pake dua cara, yang pertama pake SSH Server yang nantinya server kita diakses via remote computer atau yang kedua kita install Windows Manager untuk linux yang kita gunakan.
Banyak banget sebenernya Windows Manager yang tersedia untuk Linux, dalam Ubuntu biasanya yang dipake GNOME, Kubuntu menggunakan KDE dan Xubuntu menggunakan XFCE. Tapi karena yang dibutuhkan hanya supaya bisa ngebuka lebih dari satu Console, maka kita cari yang ringan aja. Ada beberapa juga Windows Manager yang ringan seperti IceWM, FluxBox, OpenBox atau FVWM-Crystal.
Kita coba pake IceWM, dependensi dari IceWM dan semua Windows Manager adalah x.org. Maka kita install dulu x.org
|
sudo apt-get install xorg |
Kemudian kita install IceWM
|
sudo apt-get install icewm iceconf icepref iceme icewm-themes |
Tapi kita harus menjalankan IceWM ini melalui Console Ubuntu Server lewat perintah
Setelah itu kita akan masuk ke Windows milik IceWM, untuk menampilkan menu gunakan klik kanan. Sekarang kita bisa tambahin software-software lain sesuai kebutuhan, karena IceWM hanya menyediakan software-software minimalis.
Technorati : browser, tools, tutorial
Del.icio.us : browser, tools, tutorial
Posted in linux | 3 Comments »
Tuesday, September 23rd, 2008
Setelah kemaren kita coba menginstal Apache dan PHP ke dalam ubuntu server, sekarang kita coba untuk menginstal MySQL dan OpenSSH dengan kebutuhan yang sama seperti kemaren.
Semua juga tau kalo MySQL itu gunanya sebagai Database Server, biasa disandingkan dengan Linux, Apache dan PHP yang dikenal dengan nama LAMP. Instalasinya seperti ini:
|
sudo apt-get install mysql-server libmysqlclient15-dev mysql-client |
Sewaktu instalasi akan diminta untuk memasukkan password untuk root sebanyak dua kali. Password ini hanya akan berlaku untuk root yang sedang bekerja dalam server localhost saja. Kebanyakan konfigurasi MySQL termasuk di WebHosting hanya memperbolehkan user untuk login melalui akses localhost saja, karena lebih menjamin keamanan data.
Kalo OpenSSH Server mungkin masih ada yang blon tau gunanya apa, SSH (Secure Shell) digunakan untuk mengakses server secara remote, dengan catatan bahwa pada server sudah diinstall SSH Server.
Fungsi SSH ini sama seperti kita mengeksekusi perintah dari console linux atau melalui FTP, tapi lebih secure dan menggunakan port 22. Software yang digunakan untuk mengakses SSH Server biasanya yaitu Putty atau WinSCP.
|
sudo apt-get install ssh openssh-server |
Kemudian pernah baca di sebuah artikel yang lupa alamatnya dimana, kalo di Ubuntu Server secara default sudah terinstalasi software yang namanya AppArmor untuk meningkatkan security Ubuntu, tapi lebih banyak membuat masalah bila konfigurasinya salah. Maka kita coba matikan saja service AppArmor ini:
|
sudo /etc/init.d/apparmor stop
sudo update-rc.d -f apparmor remove |
Terus kita uninstal AppArmor:
|
sudo apt-get remove apparmor apparmor-utils |
Sudah beres, sekarang kita dah punya sebuah WebServer aktif yang support PHP dan MySQL. Tapi baru hanya bisa diakses melalui IP Address saja.
Technorati : tools, tutorial
Del.icio.us : tools, tutorial
Posted in apache, linux, mysql, php | No Comments »
Tuesday, September 9th, 2008
Kalo kemaren kita bermain-main dengan XAMPP, secara default security dari XAMPP sangat kurang jadi harus dikonfigurasi secara ekstensif. Sekarang kita coba pake Apache dan PHP yang berada dalam repositoryi Ubuntu.
Kalo yang dalam repositori ubuntu konfigurasi dari Apache dan PHP sudah disetting sedemikian rupa sehingga jadi lebih aman digunakan. Jadi kesimpulannya adalah perangkat lunaknya sudah siap digunakan. Kenapa langsung digabungkan Apache dan PHP, karena sekarang kedua perangkat lunak tersebut sudah tidak bisa dilepaskan lagi dan ngapain install Apache kalo gak install PHP.
Yang dibutuhkan adalah (pilih salah satu)
- Koneksi internet yang kenceng atau
- DVD repositori Ubuntu, ada 5 DVD
1. Instalasi Apache:
|
sudo apt-get install apache2 apache2-doc apache2-utils libexpat1 apache2-mpm-prefork ssl-cert |
2. Instalasi PHP sebagai Apache Module:
|
sudo apt-get install libapache2-mod-php5 php5 php5-common php5-dev php5-curl php5-idn php-pear php5-ming php5-imagick php5-pspell
php5-jsonphp5-imap php5-mcrypt php5-memcache php5-mhash php5-gd php5-xmlrpc php5-mysql php5-recode php5-sqlite php5-snmp php5-tidy
php5-xsl |
3. Aktifkan Apache Module untuk SSL, rewrite, suexec dan include
|
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include |
4. Reload Apache
|
/etc/init.d/apache2 force-reload |
5. Restart Apache
|
/etc/init.d/apache2 restart |
Technorati : tools, tutorial
Del.icio.us : tools, tutorial
Posted in apache, linux, php | 1 Comment »
Wednesday, September 3rd, 2008
Ada browser baru yang baru aja beberapa jam muncul di dunia maya nih, browser ini buatan google dan bisa didownload di http://www.google.com/chrome
Fiturnya ya sama aja seperti browser-browser lain dengan beberapa kekurangan, kan baru aja muncul. Tapi sudah cukup powerful untuk menjalankan aplikasi web, apalagi sepertinya sudah dioptimasi untuk teknologi-teknologi berbasis web milik google.
Firefox punya pesaing? atau sebagai browser tambahan aja ya?
Technorati : browser, chrome, google, tools
Del.icio.us : browser, chrome, google, tools
Posted in myself, windows | 6 Comments »
Tuesday, August 19th, 2008
Dapet infonya dari blog maseko, trus penasaran dan dicoba deh.
Pertamanya coba ke situsnya wikipedia yang nyediain dump dari seluruh artikel wikipedia dan pilih folder latest, kemudian ambil yang enwiki-latest-pages-articles.xml.bz2 (Update terakhir 27 Juli 2008), besarnya 3.9GB, cobain donlot dan beres dalam waktu 14 Jam saja
Trus donlot software WikiTaxi untuk import dan ngebaca file Wikipedia.
Cara untuk menggunakannya seperti ini:
1. Ekstrak WikiTaxi, nanti ada dua file, WikiTaxi.exe dan WikiTaxi_Importer.exe
2. Karena file Wikipedia yang kita donlot blon dikenali oleh WikiTaxi, maka harus diimport dulu pake WikiTaxi_Importer.exe
3. Waktu tempuh untuk import di komputerku adalah 1 Jam 45 Menit
4. Setelah beres import, didapet hasil importnya 7.3GB dengan ekstensi taxi, jadi gak disaranin untuk yang punya harddisk pas-pasan
5. Jalanin WikiTaxi.exe trus pilih file wiki hasil import tadi
6. Udah deh kita punya Wikipedia versi offline
Sekarang lagi nyari cara supaya bisa jadi versi web-nya nih. Taro di kantor trus yang mau ngakses Wikipedia, pake aja yang offline jadi gak terlalu ngabisin bandwith.
Cara menggunakannya dengan lebih jelas dan pake gambar-gambar juga bisa diliat di situsnya WikiTaxi kok.
Technorati : tools, tutorial
Del.icio.us : tools, tutorial
Posted in myself, plugin, windows | 6 Comments »
Monday, June 30th, 2008
Nano adalah sebuah editor teks yang sudah terintegrasi dalam linux bersama VI dan Emacs. Ketiga software ini biasanya digunakan dalam shell linux.
Fitur yang kurang dari nano ini misalnya adalah indentasi otomatis, no wrap, backup file dan terutama untuk programmer adalah syntax color highlight.
Fitur-fitur tersebut bisa diaktifkan, tapi harus buat dulu satu file bernama “.nanorc” di folder home milik kita.
Disini saya buatnya pake nano, jadi konfigurasi nano menggunakan nano
Folder home yang saya gunakan adalah: “/home/irfan”, silakan sesuaikan dengan home folder masing-masing.
Langkahnya:
1. Dengan menggunakan console bawaan linux
2. Buat file baru dengan nama .nanorc
3. Tuliskan perintah-perintah di bawah ini di file .nanorc untuk mengaktifkan fiturnya.
a. Mengaktifkan Indentasi Otomatis
b. Mengaktifkan Backup File
c. Menonaktifkan Text Wrap
d. Mengaktifkan History Nano
e. Mengaktifkan Smooth Scrolling
f. Jarak indentasi, harus lebih besar dari 0
Contoh dari file .nanorc yang saya punya
|
# Use auto-indentation
set autoindent
# Backup files to filename~
set backup
# Use cut to end of line with ^K by default
set cut
# Enable ~/.nano_history for saving and reading search/replace strings.
# set historylog
# Do not convert files from DOS/Mac format
set noconvert
# Do not follow symlinks when writing files
# set nofollow
# Do not display the help lists at the bottom of the screen
# set nohelp
# Do not wrap text at all
set nowrap
# Use smooth scrolling as the default
set smooth
# Allow nano to be suspended with ^Z
# set suspend
# Use this tab size instead of the default; it must be greater than 0
# set tabsize 8
# Save automatically on exit, do not prompt
# set tempfile |
Yang berada dalam tanda pagar (#) berarti tidak akan dieksekusi karena dianggap komentar.
Dengan bantuan dari: linuxhowto
Technorati : pemrograman, tools, tutorial
Del.icio.us : pemrograman, tools, tutorial
Posted in linux | 5 Comments »
Friday, June 27th, 2008
Untuk yang suka nginstall sistem operasi menggunakan VMWare, ternyata ada juga alternatif software versi yang gratisnya yaitu VirtualBox. Sama seperti VMWare, software ini juga mengemulasi sistem operasi diatas sistem operasi lain.
Software ini dapat diinstall di windows, linux, macintosh dan solaris. Dan software ini dapat menjalankan banyak sistem operasi termasuk windows, dos, linux dan openbsd.
VirtualBox diluncurkan dalam dua versi
- Close Source Edition, tetap digratiskan tapi tidak tersedia dalam bentuk source code
- Open Source Edition, gratis dan tersedia source code-nya
Perbedaannya adalah versi Close Source memiliki fitur lebih banyak dibandingkan yang Open Source, diantaranya:
- Remote Display Protocol (RDP) Server
- USB Support
- USB over RDP
- iSCSI Support
- Serial ATA (SATA) Controller
Kelima fitur ini tidak muncul di versi Open Source.
Silakan dicoba, nanti kalo saya sudah coba kita bikin tutorialnya.
Technorati : linux, tools, windows
Del.icio.us : linux, tools, windows
Posted in linux | 6 Comments »
Thursday, June 19th, 2008
Perintah untuk mendapatkan angka random dalam PHP menggunakan sebuah
fungsi yang bernama mt_rand(), mt_rand() merupakan sebuah fungsi yang sudah terintegrasi dengan PHP sehingga tidak perlu menginstall pustaka apapun, dengan contoh seperti ini:
1. Mendapatkan sebuah angka random:
|
<?php
$angka = mt_rand();
echo $angka;
?> |
2. Mendapatkan sebuah angka random berdasarkan range:
|
<?php
$angka = mt_rand(0, 99);
echo $angka;
?> |
Dengan memakai perintah diatas, maka angka random yang muncul
merupakan angka yang berada diantara 0 sampai 99 (0 <= angka <= 99)
3. Mendapatkan banyak angka random, misalnya 10 angka random
|
<?php
$banyakAngka = 10;
for ($i = 0; $i < $banyakAngka; $i++) {
$angka = mt_rand();
echo $angka;
echo '<br />';
}
?> |
4. Mendapatkan banyak angka random berdasarkan range, misalkan 10 angka random dan range-nya 1 sampai 50.
|
<?php
$banyakAngka = 10;
for ($i = 0; $i < $banyakAngka; $i++) {
$angka = mt_rand(1, 50);
echo $angka;
echo '<br />';
}
?> |
Posted in apache, php | 5 Comments »