Archive
Good Publisher for Me
Baca ebooks itu menyenangkan untukku selain gratis. karena bisa didonlot di internet tinggal masalah niat mencari aja. Semua ebooks rata2 tersebar di internet. *sepertinya aku jadi pendukung pembajakan. Tapi mw gimanalagi. Semua buku mahalnya bukan main. Tunggu banyak duit dululah. Pasti aku beli buku hardcopy langsung.
Nah aku skarng mw bahas buku2 terbitan yg bagus menurutku.
Buku2 yang ada disini benar2 cocok buat pemula. Dari yang pengetahuannnya dasar ato nol bisa sampe dibuat ngerti. Emang cara menjelaskannya benar2 sederhana. Konsep2 yang sulit dibuat jadi mudah. Banyak gambarnya. Banyak exercisenya. Meskipun bahasa2nya sederhana tapi konsep2 yang ditawarkan di situ juga gak semuanya mudah. Ada juga konsep2 yang sebenarnya klo dibaca dibuku2 software engineering lain bikin sakit kepala. Jadi klo gak mw repot2 dan cape2 sakit kepala belajar, baca aja buku ini ya. Sangat menyenangkan sekali.
Buku ini bahasa sederhana dan juga practical. Jadi gak banyak teori2 yg rumit. Teori yang rumit2 juga dipersimple. Practice2 yang bagus juga banyak diterbitkan oleh buku ini. Pokoknya recommendedlah. Alur bahasanya biasanya seperti conversation juga sih. Jadi bisa cepat dimengerti. Kontennya juga bervariasi dari yg mudah ke yang sulit.
Read more…
Programming to Interface
Baru saja selesai skimming buku Interface Oriented Design. Buku ini menuntas habis mengenai cara kita membuat sistem dengan interface.
Introduction
Di awal buku ini ada contoh mengenai Pizza Ordering. Skenarionya adalah kira2 sebagai berikut.
Kejadiannya ini karena malam2 lapar trus pengen pesan pizza favourite.
Nelepon deh..
Pizza guy : Yapz
Aku : Aku mw pesan pizza jumbo
Pizza : Toppings?
Aku : Pepperoni dan Mushrooms
PIzza : Alamat?
Aku : 1 Oak street
Pizza : 30 menit lagi akan diantar.
Nah.. kita coba bangun interface untuk PizzaOrdering tersebut. Hampir di setiap pemesanan pizza akan mendapati model percakapan seperti itu. Pemesanan pizza memiliki interface yg sama tetapi hanya implementasinya saja yg berbeda. Misalkan kita menelpon pizza yg lain maka yg kita hadapi kemungkinan besar adalah percakapan di atas.
public interface PizzaOrdering { void SetSize(Size size); void SetToppings(Toppings toppings); void SetAddress(Address address); DateTime GetTimeDelivered(); }
Nah.. sekarang kita udh punya interfacenya.. Trus bagaimana kita mendapatkan implementasi dari interface tersebut ? Kita tentu saja butuh Finder. Kita cari di buku telepon atau buku informasi mengenai toko pizza. Dari situ kita akan dapat memilih mana toko pizza yg akan kita hubungi. And then dial the number… Cara kita meng-order pizza tersebut sama tetapi perlakuan toko terhadap proses tersebut kemungkinan besar berbeda. Interfacenya sama tetapi implementasinya berbeda.
Read more…
Getting started with ActiveMQ
Setelah nyaman menggunakan NServiceBus sebagai ESB saya kemudian berpikir apakah MSMQ tersebut dapat digantikan dengan transport yang lain? Selama ini saya hanya menggunakan NServiceBus dengan MSMQ bawaan dari windows. Bagaimana jika kita ingin running aplikasi tersebut di Linux. Hal itu tentu bakalan menjadi masalah. Padahal aku udh kecantol sekali dengan NServiceBus ini.
Ternyata pembuat NServiceBus tersebut sudah memperhitungkan hal tersebut. Di dalam Roadmap dijelaskan bahwa langkah selanjutnya adalah improved pluggability.
Read more…
ASP .NET MVC, Razor and WebMatrix
ASP .NET MVC merupakan web programming model yang baru dari Microsoft. Dibandingkan ASP .NET banyak kelebihan dan juga kekurangan. Tapi saya lebih memilih model programming dengan ASP .NET MVC karena lebih nature terhadap aplikasi web yg stateless.
Ketika aku mencoba ASP .NET MVC ada sedikit perasaaan tak nyaman dengan model programming di View. Hal tersebut adalah pasangan tag yg harus mengapit code2.
<ul id="products"> <% foreach(var p in products) {%> <li><%=p.Name%> ($<%=p.Price%>)</li> <% } %> </ul>
Dengan new view templating engine Razor kita dapat menulis view dengan cara berikut
<ul id="products"> @foreach(var p in products) { <li>@p.Name ($@p.Price)</li> } </ul>
Perhatikan bahwa tag2 pengapit code tersebut dihilangkan. Lebih simple kan? Source untuk razor salah satunya adalah
Razor in InfoQ
Introducing Razor by Scott Gu
Berita baik tidak hanya berhenti pada Razor saja. WebMatrix juga membawa satu kemudahan lagi. Yah WebMatrix menyediakan kemudahan development web dari awal sampai akhir. Dari building web page, code logic, debuging, test, db management n deployment.
Source untuk WebMatrix :
WebMatrix in InfoQ
ASP .NET WebPage using Razor Syntax
WebMatrix How To
Create WebSite from Gallery Application
Enjoy It….
Ajax – Comet – Push Client Browser
Ajax pada dasarnya hanya dapat melakukan request ke Server. Bagaimana jika Server pengen kirim sesuatu ke client… Apakah itu mungkin? Ke browser? dari Server kirim ke browser? Heh?
Contoh dari push client tersebut diterapkan oleh facebook (untuk notifikasi n chat) dan gmail untuk web chat.
Comet adalah solusinya….
Sebenarnya gak ada yg istimewa sekali atau benar2 baru dari model ini. Yg dimanfaatkan hanyalah spesifikasi HTTP tersebut. Koneksi http tersebut ditahan untuk beberapa waktu sehingga response dapat dikirim melalui koneksi yg terbuka tersebut.
Untuk lebih memahami model dengan menggunakan comet ini berikut adalah resource untuk belajarnya :
New Approach to Ajax Application
Responsive Ajax App With Comet
Comet dengan PHP n CodeIgniter
Comet and Reverse Ajax: The Next-Generation Ajax 2.0 (Firstpress)
Selain dengan menggunakan comet ada teknik2 lain seperti dengan BOSH. Model BOSH ini sering digunakan dengan XMPP server (chat server). HTML5 juga bakal mendukung hal ini yaitu dengan Web Socket.