Music Hit In your life

วันศุกร์ที่ 22 มีนาคม พ.ศ. 2556

แนะนำวิทยุออนไลน์ โรงเรียนห้วยกรดวิทยา

ร่วมทดสอบวิทยุออนไลน์ โรงเรียนห้วยกรดวิทยา แนะนำ ติชม และขอเพลงได้ที่ http://huaikrot.ac.th/radio/



พบกันตั้งแต่เวลา 16.00 - 23.00 น.

Laravel คืออะไร?กันแน่



 Laravel เป็น PHP Framework น้องใหม่ เพราะเพิ่งเกิดมาได้แค่ปีเดียวเอง ซึ่งสร้างโดยคุณ Taylor Otwell ที่เป็นคนเขียน CodeIgniter มา ก่อน  



จุดเด่นของ Laravel น่าจะอยู่ที่ความ ง่าย แล้วก็มีโคดที่สวยงาม Document ที่อ่านง่าย ใช้เวลา Learning ค่อนข้างสั้น ใครที่อยากจะรู้ว่า Laravel ดียังไง ใช้งานยังไง แล้วมีเทคนิคการใช้งานอย่างไรบ้าง ลองค้นหาข้อมูลอ่านเพิ่มเติมันเอาเองนะครับ ส่วนใหญ่ก็เว็บต่างประเทศทั้งนั้น เจอที่ไทยหลักๆ ก็จะเป็นเว็บ http://laravel.in.th/

โครงสร้างของ Laravel Framework จะแบ่งออกเป็น 3 ส่วนหลักๆ คือ M-Model,V-View และ C-Controller  เหมือนกับ MVP Framework ตัวอื่นๆ แต่จะมีส่วนประกอบอื่นๆเพิ่มเติมขึ้นมา เช่น Library, Bundled และ Routing เป็นต้น โดยจะแยกส่วนต่างๆออกจากกันชัดเจน เพื่อความเป็นระเบียบเรียบร้อย และตรวจสอบแก้ไขได้ง่าย โดยจะใช้ Model ในการติดต่อกับฐานข้อมูล ใช้ Controller ในการรับข้อมูล (Input) จากผู้ใช้ และประสานงานระหว่าง  Model,Library และ View และแสดงผลลัพท์ทั้งหมดด้วย View
การติดตั้งใช้งาน สามารถดาว์นโหลดได้ฟรี จากเว็บไซต์ laravel.com จากนั้นแตก Zip ไฟล์ที่ได้จะพบโครงสร้างดังรูป ประกอบด้วยโฟลเดอร์หลักๆ เช่น Application จะเก็บตัวแอพลิเคชั่นที่เราพัฒนาขึ้นมาและค่าคอนฟิคต่างๆ, Bundled จะใช้เก็บ โมดูลต่างๆที่มีผู้พัฒนาไว้แล้วผ่านการตรวจสอบว่าทำงานได้ดี ซึ่งเราสามารถนำมาพัฒนาต่อได้เลย โดยที่ไม่ต้องเริ่มใหม่ ทำให้ขั้นตอนการพัฒนาระบบ ทำได้รวดเร็วขึ้น, โฟลเดอร์ Laravel จะเก็บไฟล์หลักของ Laravel, Public เก็บไฟล์มีเดียประเภทต่างๆ เช่น รูปภาพ ซีเอสเอสไฟล์(CSS)ไฟล์เอกสาร เป็นต้น และ Storage จัดเก็บไฟล์ Log ต่างๆ หลังจากนั้นขั้นตอนการติดตั้งก็ไม่มีอะไรยุ่งยาก ทำการปรับแต่งไฟล์เริ่มต้นระบบ (Config File) ที่อยู่ในโฟลเดอร์ application จากนั้นอัพโหลดเข้าสู่เว็บเซิฟเวอร์ก็ถือว่าได้ทำการติดตั้งและปรับแต่งระบบเบื้องต้นเสร็จเรียบร้อยแล้ว (ก่อนที่จะอัพโหลดเข้าสู่เซิฟเวอร์จริง เราอาจติดตั้งในเครื่องเราก่อน โดยการติดตั้งโปรแกรมจำลองเว็บเซิฟเวอร์ เช่น AppServ หรือ Xamp ในเครื่องเราเองก่อนเพื่อทดสอบ แต่จากการทดลองใช้งาน แนะนำให้ใช้ Xamp จะดีกว่า)
ที่มา http://taklokung.wordpress.com/tag/laravel/

ฮือฮา หุ่นขี้ผึ้ง สตีฟ จ็อบส์

พิพิธภัณฑ์หุ่นขี้ผึ้งมาดามทุศโว กรุงเทพฯ เอาใจสาวกแอปเปิ้ล นำหุ่นขี้ผึ้งสตีฟ จ็อบส์ อดีตซีอีโอผู้ให้กำเนิดไอโฟน ไอแพด และไอพ็อด มาจัดแสดงในไทยนาน 3 เดือน


สตีฟ จ๊อบส์ ถือเป็นผู้ทรงอิทธิพลคนดังแห่งโลกยุคใหม่ที่อยู่เบื้องหลังความสำเร็จของนวัตกรรมด้านไอทีและการสื่อสาร ไม่ว่าจะเป็นไอพ็อด ไอโฟน และไอแพด ทำให้เรื่องราวชีวิตของเขากลายเป็นแรงบันดาลใจให้กับผู้คนหลายล้านคนทั่วโลก โดย​หุ่นขี้ผึ้งสตีฟ จ๊อบส์มาในชุดง่ายๆ สบายๆ อันเป็นเอกลักษณ์ประจำตัวของเขาคือ เสื้อคอเต่าสีดำ กางเกงยีนส์ลีวายส์ 501 รองเท้าผ้าใบยี่ห้อ New Balance และแว่นสั่งทำพิเศษแบรนด์ Lunor โดยจัดให้มีท่าทางเหมือนกับต้นแบบคือ รูปถ่ายที่ใช้ขึ้นปกนิตยสารฟอร์จูนเมื่อปี 2549 ซึ่งจ๊อบส์กำลังกอดอกหลวมๆ เอนศีรษะเล็กน้อย ใบหน้าประดับด้วยรอยยิ้มอบอุ่นบางๆ

​พิพิธภัณฑ์หุ่นขี้ผึ้งมาดามทุสโซ กรุงเทพฯ จัดพื้นที่ไว้ให้หุ่นขี้ผึ้งของสตีฟ จ๊อบส์ อยู่ภายในโซนศิลปะและวิทยาศาสตร์ เคียงข้างบุคคลผู้มีชื่อเสียงระดับโลก อาทิ อัลเบิร์ต ไอน์สไตน์ พาโบล ปิคัสโซ ลุดวิก แวน บีโธเฟน แพทย์หญิงคุณหญิงพรทิพย์ โรจนสุนันท์ ศาสตราจารย์ศิลป์ พีระศรี

​ทั้งนี้ การสร้างหุ่นขี้ผึ้งสตีฟ จ๊อบส์เป็นงานศิลปะทำมือทั้งหมดในทุกขั้นตอน โดยใช้เทคนิคเก่าแก่ของมาดามทุสโซที่มีประวัติยาวนานกว่า 200 ปี และใช้เวลาความทุ่มเทของทีมงานช่างปั้นและจิตรกรในการลงสีและบรรจงติดเส้นผมทีละเส้นอย่างประณีตรวม 3 เดือนในการถอดแบบออกมาให้เหมือนจริงมากที่สุด โดยก่อนหน้านี้ได้ตระเวนนำหุ่นขี้ผึ้งสตีฟ จ็อบส์ ออกแสดงในฮ่องกงและเซี่ยงไฮ้ สำหรับสาวกแอปเปิ้ล  ให้แสดงใบเสร็จซื้อสินค้าที่ iStudio by copperwired หรือ .life ทุกสาขา รับสิทธิ์ซื้อบัตรเข้าชม 1 ใบ ฟรี 1 ใบ หรือแสดงผลิตภัณฑ์ของแอปเปิ้ล ณ เคาน์เตอร์ซื้อบัตร รับสิทธิซื้อบัตรเข้าชม ในราคา  300 บาท ตั้งแต่วันนี้จนถึง 15 มิถุนายนนี้ แฟนชาวไทยห้ามพลาดโอกาสที่จะได้กระทบไหล่ขวัญใจคนดัง เพราะหุ่นขี้ผึ้งสตีฟ จ๊อบส์จะจัดแสดงในประเทศไทยเพียง 3 เดือนเท่านั้น ณ พิพิธภัณฑ์หุ่นขี้ผึ้งมาดามทุสโซ กรุงเทพฯ ชั้น 6 ศูนย์การค้าสยามดิสคัฟเวอรี่
​พิพิธภัณฑ์หุ่นขี้ผึ้งมาดามทุสโซ กรุงเทพฯ ตั้งอยู่ที่ชั้น 6 สยามดิสคัฟเวอรี่ ( www.madametussauds.com/bangkok)

ที่มา 

เอไอเอสเริ่มติดต่อให้ลูกค้าสมัครใช้บริการ 3 จี โดยใช้เลขหมายบัตรประชาชนเพื่อยืนยันผ่านเอสเอ็มเอส




          เมื่อวันที่ 21 มีนาคม 2556  นายวิเชียร เมฆตระการ ประธานเจ้าหน้าที่บริหาร บริษัท แอดวานซ์ อินโฟร์ เซอร์วิส จำกัด (มหาชน) หรือ เอไอเอส กล่าวว่า  ขณะนี้เอไอเอสกำลังอยู่ในช่วงการทำงานอย่างหนัก ทั้งด้านการขยายเครือข่าย และ งานบริการต่างๆ เพื่อให้พร้อมเปิดให้บริการ เอไอเอส 3 จี (AIS 3G)  ใหม่ที่จะเริ่มในเร็วๆนี้ ดังนั้นเพื่อเตรียมอำนวยความสะดวกให้แก่ลูกค้าในขั้นตอนของการสมัครใช้บริการเพื่ออัพเกรดเป็น 3 จี ใหม่ ตั้งแต่วันที่ 15 มีนาคม ที่ผ่านมา จึงได้เริ่มแจ้งตรงไปยังลูกค้าให้สามารถกดสมัครได้ด้วยตัวเองผ่านมือถือ ที่หมายเลข *988*เลขบัตรประชาชน#แล้วโทรออก (ฟรี) ซึ่งจะทำให้เมื่อถึงเวลาที่เริ่มเปิดให้บริการในพื้นที่ซึ่งลูกค้าใช้งานอยู่ ลูกค้าจะได้รับความสะดวกในการเริ่มใช้บริการได้อย่างรวดเร็ว 
นายวิเชียร กล่าวว่า หลังจากที่เริ่มสื่อสารด้วยวิธีการดังกล่าว พบว่าลูกค้าบางรายอาจมีความกังวลในการส่งหมายเลขบัตรประชาชนเพื่อสมัคร ซึ่งขอยืนยันว่า รูปแบบของการสมัครบริการดังกล่าวเป็นการดำเนินการโดยตรงจาก    เอไอเอส อีกทั้งขอให้มั่นใจว่า บริษัทฯ มิได้มีการนำเลขหมายบัตรประชาชนดังกล่าวไปใช้งานผิดวัตถุประสงค์อย่างแน่นอน  
ทั้งนี้รูปแบบของเอสเอ็มเอสที่สื่อสารตรงไปยังลูกค้าจะใช้ชื่อผู้ส่งว่า “AIS 3G” ดังนั้นหากลูกค้าได้รับ SMS ที่ไม่ตรงตามเงื่อนไขดังกล่าว  สามารถตรวจสอบข้อมูลเกี่ยวกับการสมัครเพื่ออัพเกรดบริการได้ที่ AIS Call Center 1175 หรือ www.ais.co.th

กสทช.สำรวจคุณภาพบริการค่ายมือถือ ปี 2556


กสทช.เผยผลสำรวจคุณภาพมือถือ ช่วงเดือน ม.ค.-ก.พ. 2556 พบการให้บริการเสียงบนเครือข่าย 2G ทุกค่ายให้บริการได้ดีใกล้เคียงกัน ส่วนเครือข่าย 3G พบว่าคุณภาพของสัญญาณไม่ค่อยดี เนื่องจากกำลังปรับปรุงเครือข่ายต่อเนื่อง
       
       นายฐากร ตัณฑสิทธิ์ เลขาธิการ กสทช.กล่าวว่า โดยที่ปัจจุบันได้มีประชาชนผู้ใช้บริการโทรศัพท์มือถือจำนวนมากได้ร้องเรียนว่า ในช่วงเปลี่ยนผ่านการให้บริการโทรศัพท์มือถือไปสู่การให้บริการบนความถี่ 2100 MHz (3G) ปรากฏว่าขณะนี้มีปัญหาเกี่ยวกับคุณภาพการให้บริการประเภทเสียง เช่น โทร.ติดยาก เครือข่ายไม่ว่าง สัญญาณไม่มี สายหลุดบ่อยครั้ง ทำให้ได้รับความเดือดร้อน ไม่ได้รับความสะดวกตามมาตรฐานการให้บริการ จึงสั่งการให้เจ้าหน้าที่ดำเนินการออกตรวจวัดคุณภาพการให้บริการในเขตกรุงเทพมหานครทุกพื้นที่ และในส่วนภูมิภาคทุกจังหวัด โดยให้ดำเนินการตรวจวัดคุณภาพการให้บริการอย่างต่อเนื่องแล้ว
       
       ผลการตรวจสอบในเขตกรุงเทพมหานครระหว่างเดือนมกราคมถึงกุมภาพันธ์ 2556 ปรากฏว่า 1. การให้บริการประเภทเสียงบนเครือข่าย 2G พบว่า การให้บริการทุกเครือข่ายมีอัตราการโทร.ออกสำเร็จและสายหลุดอยู่ในระดับใกล้เคียงกัน ระดับความแรงสัญญาณและคุณภาพอยู่ในเกณฑ์ดี ซึ่งอยู่ในเกณฑ์มาตรฐาน ดังนี้
       
       1.1 เครือข่าย AIS โทร.ออกสำเร็จ 100% สายหลุด 0% ระดับความแรงสัญญาณมากกว่า -85 dBm อยู่ที่ 94.16% สัญญาณครอบคลุมดี โดยคุณภาพรวมของคุณภาพอยู่ในเกณฑ์ปกติ
       
       1.2 เครือข่าย DTAC โทร.ออกสำเร็จ 100% สายหลุด 0% ระดับความแรงสัญญาณมากกว่า-85 dBm อยู่ที่ 96.52% สัญญาณครอบคลุมดี โดยคุณภาพรวมของคุณภาพอยู่ในเกณฑ์ปกติ
       
       1.3 เครือข่าย TRUE โทร.ออกสำเร็จ 97.42% สายหลุด 0% ระดับความแรงสัญญาณมากกว่า-85 dBm อยู่ที่ 97.64% สัญญาณครอบคลุมดี โดยคุณภาพรวมของคุณภาพอยู่ในเกณฑ์ปกติ

       
       2. การให้บริการประเภทเสียงบนเครือข่าย 3G พบว่า การให้บริการทุกเครือข่ายมีอัตราสายหลุดที่ยังไม่เกินมาตรฐาน แต่คุณภาพสัญญาณไม่ค่อยดีซึ่งน่าจะมาจากการที่มีการปรับปรุงเครือข่ายอย่างต่อเนื่อง ดังนี้
       
       2.1 เครือข่าย AIS โทร.ออกสำเร็จ 98.71% สายหลุด 0.65% ระดับความแรงสัญญาณมากกว่า -90 dBm อยู่ที่ 88.44% ค่อนข้างต่ำ คุณภาพสัญญาณอยู่ในเกณฑ์ค่อนข้างต่ำที่ 76.80% เนื่องจากข้อจำกัดทางความถี่ 3G และมีผู้ใช้บริการจำนวนมาก และการปรับปรุงเครือข่ายทำให้คุณภาพสัญญาณลดลง
       
       2.2 เครือข่าย DTAC โทร.ออกสำเร็จ 100% สายหลุด 0.65% ระดับความแรงสัญญาณมากกว่า-90 dBm อยู่ที่ 61.45% ค่อนข้างต่ำ คุณภาพสัญญาณอยู่ในเกณฑ์ค่อนข้างต่ำที่ 65.32% เนื่องจากผลการปรับปรุงเครือข่ายทำให้คุณภาพสัญญาณลดลง
       
       2.3 เครือข่าย TRUE โทร.ออกสำเร็จ 99.35% สายหลุด 1.30% ระดับความแรงสัญญาณมากกว่า-90 dBm อยู่ที่ 97.11% มีระดับความครอบคลุมสัญญาณ 3G มากที่สุด
       
       2.4 เครือข่าย TOT โทร.ออกสำเร็จ 98.06% สายหลุด 3.95% ระดับความแรงสัญญาณมากกว่า-90 dBm อยู่ที่ 55.69% การให้บริการอยู่ในเกณฑ์ต้องปรับปรุงในส่วนพื้นที่ครอบคลุมสัญญาณให้มากขึ้น

       
       สำนักงาน กสทช.เห็นว่าการให้บริการเครือข่าย 3G ในเขตกรุงเทพมหานครมีปัญหาการให้บริการเนื่องจากผู้ให้บริการอยู่ระหว่างการปรับปรุงเครือข่ายเพื่อการให้บริการ 3G ซึ่งทำให้ผู้ใช้บริการไม่ได้รับความสะดวก อันเป็นการให้บริการไม่เป็นไปตามมาตรฐานที่กำหนด สำนักงาน กสทช.จะได้แจ้งให้ผู้ให้บริการดำเนินการปรับปรุงการให้บริการเป็นไปตามมาตรฐานโดยเร็ว และหากยังไม่ดำเนินการให้เป็นไปตามมาตรฐานก็จะบังคับการตามกฎหมายเพื่อให้การให้บริการเป็นไปตามมาตรฐานที่กำหนดต่อไป

HTML5 เป็นอย่างไร


        HTML5 (เอชทีเอ็มแอล 5) เป็นมาตรฐานตัวต่อไปของ HTML ที่อยู่ในระหว่างการพัฒนา โดยมีลักษณะเหมือนมาตรฐานตัวก่อนหน้าทั้ง HTML 4.01 และ XHTML 1.1 ที่ใช้ในการจัดโครงสร้างและการแสดงผลของเนื้อหาสำหรับเวิลด์ไวด์เว็บ มาตรฐานใหม่จะมีคุณลักษณะเด่นที่สำคัญได้แก่

  • การใช้งานวิดีโอ
  • การแสดงตำแหน่งทางภูมิศาสตร์
  • การเก็บไฟล์ในลักษณะออฟไลน์
  • การแสดงกราฟิกส์
  • input types แบบใหม่ เช่น search, number, range, color, tel, url, email, date, month, week, time, datetime, datetime-local
  • โดยคุณสมบัติเด่นหลายอย่างไม่จำเป็นต้องติดตั้งซอฟต์แวร์เพิ่ม เช่น เกียรส์ แฟลช หรือ ซิลเวอร์ไลต์ เหมือนที่ผ่านมาในการใช้งาน HTML4
        HTML5 ได้มีการแนะนำ เอเลเมนต์ใหม่หลายตัวเพื่อตอบสนองการใช้งานของเว็บไซต์รุ่นใหม่ โดยเอเลเมนต์ใหม่ส่วนหนึ่งเป็นซีแมนติกทดแทนการใช้งานของบล็อกทั่วไป (
) และเอเลเมนต์อินไลน์ () ยกตัวอย่างเช่น

HTML5 มีความสามารถอะไรบ้าง

เกริ่นกันมานานก็เริ่มเข้าเรื่องกันสักทีนะครับ ส่วนประกอบของ HTML5 มีหลายอย่างมาก เราอาจไม่จำเป็นต้องใช้ทุกฟีเจอร์
ส่วนการอธิบายส่วนประกอบของ HTML5 ก็ขึ้นกับว่าเราจะจัดหมวดหมู่มันอย่างไร มีหลายตำราให้เลือก ในบทความนี้ผมขอเลือกตาม W3C ที่อุตส่าห์ออกแบบโลโก้-ไอคอนของ HTML5 เพื่อแสดงสัญลักษณ์ของเทคโนโลยีเว็บแขนงต่างๆ เพื่อให้เข้าใจง่ายและแยกหมวดหมู่ตามกัน
W3C แบ่งเทคโนโลยีในชุด HTML5 ออกเป็น 8 หมวด พร้อมไอคอนประกอบทุกหมวด ขอใช้ชื่อตามนั้น และเรียงลำดับกันไปเช่นเดียวกับเว็บ W3C HTML5 Logo

1. Semantics

HTML5 Semantic
เทคโนโลยีกลุ่ม Semantics คือตัว syntax ของภาษา HTML5 ที่แน่นอนว่าเปลี่ยนไปจาก HTML4 ซึ่งมีแท็กใหม่ๆ และคุณสมบัติ (atrribute) ใหม่ๆ เพิ่มขึ้นอีกพอสมควร
โดยโครงสร้างของภาษาแล้ว HTML5 ยังเหมือนกับ HTML ที่เราคุ้นเคย แต่เพิ่มแท็กใหม่ ตัดแท็กเก่า และเปลี่ยนวิธีใช้แท็กเก่าบางตัวออกไป รายละเอียดอ่านได้จาก HTML5 differences from HTML4 ของ W3C
ยกมาเป็นตัวอย่างพอให้เห็นภาพ
แท็กใหม่
แท็กกลุ่มนี้จะช่วยบ่งบอกความหมายของวัตถุในเว็บเพจได้ดีขึ้น เช่น จากเดิมเราใช้
ตัวอย่าง
  • section - บ่งบอกเซคชันของเนื้อหา
  • article - กำหนดขอบเขตของตัวเนื้อบทความ
  • aside - กำหนดขอบเขตของเนื้อหาเสริม (ล้อมกรอบ)
  • header - กำหนดขอบเขตของส่วนเริ่มต้นหรือส่วนหัวของเว็บไซต์ (อย่าสับสนกับ )
  • footer - กำหนดขอบเขตของส่วนท้ายของเว็บไซต์ พวกข้อความกำหนดสิทธิ์ต่างๆ
  • nav - บอกว่ามันเป็นส่วนนำทางของเว็บไซต์
  • figure - บอกว่าเป็นภาพหรือวิดีโอประกอบเนื้อหา (ข้างในสามารถซ้อนแท็ก img หรือ video พร้อมคำอธิบายได้อีกชั้น)
นอกจากนี้ส่วนของฟิลด์ยังมี attribute ใหม่อีกกลุ่มสำหรับ input type ที่เจาะจงกว่าเดิม เช่น จากเดิมเราใช้ ก็เปลี่ยนเป็น แทน
  • tel - เบอร์โทร
  • search - ช่องค้นหา
  • url
  • email
  • datetime
  • date
  • time
  • color
แท็กที่ถูกตัดออก
ส่วนใหญ่เป็นแท็กเก่าที่ทำหน้าที่กำหนดฟอร์แมตการแสดงผล ซึ่งย้ายไปใช้ CSS แทนหมดแล้ว นอกจากนี้ยังเอาแท็กที่เกี่ยวกับเฟรมทั้งหมดออกไป เพราะล้าสมัยแล้ว และแท็กที่ไม่ค่อยมีคนใช้อย่าง acronym (ใช้ abbr แทน) หรือ applet (ใช้ object แทน)
  • big
  • center
  • font
  • strike
  • frame
  • frameset
  • noframes
  • acronym
  • object
แท็กที่ถูกเปลี่ยนวิธีใช้
แท็กเก่าแต่เปลี่ยนความหมาย-วิธีใช้งาน
  • i - ไม่ได้หมายถึงการทำตัวเอียง (เพราะอยู่ใน CSS) แต่หมายถึงโทนเสียงของตัวข้อความที่เปลี่ยนแปลง
  • small - หมายถึงข้อความหรือคอมเมนต์ประกอบเนื้อหาหลัก ที่ควรจะแสดงด้วยตัวเล็กกว่าปกติ
  • strong - หมายถึงข้อความสำคัญ ไม่ใช่การเน้นด้วยตัวเข้ม
  • u - เป็นการบ่งชี้ว่าข้อความจุดนี้มีการแสดงผลแบบพิเศษ เช่น จงใจเขียนให้ผิดเพื่อเป็นตัวอย่าง หรือ ชื่อในภาษาจีน เป็นต้น
นอกจากแท็กหลักที่เปลี่ยนแปลงแล้ว เทคโนโลยีในหมวดนี้ยังรวมไปถึงเทคโนโลยีเว็บหลายๆ ชนิดที่มีอยู่แล้วในปัจจุบัน เช่น RDFa, Microdata, Microformats ที่ช่วยกำหนดความหมายให้กับเนื้อหา เพื่อนำไปประมวลผลต่อได้ง่ายขึ้นครับ
จะเห็นว่าในภาพรวมแล้ว HTML5 หมวด semantics จะช่วยให้ตัวโครงสร้างของเว็บเพจมีความหมาย (ในเชิงของ semantic web) มากขึ้น
รายละเอียดเพิ่มเติมอ่านได้จาก HTML5 Semantics - Smashing Magazine

2. Offline & Storage

HTML5 Offline & Storage
เทคโนโลยีในหมวดนี้ก็ตรงตามชื่อหมวด นั่นคือช่วยให้เว็บสามารถทำงานแบบออฟไลน์ได้ และเก็บข้อมูลไว้ใช้งานบนเครื่องของผู้ชมเว็บได้
ผมเคยเขียนเนื้อหาในหมวดนี้ไปแล้วครั้งหนึ่งในบทความ รู้จักกับวิธีการเก็บข้อมูล Local Storage ของ HTML5 ก็ขอเอามารียูสเพราะเนื้อหาเหมือนกันทุกประการ
Web Storage
เทคโนโลยีแรกคือ Web Storage ซึ่งเป็นการเก็บข้อมูลแบบง่ายๆ ในรูป key-value (ภาษาโปรแกรมบางภาษาเรียก dictionary) ซึ่งแยกย่อยได้อีก 2 อย่าง คือ
  • Session storage เก็บข้อมูลเฉพาะเซสชันการท่องเว็บนั้นๆ ปิดแท็บเมื่อไรข้อมูลก็หายไป ใช้ออบเจคต์ชนิด sessionStorage อันนี้ไม่ซับซ้อน
  • Local storage เก็บข้อมูลระยะยาว (persistence) โดยใช้ออบเจคต์ชื่อ localStorage ซึ่งจะซับซ้อนขึ้น เพราะเราสามารถเปิดเว็บเพจเดียวกันใน 2 แท็บหรือมากกว่า ซึ่งมันจะแชร์ข้อมูลก้อนเดียวกัน
ฟีเจอร์ Web Storage จะคล้ายกับ Google Gears เมื่อ 3-4 ปีก่อนหน้านี้ เพียงแต่ Web Storage รวมมากับ HTML5 เลย ไม่ต้องลงปลั๊กอินเพิ่มเองแบบ Gears
ฐานข้อมูล
การเก็บข้อมูลง่ายๆ แบบ key-value อาจไม่เพียงพอต่อความต้องการของนักพัฒนา HTML5 จึงเพิ่มวิธีการเก็บข้อมูลที่ซับซ้อนขึ้นมา ซึ่งก็คือฐานข้อมูลแบบที่เราคุ้นเคยนั่นเอง
ปัญหาของฐานข้อมูลใน HTML5 ก็คือมาตรฐานที่แยกเป็นสองทาง
  • Web SQL Database มันคือการนำ SQL มายัดใส่เบราว์เซอร์ (ส่วนมากนิยม SQLite) ตอนนี้ใช้ได้แค่เบราว์เซอร์ตระกูล WebKit และ Opera แนวทางนี้มีข้อเสียตรงความซับซ้อนของ SQL และเริ่มหมดความนิยมแล้ว (ทั้งที่มาตรฐานยังไม่เสร็จ)
  • IndexedDB แนวทางใหม่ที่สร้างขึ้นในภายหลัง ไม่ใช้ SQL แต่เก็บข้อมูลแบบ key-value เหมือนกับ Web Storage เพียงแต่เพิ่มการทำดัชนี (index) ช่วยให้หาข้อมูลได้รวดเร็วขึ้น และเพิ่มเรื่อง transactions เพื่อความปลอดภัยของข้อมูลมาด้วย
Blognone เคยลงเรื่อง Web SQL vs IndexedDB ไปครั้งหนึ่งแล้ว ย้อนอ่านรายละเอียดได้ในตอนเก่าครับ
File API
เราพูดถึงการเก็บข้อมูลแบบง่ายๆ และการเก็บลงฐานข้อมูลไปแล้ว ลำดับถัดไปคือการจัดการกับ "ไฟล์" นั่นเอง HTML5 มี API มาให้เราสองตัวคือ FileReader กับ FileWriter หน้าที่ก็ตามชื่อครับ
ปัญหาของ FileReader ที่จะต้องสนใจคือความแตกต่างระหว่างไฟล์ที่อยู่ในเครื่อง กับไฟล์ที่อยู่บนเว็บ ซึ่งกำลังพัฒนากันอยู่
ส่วน FileWriter มีข้อกังวลเรื่องความปลอดภัย เพราะต่อจากนี้ไปเว็บเพจจะสามารถเขียนไฟล์ในเครื่องเราได้ มาตรการแก้ไขจุดอ่อนนี้ก็ต้องพัฒนากันต่อไป
แคชสำหรับเวลาออฟไลน์ (App Cache)
เมื่อเว็บแอพพลิเคชันไม่ได้ต่อเน็ต ก็ต้องมีวิธีจัดการกับข้อมูลที่เกิดขึ้นระหว่างนั้น ซึ่งเป็นหน้าที่ของ AppCaching API ที่บอกว่าเว็บแอพพลิเคชันจะถูกเก็บไว้บนเครื่องนานแค่ไหน ทำให้เว็บแอพมีลักษณะคล้ายๆ กับแอพที่ติดตั้งแบบปกติมากขึ้น

3. Device Access

HTML5 Device Access
เทคโนโลยีหมวดที่สามจะเน้นความเชื่อมโยงกับฟีเจอร์ของฮาร์ดแวร์ (โดยเฉพาะฮาร์ดแวร์แบบพกพา) เช่น
  • Geolocation API เพื่อขอข้อมูลเชิงพิกัดของอุปกรณ์
  • เข้าถึงไมโครโฟนและกล้องถ่ายภาพของอุปกรณ์
  • เข้าถึงข้อมูลภายในตัวอุปกรณ์ เช่น สมุดที่อยู่ หรือข้อมูลการเอียงเครื่อง (tilt orientation)
ฟีเจอร์ในกลุ่มนี้จะไม่ได้อยู่ในรูปของแท็ก HTML โดยตรง แต่จะเป็น API ที่ฝั่งเบราว์เซอร์ต้องเตรียมไว้ให้ แล้วเว็บเพจค่อยเรียกใช้ผ่านจาวาสคริปต์อีกทีหนึ่ง
ในการใช้งานจริงๆ เราคงใช้ผ่านเฟรมเวิร์คจาวาสคริปต์ที่เตรียมเรื่องพวกนี้ไว้ให้แล้วมากกว่า เช่น jQuery Mobile, Sencha Touch หรือ SproutCore เป็นต้น

4. Connectivity

HTML5 Connectivity
เทคโนโลยีกลุ่มที่สี่เน้นการเชื่อมต่อกับเครือข่ายที่ดีขึ้น มี 2 อย่างที่สำคัญ
WebSockets
WebSockets เป็น API ที่ออกมาเพื่อต่อยอดแนวทางของ AJAX ในอดีต อธิบายง่ายๆ มันคือการ push ข้อมูลจากเซิร์ฟเวอร์มายังไคลเอนต์ (แบบเดียวกับ push mail ที่เรารู้จักกัน)
ในแง่เทคนิค การส่งข้อมูลแบบ HTTP แบบดั้งเดิมจะเปิดการเชื่อมต่อกับเซิร์ฟเวอร์เพื่อส่งข้อมูล แล้วตัดการเชื่อมต่อเมื่อใช้เสร็จ ดังนั้นการขอข้อมูลจากเซิร์ฟเวอร์เป็นระยะจึงทำได้ยาก เพราะต้องดึงข้อมูลจากเซิร์ฟเวอร์ (polling) เป็นระยะ ซึ่งเปลืองโหลดของเซิร์ฟเวอร์ไม่น้อย โดยเฉพาะกรณีที่ต้องเปิดการเชื่อมต่อ HTTP ค้างเอาไว้ (Long polling หรือ COMET)
WebSockets เกิดมาเพื่อแก้ปัญหานี้ โดยสร้างการเชื่อมต่อแบบ (เกือบ) ถาวรระหว่างเซิร์ฟเวอร์กับไคลเอนต์ เพื่อให้สองฝั่งส่งข้อมูลกันได้ตลอด ทั้งหมดรันอยู่บนโพรโตคอล TCP อีกชั้นหนึ่ง และไม่ได้วิ่งบนโพรโตคอล HTTP เพื่อประหยัดโหลดของ HTTP ครับ
ในการใช้งานเราจะเรียก WebSockets ด้วย
ws://
หรือถ้าต้องการการเชื่อมต่อแบบปลอดภัย
wss://
ข้อดีคือเบากว่า HTTP แต่ข้อเสียคือทั้งสองฝั่ง (โดยเฉพาะเซิร์ฟเวอร์) ต้องรองรับ WebSockets ด้วย จึงอาจจะใช้ไม่ได้ในทุกกรณี
ปัจจุบัน WebSockets เป็นมาตรฐานที่รับรองโดย IETF และกำลังผ่านกระบวนการเข้าเป็นมาตรฐานของ W3C
ข้อมูลเพิ่มเติม: WikipediaW3Cสอนการใช้งานที่ HTML5 Rocks
Server-sent Events (SSE)
WebSockets เป็นการส่งข้อมูลแบบสองทาง แต่ถ้าเราต้องการส่งข้อมูลทางเดียวจากเซิร์ฟเวอร์มายังไคลเอนต์ (เช่น notification ของ Facebook/Twitter) เราสามารถใช้เทคโนโลยีอีกตัวชื่อ Server-sent Events (SSE) แทนได้
SSE ถูกออกแบบมาเพื่อแก้ปัญหา polling ของ AJAX เช่นเดียวกับ WebSockets หลักการทำงานของ SSE คือเซิร์ฟเวอร์สามารถส่งข้อมูลไปยังไคลเอนต์ได้โดยตรง โดยที่ไคลเอนต์ไม่ต้องร้องขอ (GET Request) ก่อน
ความต่างของ SSE กับ WebSockets นอกจากจะเป็นเรื่องการส่งข้อมูลแบบทางเดียว/สองทางแล้ว ยังต่างกันที่ตัวโพรโตคอล เพราะ SSE จะรันอยู่บน HTTP ตามปกติ ทำให้สามารถใช้กับเซิร์ฟเวอร์ในปัจจุบันได้ทันที
ในการใช้งานจริง เราอาจเลือกได้ระหว่าง
  • การส่งข้อมูลด้วย WebSockets ทั้งสองทาง (บน WebSockets)
  • การรับข้อมูลจากเซิร์ฟเวอร์ด้วย SSE แล้วส่งกลับด้วย XMLHttpRequest (บน HTTP)
ข้อมูลเพิ่มเติม: WikipediaW3Cสอนการใช้งานที่ HTML5 Rocks

5. Multimedia

HTML5 Multimedia
เรื่องนี้เราพูดกันมาเยอะมาก และเริ่มใช้งานจริงกันแล้ว คงไม่ต้องลงลึกในบทความตอนนี้
อธิบายแบบสั้นๆ คือเดิมที่ HTML4 ขึ้นไปไม่สามารถแสดงผลเสียง-วิดีโอได้โดยตรง ต้องใช้วิธีฝัง แล้วติดตั้งปลั๊กอินเพื่อช่วยเล่นมัลติมีเดีย ซึ่งทำงานได้ตามนั้นแต่ก็มีปัญหายิบย่อยมากมายตามมาเช่นกัน
แต่พอเป็น HTML5 ได้กำหนดให้ HTML ต้องเล่นไฟล์เสียงและวิดีโอได้ในตัว จึงเป็นที่มาของแท็กใหม่
อย่างไรก็ตาม เรื่องมัลติมีเดียของ HTML5 กลับมีปัญหาประการใหม่เพิ่มเข้ามา นั่นคือ "สงคราม codec" ระหว่างเบราว์เซอร์สองค่ายใหญ่ ดังที่เราเห็นจากข่าว WebM+Ogg (สนับสนุนโดย Chrome/Firefox/Opera) vs H.264 (สนับสนุนโดย IE/Safari) นั่นเอง
(ดูข่าวหมวด codec ประกอบ)

6. 3D, Graphics & Effects

HTML5 - 3D, Graphics & Effects
หมวดที่หกเกี่ยวกับเรื่องกราฟิก แบ่งเป็น 4 ประการย่อยๆ
SVG (Scalable Vector Graphics)
เป็นภาษาตระกูล XML ที่ออกแบบมาสำหรับการวาดกราฟิกแบบเวกเตอร์ (พอเทียบเคียงได้กับ SWF ของ Adobe หรือ XAML ของไมโครซอฟท์) เทคโนโลยีนี้มีมานานพอสมควรแล้ว คงไม่ต้องลงรายละเอียดนะครับ
Canvas
แท็ก ถือเป็นของใหม่ที่สำคัญใน HTML5 เพราะมันช่วยเปลี่ยนลูกเล่นการแสดงผลของเว็บเพจไปอีกมาก
เดิมที HTML เป็นการวาดออบเจคต์ (เช่น ข้อความ รูป กล่องข้อความ ฯลฯ) ขึ้นมาเป็นหน้าจอ และสามารถตกแต่งออบเจคต์แต่ละตัวได้ในระดับหนึ่งผ่าน CSS (เช่น ใส่สีพื้น วาดเส้นขอบ ทำมุมโค้ง) แต่ในภาพรวม HTML ยังไม่สามารถแสดงกราฟิกแบบราสเตอร์ (raster) ได้ด้วยตัวมันเอง ต้องทำภาพมาแปะอีกทอดหนึ่ง
แท็ก canvas ที่ถูกเพิ่มเข้ามาช่วยให้เราสามารถ "วาดภาพ" ลงบนเว็บเพจได้โดยตรง (กำหนด canvas ในเพจ แต่สั่งวาดด้วยจาวาสคริปต์นะครับ) โดยขอบเขตของภาพที่วาดก็จะอยู่ในออบเจคต์ชื่อ canvas นั่นเอง
สิ่งที่เราสามารถใส่ลงไปในกรอบ canvas ได้แก่
  • รูปทรงพื้นฐาน สี่เหลี่ยม วงกลม เส้นตรง เส้นโค้ง พาธ (รูปทรงมีไม่เยอะเท่ากับ SVG)
  • ไฟล์รูปภาพ จะซ้อนกันกี่ชั้นก็ได้ตามสะดวก
  • แอนิเมชัน กำหนดให้วัตถุต่างๆ เคลื่อนไหว
  • แปลงสภาพวัตถุ (transformation) จะกำหนดให้หมุน เอียง บิดเบี้ยว ได้เหมือนกัน
  • ประกอบ-ซ้อนภาพวัตถุ (composition) เช่น นำสี่เหลี่ยมกับสามเหลี่ยมมา intersect เพื่อสร้างวัตถุแบบใหม่
ความต่างที่สำคัญของ SVG กับ canvas คือ
  • SVG ได้ผลลัพธ์เป็นเวกเตอร์ ส่วน canvas ได้ผลลัพธ์เป็นราสเตอร์ (ภายในกรอบวัตถุ canvas)
  • SVG สั่งวาดด้วยแท็กแบบ markup (ซับเซ็ตของ XML) ส่วน canvas สั่งวาดด้วยจาวาสคริปต์
รายละเอียดดูได้จาก WikipediaCanvas tutorial - Mozilla Developer NetworkW3Schools HTML5 Canvas
WebGL
โดยทั่วไปแล้ว การวาดภาพ-แสดงผลใน canvas เรามักใช้กับภาพ 2 มิติเป็นหลัก แต่ถ้าต้องการวาดภาพ 3 มิติ เราจะใช้ส่วนขยายของ canvas ที่เรียกว่า WebGL (Web-based Graphics Library)
WebGL เป็นไลบรารีกราฟิกที่พัฒนาอยู่บน OpenGL ES 2.0 ซึ่งเป็นไลบรารีกราฟิก 3 มิติมาตรฐานของวงการไอที แต่ดัดแปลงให้เรนเดอร์ภาพออกมาบนออบเจคต์ canvas ภายในเบราว์เซอร์ และสั่งงานได้ผ่านจาวาสคริปต์ ตอนเรนเดอร์ก็ทำผ่าน GPU ตามปกติ (ดูข่าวเก่าหมวด WebGL ประกอบ)
ขั้นตอนการวาดภาพ 3 มิติบน WebGL แทบไม่ต่างอะไรกับ canvas ปกติ เพราะเราต้องกำหนดบริเวณที่เป็น canvas ในเว็บเพจขึ้นมาก่อน เพียงแต่ตอนวาดในจาวาสคริปต์ เราจะสร้างออบเจคต์ชนิด WebGL ขึ้นมาแทน canvas ปกติ
ส่วนหลักการวาดวัตถุ 3 มิติคงไม่ต่างอะไรกับ OpenGL ครับ ใครเคยเขียนโปรแกรมกับ OpenGL คงใช้ WebGL ได้แทบจะทันที
สถานะตอนนี้ของ WebGL คือเบราว์เซอร์ทุกค่ายสนับสนุนแล้ว ยังเหลือฝั่งไมโครซอฟท์ที่ยังไม่ยอมสนับสนุน (เหตุผลหนึ่งเพราะอยู่บน OpenGL ไม่ใช่ DirectX)
ข้อมูลเพิ่มเติม Getting started with WebGL - Mozilla Developer Network
CSS3 3D
CSS3 นั้นต่างไปจาก CSS2 มาก เพราะมันไม่ใช่มาตรฐานเดี่ยวๆ แต่ประกอบด้วยมาตรฐานย่อยๆ จำนวน "หลายสิบ" ชนิด ซึ่งหนึ่งในนั้นคือ CSS3 3D Transforms ที่สามารถแปลงสภาพวัตถุบนเว็บเพจในแบบต่างๆ เช่น ขยายขนาด หมุนเอียงตามแกน xyz
ดูตัวอย่างได้ที่ WebKit (ต้องใช้ WebKit เข้าด้วยนะครับ) หรือ The Web Rocks (Gecko/WebKit)

7. Performance & Integration

HTML5 - Performance & Integration
หมวดที่เจ็ดเป็นการปรับปรุงประสิทธิภาพการทำงานของเว็บแอพ แบ่งออกเป็น 2 ส่วนใหญ่ๆ
Web Worker
อธิบายง่ายๆ Web Worker คือจาวาสคริปต์ที่ทำงานแบบมัลติเธร็ด เพื่อให้สคริปต์สามารถทำงานเบื้องหลังได้หลายๆ งานพร้อมกัน
การใช้งานเราสามารถสั่งได้ที่ตัวโค้ดจาวาสคริปต์โดยตรง โดยสร้างตัวแปรชนิด worker ขึ้นมาบอกเบราว์เซอร์ว่า โค้ดจาวาสคริปต์ส่วนนี้ ขอให้ทำงานแบบ Web Worker เพื่อประสิทธิภาพที่ดีขึ้น
รายละเอียดอ่านเพิ่มที่ WikipediaW3CMozillaHTML5 Rocks
XMLHttpRequest Level 2
ผมถือว่าผู้อ่าน Blognone คงรู้จัก XMLHttpRequest (XHR) ที่เป็นเทคโนโลยีพื้นฐานของ AJAX กันพอสมควรแล้ว อธิบายสั้นๆ สำหรับคนไม่รู้ XHR เป็นวิธีการโหลดข้อมูลเฉพาะบางส่วนของเว็บเพจ (ไม่ใช่ทั้งหน้า) ช่วยให้เราสามารถปรับปรุงข้อมูลบางส่วนของเพจได้ โดยไม่ต้องโหลดใหม่ทั้งหน้า ผลคือเว็บเพจที่อินเตอร์แอคทีฟมากขึ้นนั่นเอง
XMLHttpRequest Level 2 เป็นความพยายามของ W3C ที่จะพัฒนา XMLHttpRequest รุ่นแรกให้มีประสิทธิภาพ-ความสามารถมากขึ้น แบ่งได้ง่ายๆ 3 อย่าง ได้แก่
  • การแยกแยะเหตุการณ์ (event) แต่ละชนิดออกจากกัน ช่วยให้โปรแกรมเมอร์ติดตามและควบคุมการส่งข้อมูลได้ง่ายขึ้น
  • รองรับการอัพโหลดไฟล์จากฝั่งไคลเอนต์ (เดิมที่ไม่รองรับการส่งไฟล์) ซึ่งจะใช้ควบคู่กับ File API ในหัวข้อก่อน
  • ส่งข้อมูลแบบข้ามหลายโดเมน ซึ่งรุ่นก่อนเรียกได้เฉพาะโดเมนเดียวกัน
รายละเอียดอ่านได้จาก AJAX 2: What is coming with XMLHttpRequest Level 2? - JS Classes blog

8. CSS3

HTML5 - CSS3
CSS3 มีความสามารถเพิ่มขึ้นจาก CSS2 ในปัจจุบันมาก เพิ่มฟีเจอร์ของแวดวงสิ่งพิมพ์ที่เกี่ยวข้องกับการจัดหน้า การควบคุมการไหลของข้อความ และฟอนต์เข้ามาอีกมาก แต่ก็ยังมีเรื่องอื่นๆ เช่น 3D, เสียงพูด, แอนิเมชัน ฯลฯ (ดูข่าวเก่าเรื่อง CSS3 Regions ประกอบ)
เทคโนโลยีอีกตัวที่เกี่ยวข้องกันคือ Web Open Font Format (WOFF) ที่ช่วยให้เราฝังฟอนต์เข้ามาในเว็บเพจได้ด้วย
รายการของชุดเทคโนโลยีใน CSS3 ทั้งหมดดูได้จาก CSS3.info

สถานะการรองรับ HTML5 ของเบราว์เซอร์ต่างๆ

เทคโนโลยีทั้ง 8 หมวดเป็นตัวแทนของเทคโนโลยีเว็บรุ่นใหม่ อย่างไรก็ตาม เทคโนโลยีเยอะขนาดนี้ซับซ้อนมาก และต้องใช้เวลาอีกนานกว่าจะทำเสร็จ อย่างไรก็ตาม เบราว์เซอร์ในปัจจุบันก็เริ่มรองรับมาตรฐาน "ฉบับร่าง" ในบางประเด็นแล้ว และเว็บดังๆ บางแห่งก็เริ่มใช้ฟีเจอร์ HTML5 กับงานจริงแล้วเช่นกัน
เพื่อให้ติดตามได้ง่ายว่าเบราว์เซอร์ตัวไหนรองรับฟีเจอร์อะไรบ้าง ก็มีเว็บไซต์หลายแห่งทำตาราง-แผนภาพเปรียบเทียบให้ดูง่ายๆ เช่น
  • Wikipedia ข้อมูลละเอียดพร้อมลิงก์อ้างอิง
  • Can I Use ทำตารางเปรียบเทียบว่าคุณสมบัติใดใช้ได้บนเบราว์เซอร์ยี่ห้อไหน รุ่นไหนได้บ้าง
  • FindmebyIP.com ทำตารางเปรียบเทียบแบบดูง่ายๆ ภายในเว็บเพจหน้าเดียว
  • HTML5Test.com ทดสอบกับเบราว์เซอร์ที่เราใช้อยู่ในขณะนั้น และได้ผลลัพธ์ออกมาเป็นคะแนนรวม
  • HTML5 Readiness ทำเป็นแผนภาพ infographic แบบครึ่งวงกลม แยกตามมาตรฐานแต่ละส่วน (ใช้ข้อมูลจาก Can I Use อีกทีหนึ่ง)

ที่มา 


วันพฤหัสบดีที่ 21 มีนาคม พ.ศ. 2556

มารู้จักบริการ Google Keep กัน


บริการ Google Keep ที่น่าจะเป็นส่วนเสริมของบริการ Google Drive สำหรับให้บริการจดโน้ตหลุดออกมายังผู้ใช้ส่วนหนึ่ง พบว่าความสามารถคล้ายกับ Google Notebook ที่เคยปิดบริการไปก่อนหน้า โดยสามารถเพิ่มรูปภาพและ "รายการ" คล้ายรูปแบบ To-Do ในโน้ตแต่ละอันได้
บริการนี้หลุดออกมาทั้งทาง URL https://drive.google.com/keep ที่ตอนนี้เป็น 404 อยู่ และภาพหน้าจอของ Google Instant Preview เองก็มีลิงก์ไปยังบริการนี้

Google ได้เปิดตัวบริการจดโน้ตออนไลน์ Google Keep เป็นที่เรียบร้อย โดยออกมาในรูปของแอพลิเคชั่นบน Android เวอร์ชัน 4 (รองรับตั้งแต่ ICS ขึ้นไปเท่านั้น)