Selasa, 11 Maret 2008

Embedded web resource di ASP.Net

Ini post saya yang pertama membahas tentang .NET, mohon maaf jika ada kesalahan (maklum langsung code di sini, ga pakai Visual Studio).

Ketika membuat aplikasi ASP.NET kadang saya membuat project Web Control Library yang isinya user controls yang tidak ingin saya expose code nya ke developer lain. User control tersebut membutuhkan code javascript yang ada pada file terpisah, atau file-file image. Jika user control ini digunakan dalam web form yang ada pada project terpisah atau pada solution yang lain, file-file javascript atau image tersebut harus diikutsertakan juga. Hal ini sepertinya agak merepotkan (setidaknya untuk saya).

Supaya yang dideploy hanya single file assembly, file javascript dan image tersebut dapat di-embed sebagai embedded resource ke dalam assembly. Caranya adalah:

Untuk setiap file yang akan di-embed sebagai embedded resource, di Visual Studio ubah property Build Action dari file tersebut menjadi Embedded Resource.

Kemudian daftarkan file tersebut pada AssemblyInfo.cs supaya HTTP handler dapat mengaksesnya melalui WebResource.axd, dengan syntax:

[assembly:WebResource("namespace.filename", "content-type")]

Misalnya untuk namespace MyWebControl.Validator dan nama file javascript yang akan di-embed adalah LengthValidator.js, maka penulisannya menjadi:

[assembly:WebResource("MyWebControl.Validator.LengthValidator.js", "text/javascript")]

Sampai di sini, jika project web control library di-build akan menghasilkan satu file DLL yang di dalamnya sudah di-embed file javascript yang disebutkan tadi. Misalkan nama file DLL yang dihasilkan adalah LengthValidator.dll

Untuk meng-consume resource, dilakukan dengan cara seperti halnya meng-inject sebuah file javascript ke dalam web form dengan memanggil method Page.ClientScript.RegisterClientScriptInclude:

Page.ClientScript.RegisterClientScriptInclude(
"LengthValidator",
Page.ClientScript.GetWebResourceUrl(typeof(LengthValidator),
"MyWebControl.Validator.LengthValidator.js"));

Kalau diperhatikan di atas, perbedaan antara meng-inject sebuah file javascript biasa dengan file javascript sebagai embedded resource adalah pada parameter kedua dari method RegisterClientScriptInclude. Biasanya untuk meng-inject sebuah file javascript, parameter ini diisi dengan nama file javascript, tetapi karena yang di-inject adalah embedded resource, maka gunakan method GetWebResourceUrl.



Jika file javascript yang akan di-embed berada dalam folder lain (bukan folder root project), sebutkan nama folder tersebut ketika file tersebut didaftarkan di AssemblyInfo.cs. Misalkan file javascript LengthValidator.js berada dalam folder bernama scripts:

[assembly: WebResource("LengthValidator.scripts.LengthValidator.js", "text/javascript")]

Serupa dengan di atas, untuk mengambil javascript yang sudah di-embed tersebut dengan menyebutkan nama folder tadi:

Page.ClientScript.RegisterClientScriptInclude(
"LengthValidator",
Page.ClientScript.GetWebResourceUrl(this.GetType(),
"LengthValidator.scripts.LengthValidator.js"));


ok slamat mencoba, pizzz

Minggu, 02 Maret 2008

Akhirnyaa......

Yaa setelah sekian lama akhirna aku bikin juga sebuah blog dan mulai menulis sesuatu.
Awalnya dulu sempet berpikir, ngapaen seh pada bikin blog kok aneh2 aja.
buang2 waktu n gak ada untungnya. lagean kok ngapaen jg curhat2 segala ke internet ^_^.

hmmmm ternyata setelah seiring dengan berlalunya waktu.
hari berganti hari, bulan berganti bulan, tahun berganti tahun
aku tetap tidak dapat melupakan senyum manismu (lho kok ga nyambung yeah ^_^)
yaa ternyata blog2 ini bener2 ngebantu gw banget buat masalah2 koe hehehe.
Karena akoe kebetulan adalah seorang programmer yg selalu bergantung dengan google.
seriiiing.. setiap kali search jawaban masalah koe dijawab oleh para blogger2 yg dengan murah hati mau membagi ilmunya.

Disinilah akoe baru nyadar bahwa ternyata ngeblok it's not bad.
Justru dengan membuat blog ternyata banyak manpaat yg bisa koe peroleh.
contona misalna example bisa latihan buat nulis2, yaa ternyata menulis itu ternyata ga segampang keliatannnya.
Buat nulis beginian aja akoe harus semedi puasa 7 hari 7 malem ga makan sambel.
Dengan begini siapa tau aja bisa jadi penulis yang handal tauladan bisa menghasilkan penghasilan ^_^.

Begitulah crita asal muasal gw akhirnya memutuskan untuk mengakhiri keperjakaanku ^_^ untuk menulis sesuatu dan berbagi sesuatu buat para blogger dan juga buat temanku2 tercinta yg telah banyak memberi insparasi dan membagi pengamalan dan ilmunya sekaligus buat rasa terima kasih koe.


ok peace.

Rabu, 27 Februari 2008

Seting DNS di Centos 5.0

kemarin saya coba2 untuk melakukan seting DNS di komputer pribadi saya di rumah.
dan akhirnya setelah dengan melalui berbagai rintangan hambatan dan cobaan berhasil juga ^_^

Seperti yg kita ketahui terdapat beberapa macam dns yaitu,
DNS Caching, Master, Slave dan forwarders .
pertama-tama yang saya coba adalah membuat DNS Master.
1. pertama cek dulu sudah terinstall atau blum DNS. --> bisa dengan rpm -qa |grep named.
2. kalau blum lakukan instalasi yum install named.
3. kemudian dengan menggunakan vi atau vim edit file
/etc/named.rfc1912.zones.
4. lalu tambahkan misalna seperti ini.
zone "ular.ml" IN {
type master;
file "db.ular.ml";
allow-update { none; };
};
5. setelah itu simpan setingan tersebut lalu pindah direktori
cd /var/named/chroot/var/named
6. kopi saja file named.local dan rename menjadi db.ular.ml --> cp named.local db.ular.ml
7. kemudian rubah kepemilikan dari file db.ular.ml --> chgrp named db.ular.ml
8. kemudian lakukan pengeditan di file db.ular.ml, bisa dengan vi atau vim.
9. untuk contoh setingan pada file db.ular.ml kurang lebih adalah seperti ini
$TTL 86400
@ IN SOA ns.ular.ml. (
20080105 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400) ; Minimum
IN NS ns1.ular.ml.
ns1.ular.ml. IN A 192.168.1.10
www IN A 192.162.1.10
mail IN A 192.168.1.11
webmail IN A CNAME mail
@ IN MX 10 mail

10. kemudian lakukan restart pada service --> service named restart
11. jangan lupa sebelumna tambahan di /etc/resolv.conf ip local kita.
12. untuk melakukan pengetesan bisa dilakukan dengan cara
--> dig @localhost ular.nf any atau dig @localhost www.ular.ml any
atau juga bisa dengan melakukan ping ke www.ular.ml

karena ini adalah proyek coba2 yaa mohon maaf apabila ada yg tidak berhasil, masih amatir sih ^_^
kalau ada pertanyaan silahkan hubungi mr google ^_^.
yaa sekian dulu untuk tutorialna, semoga bermanfaat.