Ubuntu จะ set multiple monitors ยังไง???

September 8, 2008

เนื่องด้วยตอนนี้ผมกำลังทดลองใช้  Ubuntu 8.04 – the Hardy Heron – released in April 2008. แต่ผมไม่สามารถจะใช้ จอ wide ที่เพิ่งซื้อมาใหม่ได้ เลย เกิดความอยากรู้ว่า จะเซ็ต multiple monitors อย่างไร จึงลอง tweet ถามดู ไม่กี่อึดใจก็มีคนชี้ทางให้จริงๆ โดย คุณ @punneng
@punneng > @enjoy127 http://gotoknow.org/blog/to… อาจช่วยได้
ดังนั้นหลายวันต่อมาจึงได้ ทดลองเข้าไปอ่าน และทดลองทำตาม link ดู ซึ่งอธิบายประสบการณ์ในการทำไว้ละเอียดมาก และเป็นบทความที่นำทางให้ผม ทำการ set multiple monitors บน Ubuntu สำเร็จ ดังนั้นผมขอสรุปคร่าวๆ จากการงม ของผมละกัน.

ผมใช้แล็ปท๊อป Fujitsu LifeBook S2110 ซึ่งใช้ ATI Radeon XPRESS 200m Integrated Graphics และ
จอ ที่สองผมใช้ Fujitsu จอแบน 17 นิ้ว

วิธีการเซ็ต
แนะนำ ก่อนเริ่มให้ ทำ backup ไฟล์ /etc/X11/xorg.conf เก็บไว้ก่อน  และ ต่อเข้ากับ จอ อีกตัวเลยเอาไว้เลย  ต่อมาก็เริ่มกันเลย

1.  ต้อง install  ATI driver ก่อน โดย $ sudo apt-get install fglrx-control

2. Enable ATI driver โดยไปที่ System > Administration > Hardware Drivers และ
check enable ที่ “ATI accelerated graphics driver”

3. ระบบ จะบอกให้ restart ก่อน จึงจะใช้ ATI ได้ > restart

4. เปิด console และพิมพ์
$ sudo aticonfig –initial=dual-head –screen-layout=right –dtop=horizontal –overlay-on=1 –resolution=0,1440×900

5. Ctrl + Alt + Backspace เพื่อ logout ออกจาก X window

6. log in เข้าไปใหม่ก็จะเห็นมัน แสดง 2 จอ … แต่ถ้ายังไม่ขึ้นลอง เปลี่ยน resolution ดู
จะได้ ดังรูป

ทดสอบกับ จอ 17 นิ้วของ Fujitsu

ทดสอบกับ wide screen 19 นิ้ว (Samsung 943BWX)

Special Thanks
1. คุณ @punneng สำหรับคำแนะนำที่เป็นจุดเริ่มต้นของบทความนี้
2. คุณ
@roofimon สำหรับแรงบันดาลใจที่ทำให้สู้ต่อ จนทำเสร็จ
3. น้องแหม่มที่ให้ยืม จอ monitor เพื่อการ เทส
4. น้องมร ที่อนุญาตให้ใช้ จอและ โต๊ะของน้องแหม่ม ( ตอนน้องแหม่มไม่อยู่ )

Ubuntu: apt-get update ไม่ได้ เพราะติด proxy ของบริษัททำไงดี … ??

September 5, 2008

เผอิญผมมีปัญหา ใช้งาน sudo apt-get update ไม่ได้ เพราะติด proxy ของบริษัททำไงดี … ??
แล้วก็ไปเจอคำตอบ ที่ Opentle.org จึงเอามาปรับปรุงแก้ไขให้เข้ากับ เวอร์ชันของ Ubuntu 8.04 (the Hardy Heron – released in April 2008) ที่ผมได้ลองแก้ไขดู แล้วมัน ใช้ได้จริงๆ กับที่ บริษัท.

1. $ sudo su                (ให้เป็น root ก่อน)
2.  vi  /etc/apt/apt.conf.d/70debconf          (เข้าไปแก้ไขที่ file นี้ ในที่นี้ผมใช้โปรแกรม  vi )
3.  เพิ่มบรรทัดนี้เข้าไปใน ไฟล์ 70debconf
Acquire::http::Proxy “http://MyDomain\MyName:MyPassword@My.Proxy.com:MyPort”;
โดย ใช้ MyDomain , MyName, MyPassword , My.Proxy.com และ Port ที่ใช้กับทางบริษัท.
MyDomain = network domain ของทาง บริษัทที่ใช้อยู่
MyName = username ที่สามารถเข้าไปใน network ของทางบริษัทได้
MyPassword = รหัสผ่านที่ทำให้สามารถเข้าไปใน network ของทางบริษัทได้
My.Proxy.com = IP-address ของ Proxy ที่ทางบริษัท เปิดเอาไว้ให้ใช้ เพื่อเชื่อมต่อ internet ภายนอก
MyPort = Port ที่ใช้ร่วมกับ IP-address ของ Proxy ที่ทางบริษัท เปิดเอาไว้ให้ใช้ เพื่อเชื่อมต่อ internet ภายนอก

4. แก้ไขเสร็จ อย่าลืม save file
5. เอาให้ดีก็ปิดหน้า Terminal ที่ใช้แก้ไข  และ เปิดหน้าใหม่
6. ลองใช้ apt-get ดู
7. ควรจะใช้ได้แล้ว

ตัวเลขบนบัตรเครดิต ???

August 8, 2008

1. เค้ารู้ได้งัยว่า เลขบัตรเครดิตนั้นถูกต้อง ?
2. บัตรเครดิต นั้น เป็นของ อะไร , visa , master, .. ?

ถ้าจะอธิบายคงต้องเริ่มจาก คำถามที่ 2 ก่อนดีกว่า
ถาม รู้ได้งัยว่าบัตรเครดิตนั้นเป็นของอะไร ?

โครงสร้าง ของ ตัวเลขบนบัตรเครดิต
1st digit  : the Major Industry Identifier (MII) : จะบอก ประเภทของธุรกิจที่่เป็นคนออกบัตรให้คุณใช้ .. เช่น Visa, Mater Card, American express , ..

MII Digit Value Issuer Category
0 ISO/TC 68 and other industry assignments
1 Airlines
2 Airlines and other industry assignments
3 Travel and entertainment
4 Banking and financial
5 Banking and financial
6 Merchandizing and banking
7 Petroleum
8 Telecommunications and other industry assignments
9 National assignment

ส่วนมากที่เราๆ ท่านๆ คุ้นเคยก็คงต้อง ขึ้นด้วยเลข 3, 4 และ 5 .. เอ้าถึงเวลาควัก บัตรเครดิตกันออกมาดูหน่อยซิ
ตอบ อืมม ถูก ของผม ขึ้นด้วย เลข 4 เกี่ยวกับ Banking and financial จริงๆ

ถามต่อ แล้วจะรู้ได้งัย อ่ะ ว่าบัตรผมเป็น Visa , Master card หรือ American Express … ?
ตอบ ดูที่ 6 digits แรกครับนับ รวม MII เข้าไปด้วยนะครับ ตามตารางข้างล่างเลย ไม่ผิดเพี้ยนไปจากนี้แน่นอน

Issuer Identifier Card Number Length
Diner’s Club/Carte Blanche 300xxx-305xxx,
36xxxx, 38xxxx
14
American Express 34xxxx, 37xxxx 15
VISA 4xxxxx 13, 16
MasterCard 51xxxx-55xxxx 16
Discover 6011xx 16

เออ จริงแฮะ ของผมขึ้นด้วยเลข 4 เป็น VISA

ถาม แล้วตรงไหนมันถึงจะบอกหมายเลขบัญชีของผมจริงๆ ล่ะเนี่ย  ?
ตอบ เดาถูกครับ ก็ ตั้งแต่ ตำแหน่งที่ 7 เป็นต้นไปนั่นแหละ จนถึงตัวเลขก่อนสุดท้ายครับ (? ก่อนสุดท้าย)

เพราะว่าตัวเลขก่อนสุดท้าย คือ ตัวเลขที่เอาไว้ check ความถูกต้องครับของตัวเลขบนบัตรของคุณครับ (กลับไปคำถามแรก) … ซึ่งถ้าอยากเรียกแบบ เท่ ๆ  ก็ได้ เราเรียกตัวเลขที่ทำหน้าที่แบบนี้ว่า  “Check Digit

ถาม แล้วเค้ารู้ได้งัยว่า เลขบัตรเครดิตนั้นถูกต้อง ?
ตอบ ใช้ the Luhn algorithm ครับ

Luhn Algorithm
1.  เขียน หมายเลขบนบัตรเครดิตของคุณ
4408-0412-3456-7890

2.  คูณด้วย 2 โดยเริ่มจากตำแหน่งก่อนสุดท้าย ตัวเว้นตัว ( ห้ามคูณ 2 ที่ chek digit)

(4*2)  4  (0*2) 8 – (0*2)  4  (1*2)  2 – (3*2)  4  (5*2)  6 – (7*2)  8 (9*2) 0

จะได้
(8 ) 4 (0) 8 – (0) 4 (2) 2 – (6) 4 (10) 6 – (14) 8 (18 ) 0

3. ถ้ามีตัวไหนเกิน 10 ให้ ลบด้วย 9

(8 ) 4 (0) 8 – (0) 4 (2) 2 – (6) 4 (10-9) 6 – (14-9) 8 (18-9) 0

จะได้
(8 ) 4 (0) 8 – (0) 4 (2) 2 – (6) 4 (1) 6 – (5) 8 (9) 0

4. นำตัวเลขที่ได้มาบวกกันทั้งหมด
(8 ) + 4 + (0) + 8 + (0) + 4 + (2) + 2 + (6) + 4 + (1) + 6 + (5) + 8 + (9) + 0
จะได้ผลลัพธ์คือ
67

5. mod 10    ถ้าได้ 0 คือตัวเลขที่ถูก  แต่ถ้าไม่ใช่ 0 คือผิด
ในที่นี้ ผลลัพธ์ 67 mod 10 ได้ 7  แสดงว่าเลข credit card ชุดนี้ผิดครับ

แต่อย่าเพิ่งตกใจ !! …  เรามีวิธีที่ทำให้เลขชุดนี้ถูกต้อง คือ ใช้ check digit นี่แหละครับ เพราะ check digit ไม่ต้องคูณกับ 2 และเป็นตัวเลขที่ไม่ีมีอะไรมายุ่งกับมัน .
ดังนั้น ถ้าเราต้องการทำให้เลขชุดนี้ถูกต้อง เราต้องมาแก้ที่ค่าของ check digit ครับ
เนื่องจากผลลัพธ์ที่เราได้คือ 67  ซึ่ง mod 10 แล้วไม่เท่า่กับ 0  ดังนั้น
เราต้องคิดว่าจะทำยังงัย ให้ 67 mod 10 แล้วเท่ากับ 0   ,ตอบ  เราต้องเอา 67 บวก 3 จะได้  70 ครับซึ่ง  70 จะ mod 10 แล้วได้เท่ากับ 0 .. แน่นอนการบวก 3 เราก็ต้องไปบวกกับ ตัวเลขในตำแหน่งที่ไม่มีอะไรมายุ่งกับมัน หรือ เรียกให้เท่ ๆ อีกว่า ค่าคงที่ ซึ่งในที่นี่คือ Check digit นั่นเอง
สรุปจะได้ ตัวเลขที่ถูกต้องเป็น 4408-0412-3456-7893 ครับ

Reference sites : โอว … ต้องขอโทษครับ เพราะว่า อันนี้ผมผิดพลาดเอง ลืม add เก็บไว้

ISO-8583

August 7, 2008

ISO-8583 คือ รูปแบบการรับ ส่ง message ระหว่างกัน ที่เป็นมาตรฐานสากล (International Standard) โดยเราต้องทำตาม  Message Specification ที่กำหนดไว้ใน ISO8583 document  ซึ่งเ่ท่าที่ได้ทำความรู้จักกับ message format แบบนี้ แล้ว เป็น format ที่ค่อนข้างยืดหยุ่นพอสมควรเลยทีเดียว

โครงสร้าง :

ในส่วนนี้ผมขอ อธิบายคร่าว ๆ นะครับ เพราะสามารถเข้าไปดู ความหมายของในแต่ละ ตำแหน่ง (position) ได้ใน ISO8583 document  หรือ ที่ wiki นี้ ซึ่งอธิบายไว้ได้ดีมากครับ.

ตำแหน่ง

4 positions : แรก คือ Message Type Identifier (MTI)  ผมขอเรียกว่า header ละกัน (เพราะมันฟังดูเข้าใจง่ายดี) โดย header จะระบุ ชนิดของ message อย่างเช่น  เป็น request message หรือ response message เราก็จะสามารถดูได้ใน 4 ตำแหน่งนี้ (นอกจากนี้ ถ้าอยากรู้รายละเอียดดูได้จาก wiki ข้างบน).

64 positions : ต่อมาคือ Bit map  อันนี้ชื่อมันก็บอกอยู่แล้วนะ ว่า เป็นแผนที่ ของ message ชุดนั้นๆ แต่ของงี้ต้องถูกซ่อนอยู่ข้างในแน่ๆ (และมันก็เหมือนแผนที่จริงๆ ซะด้วย) เอาล่ะมาดูกัน ว่ามันเป็นแผนที่ได้ยังไง ?

หลังจาก bitmap : จะเป็น data elements ไว้เก็บ data ต่่างๆ ตามที่ ถูกระบุไว้ใน bitmap (ดังนั้น ความยาวของ message จะขึ้นอยู่กับ bitmap )

ผมมีโจทย์ตัวอย่างเฉพาะของ bitmap ให้ดู (เพื่อการศึกษา)  3220058020C0022
คำถาม : อ้าว … มันต้องมีทั้งหมด 64 ตัวไง ไหนให้มาแค่ 16 ตัวเอง ..
ตอบ : ก็บอกแล้วไวว่ามันซ่อนอยู่ในนี้ ใจเย็นๆ ดูต่อไปละกัน

ก่อนอื่นเราต้องมารู้จัก โครงสร้าง และ วิธีการคำนวณหา bit map ก่อนโดยเริ่มจาก ความรู้พื้นฐานทางด้าน computer
เมื่อเรามาพิจารณาดู เราจะทำยังงัยให้ เลข 16 ตัว แตกออกมาเป็น 64 bit ได้ …

1 byte มี กี่ bit ?
แล้ว 8 bytes มีำี่ำกี่ bit ?
ตอบ 64 bits

ตัวเลข 8 กับ 64 ดูคุ้น ๆ … เออ เห็นมั๊ย มันเท่ากับ จำนวน ตำแหน่งของ bit map เลย

จากโจทย์ bitmap (3220058020C00022) มีทั้งหมด 16 ตัว
ทำงัยล่ะ?

ลองแปลงโจทย์ที่อยู่ในรูป เลขฐาน 16 (Hexadecimal Number) มา เป็น เลขฐาน 2 (ฺBinary Number) ที่มีขนาด 8 bytes  ดูจะได้

32        >      0011   0010
20        >      0010   0000
05        >      0000   0101
80        >      1000   0000
20        >      0010   0000
C0        >      1010   0000
00        >      0000   0000
22       >      0010   0010

รวมแล้วได้ 8 * 8 = 64 digits พอดี … ในที่สุดเราก็ได้แผนที่ ๆ ซ่อนอยู่ออกมาแล้ว (ไม่รู้ตัวเลย) คือ
00110010  00100000   00000101   10000000   00100000   10100000   00000000   00100010
นับตามตำแหน่งเลย จนถึงตัวสุดท้ายคือ ตำแหน่งที่ 64
1,2,3,4,5,6,7,8,   9, 10, 11, 12, 13, 14, …………………………………………………………………………………, 64

แล้ว bit ไหนมีค่าเป็น 1 คือ bit ที่่ถูกใช้เป็น data element (ดูในรูปข้างบน)  เช่น 00110010  …
ดังนั้น bit : 3,4,7, .. จะถูกใช้ใน data elements
จากนั้น นำ  data elements ที่ได้มาไปเทียบในตาราง ISO-Defined Data Elements (ปรกติอยู่ใน ISO-8583 document) หรือเทียบดูใน ตาราง ISO-Defined Data Elements ใน wiki ก็ได้  จากตัวอย่างนี้เราก็จะได้ว่า
ค่าดังนี้
bitmap number ที่ 3 คือ Processing code เป็น ตัวเลขจำนวน 6 ตัว
bitmap number ที่ 4 คือ Amount, transaction เป็นตัวเลขจำนวน 12 ตัว
bitmap number ที่ 7 คือ Transmission date & time เป็นตัวเลขจำนวน 10 ตัว
….
เทียบจากตารางต่อไปเรื่อยๆ จนจบ
เท่า่นีั้เราก็จะรู้ถึง ชนิดของข้อมูล และ ความยาวในแต่ละชนิด  เพื่อใช้ ส่ง และ รับ ข้อมูลที่ เป็น format ISO8583 ..

ความลับบน hi5 ?

July 31, 2008

ที่จริงก็ไ่ม่เชิงเป็นความลับหรอก .. มีวันหนึ่งผมไปหาเพื่อนสนิทที่บ้าน และได้ตั้งวงสนทนากัีนเรื่องนู๊น เรื่องนี้ ไปเรื่อย จนมาถึงเรื่อง “hi5”  ซึ่งเพื่อนผมเป็นคนหนึ่งซึ่ง (เคย) เป็นคนติด hi5 มากๆ (เป็นอดีตไปแล้ว .. อิ อิ อิ) เค้าบอกว่า

เพื่อน : “มึงรู้ป่าว ว่าถ้าเปิด เว็บของ hi5 กับ จอ Wide Screen แล้วหน้า hi5 ของมึง หรือ ของเพื่อนมึงจะสวยขึ้น … ”

ผม     : “เฮ้ยยยย !!! .. มึงเว่อร์แล้ว”  (เพราะผมเหลือบไปเห็นจอมัน เพิ่งซื้อ จอใหม่ wide screen มา)

เพื่อน : เดินไปหน้าจอใหม่ของมัน แล้วหันมายักคิ้ว พร้อมกับทำหน้า กวน ต…..  ประสาท(สุภาพ) และทำหน้าตาจริงจัง

ผม     : “จริงดิ  ไหนขอดูหน่อยดิ๊”

.
.
.

และแล้ว วันนี้ก็มาถึง เมื่อผมได้มี wide screen (Samsung 943BWX) ไว้ในครอบครอง ฮ่า ๆ ๆ  .. ดังนั้นผมจึงไม่รีรอ ที่จะเข้าเว็ป hi5 เหมือนที่วันนั้นเพื่อนผมโชว์ให้ดู … มัน แจ่มขึ้นจริงๆ ครับ โดยไม่ต้องแตะหรือปรับแต่งอะไรเลย … งั้นก็ลองดูเปรียบเทียบรูปข้างล่างเอาละกัน

จ� ธรรมดา

(เปิดโดยจอธรรมดา)

(เปิดโดยจอ wide screen)

ถ้าใครมีก็ลองเปิดดู เทียบกัน เอาละกันคับ ขอให้หนุก หนาน กับ “hi5” กับ จอ wide screen คับ ..  ;>

Note
จากการทดสอบ กับ FireFox3 (ที่ได้ใบ cert ..อิ อิ จากตอนที่แล้ว) นั้นจริงๆแล้วจอธรรมดาก็สามารถดูสวยได้ครับ ซึ่งก็เหมือนกับการที่เราูซูมอิน ซูมเอาท์ นั่นเองครับ ใครที่สามารถใช้ mouse ที่มี scroll up และ scroll down ได้ก็ลองเลื่อนดูละกัน … แต่สำหรับ จอ wide แค่เปิดเว็ปโดยก็สวยแล้ว.

ทำสถิติโลกกับ Firefox 3

July 21, 2008

อันนี้อาจจะเก่าไปนิดนึง และผมก็คิดว่าทุกคนชาวเน็ตคงได้ยินเกี่ยวกับ กิจกรรมครั้งนี้ไปแล้ว  โดยการทำสถิติโลกกับ Mozilla Firefox 3 ครั้งนี้ ได้เสร็จสิ้นไปเมื่อวันที่ 17 มิถุนายน 2551.  กิจกรรมครั้งนี้เป็นการเก็บสถิติโลก ที่ถูกบันทึกและรองรับโดย สถาบันชื่อดัGuinness World Records … และผมก็เป็นคนหนึ่งในโลกที่ร่วมทำสถิติครั้งนี้ด้วย .. ฮ่า ๆ ๆ  ยิ่งใหญ่จิงๆ … แต่น่าเสียดายวันนั้นผมข้อมูลน้อยไปหน่อย พอ download เสร็จก็นึกว่าเสร็จแล้วและสนุกกับการลุ้นจำนวนครั้งของการ download ของแต่ละประเทศกับเพื่อนๆ อยู่ที่ office มากไปหน่อยเลยไม่ได้ดูข้อมูลอย่างอื่นเลย  มารู้ทีหลังว่าเค้ามี แจกประกาศนียบัตร ให้กับ คนที่ร่วมกิจกรรมครั้งนี้ด้วย เลย เศร้าไปนิดหน่อย เพราะไม่ได้ ใบประกาศนียบัตร จากทาง Mozilla …(T-T)… แต่แ้ล้ว ก็ได้เข้าไปอ่าน blog ของ อาจารย์ศุภเดช (www.beartai.com) ว่าเค้าีมีแจกประกาศนียบัตรกันที่ไหน เลยเข้าตามไปทีหลัง โชคดีที่ทาง Mozilla เค้ายังเปิดให้สามารถนำใบประกาศนียบัตรออกมาได้ และก็อ ….. ไชโย …. ก็ ได้มาในที่สุด  (ซึ่งอาจจะไม่เหมือนของคนที่ได้ในวันนั้น 100% แต่ก็โอเค เพราะเราทำจริงๆ เรารู้อยู่แก่ใจ … อิ อิ อิ )

ปล. สำหรับคนที่ยังไม่ได้เหมือนผม ก็อย่าท้อ .. ผมเข้าไปสำรวจมาแล้ว  ณ วันนี้ วันที่ 21 กรกฎาคม 2551 ก็ยังสามารถเข้าไปทำได้อยู่ครับ เข้าไปตาม link นี้เลย http://www.spreadfirefox.com/en-US/worldrecord/certificate_form


ไปเที่ยวสวนรถไฟ

July 20, 2008

สวนรถไฟ หรือ สวนวชิรเบญจทัีศ เป็นสถานที่หนึ่งที่ผมอยากไปมากๆ มาตั้งนานแล้ว และในที่สุด ก็ได้ไปครั้งแรก และถัดมาอีกสัปดาห์ก็ติดใจไปอีกครั้ง สัปดาห์นี้ยังไม่รู้ว่าจะมีเวลาได้ไปอีกหรือปล่าว?
รายละเอียดของสวนรถไฟ ดูได้จาก link นี้เลย http://www.bangkokgoguide.com/rotfai-park.php

สิ่งที่ชอบที่สุดของสวนรถไฟคือ ความเป็นธรรมชาติของสถานที่แห่งนี้ครับ ซึ่งผมไม่เคยคิดว่าจะมีสถานที่แบบนี้ ที่ๆ มีต้นไม้สูงใหญ่จำนวนมากๆ ๆ ๆ   , อากาศดีๆ ,   เงียบ , สงบ  และ อยู่ไม่ห่างจากบ้านผมเท่าไหร่

อย่างแรกที่ผมทำคือ ไปเช่าจักรยานมาปั่น ให้รอบสวนรถไฟเลย  ราคาต่อคัน ก็ประมาณ 20 – 40 บาทตามขนาด และ option  ของจักรยาน ซึ่งบางร้านจะขอ บัตรประชาชน หรือ ใบอะไรก็ได้ที่ระบุได้ว่าเป็นตัวเราเก็บไว้ และ จะมีให้เลือกเยอะมาก “ตระกานตา” แต่เท่าที่ไปมาสองครั้ง  สองร้าน ก็บริการดี พูดจาดี กันทั้งสองร้านเลย อย่างเช่นร้านที่ไปเช่าครั้งนี้ ผมอยากให้เค้าเพิ่มลมยางให้อีกหน่อยก็ เข็นไป เติมลมในร้านมาให้เลย บริการดีจิงๆ
สิ่งที่ต้องทำ เมื่อมาที่นี่ก็คือ ปั่นจักรยาน , แวะ อุทธยานผีเสื้อ , ถ่ายรูป และสุดท้ายก็หาของกิน  โดยเฉพาะถ้าอยากจะออกกำลังกายกับแฟนละก็ ผมว่าที่นี่แหละเหมาะสุด และอย่าลืมพกกล้องมาถ่ายรูปด้วยอ่ะ  …  ที่ผมชอบมาก คือ อุทธยานผีเสื้อ ครับ เป็นสถานที่ไม่ใหญ่โตอะไร แต่ ผมก็ได้เห็นผีเสื้อและ ก็ต้นไม้เต็มไปหมด หลาย ๆ สี  เห็นกันแบบ จะ จะ  เหมือนกับว่าอยากให้เราถ่ายรูปมาอวดลง Blog แบบนี้ อ้อ อันนี้ฟรี .. ไม่เสียค่าเข้านะครับ

เกือบลืมถ้ามาที่นี่จะได้เห็น สระบัว ที่ ใหญ่มากๆ ๆ ๆ ๆ  … ตระการตา อีก แล้ว .. อยากให้ทุกคนได้มาดูกัน
สรุป โดยรวมคือประทับใจ และ มีความสุขมากๆ ครับ  ให้ไปเลย   5 ดาว .. จอ บอ จบ

ี้ผีเสื้� #1

สวนรถไฟ
zu
�ุทธยานผีเสื้�
จักรยานราคา 30 บาท
ถนน

ผี้เสื้� #2

ผีเสื้� #3

ทำ passport ง๊าย ง่าย

July 9, 2008

ตอนแรกคิดว่าจะไป ต่อ passport ที่อาคารกรมการกงศุล ที่อยู่ 123 ถนนแจ้งวัฒนะ เขตหลักสี่ กรุงเทพฯ 10210 – โทรศัพท์ 0-2981-7171.   พอไปถึง เค้าบอกว่าต่อไปนี้ไม่มีการต่ออายุ passport อีกแล้ว โดยเปลี่ยนเป็นระบบต้องทำใหม่ทุกๆ 5 ปี (ตามกำหนดระยะเวลาที่ passport หมดอายุ) .. แอบเซ็งเล็กน้อย แต่ ก็ โอเคเพราะยังงัยก็ต้องทำอยู่ดี จะเซ็งไปทำ แป๊ะ อะไร ก็เลยทำต้องทำ passport เล่มใหม่ โดยมี step และ หลักฐานที่ต้องเตรียม แสนง่าย ดังนี้

1.  เข้าไปรับบัตรคิว  (รอไม่ถึง 5 นาที)

2.  เข้าไปตามช่องหมายเลขที่ ได้คิว .. พร้อมกับรับแผ่นเอกสารเล็กๆ หน้าห้อง  ซึ่ง
ของผมช่องเบอร์ 24 เกือบสุดทางเดิน ซ้ายมือ

3.  นั่งรอหน้าห้อง ซะแป๊ะ นึง (รอไม่ถึง 5 นาที)

4.  กรณีผมคือ มี passport อยู่แล้ว ส่วนคนที่ไม่เคยทำมาก่อนนั้นผมไม่รู้ลองโทรไปสอบถามดูอีกทีนะ
หลักฐาน นำ บัตรประชาชนของเราเพียงแค่ ใบ เดียว  และ passport เล่มเก่า

5. รอเรียก , กรอก เอกสารให้เรียบร้อย ตามความจริง และ วัดส่วนสูง ที่หน้าห้องนั่นแหละ

6. เจ้าหน้าที่เรียก เข้าไป ยื่นเอกสาร ,  scan นิ้วมือซ้าย ขวา และ ถ่ายรูป

(เ้จ้าหน้าที่ช่องนี้ใจดีมากครับ ปรับแต่งตอนคุณถ่ายรูป จน หล่อ และ สวยกันเลยเชียว .. นานสุดแล้วล่ะ stepนี้ .. คริ ๆ ๆ )รูปแรก ดูโจรไปหน่อยกลัวเค้าไม่ให้เข้าประเทศ  .. เลยขอถ่ายใหม่
เลยต้อง set เสื้อผ้า ผมเผ้า หน้าตากันใหม่ และถ่ายรูปอีกครั้ง .. คราวนี้โอเช พอที่จะออกนอกประเทศได้้แล้ว

9. ไป จ่า่ยตังค์ ค่า ธรรมเนียม 1,000 บาทถ้วน
– ถ้าส่ง เอกสารไปที่บ้าน ใช้เวลา ประมาณ 5 วัน เสียเพิื่่ืมอีก 20 – 30 บาทโดยประมาณ
– มารับเองที่กงศุล รอ แค่ 3 วันเท่านั้น ของผมทำวันจันทร์ มารับ วันพุธ
– โดยต้องเก็บใบรับ passport (ไม่ต้องกรอกอะไรลงไปนะครับ) และ ใบเสร็จการชำระเงินไว้ด้วย (Just in case)

10. กลับบ้าน นอนรอจนถึงวันพุธ

=== รับ passport ====

11.  ผมไปถึงกงศุลที่เดิมประมาณ 9.15 น.   พอถึงปุ๊บ ขึ้นบันไดเลื่อน และ เดินไปทางขวา
(ทางซ้าย สำหรับรับบัตรคิวทำ  passport ใหม่ .. ที่ต้องเขียนบอกใน blog เพราะป้ายบอกทางมันดู งง ๆ )
พอเลี้ยวขวามาปุ๊บ จะมีป้ายบอก รับหนังสือเดินทาง ก็เข้าไปเลย

12. ไปรับบัตรคิวเพื่อขอรับ passport  โดยยื่น หลักฐาน แค่ใบรับ passport อย่างเดียวเสร็จแล้วจะได้เบอร์คิวแล้ว ก็นั่งรอ … ยังไม่ทันจะนั่ง เลยก็เรียกกันแล้ว ..  ถูกใจเร็วดีจริงๆ

13.  พอถึงคิว เข้าไปตามช่องให้ตรงกับคิวเรา แล้วเค้าจะเรียกให้เรา scan นิ้วทั้งซ้าย และ ขวา

14. รับ passport : ***ควรจะ ตรวจสอบรายละเอียดทั้งหมด ว่าตรง กับ ที่คุณให้ข้อมูลไว้หรือปล่าว จะได้ไม่ต้องเสียเวลามาแก้ หรือทำใหม่

15. ข้อมูลตรง ก็ กลับบ้านได้
เวลาทำ passport ประมาณ ครึ่งชั่วโมง ไม่นับ เวลาเดินทาง
เวลารับ paasport ประมาณ 10 นาที ไม่นับเวลาเดินทาง

ประทับใจมัก บริการดี, ง่าย และ เร็วดีครับ ชอบ ๆ
จอ บอ จบ.

ตอนที่ 2 : Spring-WS Security

July 1, 2008

Next post:
– Sample > Airline project

ตอนที่ 1 : Spring-WS

July 1, 2008

1.  Tools:
– Eclipse 3.2.0 : wtp-all-in-one-sdk-R-1.5.0-200606281455-win32.zip
– Spring-WS : spring-ws-1.5.2-with-dependencies.zip
– JDK 1.5.0_15 : jdk-1_5_0_15-windows-i586-p.exe
– SOAP UI : soapUI-2.0.2-installer.exe
– Trang : trang-20030619.zip

2. ออกแบบ XML

2.1 file echo.xml
<?xml version=”1.0″ encoding=”UTF-8″ ?>
<echoRequest xmlns=”http://mycompany.com/spring-ws/samples/echo”>HelloWorld</echoRequest&gt;

2.2 file echo.xsd (อาจจะใช้ Trang ช่วยในการปรับแต่ง หรือ สร้างขึ้นเองก็ได้)
ซึ่งในที่นี้เราจะกำหนด pattern ของการ request ที่รับเข้ามาให้เป็นเฉพาะตัวหนังสือภาษาอังกฤษเท่านั้น a-z และ A-Z

<?xml version=”1.0″ encoding=”UTF-8″?>
<schema xmlns=”http://www.w3.org/2001/XMLSchema&#8221;
elementFormDefault=”qualified”
attributeFormDefault=”qualified”
targetNamespace=”http://www.springframework.org/spring-ws/samples/echo&#8221;
xmlns:tns=”http://www.springframework.org/spring-ws/samples/echo”&gt;

<element name=”echoRequest”>
<simpleType>
<restriction base=”string”>
<pattern value=”([A-Z]|[a-z])+”/>
</restriction>
</simpleType>
</element>
<element name=”echoResponse” type=”string”/>

</schema>

2.3 นำ echo.xsd ที่ได้ไปวางไว้ใน WEB-INF/   (แต่ขอแนะนำให้เอา echo.xml ไปวางด้วย)

3. เริ่มการ Coding
3.1 สร้าง project ชื่อ “examplews”
3.2 สร้าง tomcat Server บน Eclipse
3.3 add libraries เหล่านี้ลงใน project
– activation-1.1.jar
– axis-1.4.jar
– axis-jaxrpc-1.4.jar
– axis-saaj-1.4.jar
– axis-wsdl4j-1.5.1.jar
– commons-discovery-0.2.jar
– jsr173_api.jar
– spring.jar
– spring-ws-1.5.1.jar

3.4 download spring-ws-1.5.2-with-dependencies และ unzip ออกมา
3.5 แก้ไข code ตัวอย่างที่อยู่ใน spring-ws-1.5.2\samples\echo\src\main\java  และไปไว้ใน src ของโปรเจก examplews
3.6  copy 3 files ใน spring-ws-1.5.2\samples\echo\src\main\webapp\WEB-INF  มาไว้ใน WEB-INF ของ โปรเจก examplews  จะได้ดังรูป

3.7 add examplews project ลงบน Tomcat server
3.8 Start Tomcat (examplews โปรเจกต์)
3.9 เปิด IE และพิมพ์ URL : http://localhost:8080/examplews/echo.wsdl จะได้ดังรูปเป็นอันเรียบร้อย

4. Test โดยใช้ SOAP UI 2.0.2 จะได้ ผลลัพธ์ดังรูป
Add WSDL from URL  > ใส่ http://localhost:8080/examplews/echo.wsdl

Result
Request : <echo:echoRequest>HELLOOOOOO
Response : <ns1:echoResponse ….> HELLOOOOOO
คำแนะนำ :  รัน Tomcat 5.5 โดยใช้ JRE1.5.0_15 จะดีกว่า
เนื่องจากในตอนแรกผมใช้ Tomcat 5.5 กับ JRE 1.6 แล้วมี error ครับ เกี่ยวกับ Class Loader ในขณะสั่ง start up tomcat ซึ่งเห็น error แล้วก็ ถอดใจ เปลี่ยนแผนไปใช้ JRE 1.5 แต่ก็ต้องตาม add library ให้ครบ ซึ่งผมขาดแค่ jsr173_api.jar    แล้วหลังจากเพิ่ม library นี้เข้าไปก็สามารถ รัน โปรเจกต์ได้ โดยไม่มีปัญหาอะไรครับ

บทความอ้างอิง
1. Spring Web Servers – Reference Documentaion
2. Spring in Action 2nd edition
3. Article : Mathew’s Thoughts

>> จอ บอ จบ (- – “)