Halo Symfony2 – episode 1

Udah lama ga nulis-nulis lagi, tetiba pengen nulis biar kelihatan masih hidup, hhe. Kali ini saya mau coba nulis menggunakan PHP framework, Symfony2 (itung-itung dokumentasi pribadi ceritanya). Yang pertama-tama pastikan PC/Notebook/Netbook/Laptop kita telah terinstall web server entah itu mau menggunakan XAMPP, LAMP, apache2, lighthttpd, nginx atau sesuai selera kamu deh kalo saya menggunakan apache2. Untuk rdbms nya saya menggunakan mysql. Setelah bahan-bahan tersebut telah tersedia, mari kita lanjut ke langkah berikutnya.

Instalasi

Banyak cara untuk menginstallasi Symfony2, bisa nge-clone melalui git, bisa download frameworknya yang berbentuk zip lalu extract, bisa menggunakan Symfony Installer. Sekarang saya mau instal menggunakan pilihan yang terakhir, yaitu menggunakan Symfony Installer. Type this commands di terminal/command prompt favorite kamu (fyi i’m using Ubuntu os, perintahnya mungkin berbeda jika menggunakan os lain, misal Windows) .

$ curl -LsS http://symfony.com/installer > symfony.phar 
$ sudo mv symfony.phar /usr/bin/sf2 
$ chmod a+x /usr/bin/symfony

Pada command #1, bertujuan untuk mendownload symfony installer ke local directory kita, dengan mode silent dan tampilkan error jika ada.
Pada command #2, memindahkan hasil download tadi (symfony.phar) ke /usr/bin/sf2
Pada command #3, menambahkan file permission biar executable.
Untuk menjalankan nya cukup ketikkan sf2 di terminal kamu. Jika berhasil maka akan muncul seperti dibawah ini :

$ sf2 

 Symfony Installer (1.1.3) 
 ========================= 

 This is the official installer to start new projects based on the 
 Symfony full-stack framework. 

 To create a new project called blog in the current directory using 
 the latest stable version of Symfony, execute the following command: 

   sf2 new blog 

 Create a project based on the Symfony Long Term Support version (LTS): 

   sf2 new blog lts 

 Create a project based on a specific Symfony branch: 

   sf2 new blog 2.3 

 Create a project based on a specific Symfony version: 

   sf2 new blog 2.5.6 

 Create a demo application to learn how a Symfony application works: 

   sf2 demo 
 
 Updating the Symfony Installer 
 ------------------------------ 

 New versions of the Symfony Installer are released regularly. To update your 
 installer version, execute the following command: 

   sf2 self-update

Gampang bukan? Lanjut ke tahap berikut nya.

Membuat Projek Menggunakan Symfony2

Karena tadi sudah berhasil installasi Symfony Installer, dan udah ada sih contoh nya diatas. Ketikkan lagi deh

$ sf2 new nama_projek_kamu 

Maka dengan otomatis akan mendownload framework Symfony2. Setelah selesai, mari kita masuk ke directory yang telah di buatkan oleh symfony installer, example :

$ cd nama_projek_kamu

Jika proses unduh tanpa hambatan, maka kita bisa masuk ke directory tersebut. Oia, symfony menyediakan command untuk menjalankan PHP built-in web server cukup dengan mengetikkan command berikut

$ php app/console server:run

Lalu buka browser, ketikkan URL http://localhost:8000 lalu lihat apa yang akan terjadi #halah. Jika kamu tidak suka dengan cara tersebut, bisa juga dengan mengetikkan alamat URL-nya langsung semisal http://localhost/nama_projek_kamu/web (karena saya simpan projek saya di /var/www/nama_projek_kamu), tampak ribet ya ngetik langsung dengan cara seperti itu.

Virtual Host

Untuk mempersimple -_- URL-nya bisa juga kita menggunakan virtual host *skip jika sudah tau.hhe
Pertama-tama kamu buat terlebih dahulu file untuk konfigurasi virtual host

$ sudo touch /etc/apache2/sites-available/simple.conf
$ sudo vi /etc/apache2/sites-available/simple.conf

 < VirtualHost *:80 > 
        ServerAdmin aginanjar@pc
        ServerName projek.dev 
        DocumentRoot /var/www/nama_projek_kamu/web 
        DirectoryIndex app_dev.php 
        ErrorLog /var/www/nama_projek_kamu/projek-error.log 
        CustomLog /var/www/nama_projek_kamu/projek.log combined 
        <Directory "/var/www/nama_projek_kamu/web"> 
            AllowOverride All 
            Allow from All 
         
< /VirtualHost >

Save (:wq) file tesebut, lalu aktifkan dengan perintah :

$ sudo a2enmod simple.conf

Sudah selesai? Belum, tambahkan host yang sudah kita buat tadi di /etc/hosts, contohnya :

127.0.0.1	projek.dev

Restart apache2 

$ sudo service apache2 restart

Oia hampir lupa, rubah permission untuk app/cache dan app/logs

$ chmod 777 app/cache && chmod 777 app/logs

Lalu buka http://projek.dev, Installasi projek menggunakan framework symfony2 telah selesai. #BikinKopi

Semoga bermanfaat, #cmiiw #TetapSemangat 😀

Referensi: http://symfony.com

Advertisements

Git lagi

Intro

Sebenarnya sudah banyak situs ataupun blog yang membahas mengenai “GIT” ini, jauh lebih lengkap dan berwarna #halah. Tapi berhubung saya sering lupa, dan beberapa bookmark saya menguap entah kemana maka saya putuskan untuk menulis apa yang saya anggap penting *yng sering kepake maksudnya*

Ilustrasi

Mari kita sedikit berimajinasi terlebih dahulu, *misal* Sule Steven sekarang sedang skripsi. Akhirnya dia sekarang lanjut ke pengerjaan bab 3. Sule Steven sudah mantap dengan apa yang dikerjakannya, datanglah di pagi yang cerah ia ke ruang dosen pembimbing. Setelah bimbingan sekitar 45 menit 23 detik, Sule Steven keluar dengan riang karena telah mendapat beberapa pencerahan dan masukan dari sang dosen. Pulang ke rumah dengan semangat berapi api, Sule Steven merevisi hasil bab 3-nya tidak lupa Sule Steven membackup file-nya terlebih dahulu, dengan nama “bab3-ori.doc”. Setelah hampir 1/3 malam dihabiskan Sule Steven baku hantam dengan bab 3-nya, Sule menge-save dengan nama “bab3-ori-revisi1.doc”. Keesokan harinya, Sule bimbingan lagi, pukul 09:30 dan lagi lagi pak dosen mencorat coret hasil begadang Sule semalam tadi. Pulang bimbingan, istirahat sebentar dan Sule mulai merevisi lagi, baku hantam lagi dengan word editor kesayangannya dan akhirnya beres juga, tak lupa Sule save terlebih dahulu sebelum tidur dengan nama “bab3-ori-revisi2.doc”. Ternyata hari hari berikutnya diisi dengan revisi, revisi dan revisi hingga file terakhirnya pun bernama “bab3-ori-revisi12-semangat.doc”. Lalu tetiba sang dosen minta k Sule untuk mengembalikan bab 3-nya ke 3 hari yang lalu dan memberi sedikit comment, begitu seterusnya @_@ Efektifkah ?
Oke oke, mungkin ilustrasinya sedikit *klaim* berantakan, coba lihat gambar di bawah ini. 😀

revisi looping 😀

Keuntungan

Lalu apa keuntungan dari git itu sendiri ? Menurut narasumber , git itu “Makes your life easier” mari kita sama sama ucapkan banyak terima kasih ke Bapak Linus Trovald #ThanksBeratsPak. Cuman itu ? Bisa lebih spesifik masbro ? Oke oke, tenang. Ini ada beberapa keuntungan dari menggunakan git

  1. Data redundancy and replication — Since there are multiple full repositories on multiple machines (instead of one central repository), the risk of project loss due to server failure or some other catastrophe is much lower.
  2. High availability — Server down? Network down? No problem. Work in your repo (commit, view history, branch, etc) to your heart’s content. Try that with Subversion!
  3. Only one .git directory per repository — Versus a .svn in every subfolder, which, as you may know from painful personal experience, can lead to problems.
  4. Superior disk utilization and network performance
  5. Properties such as ignores are much easier to manage than in Subversion
  6. Collaboration Friendly — Git makes it easy to collaborate on projects with groups of contributors. And with great services like Github, Git’s collaboration friendliness is even further magnified.
  7. Not just for code! — Git is great for all sorts of projects, not just hacking code. For example, all of Gitology’s written content is managed with Git, not just it’s code.

Cheatsheet

git config –global user.name “” : untuk mengkonfigurasi nama user
git config –global user.email “<email@domain.com>” : untuk mengkonfigurasi email user
git add path/to/file : untuk menambahkan file ke staging area
git commit -m ‘Pesan’ : untuk mengirimkan file dari staging area ke project history
git status : untuk menampilkan file-file yng modified
git log : untuk menampilkan history commit-an secara full
git log –author=Ahmad –oneline –after={tanggal} : untuk menampilkan history dengan parameter tertentu
git checkout : untuk mengembalikan file to old version / sebelum di edit
git reset –soft commit : untuk undoing commit k versi commitan yng keberapa(terserah), tanpa merubah file modified nya
git reset –hard HEAD : untuk undoing commit versi extreme, file2 yang modified juga ikutan hilang #dooh!
git rm –cached /path/to/file : untuk remove index file dari stage, tanpa meresetnya (undoing git add)
git branch : untuk mengetahui lagi berada di branch mana.

#cmiiw #MelawanLupa
Semoga bermanfaat 😀

Referensi:

http://software.endy.muhardin.com/aplikasi/pemakaian-git-sehari-hari/

Yeoman, workflow untuk pembuatan aplikasi web modern

Yeoman yo .. yo .. 😉

PP Kanto`s Blog

Ditulis oleh Alfian Busyro *)

Internet dan aplikasi web telah berkembang pesat akhir-akhir ini dengan hadirnya headless web framework seperti node.js, grunt, dll. Dan juga MVC framework untuk front-end seperti backbone, angular, dll. Dengan framework-framework diatas pembuatan aplikasi web menjadi semakin rapi dan semakin user-friendly.

Tetapi ada satu yg masih tidak berubah. Apa itu?  yaitu struktur aplikasi web yang terkadang bisa membingungkan developer web itu sendiri dan deployment aplikasi web yang terkadang menguras banyak waktu. Bagi aplikasi web yang berskala kecil, hal ini mungkin tidak menjadi masalah yang besar. Namun apabila skala aplikasi web kita semakin besar, struktur penyusunan file, direktori dan library bakal menjadi kendala. Dan apabila kita bekerja dalam team tentunya ini akan menjadi masalah yang besar disaat kita berkolaborasi dengan developer lain. Tentunya banyak developer bertanya, apa solusi yang jelas untuk masalah ini ? Beruntunglah bagi para developer aplikasi web saat ini, karena dengan ada yeoman yang akan…

View original post 1,324 more words

Tutorial grep

Sering lupa, reblog dulu biar ga lupa 😀

Perjalanan Belum Usai

Perintah grep mencari baris dalam sebuah file yang mengandung string/kata-kata yang dicari. By default, grep menampilkan baris-baris yang match dengan string yang dicari. Gunakan grep untuk mencari baris-baris text yang match satu atau banyak regex (regular expression).

Syntax Grep

grep ‘kata’ namafile
grep ‘kata1 kata2’ namafile
cat namafile | grep ‘kata’
<perintah linux> | grep ‘kata’
<perintah linux> <option> | grep ‘kata’

Grep untuk pencarian dalam file

Mencari baris-baris yang memiliki string ‘boo‘ dalam file /etc/passwd

Pencarian kata dengan tidak menghiraukan case string, misalnya booBoo, BOO dapat dilakukan dengan menggunakan option -i

Recursive grep

Kita dapat melakukan pencarian recursive, misal membaca setiap file dibawah direktori /home/akhmad/folder1 untuk mencari sebuah string “boo”. Hal ini dapat dilakukan dengan menambahkan option -r.

View original post 134 more words

Install version control system GUI di ubuntu 13.10

Bagi pengguna sistem operasi Weendows dan version control Subversion mungkin telah mengenal aplikasi Tortoise Svn, sebuah aplikasi GUI yang memudahkan user untuk menggunakan subversion entah itu untuk keperluan add, commit, checkout dll, juga integrasinya dengan windows explorer yang (lagi-lagi) memudahkan user untuk mengetahui file atau folder mana saja yang sudah dimodifikasi ataupun belum karena ada indikatornya yaitu tanda pada file / folder yang berwarna merah atau hijau seperti gambar dibawah ini.

Dan bagi pengguna Linux khususnya Ubuntu serta menggunakan version control mungkin lebih nyaman versioning-nya dengan mengetikkan command di terminal 😀 Tinggal kutak ketik lalu enter, tidak perlu klak klik mouse. Tapi ada beberapa user yang belum terbiasa dengan kondisi kondisi tersebut atau barangkali masih beradaptasi (seperti saya) dengan sistem operasi maupun version control-nya, mungkin *jreng jreng* RabbitVcs bisa menjadi alternatif untuk memudahkan proses add, commit, update projek kita ke server dengan tampilan dan fitur fitur yang menyerupai dengan TortoiseSvn di Weendows.

Lalu apa itu RabbitVcs? Kalo liat dari situs nya langsung, “RabbitVcs is a set of graphical tools written to provide simple and straightforward access to the version control systems you use. We provide multiple clients and extensions designed to give you a uniform experience no matter what development tools you use”. Sudah jelas kan pengertian dan kegunaannya. RabbitVcs dapat diunduh langsung di : http://wiki.rabbitvcs.org/wiki/download atau bisa juga diinstall melalui terminal dengan mengetikkan beberapa command :

$ sudo add-apt-repository ppa:rabbitvcs/ppa
$ sudo apt-get update

ada beberapa pilihan untuk installasi nya, diantaranya : rabbitvcs-cli,rabbitvcs-gedit, rabbitvcs-nautilus3 ,rabbitvcs-core,rabbitvcs-nautilus,rabbitvcs-thunar. Install sesuai kebutuhan, karena saya hanya membutuhkan untuk menampilkan indikator di file explorer dan juga di terminal, maka saya hanya menginstall rabbitvcs-nautilus dan rabbitvcs-cli saja.

$ sudo apt-get install rabbitvcs-core rabbitvcs-nautilus rabbitvcs-cli

Setelah terinstall, maka otomatis file explorer (nautilus) kita terintegrasi dengan Rabbitvcs. Cara penggunaannya cukup mudah, tinggal klik kanan maka akan muncul pilihan dari Rabbitvcs-nya. Daaan Rabbitvcs siap digunakan 😀

Rabbitvcs juga mendukung version control system lainnya, seperti Git. Oia, untuk menggunakan rabbitvcs-cli, tinggal buka terminal lalu tinggal ketikkan rabbitvcs <command>. Contohnya :

$ rabbitvcs log /path/to/file.extension

Semoga bermanfaat and keep learning 😀

HeidiSQL alternative for Linux

(Alternative) GUI for MySQL in Ubuntu 😀

Innovate or Die

Aside from Netbeans, an SSH client and a good text editor,  a  good database manager always comes in handy when developing apps.

I’ve been using HeidiSQL  previously to manage my MySQL databases when my laptop was on XP, in its current incarnation as a Fedora 15 development machine, I’ve been hard pressed looking for an alternative, HeidiSQL on Wine is simply unusable.   I had to content myself with MySQL’s WorkBench Tool.   WorkBench is free but I find the interface clunky.

Then I ran into DBeaver, its a Java app that has the familiar interface of HeidiSQL with the added difference that it works across platforms (of course).  Plus, unlike HeidiSQL which can only connect to MySQL (although I understand there’s work in making it work for MS SQL too),  DBeaver can also connect to other popular RDBMS:  Oracle, Cache, DB2, Firebird, Derby, H2, HSQLDB, MS SQL, Postgres…

View original post 98 more words

Install Balsamiq On Ubuntu 13.10

Hello, firstly i would say thanks for visiting 😀 hahaapasih

Oia kali ini saya mau share cara install Balsamiq di ubuntu 13.10. “Apa itu Balsamiq?” bisa dicari di google. hhe

  1. Download terlebih dahulu installernya di http://balsamiq.com/download/ sesuaikan dengan kebutuhan (32bit/64bit).
  2. Download Adobe Air for Linux bisa dengan menjalankan perintah.
    wget http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin

    Setelah file berhasil terdownload, ubah permission-nya agar bisa dieksekusi dengan menggunakan perintah :

    $ sudo chmod a+x AdodeAIRInstaller.bin

    Jalankan file tsb dengan perintah:

    $ ./AdobeAIRInstaller.bin

    Karena saya menggunakan 64bit, maka muncul error “error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory“.
    Saya coba install “ia32-libs-gtk” dengan perintah :

    $ sudo apt-get install ia32-libs-gtk

    dan lagi-lagi muncul error:

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Package ia32-libs-gtk is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    
    E: Package 'ia32-libs-gtk' has no installation candidate

    Setelah googling, akhirnya menemukan link yang bermanfaat http://wiki.phoenixviewer.com/ia32-libs-in-ubuntu-13-10 :D. Ikuti petunjuk disana, dan tadaaaa~ :tiupterompet: “ia32-libs-gtk” bisa diinstall di laptop \m/

  3. Bahan-bahan sudah lengkap, sekarang install kembali Adobe Air-nya “./AdobeAIRInstaller.bin“. Jika semuanya lancar maka akan muncul seperti gambar berikut ini:
    adobeAir
    adobeAirFinish
    ikuti instruksinya sampai selesai.
  4. Langkah terakhir adalah dengan menginstall Balsamiq, jangan lupa ubah permission untuk eksekusinya “e.g: sudo chmod a+x file-exe-Balsamiq.deb“. Jalankan file eksekusi tsb dengan perintah “./file-exe-Balsamiq.deb“. Dan jika lancar dan tidak ada hambatan lagi, maka Balsamiq sudah terinstall di Ubuntu 13.10.
    Screenshot from 2013-12-16 10:59:48
    balsamiq

ref: http://www.randomhacks.co.uk/how-to-install-balsamiq-mockups-on-ubuntu-13-04/

— UPDATE —

Setelah upgrade Ubuntu 14.04, tetiba Balsamiq ga bisa tampil karena Adob3 Air nya bermasalah 😦 Browsing-browsing dan akhirnya bisa kembali dibuka nih mockup tool 😀

Type command :

$ sudo apt-get install libgtk2.0-0:i386
$ sudo apt-get install libnss3-1d:i386 

 

ref:

#enjoy #SemogaBermanfaat 😀