วันพฤหัสบดีที่ 7 กรกฎาคม พ.ศ. 2559

การเหยียดสีผิว

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

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

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

ผลการค้นหารูปภาพสำหรับ เหยียดสีผิวไทย

วันพุธที่ 1 มิถุนายน พ.ศ. 2559

องค์ประกอบสารสนเทศ





                        องค์ประกอบของระบบสารสนเทศ


มี 5 องค์ประกอบ ได้แก่ ฮาร์ดแวร์ ซอฟต์แวร์ ข้อมูล บุคลากร และขั้นตอนการปฏิบัติงาน

       ฮาร์ดแวร์เป็นองค์ประกอบสำคัญ หมายถึง เครื่องคอมพิวเตอร์และอุปกรณ์รอบข้าง

       ซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ เป็นชุดคำสั่งที่สั่งให้ฮาร์ดแวร์ทำงาน

       ข้อมูล เป็นส่วนที่จะนำไปจัดเก็บในเครื่องคอมพิวเตอร์

       บุคลากรเป็นผู้ที่มีส่วนเกี่ยวข้องกับงานคอมพิวเตอร์

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


1. ฮาร์ดแวร์





      ฮาร์ดแวร์เป็นองค์ประกอบสำคัญของระบบสารสนเทศ หมายถึง เครื่องคอมพิวเตอร์อุปกรณ์รอบข้าง รวมทั้งอุปกรณ์สื่อสารสำหรับเชื่อมโยงคอมพิวเตอร์เข้าเป็นเครือข่าย เช่น เครื่องพิมพ์ เครื่องกราดตรวจเมื่อพิจารณาเครื่องคอมพิวเตอร์ สามารถแบ่งเป็น 3 หน่วย คือ
       หน่วยรับข้อมูล (input unit) ได้แก่ แผงแป้นอักขระ เมาส์
       หน่วยประมวลผลกลาง (Central Processing Unit : CPU)
       หน่วยแสดงผล (output unit) ได้แก่ จอภาพ เครื่องพิมพ์

      การทำงานของเครื่องคอมพิวเตอร์ เมื่อเปรียบเทียบกับมนุษย์ จะพบว่าคล้ายกัน กล่าวคือ เมื่อมนุษย์ได้รับข้อมูลจากประสาทสัมผัส ก็จะส่งให้สมองในการคิด แล้วสั่งให้มีการโต้ตอบ

2 . ซอฟต์แวร์

      ซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์เป็นองค์ประกอบที่สำคัญประการที่สอง ซึ่งก็คือลำดับขั้นตอนของคำสั่งที่จะสั่งงานให้ฮาร์ดแวร์ทำงาน เพื่อประมวลผลข้อมูลให้ได้ผลลัพธ์ตามความต้องการของการใช้งาน ในปัจจุบันมีซอฟต์แวร์ระบบปฏิบัติงาน ซอฟต์แวร์ควบคุมระบบงาน ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ประยุกต์สำหรับงานต่างๆ ลักษณะการใช้งานของซอฟต์แวร์ก่อนหน้านี้ ผู้ใช้จะต้องติดต่อใช้งานโดยใช้ข้อความเป็นหลัก แต่ในปัจจุบันซอฟต์แวร์มีลักษณะการใช้งานที่ง่ายขึ้น โดยมีรูปแบบการติดต่อที่สื่อความหมายให้เข้าใจง่าย เช่น มีส่วนประสานกราฟิกกับผู้ใช้ที่เรียกว่า กุย (Graphical User Interface : GUI) ส่วนซอฟต์แวร์สำเร็จที่มีใช้ในท้องตลาดทำให้การใช้งานคอมพิวเตอร์ในระดับบุคคลเป็นไปอย่างกว้างขวาง และเริ่มมีลักษณะส่งเสริมการทำงานของกลุ่มมากขึ้น ส่วนงานในระดับองค์กรส่วนใหญ่มักจะมีการพัฒนาระบบตามความต้องการโดยการว่าจ้าง หรือโดยนักคอมพิวเตอร์ที่อยู่ในฝ่ายคอมพิวเตอร์ขององค์กร เป็นต้น

      ซอฟต์แวร์ คือ ชุดคำสั่งที่สั่งงานคอมพิวเตอร์ แบ่งออกได้หลายประเภท เช่น


3. ข้อมูล

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


4. บุคลากร

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

5. ขั้นตอนการปฏิบัติงาน

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





วันพุธที่ 25 พฤษภาคม พ.ศ. 2559

Html




โครงสร้างคำสั่งของ HTML

การใช้งาน

         ในบทที่แล้วเราได้ลองเขียน HTML กันดูบ้างแล้ว ในบทนี้เราจะลงรายละเอียดคำสั่งของ HTML โดยการใช้งานหลักจะมีดังนี้

1. คำสั่ง หรือ Tag

        Tag เป็นลักษณะเฉพาะของภาษา HTML ใช้ในการระบุรูปแบบคำสั่ง หรือการลงรหัสคำสั่ง HTML ภายในเครื่องหมาย less-than bracket ( < ) และ greater-than bracket ( > ) โดยที่ Tag HTML แบ่งได้ 2 ลักษณะ คือ

   Tag เดี่ยว เป็น Tag ที่ไม่ต้องมีการปิดรหัส เช่น <HR>, <BR> เป็นต้น

   Tag เปิด/ปิด รูปแบบของ tag นี้จะเป็นแบบ <tag> .... </tag> โดยที่

      <tag> เราเรียกว่า tag เปิด

      </tag> เราเรียกว่า tag ปิด

2. Attributes

         Attributes เป็นตัวบอกรายละเอียดของ tag นั้นเช่น <span align = 'left'> ... </span> เป็นการบอกว่าให้อักษรที่อยู่ใน tag นี้ชิดซ้าย

3. not case sensitive

        หมายถึง คุณจะพิมพ์ <BR> หรือ <br> ก็ได้ ผลลัพธ์ออกมาไม่ต่างกัน

โครงสร้างของหลักของ HTML

        โครงสร้างหลักของ HTML ก็จะเริ่มด้วย <html> และจบด้วย </html> เสมอ ซึ่งชุดคำสั่งที่ใช้จะแยกเป็น 2 ส่วนคือ

1. head คำสั่งที่อยู่ในส่วนนี้จะใช้บรรยายรายละเอียดเกี่ยวกับ web page ซึ่งจะไม่แสดงผลที่ web page โดยตรง

2. body คำสั่งที่อยู่ในส่วนนี้จะใช้ในการจัดรูปแบบตัวอักษร จัดหน้า ใส่รูปภาพ ซึ่งตัวอักษรในส่วนนี้จะแสดงที่ web brower โดยตรง

      <html>

      <head>

คำสั่งในหัวข้อของ head

      </head>

      <body>

คำสั่งในหัวข้อของ body ในส่วนนี้จะเป็นส่วนที่ใช้แสดงผล

      </body>

      </html>

1. คำสั่งในหัวข้อของ head (Head Section)

        Head Section เป็นส่วนที่ใช้อธิบายเกี่ยวกับข้อมูลเฉพาะของหน้าเว็บนั้นๆ เช่น ชื่อเรื่องของหน้าเว็บ (Title), ชื่อผู้จัดทำเว็บ (Author), คีย์เวิร์ดสำหรับการค้นหา (Keyword) โดยมี Tag สำคัญ คือ

      <HEAD>

      <TITLE>ข้อความอธิบายชื่อเรื่องของเว็บ</TITLE>

      <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">

      <META NAME="Author" CONTENT="ชื่อผู้พัฒนาเว็บ">

      <META NAME="KeyWords" CONTENT="ข้อความ 1, ข้อความ 2 ">

      </HEAD>


TITLE

         ข้อความที่ใช้เป็น TITLE ไม่ควรพิมพ์เกิน 64 ตัวอักษร, ไม่ต้องใส่ลักษณะพิเศษ เช่น ตัวหนา, เอียง หรือสี โดยข้อความในส่วนนี้จะแสดงผลใน title bar ของ web browser

META

        Tag META จะไม่ปรากฏผลบนเบราเซอร์ แต่จะเป็นส่วนสำคัญ ในการจัดอันดับบัญชีเว็บ สำหรับผู้ให้บริการสืบค้นเว็บ (Search Engine เช่น google , yahoo)

        charset=TIS-620 ใช้บอกว่าใช้ชุดตัวอักษรแบบใดในการแสดงผล ภาษาไทยเราใช้ charset=TIS-620 หรืออาจเป็น charset=windows-874 ก็ได้ ตอนนี้แนะนำให้ใช้เป็น charset=utf-8

        keyword ด้านบนจะเห็นว่าเราสามารถใช่ keywords มากกว่า 1 คำได้โดยใช้เครื่องหมาย (,) ในการคั่นระหว่างคำ

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

2. คำสั่งในส่วนของ (Body Section)

         Body Section เป็นส่วนเนื้อหาหลักของหน้าเว็บ ซึ่งการแสดงผลจะต้องใช้ Tag จำนวนมาก ขึ้นอยู่กับลักษณะของข้อมูล เช่น ข้อความ, รูปภาพ, เสียง, วีดิโอ หรือไฟล์ต่างๆ

         ส่วนเนื้อหาเอกสารเว็บ เป็นส่วนการทำงานหลักของหน้าเว็บ ประกอบด้วย Tag มากมายตามลักษณะของข้อมูล ที่ต้องการนำเสนอ การป้อนคำสั่งในส่วนนี้ ไม่มีข้อจำกัดสามารถป้อนติดกัน หรือ 1 บรรทัดต่อ 1 คำสั่งก็ได้ แต่มักจะยึดรูปแบบที่อ่านง่าย คือ การทำย่อหน้าในชุดคำสั่งที่เกี่ยวข้องกัน ทั้งนี้ให้ป้อนคำสั่งทั้งหมดภายใต้ Tag <BODY> </BODY> และแบ่งกลุ่มคำสั่งได้ดังนี้

      1. กลุ่มคำสั่งเกี่ยวกับการจัดรูปแบบเอกสาร

      2. กลุ่มคำสั่งจัดแต่ง/ควบคุมรูปแบบตัวอักษร

      3. กลุ่มคำสั่งการทำเอกสารแบบรายการ (List)

      4. กลุ่มคำสั่งเกี่ยวกับการทำลิงค์

      5. กลุ่มคำสั่งจัดการรูปภาพ

      6. กลุ่มคำสั่งจัดการตาราง (Table)

      7. กลุ่มคำสั่งควบคุมเฟรม

      8. กลุ่มคำสั่งอื่นๆ

วันพุธที่ 18 พฤษภาคม พ.ศ. 2559

Responsive Web คืออะไร?







Responsive Web Design คืออะไร?


       
        การออกแบบเว็บไซต์ให้รองรับขนาดหน้าจอของอุปกรณ์ทุกชนิด ตั้งแต่คอมพิวเตอร์ที่มีขนาดหน้าจอหลากหลาย ไปจนถึงโทรศัพท์มือถือ Smart Phone และ Tablet ต่างๆ ที่มีมาตรฐานขนาดหน้าจอที่แตกต่างกัน พูดได้ว่าออกแบบครั้งเดียวสามารถนำไปใช้ได้กับทุกหน้าจอเลยทีเดียว

        ทั้งนี้ Responsive Web Design เป็นการออกแบบเว็บไซต์ โดยใช้เทคนิคของ CSS , CSS3 และ JavaScript ในการออกแบบเพื่อให้เว็บไซต์สามารถจัดลำดับ เรียงข้อมูลบนเว็บไซต์ให้รองรับการแสดงผลผ่านหน้าจอที่มีขนาดแตกต่างกันได้โดยอัตโนมัติ โดยผู้ใช้งานเว็บไซต์สามารถเปิดใช้งานเว็บไซต์ได้ โดยไม่ต้องคำนึงถึงขนาดของหน้าจอหรือชนิดของอุปกรณ์สื่อสาร



 เทคนิคการทำ Responsive Website  

1. Responsive Retrofitting – แปลงเว็บเก่าให้กลายเป็น Responsive

2. Responsive Mobile Site – ปลูกเมล็ด Mobile Site แล้วแปลงเป็น Responsive

3. Mobile-First Responsive Site – ทำเว็บใหม่แบบ Mobile-First (หรือบางคนเรียก Progressive Enhancement)

4. Piecemeal – แปลงเว็บเก่าให้กลายเป็น Responsive ทีละนิด


RESPONSIVE RETROFITTING

     
           เป็นการเอา Desktop Site (เว็บไซต์ที่ทำขึ้นมาเพื่อรองรับหน้าจอคอมพิวเตอร์) ที่มีอยู่แล้วมาเขียน CSS3 Media Query เพิ่มเข้าไป เพื่อให้รองรับหน้าจอแบบ Responsive วิธีนี้ใช้กันเยอะมากครับ เพราะเป็นวิธีที่ Developer ไม่เหนื่อยมาก แต่จะเหนื่อยที่ User แทนครับ ลองมาดูกันว่าดีไม่ดียังไง


ข้อดีของ RESPONSIVE RETROFITTING


- ทำได้เร็ว ง่าย แค่ใส่ CSS เพิ่มไปอีกไฟล์ก็รองรับ Responsive แล้ว

- User เก่าไม่งง ดีไซน์เก่ายังอยู่

- ไม่ต้อง Redesign ทำให้ไม่ต้องถกปัญหาเรื่อง Branding กับบริษัทใหม่อีกครั้ง และไม่เสียงบค่าดีไซน์เพิ่มด้วย

ข้อเสียของ RESPONSIVE RETROFITTING


- User Experience ในการใช้งานบน Mobile Site อาจไม่เต็มที่นัก เพราะเน้นแค่ให้ Layout เปิดได้บนมือถือเฉย ๆ บางส่วนเช่น Navigation, Slider อาจจะยังใช้บนมือถือไม่ได้

- เว็บ Desktop เป็นเว็บที่หนัก มี Component มากมาย (โดยเฉพาะคนที่ชอบใช้ Bootstrap ซึ่งค่อนข้างหนักเว็บไซต์) พอเปิดในมือถือเหมือนกับพยายามเอาช้างไปยัดใส่ตู้เย็นเล็ก ๆ เลย

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

- บาง Device ไม่รองรับ Media Query ทำให้เปิดไม่เจอเวอร์ชั่น Responsive ถึงแม้จะแก้ได้โดยการใช้ Javascript ช่วย แต่ทำให้เว็บหนักขึ้นไปอีก ดังนั้นทำแบบ Mobile First จะครอบคลุมมากกว่า

- เป็นวิธีที่ค่อนข้างฉาบฉวย คือทำแบบนี้จะไม่ใช่ Responsive ที่ทำให้ User บนมือถือได้รับประโยชน์อย่างแท้จริง (อาจจะให้โทษมากกว่า)


RESPONSIVE MOBILE SITE


        วิธีนี้เป็นการทำ Responsive Website เหมือนหว่านเมล็ดเป็น Mobile Site (เว็บไซต์ที่ทำขึ้นเพื่อรองรับหน้าจอมือถือโดยเฉพาะ) แยกออกมาก่อน คนที่เข้าทาง Desktop ก็เจอเว็บเก่า ส่วนคนที่เข้าจากมือถือก็เจอเว็บใหม่ จากนั้นค่อย ๆ ทำการพัฒนา Mobile Site ตัวนี้ให้สามารถดูใน Tablet และ Desktop ได้สวยงาม ซึ่งพอเสร็จสมบูรณ์แล้ว ก็ย้ายคนที่เข้าทาง Desktop ให้เปิดมาเจอเว็บไซต์ใหม่ด้วย และทิ้งไว้เก่าไป เว็บไซต์ใหญ่ ๆ ในต่างประเทศ เช่น BBC ก็ใช้วิธีนี้

ข้อดีของ RESPONSIVE MOBILE SITE


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

- มีเวลาให้ทีม Designer ค่อย ๆ เรียนรู้ในการดีไซน์เว็บไซต์ที่เหมาะกับ Responsive โดยใช้เว็บ Mobile site เป็นที่ทดสอบ

- สำหรับทีมอื่น ๆ เช่น ฝ่าย Content ก็มีเวลาเรียนรู้ในการปรับ Content ให้เหมาะกับการอ่านบนหน้าจอหลายรูปแบบเช่นกัน

- ช่วยลดขนาดเว็บให้เล็กลงกว่าเดิมได้ โดยการตัดทอน Element เก่าใน Desktop Site ที่ไม่จำเป็นออก

ข้อเสียของ RESPONSIVE MOBILE SITE


- การทำ Mobile Site แยกจากเว็บหลัก อาจทำให้เกิดปัญหาเรื่อง URL Redirect, SEO เป็นต้น ซึ่งปัญหานี้เป็น Cost ที่เราต้องจ่ายเพื่อไปสู่จุดที่ดีขึ้นครับ

- การทำ Mobile Site ขึ้นมาได้สำเร็จ ไม่ได้แปลว่าในอนาคตจะสามารถพัฒนาต่อเป็น Desktop Site เพื่อใช้แทนเว็บเก่าได้ง่าย จะเจอปัญหาทั้งเรื่องระยะเวลา ความสามารถของทีมงาน และแรงกดดันในการเปลี่ยนจากผู้อ่านเก่า ๆ

- องค์กรบางแห่งไม่อดทนพอที่จะผลักดันให้ Mobile Site กลายเป็น Desktop Site ได้ในอนาคต ทำให้โปรเจคโดนทิ้งครึ่ง ๆ กลาง ๆ เนื่องจากโดนตัดเงินทุนก่อน



MOBILE-FIRST RESPONSIVE SITE


        เทคนิค Mobile-First Responsive Website เป็นการสร้างเว็บไซต์ใหม่ขึ้นมาเลย โดยดีไซน์ให้รองรับ Mobile ก่อน เน้นทำให้เว็บไซต์มีเฉพาะ Element ที่สำคัญจะได้โหลดไว เขียน CSS สำหรับ Mobile โดยไม่ต้องใช้ Media Query เลย จากนั้นค่อยพัฒนาให้เหมาะกับ Desktop Site โดยเติม CSS สำหรับ Desktop เข้าไป (ใช้ Media Query ช่วย)

        ซึ่งวิธีนี้ต่อให้มือถือไม่รองรับ Media Query ก็จะเห็นเว็บแบบ Mobile อยู่แล้ว ส่วนถ้าผู้ใช้เปิดในคอมก็จะโหลด Component เพิ่มเติมสำหรับหน้าจอคอมเท่านั้น ซึ่งคนเปิดในมือถือก็จะได้เว็บที่เบา โหลดเร็ว ส่วนคนเปิดในคอมจะได้เว็บที่หนักขึ้น แต่ก็ถือว่ารับได้เพราะในคอมอินเตอร์เน็ตเร็วกว่าครับ

ข้อดีของ MOBILE-FIRST RESPONSIVE WEBSITE


- การทำเว็บไซต์แบบเริ่มใหม่ทั้งหมด ทำให้ Designer / Developer ทำงานได้ง่ายขึ้น ต่างกับที่ต้องทำเพิ่มเติมจากเว็บเดิม ซึ่งเปลี่ยนทีต้องมาคอยระวังทีว่าโค้ดเดิมจะพังมั้ย

- รองรับ Mobile ได้ทันที โดยที่ Device นั้นไม่ต้องรองรับ Media Query ก็ได้

- ปรับแต่งให้เว็บไซต์โหลดไวบนมือถือได้ไม่ยาก

- ปรับแต่งให้รองรับหน้าจอหลายขนาดได้ง่าย เพราะเราทำจากเล็กไปใหญ่ เราจะเห็นหมดว่าพอขยายหน้าจอถึงไหนแล้วหน้าตาจะเป็นยังไง

- เหมาะกับการพัฒนาเป็น Desktop Site ต่อในอนาคต

ข้อเสียของ MOBILE-FIRST RESPONSIVE WEBSITE


- ใช้เวลาเยอะกว่าเว็บจะสามารถปล่อยให้ User เข้ามาใช้ได้ เพราะต้องสร้างขึ้นมาใหม่หมด กว่าจะเทส กว่าจะดีไซน์เสร็จ

- การทำแบบ Mobile First ต้องปรับแนวคิดการทำเว็บไซต์แบบเก่าในสมองออกไป ซึ่งเราต้องให้ความรู้กับทีมงานเยอะ ๆ ถึงจะทำได้

- การต้องดีไซน์เว็บใหม่อาจมีปัญหากับ Branding ขององค์กร บางครั้งผู้บริหารอยากได้โลโก้ใหญ่ หรืออยากได้สีนั้นสีนี้ ก็จะทำให้การทำเว็บไซต์ใหม่ล่าช้าขึ้นไปอีก

- Interface ใหม่อาจทำให้ User สับสนในช่วงแรก (เหมือนที่ Pantip ตอนรีดีไซน์ใหม่ ๆ) เพราะฉะนั้นต้องใส่ใจให้คำตอบ User และรับ Feedback ตลอดเวลา


PIECEMEAL

        วิธีสุดท้ายนี้เป็นการค่อย ๆ แปลงทีละส่วนบนเว็บไซต์ให้เป็น Responsive ซึ่งเหมาะกับเว็บไซต์บางเว็บที่ไม่สามารถ Redesign ใหม่หมดได้ อาจจะติดเรื่อง Branding, งบประมาณ หรืออะไรก็แล้วแต่ ซึ่งการทำแบบ Piecemeal นี้ก็มีแยกย่อยเป็นหลายแบบ คือ

PIECEMEAL แบบที่ 1 – PAGE BY PAGE


        ทำเป็น Responsive ทีละหน้า วิธีนี้ถูกใช้โดย Microsoft คือทำหน้าแรกให้ Responsive ก่อน แล้วเปิดให้คนใช้ โดยที่หน้าอื่น ๆ ยังไม่ได้ทำให้รองรับ Responsive

ข้อดีของ PAGE BY PAGE RESPONSIVE


- เลือกทำหน้าที่คนเข้าเยอะ ๆ ให้เป็น Responsive เพื่อให้ User ได้รับประโยชน์สูงสุดจาก Responsive Website ในทันที

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

- สามารถนำไปใช้จริงได้เร็ว ไม่ต้องรอเสร็จทั้งเว็บก่อน

ข้อเสียของ PAGE BY PAGE RESPONSIVE


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

- บางครั้งการทำแบบนี้อาจทำให้ทีมงานไม่มี Deadline ว่าจะเสร็จทั้งเว็บไซต์เมื่อไหร่ เพราะทำทีละหน้าไปเรื่อย ๆ และสุดท้ายกลายเป็นโปรเจคที่ไม่เสร็จสมบูรณ์ในที่สุด


PIECEMEAL แบบที่ 2 - COMPONENT BY COMPONENT


        วิธีการทำ Responsive Website แบบ Component by Component นี่ค่อนข้างแปลกใหม่ เป็นการทำให้ Element ทีละส่วนในเว็บกลายเป็น Responsive (เช่น header ก่อน แล้วค่อยมาทำ footer)

ข้อดีของเทคนิค COMPONENT BY COMPONENT


- การค่อย ๆ เปลี่ยน Interface ทำให้ User ค่อย ๆ เรียนรู้หน้าตาเว็บแบบใหม่ทีละนิด ทำให้ User ไม่รู้สึกตกใจตอนเราทำเสร็จแล้ว

- การแบ่งส่วนในเว็บเป็น Element ย่อย ๆ ทำให้ Developer สามารถทำเว็บไซต์ได้ง่ายขึ้น และ Design ไปในทิศทางเดียวกันมากขึ้น (เป็นเรื่องของ Atomic Design ครับ ซึ่งถ้ามีโอกาสจะนำมาเขียนเล่าให้ฟัง)

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

ข้อเสียของเทคนิค COMPONENT BY COMPONENT


- ในระหว่างที่ยังไม่เสร็จสมบูรณ์ User อาจรู้สึกแปลก ๆ ที่บาง Element ดูใหม่ บาง Element ดูเก่า

- เหมือนกับการทำ Page by Page คืออาจไม่มี Deadline แน่นอน ทำให้เว็บไม่เสร็จสักที

- อาจเกิดปัญหาในการใช้เทคโนโลยีใหม่แล้วไปตีกับเทคโนโลยีเก่าที่ใช้อยู่ได้


สรุปว่าเลือกวิธีการทำเว็บ RESPONSIVE แบบไหนดี


        อย่างที่เห็นกันมาแล้วว่าแต่ละวิธีมีข้อดี ข้อเสีย และความเหมาะสมต่างกันไป ซึ่งการจะเลือกวิธีต้องดูหลาย ๆ ปัจจัยรวมกัน นั่นคือ:
- เวลาที่มีในการพัฒนาเว็บไซต์

- งบประมาณในการพัฒนาเว็บไซต์

- รูปแบบองค์กร (มีผลว่าเทคนิคไหนจะล่มไม่ล่ม จะมีงบประมาณต่อในปีหน้ามั้ย หรือมีแค่ก้อนเดียวจบ)

- ความสามารถของสมาชิกในทีม (Web Developer, Web Designer, Content Manager, etc.)ผลลัพธ์ที่เราต้องการจากการทำเว็บไซต์แบบ Responsive (เช่น ทำให้คนซื้อสินค้าในเว็บได้ง่ายขึ้น หรือเว็บไซต์โหลดเร็วขึ้นบนมือถือ)

 ประโยชน์ของการทำเว็บไซต์ Responsive Web Design



1. Responsive WebDesign ได้รับการรับรองจาก google ช่วยให้ติด index google ได้ทั้ง desktop และ mobile ในหน้าเดียว

2. การทำ Responsive เพียงแค่ไซต์เดียวก็รองรับทุกอุปกรณ์ และไม่ต้องทำหลายๆหน้า ช่วยให้ไม่หนักเซิฟเวอร์

3. ประหยัดค่าใช้จ่ายในการจัดทำ โดยที่เราไม่ต้องทำหน้าต่างแยกกันระหว่าง mobile และ desktop

นอกจากนี้ยังประหยัดเวลาลดระยะเวลาในการทำงานหลายๆหน้า โดยที่เราก็วางแผนครั้งเดียว และทำเพียงแค่หน้าเดียวเท่านั้นเอง

4. รวดเร็วในการดูแล จัดการเว็บไซต์ ไม่ยุ่งยาก และไม่ต้องไปเปลี่ยนแปลงเว็บไซต์หลายๆหน้า

5. รองรับผู้ใช้ทุกอุปกรณ์ เพราะสุดท้ายผู้คนจากหลายอุปกรณ์ก็มีความต้องการเดียวกัน
6. เว็บไซต์ไม่ต้อง redirect หน้าไปหาหน้า mobile ให้เสียเวลา ช่วยให้เซิฟเวอร์ไม่ทำงานหนักและไม่วุ่นวาย

7. Googlebot-Mobile จะสนใจกับไซต์ที่รองรับอุปกรณ์ประเภท mobile ดังนั้นมั่นใจได้เลยว่า Googlebot-mobile จะเข้ามาเก็บข้อมูลในเว็บไซต์ที่ทำออกมารองรับ mobile ของคุณอย่างแน่นอน หลังจากนี้เราก็มาเริ่มทำ seo ผ่าน mobile กันต่อไป

8. ช่วยทำให้การค้นหาผ่าน mobile เป็นไปได้ง่ายมากยิ่งขึ้น








วันศุกร์ที่ 24 กรกฎาคม พ.ศ. 2558

ชนิดของข้อมูลและตัวแปรในภาษาซี

ชนิดของข้อมูลและตัวแปรในภาษาซี
ชนิดของข้อมูล (data type) ในการเขียนโปรแกรมหนึ่งๆ จะมีข้อมูลต่างๆ เข้ามาเกี่ยวข้องเช่น การนับจำนวนรอบ (loop) ของการทำงานโดยใช้ข้อมูลชนิดจำนวนเต็ม หรือการแสดงข้อความโดยใช้ข้อมูลชนิดตัวอักษร จะเห็นว่าข้อมูลต่างๆ ถูกแบ่งออกเป็นหลายชนิดตามจุดประสงค์ของการใช้งาน นอกจากนี้ข้อมูลแต่ละชนิด ยังใช้เนื้อที่หน่วยความจำ (memory) 
 ตัวแปร (variable) เนื่องจากข้อมูลถูกเก็บอยู่ในหน่วยความจำ การอ้างถึงตำแหน่งของข้อมูลนี้จึงมีความซับซ้อน ไม่สะดวกต่อการเขียนโปรแกรม จึงมีการเรียกหน่วยความจำ ในตำแหน่งที่สนใจผ่านตัวแปร

 การประกาศตัวแปร (variable declaration) คือการจองเนื้อที่ในหน่วยความจำสำหรับเก็บค่าบางอย่างพร้อมทั้งกำหนดชื่อเรียกแทนหน่วยความจำในตำแหน่งนั้นเพื่อให้ผู้เขียนโปรแกรมมีความสะดวกในการเข้าถึงค่าที่เก็บอยู่ในหน่วยความจำดังกล่าว


 รูปแบบการประกาศตัวแปรtype variable-name; 
โดย type คือชนิดของตัวแปร (ตามตารางด้านล่าง) variable-name คือชื่อของตัวแปร (ควรตั้งชื่อให้มีความหมายสอดคล้องกับการใช้งานและจำง่าย)
ตัวอย่างการประกาศตัวแปรแบบต่างๆ
 int num; /*ประกาศตัวแปรชนิิดจำนวนเต็ม ชื่อ num*/
 float x;char grade, sex; /*ประกาศตัวแปรชนิิดอักขระ ชื่อ grade และ sex (ประกาศพร้อมกันในบรรทัดเดียว)*/
 float temp = 123.45; /*ประกาศตัวแปรชนิดเลขทศนิยมพร้อมกำหนดค่า 123.45*/
 char c = "A", t = "B"; /*ประกาศตัวแปรชนิดอักขระสองตัว พร้อมกำหนดค่าให้แต่ละตัว*/
 int oct = 0555; /*ประกาศตัวแปรชนิดจำนวนเต็มชื่อ num พร้อมกำหนดค่าคือ 555 (เป็นเลขฐานแปดเพราะมี 0 นำหน้า)*/
 int hex = 0x88; /*ประกาศตัวแปรชนิดจำนวนเต็มชื่อ hex พร้อมกำหนดค่าคือ 88 (เป็นเลขฐาน 16 เพราะมี 0x นำหน้า)*/
ข้อควรระวัง
     ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย "_" เท่านั้น
    ภายในชื่อตัวแปรให้ใช้ตัวอักษร, ตัวเลข 0-9 หรือเครื่องหมาย "_"
     ห้ามมีช่องว่างในชื่อตัวแปร
     อักษรตัวพิมพ์เล็ก-ใหญ่ มีความแตกต่างกัน (case sensitive) เช่น Name, NAME และ nameถือเป็นชื่อที่แตกต่างกัน
      ห้ามซ้ำกับชื่อตัวแปรสงวน (reserved word)

 ตัวแปรชนิดข้อความ (string)
             ถ้าเราต้องการเก็บข้อความ "C programming language" ไว้ในตัวแปร จะทำได้อย่างไร?ที่ผ่านมาเราทราบว่าเราสามารถเก็บข้อมูลชนิดตัวอักขระไว้ในตัวแปรชนิด char ได้ แต่ตัวแปรชนิด char นั้นสามารถเก็บตัวอักขระได้เพียงตัวเดียวเท่านั้น ไม่สามารถเก็บทั้งข้อความได้ แล้วเราจะแก้ปัญหาได้อย่างไร?หากพิจาณาให้ดี ข้อความดังกล่าวประกอบด้วยตัวอักขระ (ตัวอักษร+สัญลักษณ์) หลายๆ ตัวเรียงต่อกันเป็นสายซึ่งเป็นลักษณะของตัวแปรแบบ array (จะได้กล่าวภายหลัง)การประกาศตัวแปรแบบ array เพื่อเก็บข้อมูลดังกล่าวสามารถทำได้ดังนี้
 type variable-name[size]; โดยsize คือขนาดของข้อความ+1 โดยขนาดที่เพิ่มขึ้นเพราะต้องเก็บอักขระสุดท้ายของข้อความเป็นอักขระ \0 หรือ NULL เพื่อบอกว่าสิ้นสุดข้อความแล้ว
ตัวอย่างการประกาศตัวแปรแบบ array เพื่อเก็บข้อความ "C programming language" (22 ตัวอักษร) ทำได้หลายวิธีดังนี้
 char[23] text = "C programming language";
/*กำหนดขนาดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่า \0 หรือ NULL ในตำแหน่งสุดท้าย*/
 char[23] text = {'C',' ','p','r','o','g','r','a','m','m','i','n','g',' ','l','a','n','g','u','a','g','e','\0'};
/*กำหนดขนาดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่า \0 หรือ NULL ในตำแหน่งสุดท้าย*/
 char[] text = "C programming language";
/*ถ้าไม่กำหนดขนาดของ array แล้ว ตัวแปรภาษาซีจะกำหนดให้โดยมีขนาดเท่ากับขนาดข้อความ+1*/
นอกจากนี้เรายังสามารถแก้ไขตัวอักษรที่เก็บอยู่ใน array ได้โดยการอ้างอิงตำแหน่งเช่น
 text[0] = 'A'; /*แก้ตัวอักษรตัวแรก (เริ่มนับจาก 0) จะได้ผลลัพธ์คือ A programming language*/
 text[2] = ' '; /*ผลลัพธ์คือ A  rogramming language (ใส่ช่องว่างแทนตัว p)*/