January 2008


Yeah i know in life we will face sadness, but not all of them can make our wing broken… our wing indeed built so fragile… but then in life you entrust your wing and your heart to certain someone and that certain someone hold all your pain and sadness :) hold the key to your happiness and your pain… if that certain someone break it? what would you do ?

neko.jpg

From what I know.. everybody have their own broken wing :)

Mine…

Is this swaying feeling…..
Drifting Thoughts…. Zuruu… :)
This something I cannot say Love…
Demised Memories…
Ghost Of Past..

Those are my broken wings… What is yours ?

I’ve found this text somewhere in my HDD :)

I won’t be manipulated by lies and empty words
I’ll never turn away from what is in my heart

Even in this world where we can never say what’s in our hearts
I will never hide my dreams and I’ll live my own life
Even in this world where we can never really live our slightest dreams
I will keep on going, I will keep on doing my thing
Yeah, I want to stand beside you and I want to live free
And together we will never be afraid again

Even in this world where we can never say what’s in our hearts
I will never hide my dreams and I’ll live my own life
But sometimes a man’s got to turn around and face his fears
And sometimes a man’s got to take a stand and fight
Yeah, sometimes a man’s got to take a stand and fight

Kinda forget where did It come from :)

Well.. to be honest, when I said to people “I can’t do Java programming language” then no-one will believe me :( If that’s because I have a good grade on my Java-test it doesn’t always mean I can do programming on Java :) I understand the fundamental, the concept, the story and the idea but I don’t familiar with the objects, how to use and framework.

So you can ask me about the idea or fundamentals, but don’t ask me about How XMLDocument works ? or How StreamReader or StreamWriter works :) I just don’t know…

Written For Them Who Always Ask Me Such Question :)

Hari ini belajar dua mahluk yang namanya CodeSmith dan NetTiers.. so di situsnya http://codesmithtools.com disebut-sebut CodeSmith adalah

CodeSmith is a template-based code generator that allows you to generate code for any text language. The code generated can be customized by the use of properties. A property can be any .NET object that has a designer (most built in .NET types have designers already) and can be as simple as a boolean property that allows you to conditionally add or remove code from the result, to an object such as the TableSchema object (included in SchemaExplorer) which provides access to everything you could possibly want to know about a database table. CodeSmith comes with many standard property types and is 100% extensible by allowing the user to create custom property types.

Dalam bahasa gw CodeSmith adalah code-generation tool, so tools ini membantu kita dalam menggenerate kode-kode tertentu dengan menggunakan Template. so kalo misalnya dalam .NET programming kita sering banget ketik kode-kode tertentu yang Generic, berulang dan bisa dibuat common.. kenapa ga bikin templatenya pake CodeSmith dan next-time we need such code.. kita tinggalm masukan parameter2 yang diperlukan dan voila! kode akan tergenerate :)

Yah lumayan mengurangi menial stuff :) sayangnya CodeSmith tidak gratis :(

and NetTiers.. well NetTiers menurut http://docs.nettiers.com/ adalah

.netTiers is a set of open source code generation templates that simplify the tasks of creating customized Application Tiers for your Microsoft.Net applications in just a few minutes.

dalam bahasa sederhana.. NetTiers adalah template generation tools yang berjalan diatas CodeSmith.. well intinya NetTiers akan melakukan proses mapping dari Database Relasional ke bentuk Kelas dan Objek.. mirip sama Hybernate-Java atau engine Rake dari Ruby On Rails :) dia akan memetakan tabel-tabel di database kita menjadi bentuk kelas yang bisa kita gunakan.. misalnya tabel Customer menjadi kelas Customer…

Kupikir dengan pendekatan seperti ini DAL (Data Access Layer) akan lebih dekat dengan Business Object yang ada di dunia nyata.. dan memudahkan kita untuk melihat sistem dalam greater view :)

Ini daftar kelebihan NetTiers

  • Otomatis membuatkan Objek Entity dan Objek Relasi untuk kita sebagai domain dan dibuat berdasarkan tabel dan relasi yang ada di database
  • Ada Validasi! yang bisa kita manfaatkan atau manipulasi agar custom
  • Beberapa Kelas dibuat dalam bentuk partial sehingga kita bisa menambahkan logic baru tanpa
    harus override behaviour standard dari kelas itu
  • Menggunakan generic List custom (TList) yang mendukung .net ComponentModel dan memiliki behaviour Bindable, Sortable dan Filterable
  • Membuat unit-test untuk data provider. Test ini kompatibel dengan nUnit atau VSS Team Edition
  • Kode terdokumentasi lengkap dan bisa langsung digenerate ke bentuk dokumentasi, mengikuti konvensi Microsoft
  • Stored procedure punya kita akan didetect dan dibuatkan Wrapper pemanggil sehingga kita tinggal panggil layaknya method biasa :) (walau dalam pendeteksian informasi Meta dalam Stored Procedure tidak selalu akurat)
  • API mendukung Query yang memperhatikan faktor PK, FK, Index, relasi, Paging, GetAll, Filter dan Pencarian plus operasi standar macam CRUD

Dan proses CRUD (manipulasi database seperti Create, Update, Delete) juga menjadi lebih mudah..
ne salah satu cara untuk membuat elemen baru

Customers customer = new Customers();
customer.Address = “102 West Main Street”;
customer.City = “Atlantis”;
customer.Region = “Sea”;
customer.Phone = “230-555-0909″;
DataRepository.CustomersProvider.Save(customer);

bisa dilihat kalau kita tinggal buat objek customer (hasil generate NetTiers dari Customer table), isi propertinya dengan data yang diinginkan, dan tinggal Save.. done!

kemudian Customer tadi kita buat seperti ini…

customer.Region = “Under The Sea”;
Response.Write(customer.EntityState); // EntityState.Changed;
DataRepository.CustomersProvider.Save(customer);

itu untuk edit… dan kalo delete? oo.. mudah

DataRepository.CustomersProvider.Delete(customer);

you see.. HOW it simplify the CRUD :) dan bukan cuma itu kowk… NetTiers otomatis mendetect bagaimana tabel berelasi dengan memanfaatkan MetaExplorer-nya CodeSmith :)

Isn’t it cool :)

10-scytes.jpg
The friends… the family…
The joy.. the pain…
The ones who multiply my happiness,
And divide my sadness
I Miss Them All :)