December 2007


Jadi inget pas tugas akhir terpaksa belajar .NET dalam 2 minggu, walau maksa belajar tapi .NET merupakan salah satu IDE intuitif yang lumayan gampang.

And now @ work i have the change to try Visual Studio 2008 RC1 (Orca)
sebelum dia release and it turn out to be an exciting experience.. >.<
(BTW Orca uda direlease sekitar Nov 19 2007)

Kelebihan

  • AJAX framework di dalem di ASP.NET
  • We can control the Garbage Collector behaviour
  • Banyak Improvement di Threading… FIBER
  • Intellisense uda bisa “sense” ECMA (JS) ma AJAX
  • Tools buat bikin CSS.. neat eh
  • Debug JavaScript juga bisa :D
  • Web ASP.NET bisa dicompile ke satu assembly kompak… gampang deploy
  • Bisa pilih mo compile pake .NET 2.0, 3.0, 3.5
  • MFC ma SDK buat Vista
  • .NET 3.5 laah
  • Office 2007 Integration
  • Minor Improvement di IDE ma Editor

Tapi perubahan yang rada-rada mengagetkan itu adalah sesuatu yang namanya LINQ.. Well LINQ (Language Integrated Query) seperti namanya membuat
kita bisa melakukan Query-like operation ke semua objek yang mendukung LINQ…

dalam bahasa sederhana… Query ke Array ??
Here’s one example

Definisi arraynya…

string[] words = new string[5] { “Word1″, “World”, “Word2″, “Word3″};

querynya

IEnumerable wordQuery =
from word in words where word == “World” select word;

menampilkan hasilnya

foreach (string name in wordQuery)
{
Console.WriteLine(”Hello ” + name);
}

bisa Query ke Array ?! yep dan ga cuma itu LINQ mendukung XML, DataSet dan Database dengan syntax yang langsung ketik kaya diatas… >.<

そして、宇宙の共謀した To が が私たちをする私たちの人生を融合させるなら と炎の が、また、かつてあなたが望んでいる が であることを知
っている、私はいるでしょう

今夜、愛があります。
皆が夢見ているとき
より良い人生について
この世で
恐怖で、分割されます。
私たちはそれを信じなければなりません。
私たちがここにいる理由があります。
うん、私たちがここにいる理由があります…

そして、望みが砕かれたとしても私が、それが重要でないことを知っている、
これらは が のものが私たちの人生から最も上手に作る回である
瞬間です…

これを治療するためにはしたがって、あなたの欠点は現在、あなたが現在泣く
あなたが待つ停止を喜ばせます、何かということでない、Well I がここにあり
ます、あなたの大雨の下で。

Pasti pernah denger mahkluk namanya Cache. . . basically Cache berguna buat mengefisiensikan pengaksesan sesuatu, Cache berkerja dengan menyimpan informasi yang paling sering diakses deket-deket sama pengakses :P

analoginya sama dengan etalase di toko, barang2 yang paling sering dibeli dan laku disimpan di etalase sehingga jika ada yang mau membelinya tinggal ambil, barang2 yang jarang dibeli jika customer minta.. ya mo ga mau harus ambil dulu ke gudang… well at least proses
untuk barang yang paling sering dibeli jadi lebih cepet kan ?

jauh lebih efisien daripada semua barang disimpan di gudang..

Itulah kenapa Memori RAM yang lambat tapi gede bisa lebih efisien
dengan metoda cache yang dilakukan oleh Memori Register yang kecil tapi cepet..

Tapi kita tidak akan membicarakan cache yang itu….

Coba bayangkan kasus sebuah site sejenis friendster, coba ingat ada apa di halaman depannya ? mm… mungkin akan ada [TOTAL MEMBERS], [MOST RECENT MEMBERS],[TOP 10 MEMBERS]… dan query database ntuk mengakses informasi tadi bisa ditulis dengan. . .


:: Jumlah Member ::
SELECT COUNT(id) FROM users
:: Most Recent ::
SELECT username FROM users ORDER BY users.redgate DESC
:: TOP 10 USER RATING ::
SELECT username FROM users ORDER BY rating LIMIT 10

simple khan… coba di-perkirakan berapa kali data diatas akan berubah ?
mm untuk JUMLAH MEMBER terjadi agak jarang, untuk most RECENT bisa saja berubah karena user bisa login sewaktu-waktu, untuk top 10 RATING bisa sangat jarang….

Ide dari caching di dalam kode web kita adalah meminimalisir akses QUERY ke database, kenapa ?

ngapain capek2 query database kalo isinya sama aja ?

WEB bisa diakses PARAREL kan ?, so bayangkan halaman depan itu dikunjungi oleh 800 user, coba perkirakan berapa kali kita QUERY database dan jawabanya sama itu-itu aja…

misalnya hari itu ga ada satupun member yang register.. maka hasil dari query


SELECT count(id) FROM users

mo dipanggil berapakalipun hari itu akan menghasilkan nilai yang selalu sama…

Apalagi bayangkan kalau databasenya ga semesin ma web-servernya ?

nangkep dimana celah efisiensinya ?

daripada kita akses query-query itu.. kenapa ga kita cache ?
dan cache itu hanya kita UPDATE pada saat cache itu memang harus diubah (expired)… ?

metoda yang umum yang sering dipakai ada 2, dengan kelebihan dan kekurangan masing-masing :

TABLE FOR STORING

Efisiensi sejenis cache yang ini bekerja dengan menyimpan variabel-variabel yang sering dipakai di media yang sering digunakan… mm.. kalo di PhpBB teknik ini mungkin karena ada tabel khusus untuk menyimpan informasi global soal web kita…misalnya daripada memakai

SELECT count(id) FROM users

mendingan simpan jumlah total user di tabel GLOBAL dengan field (VARNAME,VALUE) yang isinya

VARNAME | VALUE
———————————
USERTOTAL | 100
CONFIG | ….

so kalo mo tau berapa jumlah user di web kamu ? tinggal

SELECT value FROM global WHERE VARNAME=”usertotal”

cepetan mana sama

SELECT COUNT(*) ?

yah.. mungkin contoh diatas ga terlalu signifikan cepetnya… tapi
lumayan deh… anyway….

MySQL yang baru juga punya CACHE internal yang cuma bekerja ke query yang bener2 identik (kalo kamu nyalain it juga).. so teknik yang ini uda aga ga ngefek kalo sekarang2…

nah itu teknik pertama… selanjutnya

(kalo ada waktu… :P)

Kamu tahu impian ? yep. . .impian adalah apa yang kamu inginkan. . . impian adalah sesuatu yang tidak kamu miliki sekarang, dan bukan berarti tidak akan kamu miliki. . .
Impian terbaik adalah sesuatu yang tidak akan pernah kamu miliki.

karena dengan begitu impian itu akan selalu jadi impian

Dulu. . . ada seseorang yang mengajarkan impian dia padaku. . . impian yang menyenangkan jiwa. . . impian jauh yang indah.

Kurasa impian dia tidak pernah terkabul karena tidak ada waktu yang mau menunggu. . . tapi musik dari impian dia masih ada di jiwaku.

Dan kini dia sendiri buatku adalah cuma sebuah impian. Seseorang yang bagaikan mimpi pernah ada di hidupku dan tersenyum.

Sampai aku terbangun dan menyadari. . . atau tidak menyadari ? apakah dia benar-benar pernah hidup atau mimpi ?

It’s ok aku mencintai mimpiku sendiri ?

Karena musiknya menghangatkan jiwa pemimpi ini. . . anak kecil yang tersesat dan kesepian

Kemaren aku ketemu seseorang, dia mengasihani diri… aku tahu apa yang dia hadapi memang sulit, aku tahu dia kehilangan sesuatu yang sangat berarti buat dia…. Aku tahu kalau aku kehilangan hal yang sama aku akan sedih…

tapi sudah bertahun-tahun semenjak hari itu

Aku marahin dia, kapan dia mau maju kedepan ? dia nangis… aku tetep marahin…

apakah aku terlalu extrim ? marahin seorang cewek yang menangis

Aku pikir itu buat dia… jika dia terjebak di waktu, dan ga maju, kasian orang-orang disekelilingnya. . . dia boleh sensitif, dia boleh bersedih tapi dia ga boleh mengasihani dirinya.

Kehilangan seseorang memang berat, aku tahu. Tapi maju kedepan lebih berat dari itu. . .

gini deh… kamu maju kedepan, jangan liat kebelakang, ingat apa yang menginggalkan kamu
sebagai kenangan… bukan sebagai kesedihan….. I know, coz I’ve been there….

Dia udah diam dan ngangguk…

dan kalau kamu bersedih lagi….. panggil aku…. Kalo ntar aku ga akan marahin kamu kok….
Aku Cuma bakalan peluk kamu … that’s all… kalo sekarang adalah hari marahin kamu
hahahah

Dasar aku yang pemarah katanya :P, kamu tahu. . . aku selalu sedih kalau melihat dia menangis, raanya aku gagal melakukan sesuatu. . .

aku pernah berjanji untuk melindungi kamu. . .

Dan

aku tidak bisa menghentikan hujan

Yep…. Sesuatu yang kamu simpan di hati… jika itu buruk akan membusuk dan merusak bagian lain dari hati… so kapanpun kamu merasa hatimu ga bagus ya benerin…. Hadapi hidup itu, mending sekarang juga daripada dia sudah menjadi bagian besar dan kamu tidak bisa melepaskannya dari hatimu. . . dan jika sesuatu itu baik… simpan di hati baik-baik….

kamu sudah ga mengingatnya sebagai ingatan sedih….. jangan ingat dikepala, inget di hati….sebagai kenangan yang bikin kamu lebih kuat dan berdiri hadapin dunia dengan bangga

Yep

dibalik kerasnya hidup…. Gw masi idup dan bangga, gw masi berdiri dan bertahan…,karena
semua F****NG thing bikin gw lebih kuat! Damn Im Good !!

Next Page »