วันพุธที่ 17 พฤศจิกายน พ.ศ. 2553

USB registry function

****USB Disable****

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]
"Start"=dword:00000004

****USB Enable****

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR]
"Start"=dword:00000003

****USB Write Protect Disable****

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]
"WriteProtect"=dword:00000001

****USB Write Protect Enable****

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]
"WriteProtect"=dword:00000000

วันจันทร์ที่ 8 พฤศจิกายน พ.ศ. 2553

LINQ คืออะไร

LINQ นั้น ย่อมาจาก Language Integrated Query หรือแปลเป็นไทย ก็ "การทำ Query แบบฝังในภาษา" ซึ่งในความเป็นจริงนั้นก็ไม่ได้ต่างจากคำแปลซักเท่าไหร่นักครับ เพราะถ้าโค๊ดที่มีการใช้ LINQ คุณจะพบกับคำสั่ง ที่มีลักษณะคล้ายภาษา SQL แบบนี้ ในโค๊ดเลย



คุณ อาจจะมองว่า เฮ้ นี่ต่อไปเราจะไม่ต้องมานั่งต่อฐานข้อมูล หรือจำว่าต้องสร้าง Connection แล้วสั่ง New Command จากนั้น ExecuteReader กันแล้วใช่มั๊ย? นั่นก็ถูกต้องครับ แต่ไม่ซะทีเดียว เพราะอันที่จริงแล้ว ถ้าเรามองจาก Syntax และเทคนิคที่ใช้ LINQ นั้น ถูกออกแบบมาให้ทำงานกับข้อมูลในแรมครับ แต่การที่เราสามารถใช้ LINQ ไปทำการติดต่อกับฐานข้อมูลได้เหมือนกัน แต่ว่า เดี๋ยวเราจะกลับมาในเรื่องนั้นอีกครั้ง ภายหลัง

ถ้าไม่ต้อฐานข้อมูล แล้วจะอ่านไปเพื่ออะไร?

เนื่อง จากการจะเข้าใจ LINQ แบบถึงแก่น และจะได้นำเอามันไปใช้ให้เหมาะสม รวมถึงเอาฟีเจอร์ใหม่ๆ ที่เป็นผลพลอยได้จากการมี LINQ ไปใช้ได้ด้วย บทความในชุดนี้ผมจะพยายามครอบคลุมเรื่องพื้นฐานทั้งหมดด้วย สำหรับผู้ที่เริ่มจะเข้ามาใช้ C# และเริ่มคุ้นเคยกับภาษาแล้ว แต่ยังไม่ได้ลองเล่นกระบวรท่าพิสดารของภาษานี้ จะได้ฝึกวิทยายุทธตามไปด้วยครับ ส่วนผู้ที่เป็นอยู่แล้ว ก็น่าจะได้มาช่วยกันขัดเกลาให้มันดียิ่งขึ้น ในเรื่องที่เป็นอยู่แล้ว และมาศึกษาฟีเจอร์ใหม่ๆ ที่เพิ่มเข้ามา จะได้นำเอามันไปใช้ได้ และทำให้เขียนโค๊ดได้เร็ว และกระชับมากขึ้นครับ

แล้วถ้าจะใช้ LINQ กับข้อมูลในแรม มันจะมีประโยชน์อะไร???

มีแน่นอนครับ ผมเชื่อว่าถ้าคุณเขียนโปรแกรมที่ต้องมีการแสดงผลข้อมูลจำนวนมากคุณจะต้องได้ทำสิ่งเหล่านี้แน่นอน
  • Sort (เรียง) ข้อมูล ตามที่ผู้ใช้กำหนด
  • Filter ข้อมูล ตามที่ผู้ใช้กำหนด
  • หาค่าต่างๆ เช่น Min, Max, Mean, Sum
  • จัดกลุ่มข้อมูล

แต่ คุณก็จะคิดในใจว่า อ้าว พวกนี้ เราก็ใช้ตัวฐานข้อมูล ทำให้เราได้แล้วนี่นา? ถ้าเราอยากจะเรียง เราก็สั่งให้ Sql Server มัน ORDER BY ให้เรา หรือว่า จะ Filter เราก็ใช้ WHERE หาค่า MIN, MAX, SUM ก็ใช้ SELECT SUM(field) FROM table หรือจะจัดกลุ่ม ก็ GROUP BY ผมก็บอกว่า นั่นก็ถูกต้องครับ แต่ถ้าลองนึกดู จุดที่ LINQ จะมีประโยชน์ ก็คือ

* แหล่งข้อมูล อาจไม่ได้มาจากฐานข้อมูลเสมอไป
อย่าง ในปัจจุบัน ที่เราพยายามทำอะไรเป็น SOA มากขึ้น เราอาจจะทำการเรียกข้อมูล จาก Web Service มาก็ได้ ซึ่งข้อมูลที่ได้มา ก็จะเป็นในรูปของ Array ของคลาส หรือว่า เป็น List<คลาส> แบบนี้ แน่นอนว่า เราจะหวังพึ่งคำสั่ง SQL ไม่ได้แน่นอน หรือไม่อย่างนั้น เราก็อาจจะต้องทำ Web Service ที่เปิดพารามิเตอร์ รับเป็นคำสั่ง SQL ซึ่งนอกจากจะมีความเสี่ยงต่อ SQL Injection Attack แล้ว ก็ยังมีปัญหาที่...

* ช่วยปริมาณและความถี่ของการเปิด Connection ไปยังแหล่งข้อมูล หรือตัว Web Service

ถ้า หากว่า เราจะใช้การติดต่อฐานข้อมูล หรือ Web Service ทุกครั้ง ที่มีการเปลี่ยนแปลงการ Sort, Filter แน่นอนว่า ก็ต้องมีการเปิด Connection ไปยังฐานข้อมูล หรือ Web Service ทุกครั้ง ใช่ไหมครับ? นอกจากจะเป็นการทำให้โปรแกรมเราดูช้าลงแล้ว (เพราะต้องรอผลจาก Server) ยังเป็นการไปเพิ่ม Load ให้กับ Server เหล่านั้นด้วย ลองนึกถึงว่า ถ้าโปรแกรมเราทำงานที่ธนาคาร แล้วผู้บริหารระดับสูงต้องการดูรายงาน Transaction ที่มียอดสูงเกิน 1 ล้านบาท ที่เกิดขึ้นในแต่ละวัน จากผู้ลูกค้าจำนวนกว่า 10 ล้านคนทุกวัน แล้วให้เขาสามารถเล่นกับข้อมูลได้ เอาแค่โดยการ Sort ก็พอ ลองคิดดูสิครับ ว่า Transaction ที่เกิน 1 ล้านบาท อาจจะมีแค่ราว 1,000 Transaction แต่ระบบฐานข้อมูล จะต้องไปทำการ Query ข้อมูล 1,000 แถวนี้มาจากตาราง ที่อาจจะมีข้อมูลถึ 5 ล้านแถวต่อวัน แล้วส่งกลับมาให้ แน่นอนว่า โปรแกรมเราคงจะค้างไปนาน กว่าจะได้ผลลัพธ์ แน่นอนว่า ทางที่ดีที่สุด เราก็แค่เขียนฟังก์ชั่น Quick Sort หรือใช้ Array.Sort กับข้อมูล 1,000 แถว ที่อยู่ในโปรแกรมเราอยู่แล้ว น่าจะดีกว่า ถูกไหมครับ?
เอาละครับ เรารู้ถึง ประโยชน์ของมันแล้ว ลองมาทำความรู้จักกับมันแบบลึกซึ้งกันดีกว่าครับ

LINQ คือ แนวคิดแบบ Functional Programming

ถึง ตรงนี้ อย่าเพิ่งไปเปิดอ่าน Text เรื่อง Functional Programming (FP) นะครับ ผมเองก็ยอมรับว่า เคยพลาดไปพยายามทำความเข้าใจอยู่พักใหญ่ แล้วยังไปแนะนำให้คนอื่นลองหาอ่านอีก (แหะๆ) เพราะว่า แนวคิดนี้ ไม่ใช่ความคิดใหม่ครับ เป็นแนวความคิดที่เกิดขึ้นเมื่อกว่า 30 ปีที่แล้ว เป็นมีภาษาที่ชื่อว่า ML ที่เป็นแนวคิดนี้ด้วยครับ จะไปลองเล่นดูก็ได้นะครับ และเหมือนว่า ทุกคน (หมายถึง พวกนัก Com Sci ทั้งหลาย) จะรู้แล้วว่า แนวคิดนี้ ใช้แบบเพียวๆ เลย ไม่ดี จะต้องใช้ร่วมกับภาษาโปรแกรมมิ่งทั่วๆ ไป ที่เราใช้กันอยู่ ถึงจะได้ประโยชน์สูงสุด ซึ่ง LINQ เอง ก็คือการนำเอาแนวคิดนี้มาประบุกต์ใช้ครับ

อ่านเพิ่มเติม.. http://coredeveloper.net/blogs/nantcom/archive/2008/07/01/linq-1.aspx

ที่มา http://www.deelike.com/webboard/index.php?topic=271.0

วันอาทิตย์ที่ 7 พฤศจิกายน พ.ศ. 2553

30 วิธีง่าย ๆ ที่ทุกบ้านควรรู้อยู่กับโลกร้อน



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

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

10 เรื่องง่าย ๆ ทำได้ที่บ้าน

- ใช้หลอดไฟประหยัดพลังงาน เช่น เปลี่ยนหลอดไส้เป็นหลอดตะเกียบ ใช้หลอดฟลูออเรสเซนต์ผอมใหม่ T5

- ถ้าไม่ร้อนมากเกินไป ควรใช้พัดลมแทนเครื่องปรับอากาศ แต่ถ้าต้องเปิดเครื่องปรับอากาศก็เปิดที่ 25 องศาเซลเซียส โดยตั้งเวลาเปิดเครื่องให้ทำงานเท่าที่จำเป็น

- ปิดไฟในห้องนอนที่ไม่มีคนอยู่ ถอดปลั๊กทีวี วิทยุ คอมพิวเตอร์ เครื่องเสียง หรืออื่น ๆ เมื่อเลิกใช้งาน

- อย่าใส่ของร้อนเข้าตู้เย็น หรือใส่ของจนเต็มตู้ และไม่ควรเปิดตู้เย็นบ่อย ๆ หมั่นละลายน้ำแข็งในช่องแช่แข็งด้วย เพื่อประหยัดพลังงานในการทำงานของตู้เย็น

- ใช้ไม้กวาด กวาดบ้าน ซักผ้าด้วยมือ ได้ออกกำลังกาย และประหยัดไฟกว่าใช้เครื่องดูดฝุ่น หรือเครื่องซักผ้า แต่ถ้าไม่มีเวลา ก็ควรซักเครื่องทีละมาก ๆ

- ถ้ามีของใช้ในบ้านเสีย ควรหาทางซ่อมให้กับมาใช้ได้ใหม่ หรือดัดแปลงให้ใช้ประโยชน์ในทางอื่น อย่าเพิ่งรีบทิ้ง หรือซื้อของใหม่

- แยกขยะที่บ้านเป็น 2 ประเภท คือ ขยะเปียก (เศษอาหาร) ไว้ทำปุ๋ย กับขยะรีไซเคิลไว้ขายอาแปะซาเล้ง เช่น เศษกระดาษ พลาสติก แก้ว เป็นต้น

- เก็บน้ำมันพืชที่ใช้แล้วไปขายที่ปั๊มน้ำมันบางจาก เพื่อนำไปทำไบโอดีเซล

- ใช้น้ำอย่างประหยัด ใช้โถชักโครกแบบประหยัดน้ำ อย่าปล่อยให้มีน้ำรั่ว หากรั่วรีบซ่อมทันที

- ปลูกต้นไม้ในบริเวณบ้าน มีพื้นที่น้อยก็ปลูกไม้กระถาง มีพื้นที่มากก็ปลูกไม้ยืนต้น

10 วิธีเดินทางประหยัดพลังงาน

- คิดเสมอว่า การเดิน เป็นวิธีเดินทางประหยัดพลังงานที่สุด และเป็นการออกกำลังกายด้วย

- ขี่จักรยานไปตลาด หรือไปติดต่อธุระในสถานที่ใกล้บ้าน หรือถ้าที่ทำงานอยู่ใกล้ก็ขี่ไปทำงานเลยก็ได้

- ใช้บริการรถสาธารณะ เช่น รถเมล์ รถตู้ รถไฟลอยฟ้า รถไฟฟ้าใต้ดิน ช่วยลดการใช้รถยนต์ส่วนตัว และยังช่วยสร้างความต้องการให้เกิดบริการรถสาธารณะมากขึ้นในอนาคต

- จะไปนอกเส้นทางปรกติ พยายามใช้รถแท็กซี่แทนการใช้รถยนต์ส่วนตัว เพราะมีรถแท็กซี่วิ่งตลอดเวลาอยู่แล้ว

- ถ้าต้องขับรถยนต์ส่วนตัว ให้ใช้ความเร็วไม่เกิน 90 กม./ชม. จะประหยัดน้ำมัน พยายามรักษาความเร็ว ไม่ควรเหยียบเบรก หรือเร่งเครื่องโดยไม่จำเป็น

- หมั่นเช็กลมยางของรถยนต์ให้ตรงตามขนาดที่เหมาะสม เพราะถ้าลมยางอ่อนจะทำให้เปลืองน้ำมันมาก

- ดับเครื่องเมื่อจอดรถเสมอ

- สนับสนุนการใช้น้ำมันไบโอดีเซล หรือแก๊สโซฮอล์ แทนการใช้น้ำมันเบนซิน หรือดีเซล

- จัดระบบ Car pool เช่น รวมกลุ่มคนอื่นซึ่งมีที่ทำงานอยู่ในทางเดียวกัน โดยให้นั่งรถยนต์คันเดียวกันแทนการขับรถยนต์ไปกันคนละคัน

- การเดินทางไกล ๆ พยายามลดการเดินทางด้วยเครื่องบิน เพราะเครื่องบินปล่อยก๊าซเรือนกระจกต่อผู้โดยสารมากที่สุดเมื่อเทียบกับการ เดินทางประเภทอื่น ๆ ถ้าเป็นไปได้ใช้รถไฟ หรือรถประจำทางแทน

10 เรื่องต้องคิดก่อนจับจ่ายซื้อของ

- ไม่รับถุงพลาสติกจากร้านค้า ควรพกถุงผ้าติดตัวไว้ใส่ของเสมอ หรือบางครั้งอาจต้องพกถุงพลาสติกส่วนตัวไว้สำหรับใส่ของที่อาจเลอะเทอะได้

- เลือกซื้อของมือสองแทนการซื้อของใหม่ มีของมือสองมากมายที่ใช้ได้ดี และราคาถูกเสียด้วย เช่น เสื้อผ้า หนังสือ วีซีดี คอมพิวเตอร์ เป็นต้น

- ซื้อของที่บรรจุในขวดแก้วดีกว่าวัสดุแบบอื่น ๆ เช่น น้ำอัดลม น้ำปลา ซอส เป็นต้น เพราะขวดแก้วน้ำกลับไปบรรจุซ้ำได้อีก

- ไม่ซื้อของที่บรรจุในโฟม หรือใช้หีบห่อฟุ่มเฟือยเกินความจำเป็น ถ้าต้องใช้โฟม หรือพลาสติกจริง ๆ พยายามหาพลาสติก หรือโฟมแบบที่ย่อยสลายได้เองในธรรมชาติ

- พยายามเลือกของที่สามารถใช้ซ้ำแล้วซ้ำอีกได้ ไม่ควรซื้อของที่ใช้ครั้งเดียวทิ้ง เช่น ใช้ถ่านไฟฉายแบบชาร์จไฟได้แทนถ่านธรรมดาแบบใช้ครั้งเดียวทิ้ง

- ซื้อเครื่องกรองน้ำมาใช้แทนการซื้อน้ำขวด หรือถังน้ำ

- ซื้อเครื่องใช้ไฟฟ้าที่มีฉลากประหยัดไฟเบอร์ 5 และค่าประสิทธิภาพการใช้ไฟฟ้า EER ไม่น้อยกว่า 10.6 (ยิ่งสูงยิ่งดี)

- เลือกของที่ทำงานโดยต้องไม่ใช้ไฟฟ้า หรือถ่าน เช่น ที่โกนหนวดแบบธรรมดา นาฬิกาไขลาน หรือเครื่องใช้ที่ใช้พลังงานแสงอาทิตย์ เช่น เครื่องคิดเลข เครื่องทำน้ำร้อน เป็นต้น

- สนับสนุนสินค้าในประเทศ ไม่ว่าจะเป็นอาหาร ผลไม้ หรือของใช้อื่น ๆ เพราะสินค้าจากต่างประเทศต้องสิ้นเปลืองพลังงานขนส่งมากกว่า

- คิดทบทวนก่อนจ่ายเงินซื้อของทุกครั้งว่า จำเป็นต้องใช้ของนั้นจริงหรือไม่ เราใช้ของที่มีอยู่อย่างคุ้มค่าแล้วหรือยัง

30 วิธีที่กล่าวมานี้ ถึงแม้บางเรื่องจะเป็นเรื่องเดิม ๆ ที่เรารู้กันดีอยู่แล้ว แต่หากค่อย ๆ ทำ และช่วยกัน ทีมงานเชื่อว่า มือเล็ก ๆ จากหลาย ๆ ครอบครัว สามารถบรรเทาอาการป่วยของโลกได้ไม่มากก็น้อย

ที่มา http://www.manager.co.th/Family/ViewNews.aspx?NewsID=9530000157037