Tuesday, January 27, 2009

JQuery Intelisense กับ VS2008

หลังจากที่ ScottGu บล๊อกเรื่องราวของการรวม JQuery intelisense ตั้งแต่เมื่อเดือนพฤศจิกายนปีที่แล้ว ก็ยังหาโอกาสลองไม่ได้เลย
วันนี้หลังจากยื่นภาษีออนไลน์เสร็จ ก็เลยลองดูสักหน่อย แม้ว่าผมจะไม่ใช่แฟนพันธุ์แท้ของ JQuery ก็ตาม (ผมใช้ prototype)

ตามขั้นตอนที่เฮียแกบอกไว้เลย สำหรับเครื่องที่ติดตั้ง vs2008 ไว้แล้ว
1 ติดตั้ง vs2008 sp1 โดยที่ต้องติดตั้ง Framework 3.5 sp1 ก่อนด้วย
2 ติดตั้ง VS 2008 Patch KB958502 จะเป็นตัวหลักที่ทำงานเกี่ยวกับ intelisense ของ jquery
3 โหลดไฟล์ .js จาก jquery.com 2 files คือ jquery.js และ jquery-vsdoc.js มาเตรียมไว้

การใช้งาน
หลังจากที่สร้าง web project ขึ้นมา ให้ก๊อปปี้ javascript 2 files นี้ไปใช้ในโปรเจคธรรมดา เหมือนจะใช้งาน script ทั่วไป
จากนั้น ก็ include เข้ามาในโปรเจค
เปิดไฟล์ aspx ขึ้นมา แล้วเรียก script หา js ตามปกติ เช่น




ทีนี้ก็สามารถทดสอบ intelisense ได้เลย
ทดสอบง่าย ๆ ด้วยการสร้าง พิมพ์ $ ลงไปในส่วนที่เป็น javascript statement block เช่น
















อือออ อยากให้มีกับ prototype ด้วยจัง

Wednesday, December 3, 2008

โดยปกติแล้ว string.Trim() จะเป็นการตัดพวก leading, trailing space ออกจาก string ที่เราต้องการ
แต่ถ้าเราต้องการตัด leading character อย่างอื่นที่ไม่ใช่ space ล่ะ?
เช่น 0000054214584 ซึ่งเราจะเจอบ่อย ๆ ในค่าจำพวก transaction ต่าง ๆ ที่อยู่ในรูปแบบ fixed length

เริ่มแรกคิดว่าจะจัดการด้วย Regular Exp โดยมอง 0 ที่ขึ้นต้นเป็น pattern แล้วจะจับเฉพาะส่วนหลัง
แต่ชักเอะใจ เลยลองนึกถึง trim() method ของ string ดู
ปรากฏว่า c# เตรียม overload ไว้ให้แล้ว เราสามารถระบุ character ตัวที่ต้องการจัด trim ได้เลย

ผมเลือก TrimStart() เพราะต้องการตัดเฉพาะส่วนหน้า ซึ่งต่างจาก Trim() ที่ตัดหัวท้ายออกหมด
ปล. ยังมี TrimEnd() ไว้ให้ด้วยอีก method นะครับ


[Test]
public void TrimFixture()
{
Assert.AreEqual("123", "123".TrimStart('0'));
Assert.AreEqual("123", "0123".TrimStart('0'));
Assert.AreEqual("123", "000123".TrimStart('0'));
Assert.AreEqual("100023", "100023".TrimStart('0'));
Assert.AreEqual("10002300", "10002300".TrimStart('0'));
}

Monday, December 1, 2008

test syntax hilight


public class Person
{
private string name;
private int age;

public string Introduce()
{
return string.Format("hello my name is {0}, I'm {1} years old", name, age);
}
}

Thursday, August 7, 2008

ทดสอบ


ทดสอบ test