การใช้ Google reCAPTCHA Version 3 ร่วมกับ ASP.NET

สำหรับ reCAPTCHA เป็นหนึ่งใน บริการ ของ Google ปัจจุบันมีออกมาแล้ว 3 เวอร์ชั่น โดยเวอร์ชั่น 1 ผู้ใช้ต้องดูภาพตัวอักษณบิดๆ เบี้ยวๆ และกรองข้อความให้ถูกต้อง เวอร์ชั่น 2 มักใช้วิธีให้ ผู้ใช้ต้องคลิก [ / ] I’m not a robot และในเวอร์ชั่น 3 จะมีการนำระบบวิเคราะห์ความเสี่ยงมาใช้ในการประเมิน ไม่รบกวนการทำงานของผู้ใช้ และส่งผลคะแนนกลับมา โดย 1.0 เป็นการสื่อสารที่ปลอดภัย ในขณะที่ 0.0 มีความเป็นไปได้สูงที่จะเป็นบอท ผู้ดูแลเว็บไซต์สามารถกำหนดค่าความเสี่ยงและพิจารณษดำเนินการต่อได้เอง

การใส่ค่าสีใน HTML

การกำหนดค่าใส่ให้กับส่วนต่างของ HTML ทำได้หลายแบบ แรกเริ่มการกำหนดจะทำผ่าน attribute ของ HTML Tag ภายหลังนิยมกำหนดผ่าน CSS เพื่อให้สามารถปรับแต่งได้ง่าย บทความเรื่อง Colors Tutorial ของ W3schools ได้นำเสนอวิธีการกำหนดสีไว้หลายวิธี สำหรับบทความนี้จะนำเสนอเฉพาะรูปแบบที่มักใช้กันบ่อย และการประยุกต์ใช้ในปัจจุบัน การกำหนดด้วยชื่อสี เป็นการกำหนดค่าสีด้วยชื่อสีภาษาอังกฤษ เช่น Red, Green, Blue เป็นต้น โดยไม่คำนึงถึงตัวเล็กตัวใหญ่ ชื่อสีมาตรฐานที่บราวเซอร์รองรับ สามารถดูรายชื่อได้ที่ HTML. read more…

Windows Subsystem for Linux (WSL) บน Windows 10

ทำความรู้จัก WSL Windows Subsystem for Linux (WSL) เป็นฟีเจอร์ใน Windows 10 Anniversary Update ที่เปิดโอกาศให้นักพัฒนาและผู้ใช้งานสามารถใช้งาน command-line tools (เช่น grep, seed และ อื่นๆ), utilities (vim, nano และ อื่นๆ) และ โปรแกรมต่างๆ (MySQL, Apache และ. read more…

ระบบบริการข้อมูลภูมิสารสนเทศออนไลน์ของประเทศไทย / NGIS / QGIS / FGDS

ทีมงานจาก GISTA ได้มาจัดอบรม ระบบบริการข้อมูลภูมิสารสนเทศออนไลน์ของประเทศไทย และ มาตรฐานข้อมูลภูมิสารสนเทศ FGDS

แนะนำเครื่องมือด้าน GIS 3 ตัว คือ NGIS, QGIS และ FGDS

WordPress Lazy-Load

ผมเพิ่งรู้จักเครื่องมือในการวิเคราะห์เว็บไซต์จาก Google ที่ชื่อ PageSpeed Insights สามารถเข้าไปใช้งานได้ที่ลิงค์ https://developers.google.com/speed/pagespeed/insights/ ผมได้นำเว็บไซต์ที่ทำจาก WordPress ไปทดสอบ พบว่าคะแนนที่ได้ค่อนข้างต่ำ และ PageSpeed Insights มีข้อแนะนำหลายอย่างเพื่อนำไปปรับปรุงให้เว็บไซต์ดีขึ้นได้ โดยโพสนี้จะกล่าวเฉพาะประเด็น Defer offscreen images เท่านั้น เมื่อคลิกที่แถบ Defer offscreen images จะปรากฎคำแนะนำเพิ่มเติม สำหรับเว็บไซต์ที่สร้างขึ้นด้วย WordPress แนะนำให้ติดตั้ง Plugin ในกลุ่ม. read more…

ASP.NET MVC: Autocomplete Textbox

ในระหว่างที่ผมกำลังโค้ดงานหน้าจอ CheckIn/CheckOut โดยในฟอร์มรับ รหัสผู้เข้าร่วม (Attendee Code) แล้วกดปุ่ม CheckIn/CheckOut เป็นการส่งข้อมูล แล้วผู้ปฎิบัติงานจะรู้ได้อย่างไรว่า รหัสที่ป้อนเข้าไปนั้นถูกคน หรือ ผู้ร่วมงานลืมรหัสของตนเอง จึงคิดว่าจะนำ Autocomplete มาใช้งาน โดยทำงานร่วมกับ jQuery และ Bootstrap บน Visual Studio (2015) เปิด NuGet Package Manager ติดตั้ง package ที่จำเป็นต่อไปนี้. read more…

ASP.NET MVC: การ Request ผ่าน FormMethod แบบ PUT และ Delete

หลักการทำงานของ RESTful โดยทั่วไปจะกล่าวว่า Client สามารถทำการร้องขอ (Request) ข้อมูลหรือประมวลผลต่างๆ ผ่าน HTTP verbs/method โดยมีหลักการมาตรฐานในการใช้งานดังนี้ GET สำหรับการร้องขอข้อมูล POST สำหรับสร้างหรือเพิ่มข้อมูลใหม่ PUT สำหรับแก้ไขข้อมูล และ DELETE สำหรับการลบข้อมูล แต่การใช้งาน Form ใน asp.net MVC แบบปรกติจะสามารถ Request ได้เพียง Get และ. read more…

ASP.NET MVC: DateTimePicker

เพิ่งจะได้มีโอกาสทำหน้า Page ของ aps.net mvc และในรุ่นนี้ไม่มี server control สำหรับรับข้อมูลแบบ DateTime เหมือนก่อน หลังจากไปค้นหาข้อมูลและทดลองทำตามพอจะสรุปเป็นขั้นตอนวิธีที่สามารถทำให้ Textbox ของเรารับค่า DateTime ได้ด้วยไม่กี่ขั้นตอน เปิด Project ด้วย Visual Studio (ของผมเป็นรุ่น 2015) เปิด NuGet Package Manager และค้นหาด้วยคำว่า datetimepicker เลือก. read more…

ASP.NET WebAPI2: การเพิ่มคำอธิบายฟังก์ชั่น API ใน Help Page

หลังจากที่ผมได้มีโอกาสพัฒนางานด้วย ASP.NET MVC Web API บน Visual Studio 2015 พบว่า เครื่องมือช่วยสร้าง Help Page โดยอัตโนมัติจากฟังก์ชั่นที่ได้เตรียมไว้ใน ApiController สำหรับให้ข้อมูลว่า Project นี้มี API ใดให้บริการบ้าง มีวิธีการเรียกใช้ และ มีรูปแบบของผลลัพธ์ เป็นอย่างไร แต่สิ่งที่หายไปคือ คำอธิบาย API (Description) นั่นเอง ดูภาพประกอบที่. read more…

APS.NET MVC: @Html.DisplayNameFor(x => x.Name) [แตกประเด็น p2376]

บันทึกนี้ผมแตกประเด็นมาจากบันทึก ASP.NET MVC ว่าด้วยเรื่อง Model แต่เนื้อหาไม่ได้ต่อเนื่องกัน ผมหยิบเอาคำสั่งหน้าตาประหลาดๆ มากเพื่อศึกษาและบันทึกความเข้าใจไว้ นั่นคือ คำสั่งในลักษณะนี้ @Html.DisplayNameFor(x=> x.Name) โครงสร้างคำสั่งแบบนี้จะพบมากขึ้นในโค้ดฝั่ง Microsoft ซึ่งผมเองเคยผ่านการใช้งานโค้ดแบบนี้มาบ้าง เคยถามจากผู้รู้มาบ้าง แต่พอนานวันก็ลืมความหมายไป จึงถือโอกาสทบทวนและบันทึกเป็น km เก็บไว้ว่า   เมื่อเอาเมาส์ไปวางเหนือคำสั่ง DisplayNameFor เราจะได้คำอธิบายการใช้มายืดยาว หากไม่คุ้นเคยการใช้งานแบบนี้อาจทำให้งงว่ามันใช้ยังไง คำอธิบายที่แสดงมานั่นคืออะไรบ้าง (MSDN: DisplayNameFor) DisplayNameFor มีหน้าที่แสดงชื่อหรือคำอธิบายของ Model หรือ MvcHtmlString โดยจะใช้ชื่อของ Model หรือชื่อที่ประกาศใน. read more…

Author avatar