Categories
การพัฒนาซอฟท์แวร์

การเลือกใช้ Integer ใน Golang

การเลือกใช้ Integer ใน Golang

Golang เป็นภาษาที่มีประเภทของ Integer มากกว่าภาษาอื่นบางภาษา จากตัวเลือกที่ค่อนข้างเยอะ บางครั้งเราอาจสงสัยว่าเมื่อใดที่เราควรใช้ Integer ประเภทใด บทความนี้แนะนำการเลือกใช้ Integer ใน Golang ครับ

ก่อนที่เราจะไปดูหลักเกณฑ์ในการเลือกใช้ เรามาดูกันก่อนว่า Golang มี Integer กี่แบบ

ประเภทขนาด ช่วงของข้อมูลที่เก็บได้
int88 bits-128 ถึง 127
int1616 bits-32768 ถึง 32767
int3232 bits–2147483648 ถึง 2147483647
int6464 bits–9223372036854775808 ถึง 9223372036854775807
uint88 bits0 ถึง 255
uint1616 bits0 ถึง 65536
uint3232 bits0 ถึง 4294967295
uint6464 bits0 ถึง 18446744073709551615
ตาราง แสดงประเภทและช่วงข้อมูลที่เก็บได้สำหรับ Integer แต่ละชนิดใน Golang

นอกจากนี้ Golang ยังมี int และ uint ซึ่งขนาดของมันสามารถเป็นได้ทั้ง 32 bits หรือ 64 bits ขึ้นกับ platform เช่น ถ้าบนเครื่อง 32-bits compiler ก็จะใช้ค่า int และ uint เป็น 32 bits

ในทางตรงข้าม ถ้าบนเครื่อง 64-bits ส่วนใหญ่แล้ว compiler ก็จะใช้ค่า int และ uint เป็น 64 bits (แต่จาก FAQ ของ Golang เค้าบอกว่าไม่ได้เป็นอย่างนี้เสมอไป แต่ก็ไม่ได้ให้ข้อมูลอะไรเพิ่มเติม และผมเองก็หาข้อมูลเพิ่มเติมไม่ได้ด้วยครับ)

FAQ : size ของ int ใน golang

Zero value

ถึงแม้ Golang จะมีประเภทของ Integer หลายประเภท แต่ค่า zero value ของ Integer ทุกประเภท คือ 0

เลือกประเภทของ Integer

เมื่อเรารู้จัก Integer แต่ละประเภทใน Golang แล้ว การเลือกว่าจะใช้ Integer ประเภทใด มีหลักที่เรียบง่ายอยู่ 3 ข้อ คือ

1. ถ้ารู้ขนาดและเครื่องหมาย

ถ้าเราทำงานกับ Binary file หรือ Network protocol หรือข้อมูลที่เรารู้ขอบเขตของขนาดข้อมูลและเครื่องหมายว่าเป็นจำนวนเต็มบวกหรือลบอย่างแน่นอนล่วงหน้าแล้ว ให้เราเลือกใช้ Integer เจาะจงประเภทใดประเภทหนึ่งจากตารางข้างบนไปเลย

2. ถ้าต้องรองรับ Integer ประเภทใดก็ได้

ถ้าเราต้องเขียน Function ที่ควรทำงานกับจำนวนเต็มประเภทใดก็ได้ ให้เขียน function มาคู่หนึ่ง โดยที่ function หนึ่งมี parameter เป็น int64 และอีก function หนึ่งมี parameter เป็น uint64

💡 เราสามารถเห็น pattern นี้ได้ใน Go standard library เช่น ฟังก์ชัน FormatInt / FormatUint หรือ ParseInt / ParseUint ใน strconv package

เหตุผลที่ int64 และ uint64 เหมาะสมในสถานการณ์นี้ เพราะในตอนนี้ Golang ยังไม่มี Generics (เฉพาะตอนนี้) และ Golang ไม่มี Function Overloading อีกด้วย จากเหตุผลเหล่านี้ ส่งผลให้เราต้องเขียนหลาย Function และต้องตั้งชื่อให้ต่างกัน

การใช้ int64 และ uint64 ช่วยให้เราเขียน Function แค่ครั้งเดียว แล้วให้ผู้ที่เรียกใช้แปลงค่า Arguments ที่จะส่งให้ Function และแปลงค่าที่รับคืนจาก Function ได้เองไม่ยากนัก

💡 แต่ถ้าขนาดของ Integer มีความสำคัญ เราควรเขียน Function แยกให้กับ Integer แต่ละประเภท เหมือนกับ math/bits package

3. กรณีอื่น ๆ

กรณีอื่น ๆ นอกจากข้อ (1) และ (2) ให้ใช้ int

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

อ้างอิง

Categories
การพัฒนาซอฟท์แวร์

รีวิวหนังสือ Head First Go

หนังสือ Head First Go
หนังสือ Head First Go

หนังสือ Head First Go เล่มนี้ เป็นหนังสือ Golang ที่ผมคิดว่าอ่านง่าย อ่านสนุกมาก

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

ตัวอย่างการอธิบายโค้ด Golang ในหนังสือ Head First Go
ตัวอย่างรูปประกอบการอธิบายเนื้อหา
ตัวอย่างการอธิบายโค้ด Golang ในหนังสือ Head First Go
ตัวอย่างรูปประกอบการอธิบายเนื้อหา
ตัวอย่างการอธิบายโค้ด Golang ในหนังสือ Head First Go
ตัวอย่างรูปประกอบการอธิบายเนื้อหา

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

อีกส่วนที่ผมชอบมาก คือ หัวข้อ “there are no Dumb Questions” ที่มีแทรกอยู่เรื่อย ๆ ซึ่งจะตอบคำถามสำหรับมือใหม่ที่เพิ่งจะมาเรียนรู้ Golang แล้วสงสัยว่า

  • ทำไม Golang ไม่มีสิ่งนี้ ?
  • ในภาษาอื่นทำแบบนี้ แต่ทำไม Golang ทำอีกแบบนึง ?
ผมชอบเนื้อหาส่วน "there are no Dumb Questions" ในหนังสือ Head First Go เล่มนี้มาก
ผมชอบเนื้อหาส่วน “there are no Dumb Questions”

ผมว่าเนื้อหาส่วนนี้ช่วยให้คนที่เคยเขียนภาษาอื่นมาก่อน เข้าใจธรรมชาติของ Golang มากขึ้น

และช่วยให้คนที่เขียน Golang มาซักพักแล้ว เข้าใจมากขึ้นว่า ผู้ที่พัฒนา Golang ขึ้นมา มีเจตนาอะไรที่เลือกทำอย่างนั้น

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

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

ผมอ่านหนังสือเล่มนี้ใน oreilly.com ผมคิดว่าการจัด format ดีมาก ไม่ต่างจากหนังสือที่เป็นเล่มเลย ส่วนถ้าเป็น kindle ก็ไม่ได้แย่มาก แต่สู้อ่านใน oreilly.com ไม่ได้ (ลองไปกดดาวน์โหลด kindle version มาลองอ่านดูก่อนก็ได้ครับ)

หนังสือเล่มนี้หนา 560 หน้า ผมใช้เวลาอ่านวันละ 2-3 ชั่วโมง + coding ตามเนื้อหาแทบทุกส่วน และยังทดลองเพิ่มเติมเองเพื่อให้เข้าใจมากขึ้น เรียกว่าอ่านละเอียดมาก อ่านเหมือนคนไม่เคยเขียน Golang มาก่อน ผมใช้เวลาอ่าน 10 วันก็จบครับ

……

มือใหม่ที่ต้องการศึกษา Golang ผมแนะนำหนังสือเล่มนี้เลยครับ

Categories
การพัฒนาซอฟท์แวร์

Hosting ฟรี สำหรับ Static Website

รวม Hosting ฟรี (หรือราคาถูก) สำหรับวาง Static Website ที่น่าใช้งาน

Netlify

Github Pages

Gitlab Pages

Render

Vercel

Firebase Hosting

Cloudflare Pages

Surge

Amazon S3

Statically

VULTR

DigitalOcean App Platform

000webhost

Freehostia

AwardSpace

Categories
หนังสือ

รีวิวหนังสือ The Power of INPUT

หนังสือ The Power of Input เล่มนี้ เป็นหนังสือที่ต่อเนื่องจากหนังสือ The Power of Output ของผู้เขียนท่านเดียวกัน
ถึงแม้จะเป็นหนังสือเกี่ยวกับ Input แต่ตลอดทั้งเล่มผู้เขียนได้พูดถึง Output อยู่ตลอดเวลา เมื่ออ่านจบเราจะยิ่งเข้าใจเรื่องของการ Output มากขึ้น

หนังสือเล่มนี้นำเสนอเทคนิคดี ๆ เกี่ยวกับ Input เช่น การอ่าน การฟัง การเรียน การพูดคุย การจัดการการใช้งานคอมพิวเตอร์และ Internet และอีกหลาย ๆ เรื่อง

โดยส่วนตัวผมคิดว่าหนังสือเล่มนี้อ่านง่าย อ่านให้จบได้อย่างรวดเร็ว เพราะแม้เนื้อหาจะเยอะ(300 กว่าหน้า) แต่ผู้เขียนแบ่งเนื้อหาออกเป็นหัวข้อย่อย ๆ โดยแต่ละหัวข้อจบใน 2-3 หน้า นอกจากนี้แต่ละหัวข้อผู้เขียนได้สรุปใจความสำคัญไว้ให้แล้ว มีรูปประกอบซึ่งเป็นใจความสำคัญในทุกหัวข้อ และไฮไลต์ข้อความสำคัญไว้ให้ด้วย

สรุปสั้น ๆ สำหรับบางหัวข้อที่ผมให้ความสนใจ
กฎพื้นฐานของ Input
วิธีอ่านหนังสือ

Categories
หนังสือ

หนังสือ The Power of Input – วิธีอ่านหนังสือ

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

การอ่านคือก้าวแรกของการเรียนรู้

การเรียนรู้มีขั้นตอนของมัน การทำตามขั้นตอนตามลำดับจะช่วยเพิ่มประสิทธิภาพของการเรียนรู้ การข้ามลำดับก็ส่งผลให้ประสิทธิภาพลดลง

ลำดับขั้นตอนในการเรียนรู้

  1. อ่านหนังสือ
    จะเรียนรู้อะไรให้เริ่มที่การอ่าน และเริ่มจากพื้นฐานของเรื่องนั้น ๆ ก่อน
  2. ดูวิดีโอหรือฟังคลิปเสียง
  3. เข้าเรียน ฟังบรรยาย หรือฟังสัมมนา
  4. เรียนแบบตัวต่อตัว
  5. สอนผู้อื่น

อ่านเร็ว V.S. อ่านละเอียด

ต่อให้เราอ่านหนังสือเดือนละ 10 เล่ม ถ้าเราไม่ทำ Output เลย เราจะจำไม่ได้ ไม่เข้าใจลึกซึ้ง เสียเงิน เสียเวลาเปล่า

ดังนั้นเมื่อเราอ่านหนังสือจบ 1 เล่ม ให้หยุดเพื่อทำ Output ก่อนที่จะเริ่มอ่านหนังสือเล่มต่อไป โดย Output ที่ต้องทำ มีตามลำดับดังนี้

  1. เขียน
    เขียนในสิ่งที่เราค้นพบ เขียนสิ่งที่จะลองทำตาม หรือเขียนรีวิวหนังสือเล่มนั้น
  2. เล่าให้คนอื่นฟัง อาจจะเป็นคนในครอบครัว เพื่อน หรือคนที่ทำงานก็ได้
  3. นำสิ่งที่เราค้นพบไปปฏิบัติ
  4. สอนผู้อื่น

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

ดังนั้นอย่าตั้งเป้าที่การอ่านหนังสือให้ได้มาก ๆ แต่ให้อ่านอย่างละเอียด ให้เข้าใจอย่างลึกซึ้ง อธิบายได้ รีวิวได้ หรืออภิปรายเรื่องนั้น ๆ กับผู้อื่นได้

วิธีหนึ่งที่ช่วยให้เราอ่านอย่างละเอียด คือ คิดไว้ก่อนอ่านหนังสือว่าเราจะเขียนรีวิวหรือจะอธิบายให้คนอื่นฟัง

เมื่อเราฝึกอ่านโดยละเอียดจนชำนาญแล้ว ค่อยอ่านให้เร็วหรืออ่านให้เยอะทีหลัง

เทคนิคหนึ่งที่จะช่วยเพิ่มประสิทธิภาพการอ่านให้อ่านเร็วและอ่านได้ละเอียดขึ้น คือ “การอ่านข้ามไปมา”

การอ่านข้ามไปมา เหมาะสำหรับหนังสือทั่วไป หนังสือธุรกิจ แต่ไม่เหมาะกับหนังสือนิยายหรือการ์ตูน

การอ่านข้ามไปมาเริ่มที่การดูสารบัญ เลือกเรื่องที่อยากรู้ แล้วเริ่มอ่านจากส่วนนั้น

ซึ่งเมื่ออ่านแบบข้ามไปมา ให้เราเน้นที่

  • ส่วนท้ายของแต่ละบท
  • บทนำ
  • บทส่งท้าย
  • บทสรุป (มักอยู่ครึ่งหลังของหนังสือ)

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

การเลือกหนังสือ

ผู้เขียนแบ่งหนังสือตามคุณค่าเป็น 2 แบบ คือ

  1. หนังสือโฮมรัน
    หนังสือที่มีเนื้อหาให้เราค้นพบเยอะ ช่วยเราพัฒนาตนเองและเปลี่ยนแปลงชีวิตได้เยอะ
  2. หนังสือสไตรก์
    หนังสือที่แทบไม่มีอะไรให้เราค้นพบ ไม่ช่วยให้เราพัฒนาตนเองเลย

ผู้เขียนบอกว่าการ “เลือกหนังสือ” สำคัญกว่า “วิธีอ่านหนังสือ” เสียอีก เราจึงต้องลดหนังสือสไตรก์เพื่อเพิ่มโอกาสในการเจอหนังสือโฮมรัน

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

นอกจากนี้การเลือกหนังสือ เราควรอ่านอย่างเป็นกลางและสมดุล คือ เมื่อเราศึกษาในเรื่องใด เราควรเลือก

  • หนังสือเป็นกลาง
  • หนังสือที่เราเห็นด้วย
  • หนังสือที่เราเห็นต่าง

แต่ถ้าไม่มีเวลา ให้อ่านแค่ “หนังสือที่เราเห็นด้วย ” และ “หนังสือที่เราเห็นต่าง” ก็พอ

ก่อนที่จะอ่าน เราต้องทำสมองให้ว่าง ไม่เอนเอียงไปด้าน เห็นด้วย/ไม่เห็นด้วย หรือชอบ/เกลียด ซึ่งคนทั่วไปอาจทำไม่ได้เพราะมี “Confirmation Bias หรือ ความลำเอียงเพื่อยืนยัน” กับสมมติฐานหรือความเชื่อที่มีอยู่แล้ว

เมื่อเราอ่านทั้ง “หนังสือที่เราเห็นด้วย ” และ “หนังสือที่เราเห็นต่าง” แล้ว เราจะพิจารณาเรื่องนั้นได้อย่างสมดุล

การอ่านนิยาย

ประโยชน์ของการอ่านหนังสือนิยาย คือ

  1. ทำให้กลายเป็นคนรักการอ่าน เพราะหนังสือนิยายให้ความสนุก ความบันเทิง “คนที่ไม่ชอบอ่านหนังสือควรเริ่มจากการอ่านนิยาย
  2. ทำให้หัวดีขึ้น เพราะสมองได้รับการกระตุ้นมากขึ้นจากการอ่านหนังสือ
  3. ทำให้รู้จักเข้าอกเข้าใจผู้อื่น เพราะการอ่านนิยายเราต้องใช้อารมณ์ร่วมกับตัวละคร
  4. ส่งเสริมความคิดสร้างสรรค์ จากการต้องนึกภาพตาม
  5. ช่วยคลายความเครียด
  6. ทำให้เราลองสมมติตัวเองเป็นคนอื่น ช่วยให้เราเรียนรู้ผ่านชีวิตตัวละครในนิยาย
  7. สนุก

ซึ่งหนังสือนิยายและการ์ตูนก็เป็นหนังสือประเภทหนึ่งที่เหมาะกับการอ่านเป็น e-book อีกด้วย

e-book

ใครที่อ่านหนังสือเดือนละหลายเล่ม อาจลองอ่านแบบ e-book ดู เพราะว่า

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

แต่หนังสือเป็นเล่มก็ยังมีบางอย่างที่ดีกว่า เช่น

  • จดจำได้ง่ายกว่า (จากงานวิจัย)
  • อ่านง่ายกว่า
  • มีสมาธิสูงกว่า
  • อ่านแบบข้ามไปมาได้ง่าย
  • ไฮไลต์และเขียนแทรกได้ง่าย เพิ่มประสิทธิภาพการอ่าน

Categories
หนังสือ

หนังสือ The Power of Input – กฎพื้นฐานของ Input

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

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

ดังนั้นการรับ Input เป็นเรื่องของคุณภาพ มากกว่าเรื่องของปริมาณ และเมื่อเราคุมคุณภาพของ Input ได้แล้วค่อยเพิ่มปริมาณทีหลัง

หนังสือ The Power of Input เล่มนี้ มีกฎพื้นฐาน 3 ข้อ คือ

  1. ต้อง “ตั้งใจ”
    การรับ Input ห้ามทำไปงั้น ๆ แต่เราต้อง อ่านอย่างตั้งใจ ฟังอย่างตั้งใจ ดูอย่างตั้งใจ
  2. ตั้งเป้าหมายของการสร้าง Output ก่อน แล้วค่อยลงมือทำ Input
    เราต้องกำหนด Output ที่ต้องการให้เป็นรูปธรรมและกำหนดเวลาให้ชัดเจน เช่น เราวางเป้าหมายว่าต้องการสอบ TOEIC ให้ได้ 450 คะแนน ภายในสิ้นปีนี้ เพื่อที่จะไปเรียนต่อที่ต่างประเทศ ดังนั้นเราจึงต้องศึกษาภาษาอังกฤษ ซึ่งการทำแบบนี้จะช่วยมองเห็นวิธีการเรียนที่ชัดเจนขึ้น รู้ว่าต้องซื้อหนังสือแบบไหน และใช้เวลาเรียนสัปดาห์ละกี่ชั่วโมง
  3. ทำ Input กับ Output ไปพร้อม ๆ กัน
    ซึ่งเรื่องนี้ก็คือ “บันใดวนแห่งการพัฒนาตนเอง” ในหนังสือ The Power of Output นั่นเอง เช่น เมื่อเราอ่านหนังสือเราควรจดไปด้วยและเมื่อเราอ่านจบเราควรเขียนรีวิว เขียนสรุป หรือเล่าให้เพื่อนฟัง

เทคนิคการทำ Input ให้เกิด Output มากขึ้น

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

ยกตัวอย่างเช่น เมื่อหัวหน้าให้เราไปเข้าอบรมเป็นเวลา 3 วันและบอกกับเราว่าต้องกลับมาสอนคนในบริษัทเป็นเวลา 3 ชั่วโมง เราคงจะตั้งใจฟัง จดเนื้อหาที่สำคัญ และจดจำได้มากขึ้นอย่างแน่นอน

วิธีเก็บเฉพาะข้อมูลที่จำเป็น

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

นั่นเป็นเพราะในสมองของเรามี “สมาธิเลือกสรร (Selective Attention)” หรือที่ในหนังสือเล่มนี้เรียกว่า “การตั้งเสาอากาศแห่งความสนใจ” มาช่วยเราเก็บเฉพาะข้อมูลที่มีความสำคัญ

เทคนิคที่จะช่วย “ตั้งเสาอากาศแห่งความสนใจ” คือ

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

เพิ่มความสามารถในการจดจำด้วยอารมณ์

สมองเราจะจดจำได้ดีขึ้นเมื่อเรื่องนั้น ๆ มีอารมณ์เข้ามาเกี่ยวข้อง ดังนั้นเพื่อเพิ่มความสามารถของสมองในการจดจำ Input เราควรที่จะ

  1. สร้างให้เป็นเรื่องราว อาจประยุกต์เป็นการอ่านในรูปแบบการ์ตูนหรือนิยาย
  2. เรียนรู้ในสิ่งที่รู้สึกตื่นเต้น อยากรู้อยากเห็น
  3. เมื่อซื้อหนังสือมาให้อ่านทันที เพราะตอนนั้นเรามีความรู้สึกอยากอ่าน
  4. เมื่อมีข้อสงสัย ให้หาคำตอบทันที
  5. นำเสนอต่อหน้าผู้อื่น เพราะความตื่นเต้น+การสอน จะช่วยเพิ่มความจำ
  6. พยายามเชื่อมโยง “ความประทับใจ” กับ “การเรียนรู้”
  7. เรียนรู้จากการท่องเที่ยว เพราะมีทั้งความตื่นเต้น ความระทึกใจ และประทับใจ
Categories
หนังสือ

หนังสือ The Power of Output – ศิลปะของการปล่อยของ

ก่อนหน้านี้ผมพยายามอ่านให้เยอะ เรียนให้เยอะ ซึ่งล้วนแล้วแต่เป็น Input แต่หนังสือ “The Power of Output – ศิลปะของการปล่อยของ” เล่มนี้บอกว่าสิ่งที่สร้างผลกระทบกับชีวิตหรือพัฒนาตัวเราได้มากกว่า คือ Output

หนังสือแนะนำให้สัดส่วน Input : Output = 3:7

โดยหนังสือจะย้ำให้เห็นแผนภาพความสัมพันธ์ระหว่าง Input, Output และ Feedback

  • Input ต้อง “เลือกรับรู้” หนังสือไม่ได้ลงรายละเอียดมากนัก เพราะมีหนังสืออีกเล่มชื่อ Input ที่เขียนโดยผู้เขียนคนเดียวกัน
  • Output หนังสือแบ่งออกเป็น การพูด การเขียน และการลงมือทำ ซึ่งครอบคลุมในหลายประเด็น มีคำแนะนำที่น่าสนใจที่สามารถนำมาปรับใช้ได้มากมาย
  • Feedback เป็นสิ่งสำคัญในการพัฒนา Input, Output ให้ดีขึ้น เช่น ถ้าเป็นงานเขียนก็แชร์ใน Social Network ของเรา หรืออาจหาคนที่ให้คำแนะนำเราได้

เช่น

ตัวอย่างที่ 1 เมื่อเราอ่านหนังสือเล่มนึงจบ (Input) เราต้องเขียนสรุปหรือ Review ออกมา (Output) แล้วเราต้องนำไปให้คนอื่นอ่านเพื่อรับความคิดเห็นมาพัฒนาตัวเองต่อไป (Feedback)

ตัวอย่างที่ 2 เมื่อเราเรียนคอร์สเขียนโปรแกรมทางออนไลน์ (Input) เราต้องคิดและทำโปรเจคโดยใช้ความรู้ที่เราเรียนมา (Output) และนำไปเผยแพร่ให้เพื่อนหรือนำขึ้น Store ให้ผู้อื่นใช้งาน รับคำแนะนำและความคิดเห็นเพื่อปรับปรุงต่อไป (Feedback)

นอกจาก Input, Output และ Feedback แล้ว หนังสือเล่มนี้ยังเน้นย้ำเรื่องการตั้งเป้าหมายที่ท้าทาย (ต้องมีความยากเล็ก ๆ) ความสนุก และความสม่ำเสมอด้วย

โดยรวมแล้วหนังสือเล่มนี้มีเนื้อหาค่อนข้างเยอะ แต่อ่านง่าย อ่านได้เร็ว แบ่งเป็นหัวข้อสั้น ๆ 2-3 หน้า มีภาพประกอบเยอะ มีสรุปสั้น ๆ และไฮไลต์ส่วนสำคัญมาให้เลย

ส่วนตัวแล้วผมชอบหนังสือเล่มนี้นะครับ และคงต้องหยิบมาดูคำแนะนำแต่ละส่วนซ้ำ ๆ อีกหลายครั้ง

อ่านจบแล้วผมคงต้องจัดสรรเวลาใหม่ ต้องสร้าง Output ให้มากขึ้น แชร์ให้ผู้อื่นได้อ่านได้เห็นผลงานเพื่อรับ Feedback และที่สำคัญต้องทำทุกวัน

Categories
UX

แอบฟังเสียงผู้ใช้งาน

ผมนั่งฟังแฟนของผมประชุมกับที่ทำงาน เกี่ยวกับซอฟต์แวร์ที่จ้างภายนอกพัฒนา

หลายประเด็นเกี่ยวกับ UX น่าสนใจและเป็นบทเรียนที่ดี

  1. ความไม่สะดวกเพียงแค่เล็กน้อย แต่ส่งผลกับผู้ใช้มากถ้าต้องใช้ซอฟต์แวร์นั้นเยอะๆทั้งวันถ้านักพัฒนาคิดมากขึ้นและลงแรงอีกนิดจะช่วยผู้ใช้งานได้เยอะเลย เราต้องลงแรงให้มากที่สุดในการออกแบบ UX เท่าที่ resource (คน+เวลา) มี
  2. feedback การใช้จริงแบบนี้มีผลมากกับนักพัฒนา ถ้านักพัฒนาได้ฟัง ซอฟต์แวร์เวอร์ชันต่อไปจะดีขึ้นอย่างมาก

ผมคิดว่าข้อ 2 นี่สำคัญมาก ทำอย่างไรเราจะได้ฟังความคิดเห็นแท้จริงจากผู้ใช้(พูดในสิ่งที่คิดทั้งหมด) และไม่ผ่านการกรองของคนอื่นที่ไม่ใช่ผู้ใช้งานจริง ๆ

Categories
Artificial Intelligence

คอร์ส Machine Learning ฟรี 100%

Categories
การพัฒนาซอฟท์แวร์

เปิด UML class diagram ใน IntelliJ

กด Ctrl+Alt+U เพื่อเปิด UML class diagram