นิว จิ๋ว และพันช์ @sanook.com ถ่ายรูปกะผมเอง

DSCN7964

วันนี้อัพเรื่องฮาๆให้ดูกันซักนิดนึง นั่งทำงานอยู่ที่ sanook.com อยู่ดีๆ ก็ได้ยินเสียงแว่วๆแถวหน้า office ก็สงสัยว่าเอ๊ะอะไรน่ะ หันไปดูก็เห็นใครมุงอะไรกันก็ไม่รู้ ปรากฎว่านักร้อง Grammy มาถ่ายรูป promote อะไรกันซักอย่างนี่แหละ เลยเข้าไปถ่ายรูปด้วย ^ ^ เอารูปมาฝากให้ดูกันครับ อิอิ

ป.ล. เรียงจากซ้ายไปขวา -> จิ๋ว พันช์ อู๋ นิว

javascript escape() encode url ภาษาไทย

นานๆจะได้ลองเล่น Ajax ดู ก็เลยเกิดปัญหาที่ต้องส่งข้อมูลจาก javascript ไปยัง page อื่นเพื่อประมวลผล จริงๆจะไม่ใช้ Ajax ก็ได้ครับ แต่อารมณ์นั้นมันอยากลองของน่ะ เอาวิธีการใช้งาน Ajax จาก inoomzaa มาเล่นดูอ่ะ คือมันก็ใช้งานได้ดีกว่า .net 2.0 แต่มามีปัญหากับ .net 1.1 คงเพราะเป็น default encoding แหละครับ แก้ไปทุกกระบวนท่าใน page ขารับแล้วก็ไม่ได้ซักครั้ง จึงต้องใช้ท่าไม้ตาย เดินไปถามหัวหน้า(พี่ตู้) จึงได้คำตอบมาว่าให้ใส่ escape() ครอบข้อมูลในขาส่งไปยัง page ด้วย เพื่อ encode ก่อน เพราะภาษาไทยมีปัญหาเรื่องนี้ตลอดเลย ใช่ว่าจะหาคำตอบได้ง่ายๆ คนไทยเวลาพบปัญหาก็ไม่โพสวิธีการแก้ปัญหา พอไปหาเว็บนอก มันก็ไม่เจอปัญหาแบบที่คนไทยเจออีก เพราะของเค้าเป็นภาษาอังกฤษ ลองดูตัวอย่างโค๊ดนะครับ

1
2
// นี่เป็น javascript ในขาส่งครับ
xmlHttp.open("get","http://localhost/WEB/UtilPage/ResponseManualMsg.aspx?msg="+escape(Criteria.value),true); // ใช้ escape เข้าช่วย
1
2
// ส่วนนี่เป็นหน้า .aspx ในขารับ ธรรมดามากมาย
Response.Write(Request["msg"]); // ไม่ต้องแปลงอะไรเลย

เสร็จสมบูรณ์อย่างสวยงาม เสียเวลาไปตั้ง 2 วันแน่ะ ไว้วันหลังจะหาวิธีการใช้ ajax ที่ดีกว่านี้มาให้ดูนะครับ

string.IndexOf and string.SubString example code

เอาตัวอย่างการใช้งาน IndexOf กับ SubString มาให้ดูกันอีกซักตัวอย่าง โดย code ตัวนี้เอาไว้แยก string ออกเป็น 2 ตัวด้วย “||” วิธีปกติผมจะ Replace || ด้วย | จากนั้นค่อย SubString ด้วยตัว | อีกครั้ง ซึ่งก็ได้ผลลัพธ์ที่ถูกต้องเช่นกัน แต่นี่ก็เป็นอีกวิธีหนึ่งครับ เป็นการดูว่าตัว || อยู่ในตำแหน่งไหนของ string แล้วค่อยแยก string ออกเป็น 2 ตัวด้วยตำแหน่งของ || ครับ ลองดูตัวอย่าง น่าจะเข้าใจนะครับ

1
2
3
4
5
6
7
8
9
10
11
12
string body = "1234||http://www.aspgod.com";
 
int indexSub = body.IndexOf("||");
if (indexSub != -1)
{
    string msg = body.Substring(0, indexSub);
    string url = body.Substring(indexSub + 2, body.Length - indexSub - 2);
 
    Response.Write(indexSub + "<br/>"); // 4
    Response.Write(msg + "<br/>"); // 1234
    Response.Write(url + "<br/>"); // http://www.aspgod.com
}

ผม write ผลลัพธ์ออกมา 3 ตัว
1. ตำแหน่งของ ||
2. string ชุดแรกที่ตัดออกมา
3. string ชุดสองที่ตัดออกมา

Keyboard Shortcuts For “Visual Studio” (Hot Key)

รู้ไหมว่าการเขียนโค๊ดให้เร็วขึ้น สะดวกขึ้น และน่าเบื่อน้อยลง สามารถทำได้ด้วยการจดจำพวก hot key ต่างๆ ถ้าเป็น microsoft word ก็กด Ctrl + B เพื่อทำให้ตัวหนาขึ้น ประหยัดเวลาการเอาเมาส์ไปคลิกปุ่มตัวหนาตั้งเยอะ แต่นี่เป็นการเขียนโปรแกรม ถ้ายิ่งไม่ต้องใช้เมาส์เลย ก็ยิ่งดี ยิ่งเขียนเร็วขึ้น ลองคิดดูสิครับ ถ้าหน้า page 1 หน้ามีโค๊ดซัก 3,000 บรรทัด การที่จะหาข้อความอะไรก็คงยาก คงจะน่าเบื่อมากขึ้นเยอะเลย ลองดูตาม link นี้ครับ จำไปใช้ซักนิด อาจทำให้ชีวิตเราดีขึ้นได้ครับ

Hot key for Visual Studio

ป.ล. สำหรับคนที่ dev ด้วย Visual Studio เท่านั้น

ROW_NUMBER() in sql server 2005

ปกติเวลาที่เราต้องการ select ของโดยกำหนดไว้ว่าต้องไม่เกิน 10 row นะ ก็จะใช้

1
select top 10 * from table1

แต่ถ้าบอกว่า ต้องการ select ของโดยกำหนดว่า เอา row ที่ 10 – 20 เริ่มจะสงสัยละว่าทำอย่างไร เพราะ sql server กำหนดได้แค่ว่าไม่ให้เกินกี่ตัว แต่โชคดีที่ sql server 2005 มี ROW_NUMBER() ให้ใช้ (เพิ่งมีใน 2005) วิธีใช้ก็ตามนี้เลยครับ

1
2
3
4
select ROW_NUMBER() OVER(order by ViewId asc) as ROW_NUMBER
, ViewId
, TopicShow
from mView

sql ด้านบนนี้จะได้เลขของ row มา ทำให้เราสามารถทำ sub query เพื่อเลือกเฉพาะ row ที่เราต้องการได้

1
2
3
4
5
6
7
8
select *
from (
select ROW_NUMBER() OVER(order by ViewId asc) as ROW_NUMBER
, ViewId
, TopicShow
from mView ) as news
where ROW_NUMBER > 10
and ROW_NUMBER <= 20

เพิ่มเติมอีกเล็กน้อย เพื่อทำให้ query รวดเร็วยิ่งขึ้น จาก sql ข้างบนจะเห็นว่า sub query จะ select ของทุกอย่างใน table ก่อน แล้วค่อยให้ query ด้านนอก filter อีกครั้ง ซึ่งเปลือง process พอสมควร จึงแก้ไขด้วยการใส่ top 20 ลงไปใน sub query เพื่อลด process กันหน่อย

1
2
3
4
5
6
7
8
select *
from (
select top 20 ROW_NUMBER() OVER(order by ViewId asc) as ROW_NUMBER
, ViewId
, TopicShow
from mView ) as news
where ROW_NUMBER > 10
and ROW_NUMBER <= 20

ใครเข้ามาอ่านแล้วเห็นว่ามีประโยชน์ก็ comment หน่อยนะคับ (หาเสียงกันสุดๆ ^ ^)
ไว้พบกันใหม่กับ post ต่อไป
ถ้าไม่พบปัญหา คงไม่ได้มาเขียนบทความให้อ่านแน่ๆเลย >.<

Web Service Access Denied on localhost

ผมพบปัญหานี้เมื่อใช้ .NET Framework 1.1 เป็น web service และใช้ app จากในเครื่องเดียวกันในการเรียกใช้ web service นั้น ได้รับ error เป็น 401 access denied วิธีแก้ไขอาจมีหลายวิธีก็ได้ครับ แต่ผมพบวิธีแก้ปัญหาแล้วนั่นคือ เข้าไป set ที่ IIS แล้วปรับในส่วนของ Authentication Methods ให้เป็น Anonymous Access ครับ เท่านี้ก็จะสามารถเข้ามาใช้งาน web service ในเครื่องตัวเองได้
IIS Setting Anonymous Access

How to use string.SubString in .NET

มีตัวอย่างการใช้ SubString ของ .NET มาให้ดูครับ จริงๆแล้วมันก็ไม่ได้ยากอะไรหรอก เพียงแต่หลายๆคนอาจจะสับสนว่าต้องใช้ parameter อะไรบ้าง และใช้อย่างไร

นี่เป็นตัวอย่างเล็กๆที่น่าจะทำให้ทุกคนเข้าใจได้ อย่าประหลาดใจล่ะ ว่าทำไมผมถึงให้ตัวแปรมีค่าเป็นแบบนั้น แบบว่าทำงานเกี่ยวกับ mobile ก็เอาซะหน่อย :D คงไม่ต้องอธิบายอะไรกันมากมายนะครับ ดูผลลัพธ์แล้วน่าจะเข้าใจกันทุกคน

โชคดีครับผม
มีอะไรก็ถามละกัน ^ ^

1
2
3
4
5
string shortcode = "388805301";
Response.Write(shortcode.Substring(0,7) + "<br/>");     // result : 3888053
Response.Write(shortcode.Substring(7, 2) + "<br/>");    // result : 01
Response.Write(shortcode.Substring(2) + "<br/>");       // result : 8805301
Response.Write(shortcode.Substring(7) + "<br/>");       // result : 01

Change Owner Name for SQL Server (Table, Stored Procedures)

Use this command below to change the owner name of table or stored procedures in SQL Server

1
2
exec sp_changeobjectowner 'TABLE_NAME', 'dbo'
exec sp_changeobjectowner 'STORED_PROCEDURES_NAME', 'dbo'

icon google H.G. Wells เฮอร์เบิร์ต จอร์จ เวลส์ บิดาแห่งนิยายวิทยาศาสตร์

H.G. Wells เฮอร์เบิร์ต จอร์จ เวลส์ icon google

วันนี้มาทำงานเช้าหน่อยก็ บังเอิญไปเห็น icon google หน้าตาแปลกไป ก็เลยไปหาข้อมูลมาลงซักหน่อยครับ

เอช. จี. เวลส์ (Herbert George Wells หรือ H. G. Wells)

21 กันยายน พ.ศ. 2409 วันเกิด เฮอร์เบิร์ต จอร์จ เวลส์ หรือ “เอช. จี. เวลส์” (Herbert George Wells หรือ H. G. Wells) นักเขียนนิยายวิทยาศาสตร์ชาวอังกฤษ ผู้ได้รับการยกย่องให้เป็น “บิดาแห่งนิยายวิทยาศาสตร์” ร่วมกับ จูล เวิร์น (Jules Gabriel Verne) เกิดที่เมืองบรอมลีย์ (Bromley) ในมณฑลเคนต์ (Kent) ทางตอนใต้ของอังกฤษ ครอบครัวเปิดร้านขายของชำเล็ก ๆ เวลส์จึงต้องทำงานไปพร้อมกับเรียนหนังสือ เขาเรียนจบคณะสัตวิทยาจาก University of London External Programme เมื่อเรียนจบใหม่ ๆ เขายังไม่มีรายได้ จึงต้องไปอาศัยอยู่กับป้า ทำให้ตกหลุมรักลูกพี่ลูกน้องของตัวเองจนได้แต่งงานกันในที่สุด แต่อยู่ด้วยกันไปกี่ปีก็ทิ้งไปมีคนใหม่ ด้วยเป็นคนเจ้าชู้ จากนั้นก็เริ่มเขียนหนังสือนิยายที่อิงหลังการทางวิทยาศาสตร์ และบทความส่งไปตามนิตยสารและหนังสือพิมพ์ เขาเริ่มมีชื่อเสียงจากนิยายเรื่อง “Anticipations” ซึ่งตีพิมพ์ในปี 2444 ผลงานในช่วงแรก ๆ ของเขาเป็นนิยายวิทยาศาสตร์แฟนตาซีต่อมาก็พัฒนาเป็นนิยายวิทยาศาสตร์เกี่ยว กับโลกในอุดมคติ เช่น “The Time Machine”, “The Invisible Man”, “The War of the Worlds” และ “The First Men in the Moon” นอกจากนี้ยังเขียนเรื่องสั้นไว้จำนวนหนึ่ง เรื่องที่มีชื่อเสียงคือ “The Country of the Blind” เมื่อเขาเริ่มพบว่ามนุษย์ใช้อำนาจของวิทยาศาสตร์ไปในทางหายนะ ผลงานระยะหลัง ๆ ของเขาจึงเริ่มเผยให้เห็นด้านมืดของวิทยาศาสตร์ และถึงเวลาที่ธรรมชาติจะตอบแทนมนุษย์บ้าง เช่น “The Shape of Things to Come” และ “The Sleeper Awakes” เขามีความคิดเชิงสังคมนิยม ผลงานบางเรื่องจึงเป็นนิยายวิทยาศาสตร์เชิงสังคมนิยม เช่น “The Island of Doctor Moreau” ในช่วงบั้นปลายชีวิตเขาเกิดความรู้สึกท้อแท้หมดหวังกับอนาคตของมนุษยชาติ เขาป่วยและเสียชีวิตในลอนดอนเมื่อวันที่ 13 สิงหาคม 2489 ขณะอายุ 80 ปี

ที่มา www.sanook.com

htc hero (google android) มือถือใหม่ของผม

สุดท้ายก็ตัดสินใจซื้อมาสำหรับ htc hero โดน inoomzaa เชียร์อยู่เกือบเดือน ฮ่าๆ เมื่อวันเสาร์ที่แล้วไหนๆก็ผ่านไปแถวๆ central ลาดพร้าว ก็ต้องแวะไป jay mart ซักหน่อย ไปพบกับสุดที่รัก htc hero นอนอย่างเดียวดายอยู่ที่เคาน์เตอร์ขายมือถือ หยิบดูเล่นอยู่สักพักก็ตัดสินใจไปกดเงินซื้อมา (คนขายไม่มีเครื่องให้เล่นอ่ะ เซ็งเปร็ด)

วันนี้เอารูปมาให้ดูนะคับ ยังเล่นอะไรไม่เป็น แต่ว่าได้ทดสอบสำหรับ google maps แล้วคับ พิกัดแม่นมาก เวลาเราเดินอยู่เนี้ย จะมีลูกศรบอกด้วยว่าเดินไปทางไหน เท่สุดๆ เสียอย่างเดียวต้องเปิด GPRS น่ะสิ จะเล่นมากก็ไม่ได้เดี๋ยวเงินหมด
โม้มาสักพักละ มาลองดูรูปกันครับ

htc hero android in box More