Hike News
Hike News

ความทรงจำปี 2021

ปี 2021 ที่ผ่านมา

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

งาน

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

ส่วนเรื่องที่ท้าทายก็เป็นการพยายาม Set up “Minio” ขึ้นมาใช้กันเองในระดับ Production เพื่อบริการลูกค้าที่ต้องการเก็บข้อมูลที่ต้องการเก็บแบบยาวนานและต้องเก็บในประเทศไทย แถมที่เราจะทำกันนี่คือทำไม่ได้ Set up แบบที่คนส่วนใหญ่ทำกัน เช่นใช้ Kubernetes ใช้ VM Ware ทำ แต่ที่เราทำทำโดยใช้ Docker swarm เสียด้วย ซึ่งตอนทำก็สนุกกับการลองผิดลองถูก ไล่อ่าน Manual ว่ามัน Set ยังไง ทำความเข้าใจ Concept ของมัน แต่สุดท้ายบริษัทก็ไม่ได้ตัดสินใจใช้ตัวที่เราทำเพราะมันต้องดูแลเยอะกว่า แล้วก็อาจเกิดปัญหาที่เราไม่เคยเจอ จะบริการลูกค้าก็อาจจะเกิดปัญหาและทำให้ลูกค้าไม่พอใจ ดังนั้นการเลือกเจ้าที่เขาเคยให้บริการลูกค้ามาแล้วมาประสบการณ์น่าจะตอบโจทย์ลูกค้ามากกว่า

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

สำหรับปีนี้ก็มีตั้งเป้าหมายเกี่ยวกับงานไว้ว่าจะลองเริ่มทำ Kubernetes cluster ใช้กันเองภายในเพื่อเตรียมตัวเปลี่ยนผ่านจาก Docker swarm ไปใช้ Kubernetes ในอนาคตที่บริษัทอาจจะย้ายไปใช้ Cloud หรือ Hardware พร้อม Kubernetes solution

ความรัก

ตอนปีที่แล้วเคยเขียนไว้ว่าเจอผู้หญิงคนนึงที่ชอบมาก แต่ตัดสินใจว่าจะไม่จีบเพราะดูแล้วไม่น่าเป็นไปได้ ก็เลยแค่มองห่างๆ พยายามช่วยเหลือเท่าที่เราพอช่วยเขาได้ แต่ทุกสิ่งที่ทุกอย่างย่อมเปลี่ยนแปลง วันนึงเขาก็จากไป จากไปแบบที่เราคิดว่าไม่น่าจะได้เจอเขาอีก ตอนนั้นสมองก็ได้ตั้งคำถามกับตัวเองว่า “ถ้าปล่อยไปแบบนี้ตัวเราจะไม่มีโอกาสพูดสิ่งที่เราอยากบอกกับเขาอีกแล้วนะ มันไม่มีโอกาสที่สองอีกแล้ว ถ้าจะทำก็ทำซะตอนนี้” ตอนนั้นก็เลยบอกความในใจกับคนที่ชอบ (ผ่าน LINE เนื่องจากสถานการณ์ โควิด) ซึ่งผลลัพธ์ก็เป็นไปอย่างที่คิดไว้แหละ คือเราก็ไม่ได้จีบเขาแบบจริงจัง ไม่ได้สร้างความประทับใจอะไร Life style ก็ไม่เหมือนกันก็สมควรที่เขาจะตอบแบบนั้น

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

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

ตามศิลปิน

ปีนี้รู้สึกเสียเงินกับศิลปินเยอะมากๆจนเริ่มคิดว่า “เฮ้ย ต้องลดลงแล้วนะ” ก็เลยเริ่มลดกิจกรรมพวกนี้ลง คัดเหลือเฉพาะคนที่เราอยากสนับสนุนจริงๆ แล้วของที่ได้ต้องคุ้มกับราคาที่เราเสียไปด้วย ตอนนี้วงที่คอยสนับสนุนคงเป็นวงของค่าย SETL Entertainment (ค่ายนี้ทำวง meltmallow มาแล้ว เพลงดีทุกเพลง) เพราะค่ายนี้ทำเพลงดีมีความหมาย ก็ถ้าใครอยากฟังเพลงเพราะความหมายดี ตั้งใจทำเพลงแบบจริงๆผมก็แนะนำเพลงและศิลปินจากค่ายนี้เลย

สุขภาพ

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

แต่ความซวยยังคงดำเนินต่อไป ตอนเกือบๆสิ้นปีอยู่ดีๆก็ป่วยเป็นไข้แล้วเป็นไข้แบบไม่หายด้วยนะ เป็นติดต่อกันหลายวันมากๆ ตอนแรกนึกว่าจะเป็นโควิดอีกรอบ แต่ไปตรวจ RT-PCR แล้วไม่ได้เป็น จนสุดท้ายเลยตัดสินใจลอง Admit นอนโรงพยาบาลให้น้ำเกลือกับดูอาการแบบละเอียด พอหมอเจาะเลือดไปตรวจก็พบว่าเป็นไข้เลือดออก “ไข้เลือดออก” เลยต้องนอนโรงพยาบาลเป็นของขวัญรับปีใหม่

อารมณ์

ปีนี้เริ่มรู้สึกว่าตัวเองเป็นคนที่อารมณ์เย็นลงไม่ขึ้นง่ายแบบสมัยก่อน ซึ่งอาจจะเป็นเพราะเริ่มมีอายุแล้ว (หนังสือเกี่ยวกับสมองที่เขียนโดยหมอที่ทำงานวิจัยเกี่ยวกับสมองได้พบว่าสมองมนุษย์จะเริ่มหยุดเจริญเติบโตเมื่ออายุประมาณเกือบ ๆ 30) อีกทั้งเมื่อต้องมาเจอปัญหาหลายๆอย่างที่ใช้เฉพาะ Logic แก้ไม่ได้ แต่ต้องใช้เวลาร่วมในการแก้ไขด้วย การจะใช้อารมณ์ร้อนเพื่อหักให้จบอาจไม่ใช่คำตอบเสมอไป การใจเย็นค่อยๆคิดค่อยๆแก้ปัญหา คิดหาวิธีที่หลากหลายและเหมาะสมมากกว่าแตกหักกันอาจจะให้ผลลัพธ์ที่ดีกว่า แต่ก็ใช่ว่าความเดือดมันจะลดลงนะ มันเดือดแต่พอใช้เหตุผลมาคิดการเดือดแลัวหักมันไม่คุ้มค่าพอก็เลยไม่ทำ แต่ถ้าเรื่องไหนมันเดือดแล้วแตกหักมันดีกว่าผมบอกว่า “แตกหัก” แน่นอน

ทำช่อง Youtube ทำ Podcast

จริงๆผมก็ทำ Blog มาหลายปีแล้ว แล้วก็เริ่มทำ Page Facebook เมื่อปี 2020 ซึ่งยอดคนดูก็ไม่เยอะเท่าไหร่ แต่ก็ทำเรื่อยๆเป็นงานอดิเรกกับอยากเผยแพร่ความรู้ที่ตัวเองเจอให้กับคนที่ผ่านเข้ามาได้มารู้ด้วย จนวันนึงผมไปเห็นคอร์สสอนเรียนเกี่ยวกับ IT คอร์สนึงซึ่งราคาหลายพันบาท ซึ่งผมรู้สึกว่า “เฮ้ย ความรู้มันขายกันแพงขนาดนี้เลยเหรอวะ” ก็เลยคิดขึ้นได้ว่าตอนเด็กเราก็ไม่มีเงินไปเรียนพิเศษอะไรแบบนี้ แล้วเราก็ชอบเห็นคนบ่นเรื่องปัญหาเหลื่อมล้ำทางการศึกษาแต่ก็ไม่ออกมาทำอะไรเป็นรูปธรรมมากกว่าการบ่น ตัวเราก็พอจะเคยติวเพื่อนมาเหมือนกันก็เลย “เอาวะ ลองทำคอร์สสอนเรียนแบบฟรีๆดูสักคอร์สละกัน” ก็เลยกำเนิดเป็นช่อง Youtube : Normal Programmer ขึ้นมา ซึ่งพอลองทำก็สนุกนะแต่มันก็เหนื่อยมากๆที่ต้องเตรียมเนื้อหา เตรียมตัวอย่าง แล้วพอเราลองไป Search ใน Youtube ก็มีคนทำคล้ายๆเราเหมือนกัน แถมมีคุณภาพดีกว่าเราอีกด้วยก็เลยพับ Project ที่จะทำสอนเรื่องอื่นต่อ ( แต่จริงๆก็มีแผนจะทำสอนเรื่อง Design Database แบบพื้นฐานอยู่เหมือนกัน แต่ต้องเตรียมตัวอย่างกับเนื้อหาก่อน )

ส่วน Podcast เนี่ยมาเริ่มเพราะอยากเล่าประสบการณ์และความรู้ในการเป็น Programmer กับเด็กจบใหม่และคนที่อยากมาเป็น Programmer ว่าวงการนี้เป็นยังไง ต้องเจออะไรบ้าง อีกทั้งเราก็มาคิดว่าตอนเรามาเริ่มเป็น Pgorammer เนี่ยเราไม่รู้เลยว่าจะต้องเจอกับอะไร การที่เราทำอะไรแบบนี้ก็น่าจะมีประโยชน์กับคนที่มาฟัง

ซึ่งการทำทั้งสองอย่างเนี่ยมีคนมาดูน้อยมาก น้อยแบบคนฟังคนดูประมาณ 1 - 2 คนต่อคลิป เห็นแล้วแบบ เรากำลังทำอะไรอยู่วะ แต่พอมาคิดอีกทีก็นึกได้ว่าเราทำเพราะอยากทำ สิ่งที่เราทำเราคิดว่ามีประโยชน์ดังนั้นมันก็ไม่มีเหตุผลอะไรที่เราจะต้องหยุดทำนี่หว่า

เป้าหมายเมื่อปีที่แล้ว

เป้าหมายปีที่แล้วที่อยากทำมีดังต่อไปนี้

  • เล่นกีต้าร์

สำหรับอันนี้จบลงด้วยไม่ได้หัดเล่นเพิ่มเลยเพราะเอากีต้าร์ไว้ที่ทำงานกะไว้เล่นหลังเลิกงานแต่ดันมาเจอ WFH เลยทำให้ไม่มีโอกาสได้หัดเล่นเลย

  • เขียน Blog ให้ถึง 150 บทความ

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

  • แปลนิยายภาษาอังกฤษ

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

  • เขียนเรื่อง Design Database

อันนี้ก็เป็นอีกความตั้งใจที่ทำไม่สำเร็จ เพราะมัวแต่เอาเวลาไปทำอย่างอื่น (เล่นเกมส์ อ่านหนังสือปรัชญา) ก็เลยไม่ได้เขียน Blog สอนการ Design database ก็ถ้าเป็นไปได้ปี 2022 คงจะทำเป็นคลิปสอน Design database กับเขียนเป็นตอนๆลง Blog แบบจริงจัง

ปี 2022 ทำอะไรดีล่ะ

  • ทำ podcast ทุกสัปดาห์

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

  • อ่านหนังสือทุกวัน

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

  • เล่นกีต้าร์

อันนี้ก็เหมือนกับปีที่แล้ว อยากเล่นเป็นจริงๆ อยากมีอารมณ์เป็นศิลปินนั่งเล่นเพลงที่อยากเล่น

  • หาอาชีพเสริมที่ได้เงินแบบจริงๆจังๆ

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

  • ลองเล่น IOT

คือจริงๆอันนี้ก็อยากเล่นหลายปีละ แต่มีปมเรื่องเกี่ยวกับเรื่อง Hardware ที่แม่งชอบมีบัคที่ไม่เกี่ยวกับ Logic ก็เลยไม่ค่อยอยากทำ แต่ดูเหมือนว่ามันมีอะไรน่าเล่นหลายอย่างก็มากๆในตอนนี้ (จริงๆมันไม่ค่อยบูมเท่าไหร่แล้ว ดังนั้นองค์ความรู้ต่างๆมีให้อ้างอิงเยอะพอแล้ว) ก็เลยเอาวะลองซื้อมาเล่นดู

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

เพลงที่ได้ฟังในปีนี้

ฉันไม่เดียงสา
Hello bye
Meltaway
ขอให้เธอเจอคนแบบเธอ
เก่งแต่เรื่องคนอื่น
สองใจไม่ผิด
บ้าบอ
กล่อง
Excellent
My Inspiration
ซ่อนแอบ
จม
สายตาหลอกกันไม่ได้
อีกไม่นาน นานแค่ไหน
ดอกไม้กับแจกัน
Love Lesson 101
Sea shore
ถามคำ
ช่วยไม่ได้
ลงใจ
Leave the Door Open
GUCCI BELT
ขอถามสักหน่อย
โอ๊ย
ขอเวลาตั้งตัว
คนเดิมของฉัน
ความจริงเป็นสิ่งที่ตาย
ดาวกับพระจันทร์

จากดับสูญสู่นิรันดร์ - From here to Eternity

จากดับสูญสู่นิรันดร์ - From here to Eternity

จากดับสูญสู่นิรันดร์ - From here to Eternity

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

พิธีกรรมแต่ละและความเชื่อแต่ละที่ไม่เหมือนกัน

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

การจัดพิธีศพของ : อินโดนิเซีย : สุลาเวสีใต้

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

เผาศพกลางแจ้ง

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

อ่านแล้วได้อะไร

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

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

ตรวจสอบ Lib ที่ใช้ว่ามีช่องโหว่หรือไม่ด้วย Dependency check

ตรวจสอบ Lib Java ที่ใช้ว่ามีช่องโหว่หรือไม่ด้วย Dependency check

Dependency Check

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

ช่องโหว่หนึ่งที่ Developer นั้นต้องรับผิดชอบคือช่องโหว่ที่มาจาก Lib ที่เรานำมาใช้ ซึ่งเป็นเรื่องปกติในการพัฒนา Software ที่เราต้องนำ Lib มาใช้เพื่อลดเวลาในการพัฒนา แต่ Lib มันก็เป็น Code ซึ่งมันก็มีโอกาสจะมีช่องโหว่ ซึ่งเมื่อมันมีช่องโหว่ Software ที่เราเขียนก็จะมีช่องโหว่ตามทันที ซึ่งวิธีการแก้ไขสำหรับการที่ Lib มีช่องโหว่นั้นก็ไม่ยากครับ ก็แค่เข้าไป Update ตัว Lib ให้เป็น version ที่เขาแก้ไขเรื่องช่องโหว่นั้นแล้ว ซึ่ง Lib ที่เป็นที่นิยมมากๆ และมีผู้พัฒนาคอยดูแลจะรีบเข้ามาแก้ไขอย่างรวดเร็ว ดังนั้นถ้าเลือกจะใช้ Lib ตัวไหน จำนวนคนที่ใช้งานและจำนวนผู้พัฒนานั้นเป็นตัวเลือกที่สำคัญในการพัฒนา

แต่ปัญหานี้ยังถูกแก้ไม่หมดเสียทีเดียวเพราะ Developer เวลาพัฒนา Software นั้นก็ไม่ทราบว่า Lib ตัวไหนนั้นมีช่องโหว่อะไร และส่วนใหญ่ก็อาจจะค้นใน Internet ว่าเขาเขียนยังไง ใช้ Lib อะไรแล้วก็ copy ตัว Lib จากตัวอย่างใน Inernet มาใช้เลย ซึ่ง Version lib ในตัวอย่างนั้นอาจเก่าแล้วและมีช่องโหว่ ซึ่งจากปัญหาที่เกิดขึ้นแบบนี้เหล่า Developer ก็เลยสร้างเครื่องมือขึ้นมาเพื่อ Scan ตัว Lib ใน Version ที่ใช้ในการพัฒนาว่ามีช่องโหว่หรือไม่ ซึ่งนั้นก็คือ Dependency Check

Dependency check with MAVEN

ท่านสามารถดูตัวอย่าง Source code ได้ที่ https://github.com/surapong-taotiamton/test-dependency-check

ตัว Dependecncy check นั้นสามารถนำไปได้ใช้ได้หลายรูปแบบทั้งแบบ command line หรือเป็น Jenkins Plugin แต่ตัวอย่างนี้จะแสดงวิธีการใช้ด้วย MAVEN (พอดีผมเขียน Project java โดยใช้ MAVEN เป็นตัว Build และ จัดการ Dependency )

โดยวิธีการใช้นั้นง่ายมากเพียงท่าน copy ส่วนที่เป็น profile ไปวางในไฟล์ pom.xml ของ project

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<project>
<dependencies>
...
</dependencies>

<!-- >
เพิ่มตรงส่วน profile เข้าไป
-->
<profiles>
<profile>
<id>scan-vulnerability</id>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>6.5.0</version>
<configuration>
<failBuildOnCVSS>1</failBuildOnCVSS>
</configuration>

<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>

</project>

จากนั้นสั่ง run ด้วย command

1
mvn -P scan-vulnerability dependency-check:check

ซึ่งในการสั่งครั้งแรกอาจจะกินเวลานานหน่อยเพราะตัว Dependency check จะทำการ Download ตัวฐานข้อมูลช่องโหว่ที่มีอยู่ใน NATIONAL VULNERABILITY DATABASE มาไว้ที่เครื่องเพื่อใช้ในการ Scan ซึ่งผลลัพธ์ที่ได้ประมาณนี้

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[ERROR] Failed to execute goal org.owasp:dependency-check-maven:6.5.0:check (default-cli) on project testdependencycheck:
[ERROR]
[ERROR] One or more dependencies were identified with vulnerabilities that have a CVSS score greater than or equal to '1.0':
[ERROR]
[ERROR] log4j-core-2.14.1.jar: CVE-2021-44228, CVE-2021-45105, CVE-2021-45046
[ERROR]
[ERROR] See the dependency-check report for more details.
[ERROR]
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

ซึ่งการดูอย่างนี้อาจไม่ละเอียดตัว Dependency check จะมีการออก Report ให้ดูแบบละเอียดได้ โดยเข้าไปที่ folder : target ที่อยู่ใน folder project

Path to Dependency check report

โดยตัวอย่าง Report จะหน้าตาแบบนี้ โดยในกรอบสีแดงจะเป็น Lib ที่มีช่องโหว่

Dependency check report

จะรู้ได้ไงว่ามาจากไหน

จากตัวอย่างจะเห็นว่ามีช่องโหว่จาก Lib : log4j 2.14.1 ซึ่งถ้าเราลองไปหาใน pom.xml จะไม่มีตรงไหนเรียกใช้ตัว log4j แบบตรงๆเลย ซึ่งจะทำให้เรางงว่าจะต้องแก้ตรงไหน ดังนั้นจึงต้องสั่งด้วยคำสั่ง

1
mvn dependency:tree

ซึ่งจะได้ผลลัพธ์ดังนี้

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[INFO] --- maven-dependency-plugin:3.2.0:tree (default-cli) @ testdependencycheck ---
[INFO] blog.surapong.example:testdependencycheck:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.6.1:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.6.1:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:2.6.1:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.6.1:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.6.1:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.2.7:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.2.7:compile
[INFO] | | | \- org.apache.logging.log4j:log4j-to-slf4j:jar:2.14.1:compile
[INFO] | | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.29:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.6.1:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-databind:jar:2.13.0:compile
[INFO] | | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.13.0:compile
[INFO] | | | \- com.fasterxml.jackson.core:jackson-core:jar:2.13.0:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.13.0:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.13.0:compile
[INFO] | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.13.0:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.6.1:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.55:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.55:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.55:compile
[INFO] | +- org.springframework:spring-web:jar:5.3.13:compile
[INFO] | | \- org.springframework:spring-beans:jar:5.3.13:compile
[INFO] | \- org.springframework:spring-webmvc:jar:5.3.13:compile
[INFO] | +- org.springframework:spring-aop:jar:5.3.13:compile
[INFO] | +- org.springframework:spring-context:jar:5.3.13:compile
[INFO] | \- org.springframework:spring-expression:jar:5.3.13:compile
[INFO] +- org.springframework.boot:spring-boot-starter-log4j2:jar:2.6.1:compile
[INFO] | +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.14.1:compile
[INFO] | | +- org.slf4j:slf4j-api:jar:1.7.32:compile
[INFO] | | \- org.apache.logging.log4j:log4j-api:jar:2.14.1:compile
[INFO] | +- org.apache.logging.log4j:log4j-core:jar:2.14.1:compile
[INFO] | +- org.apache.logging.log4j:log4j-jul:jar:2.14.1:compile
[INFO] | \- org.slf4j:jul-to-slf4j:jar:1.7.32:compile
[INFO] +- org.projectlombok:lombok:jar:1.18.22:compile (optional)
[INFO] \- org.springframework.boot:spring-boot-starter-test:jar:2.6.1:test
[INFO] +- org.springframework.boot:spring-boot-test:jar:2.6.1:test
[INFO] +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.6.1:test
[INFO] +- com.jayway.jsonpath:json-path:jar:2.6.0:test
[INFO] | \- net.minidev:json-smart:jar:2.4.7:test
[INFO] | \- net.minidev:accessors-smart:jar:2.4.7:test
[INFO] | \- org.ow2.asm:asm:jar:9.1:test
[INFO] +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:test
[INFO] | \- jakarta.activation:jakarta.activation-api:jar:1.2.2:test
[INFO] +- org.assertj:assertj-core:jar:3.21.0:test
[INFO] +- org.hamcrest:hamcrest:jar:2.2:test
[INFO] +- org.junit.jupiter:junit-jupiter:jar:5.8.1:test
[INFO] | +- org.junit.jupiter:junit-jupiter-api:jar:5.8.1:test
[INFO] | | +- org.opentest4j:opentest4j:jar:1.2.0:test
[INFO] | | +- org.junit.platform:junit-platform-commons:jar:1.8.1:test
[INFO] | | \- org.apiguardian:apiguardian-api:jar:1.1.2:test
[INFO] | +- org.junit.jupiter:junit-jupiter-params:jar:5.8.1:test
[INFO] | \- org.junit.jupiter:junit-jupiter-engine:jar:5.8.1:test
[INFO] | \- org.junit.platform:junit-platform-engine:jar:1.8.1:test
[INFO] +- org.mockito:mockito-core:jar:4.0.0:test
[INFO] | +- net.bytebuddy:byte-buddy:jar:1.11.22:test
[INFO] | +- net.bytebuddy:byte-buddy-agent:jar:1.11.22:test
[INFO] | \- org.objenesis:objenesis:jar:3.2:test
[INFO] +- org.mockito:mockito-junit-jupiter:jar:4.0.0:test
[INFO] +- org.skyscreamer:jsonassert:jar:1.5.0:test
[INFO] | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO] +- org.springframework:spring-core:jar:5.3.13:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.3.13:compile
[INFO] +- org.springframework:spring-test:jar:5.3.13:test
[INFO] \- org.xmlunit:xmlunit-core:jar:2.8.3:test

ซึ่งจากผลลัพธ์เราจะเห็นว่า log4j นั้นมาจาก org.springframework.boot:spring-boot-starter-log4j2 ซึ่งพอเรารู้ว่ามาจาก spring-boot ที่ใช้ log4j ซึ่งวิธีแก้ของแต่ละ lib ที่ใช้ก็จะแตกต่างกันไป แต่โดยส่วนใหญ่จะคือการอัพ Version ตัว Lib เป็นหลัก โดยของ spring-boot-starter-log4j2 อันนี้จะสามารถแก้ได้โดยทำตาม Link นี้ https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot ซึ่งคือการเพิ่ม properties ในไฟล์ pom.xml

1
2
3
4
5
<properties>
<java.version>11</java.version>
<log4j2.version>2.17.0</log4j2.version>
</properties>

ซึ่งเมื่อเพิ่มแล้วจะเห็นว่าไม่มีช่องโหว่แล้ว แต่สำหรับ Lib อื่นนั้นอาจจะมีวิธีแก้ต่างกันไป อาจจะอัพเดทตัว lib นั้นเป็น version ที่ใหม่กว่าเลยเป็นต้น

สรุป

สำหรับบทความนี้ก็ได้สอนวิธีการใช้ Dependecny check เพื่อหา Lib ที่มีช่องโหว่นะครับว่าทำยังไง และได้สาธิตการหาว่า Lib ที่มีช่องโหว่นั้นมาจากการประกาศตัวไหน และวิธีแก้ไขเบื้องต้น

MISBEHAVING - เศรษฐศาสตร์พฤติกรรม

MISBEHAVING - เศรษฐศาสตร์พฤติกรรม

ผมเห็นหนังสือเล่มนี้ครั้งแรกผ่านการ Review ของเพื่อนใน Facebook คนหนึ่ง โดยส่วนตัวผมไม่ค่อยชอบอ่าน Review ของคนที่ได้รับ Sponsor หรือสำนักพิมพ์เพราะเขาต้องการจะขายของอยู่แล้ว ดังนั้นเขาก็ต้องบอกว่าหนังสือเล่มนี้ดีอยู่แล้ว ดังนั้นผมจึงชอบอ่าน Review ของคนที่บุคคลธรรมดาทั่วไปมากกว่า เพราะเขาไม่มีส่วนได้ส่วนเสีย ซึ่งเพื่อนผมคนนี้ก็บอกว่าหนังสือเล่มนี้ดีในระดับที่ประทับใจ ผมก็เลยกดซื้อในงานหนังสือออนไลน์ที่ผ่านมา ซึ่งอันนี้คือเล่มหลักที่ซื้อเลย (พวก A Little History นี่เพื่อให้ได้ส่วนลด) ซึ่งพอได้เริ่มอ่านก็รู้สึกว่าดีจริงเหมือนที่เพื่อน Review

MISBEHAVING - เศรษฐศาสตร์พฤติกรรม

มนุษย์อีค่อน

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

เหตุการณ์แปลกๆของมนุษย์ธรรมดา (การขาดสติ)

ผลลัพธ์เท่ากันแต่เลือกไม่เหมือนกัน

มีผู้ป่วย 600 คนป่วยด้วยโรคชนิดหนึ่ง มีนโยบาย 2 นโยบายให้คุณเลือกเพื่อแก้ปัญหาโรคระบาดนี้

  • A : ช่วยชีวิตคนได้แน่นอน 200 คน
  • B : มีโอกาส 1 ใน 3 (33 %) ที่ทุกคนจะรอด และ 2 ใน 3 (67%) คือทุกคนตาย

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

  • A : มีคนตายแน่นอน 400 คน
  • B : มีโอกาส 1 ใน 3 (33 %) ที่ทุกคนจะรอด และ 2 ใน 3 (67%) คือทุกคนตาย

คนกลับเลือกนโยบาย B กันครับ คำถามคือถ้าเราเป็นมนุษย์อีค่อนทำไมเราไม่เลือกเหมือนกันทั้งที่ผลลัพธ์ทุกอย่างเหมือนกัน คำตอบมันมีครับคือการตัดสินของมนุษย์ธรรมดานั้นมีเหตุผลเข้ามาเกี่ยว ถ้าพูดถึงการช่วยชีวิตเราอยากช่วยแบบให้ได้แน่นอน 100% เราจะไม่เสี่ยงกับการมีชีวิตรอดแค่ 1 ใน 3 แต่กลับกันถ้าเป็นเราพูดด้วยความตาย เราจะไม่อยากให้ใครตายแน่นอนเราเลยไปเลือกข้อที่มีโอกาสเสี่ยงที่จะมีโอกาสรอดโดยมองข้ามว่าจริงๆมีคนรอดแน่นอน 200 คน อันนี้เราอาจจะรู้ลึกๆว่าจริงๆ แต่ในทางเศรษฐศาสตร์นั้นต้องการหลักฐานที่ยืนยันว่าชัดเจนกว่านี้ และเขายังมีข้้ออ้างมากมายเช่น ผู้ที่ทำการทดสอบไม่ได้ใช้เหตุผลมากพอ ตอบส่งๆ ต่างๆนาๆ

อีกตัวอย่างนึง

ถ้าคุณจ่ายเงินด้วยบัตรเครดิตคุณจะเสียเงินเพิ่ม 3 % (ว่าง่ายๆคือถ้าของ 100 จ่าย 103) คุณจะจ่ายไหม ถ้าคุณคิดแบบผมคุณก็คงจะไม่จ่ายเพราะมันเหมือนเราโดนจ่ายเพิ่มจากราคาปกติ

แต่ถ้าลองเปลี่ยนเป็นจ่ายด้วยบัตรเครดิตคุณจะต้องจ่ายในราคา 103 บาท แต่ถ้าจ่ายด้วยเงินสดคุณจะได้ส่วนลดเหลือเพียง 100 บาท คุณจะรู้สึกว่าเออจ่ายด้วยบัตรเครดิตก็ได้ มันแปลกไหม ทั้งที่ผลลัพธ์เหมือนกันแต่คุณกลับเลือกแบบนึงแต่ไม่เลือกอีกแบบนึง ในส่วนนี้มันมีเหตุผลรองรับพฤติกรรมอยู่ซึ่งนั่นก็คือในกรณีนี้การจ่าย 103 บาทเหมือนการจ่ายปกติ การจ่ายเงินแบบ 100 เป็นแค่ตัวเลือก (ซึ่งยากกว่าปกติ) ที่คุณสามารถจะไม่เลือกก็ได้

การให้คุณค่า

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

ทุนจม

อาการนี้พวกเราหลายคนก็จะเจอ เหมือนคุณไปซื้อตั๋วหนังล่วงหน้า (หรือได้ตั๋วฟรีมา) หรือสมัครฟิสเนต คุณจะมีความรู้สึกว่าคุณจะต้องไปทำดูหนังเรื่องนั้นให้ได้ ไปเล่นฟิสเนตให้ได้ อาการแบบนี้เรียกอาการทุนจมครับ คือถ้าเป็นมนุษย์อีค่อนเนี่ย เรื่องที่เสียเงินไปแล้วไม่ควรมีผลตัดสินใจ

นำสิ่งแปลกๆนี้มาประยุกต์ใช้งานจริง

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

สรุป

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

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

A Little History Of Science - วิทยาศาสตร์ ประวัติศาสตร์ การไขความจริงแห่งสรรพสิ่ง

A Little History Of Science - วิทยาศาสตร์ ประวัติศาสตร์ การไขความจริงแห่งสรรพสิ่ง

A Little History Of Science - วิทยาศาสตร์ ประวัติศาสตร์ การไขความจริงแห่งสรรพสิ่ง

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

วิทยาศาสตร์ยุคแรกคือการมองฟ้าและนับ

อันนี้ผมก็ประหลาดใจเหมือนกันว่าทำไมเป็นการมองฟ้ากับการนับ แต่พอมาอ่านก็เข้าใจเพราะสมัยก่อนมนุษย์ยังไม่มีความรู้อะไรเกี่ยวกับวิทยาศาสตร์เลย สิ่งแรกที่มนุษย์เราทำก็เลยเป็นการมองฟ้าดูดวงดาว ดูพระอาทิตย์ พระจันทร์ ดูว่ามันขึ้นลงยังไง จากนั้นก็เริ่มดูว่า 1 วันมันนานเท่าไหร่ จนชาวบาโบโลนสร้างรูปแบบการนับวันและเวลาแบบ 24 ชั่วโมงที่มาที่เราใช้กันในปัจจุบัน รู้ว่า 1 ปีมี 365 วัน โดยใช้การเฝ้ามองว่าพระอาทิตย์กลับมาอยู่ที่ตำแหน่งเดิมนั้นใช้เวลานานเท่าไหร่ พวกเขาเริ่มคำนวณข้างขึ้นข้างแรมได้แม่นยำ เริ่มเอาไปใช้คาดการณ์ฤดูกาลได้ในการปลูกพืชผลได้ จริงๆไม่ได้มีแค่บาบิโลนนะครับ ที่จีน (จีนนี่แม่นมากถึงขนาดรู้ว่า 1 ปีมี 365 1 / 4 วัน) อียิปต์ ก็มีการนับเวลาแบบนี้เหมือนกัน นี่เลยทำให้เห็นว่ามนุษย์ทุกที่ก็พยายามทำในเรื่องคล้ายๆกัน

การแพทย์ในยุคกรีก

การแพทย์ในสมัยเราเป็นอะไรที่แบบดูเป็นเรื่องที่เข้าใจได้ไม่ยาก เรารู้ระบบการย่อยอาหาร ระบบการไหลเวียนโลหิต รู้ว่าเราสามารถติดเชื้อโรคได้จากไวรัส แต่ถ้าลองย้อนกลับไปเมื่อ 2000 - 3000 ปีที่แล้วล่ะ ในยุคที่เราไม่รู้อะไรเกี่ยวกับร่างกาย เราไม่รู้ด้วยซ้ำว่าเราป่วยเพราะอะไร ในสภาพแบบนั้นมันเป็นยังไง หนังสือเล่มนี้เล่าตั้งแต่มนุษย์คิดว่าโรคเกิดจากธาตุในร่างกายไม่เท่ากัน บ้างก็ว่ามาจากเทพ (ซึ่งดูเหมือนคนจะเชื่อว่ามาจากเทพมากกว่า) แต่ก็มีเหล่าคนที่ไม่คิดเหล่านั้น “ฮิปโปคราตีส” ผู้ได้ชือว่าเป็นบิดาของการแพทย์คือหนึ่งในกลุ่มคนเหล่านั้น ฮิปโปคราตีสเชื่อว่าโรคภัยไข้เจ็บทุกชนิดเกิดจากธรรมชาติ ไม่ได้มาจากเทพ โรคอันโด่งดังสมัยก่อนคือโรคลมชัก โรคนี้ถูกมองว่าเป็นอาการของเจ้าประทับทรง ฮิปโปคราตีสบอกว่ามันคือโรคที่เกิดขึ้นตามธรรมชาติซึ่งโคตรจะขัดกับความเชื่อกระแสหลักในสมัยนั้นที่เชื่อว่ามาจากเทพเจ้า อีกทั้งฮิปโปคราตีสยังคิดค้นวิธีการรักษาโรคโดยเขาคิดว่าโรคนั้นเกิดจากการที่ของเหลวในร่างกายไม่สมดุล ซึ่งเขาสังเกตจากการอาการของโรคที่เขาพบเจอเช่น เป็นหวัดมีน้ำมูก มีน้ำเหลืองจากแผล เขาจึงคิดวิธีรักษาโดยการทำให้ของเหลวในร่างกายสมดุล โดยมีวิธีรักษาโดยการดูอาการบ่งบอกโรค และเริ่มรักษา โดยการรักษานั้นเป็นการรักษาแบบติดตามโรคไปเรื่อยๆด้วย ดูว่าดีขึ้นไหมในแต่ละบุคคล (เหมือนหมอปัจจุบันเลย เลยไม่แปลกใจว่าแกเลยเป็นบิดาทางการแพทย์) อีกทั้งแกยังเป็นคนคิดจรรยาบรรณของแพทย์ด้วยว่า จะต้องรักษาผู้ป่วยด้วยสติปัญญาและความสามารถสูงสุด และจะไม่ใช้ความรู้ทางการแพทย์ในการทำร้ายผู้ป่วย

วิทยาศาสตร์คือการเรียนรู้สิ่งที่มีค้นพบไปหมดแล้ว

ดินแดนตะวันตกดินแดนที่เรามักเห็นว่านักวิทยาศาสตร์เก่งๆดังๆจะอยู่แถวนั้น เช่น นิวตัน (ที่หลายคนเกลียดแกเพราะการคิดค้น calculus และกลายมาเป็นข้อสอบยากๆ) จริงๆแล้ววิทยาศาสตร์นั้นถูกแช่แข็งที่ตะวันตกเป็นเวลาหลายร้อยปี ซึ่งเกิดจากเมื่อศาสนาเอาวิทยาศาสตร์มาใช้อธิบายหลายๆเรื่อง ไม่ว่าจะเป็นโลกเป็นศูนย์กลางจักรวาล (คิดค้นโดย ปโตเลมี) และอีกหลายๆเรื่อง พอเอาความรู้ตอนนั้นมาใช้อธิบายศาสนาความรู้เหล่านั้นก็จะถูกจารึกว่ามันคือคำพูดของพระเจ้า พระเจ้าทรงทำแบบนั้นแบบนี้ คราวนี้พอมันเป็นแบบนั้นศาสนาก็พยายามควบคุมไม่ให้วิทยาศาสตร์ออกนอกกรอบ ถึงขนาดมีการพูดเลยว่า “วิทยาศาสตร์คือการเรียนรู้สิ่งที่มีค้นพบไปหมดแล้ว” พูดโดยนักบุญออกัสติน แต่ไม่ใช่ว่าศาสนาจะสร้างแต่เรื่องไม่ดี จริงๆพวกเขาก็ที่ต้องการให้วิทยาศาสตร์นั้นมีแบบแผนเดียวกัน เขาเลยสร้างสิ่งที่เรียกมหาวิทยาลัย (ที่เราเรียนกันในปัจจุบันเนี่ยแหละ) เพื่อให้การศึกษา ความรู้ที่สอนจะได้เหมือนกัน ไม่แปลกประหลาด แล้วก็กลายเป็นรากฐานการศึกษามาจนถึงปัจจุบัน ซึ่งเนื่องจากปัญหาที่ศาสนาเข้ามาควบคุมความรู้ทางวิทยาศาสตร์เหล่านี้ ทุกคนก็เลยเชื่อตามกันไปหมด ขนาด “โคเปอร์นิคัส” ทำการสังเกตและทดลองคำนวณจนสามารถตั้งทฤษฎีที่ว่าโลกไม่ใช่ศูนย์กลางจักรวาลที่ ดาวเคราะห์ ดวงอาทิตย์ พระจันทร์ไม่ได้หมุนรอบโลก แต่สิ่งที่ว่ามาหมุนรอบดวงอาทิตย์ต่างหาก เขาถึงขนาดทำการคำนวณให้เห็นว่า ถ้าเราคำนวณถ้าเปลี่ยนไปให้ทุกอย่างหมุนรอบดวงอาทิตย์เนี่ย การคำนวณจะเป็นเหตุเป็นผลง่ายขึ้น ไม่ต้องทำการเพิ่มการทดรอบการหมุน (เพื่อให้สมการการหมุนรอบโลกนั้นถูกต้อง) แต่สุดท้ายเมื่อมันขัดกับความรู้เก่าที่ศาสนาเอามาบอกแล้วว่าพระเจ้าสร้างโลกให้เป็นศูนย์กลางของทุกสิ่ง ทฤษฏีนี้ก็ถูกต่อต้านและเป็นความคิดที่อันตราย ใครไปเห็นด้วยนี่โอกาสตายสูงกันเลยทีเดียวจนต้องใช้เวลาเกือบ 100 ปี กว่าจะมีนักวิทยาศาสตร์หลายๆคนได้ทำการศึกษาและบอกว่ามันคือความจริง งัดข้อกับศาสนาจนทำให้สุดท้ายแนวคิดว่าโลกและดาวเคราะห์หมุนรอบดวงอาทิตย์จะกลายเป็นแนวคิดหลักแบบในปัจจุบัน

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

สรุป

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

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

What Caesar Did for My Salad - ตำนานอาหารโลก เบื้องหลังจานโปรดโดนใจคนทั่วโลก

What Caesar Did for My Salad - ตำนานอาหารโลก เบื้องหลังจานโปรดโดนใจคนทั่วโลก

What Caesar Did for My Salad - ตำนานอาหารโลก เบื้องหลังจานโปรดโดนใจคนทั่วโลก

หนังสือเล่มนี้ซื้อมาตอนงานหนังสือ(ออนไลน์) ซึ่งซื้อเพราะมันต้องซื้อให้ถึงราคานึงถึงจะได้โปรลด 15 - 20% จริงๆผมมีหนังสือที่อยากอ่านอยู่แล้วคือพวก Designing your work life หนังสือเล่มนี้เลยกลายเป็นของที่ซื้อไปเพื่อได้ส่วนลด แต่จริงๆก็กะซื้อมาอ่านเพิ่มความรู้เวลาไปคุยกับสาวด้วย คือผมมีปัญหาเกี่ยวกับคุยกับมนุษย์นอกสายคอมพิวเตอร์ คือเราไม่สามารถเอาหัวข้อที่เราทำงานไปคุยกับคนเหล่านั้นได้เลย (แต่ถ้าคุยกับคนสายงานเดียวกันนี่คุยกันเย็นก็คุยได้เรื่อยๆ) ก็เลยต้องหาหนังสือนอกสายมาอ่านบ้าง โอเคเรานอกเรื่องมาเยอะแล้วมาพูดถึงหนังสือเล่มนี้ดีกว่า หนังสือเล่มนี้พูดถึงที่มาของอาหารจานดังๆในโลกว่ามีที่มาอย่างไร ซึ่งต้องบอกว่าเขาใช้คำว่า “ตำนาน” ดังนั้นอาจจะไม่ตรงกับที่คุณได้ยินมาเพราะบางทีเรื่องเล่าที่คุณฟังมาอาจจะเป็นอีกเวอร์ชันนึงซึ่งหนังสือเล่มนี้เล่าแทบทุกเวอร์ชันของที่มาพร้อมบอกว่าอันไหนน่าเชื่อถือที่สุด (ส่วนใหญ่หนังสือให้ค่าความเชื่อถือมาจากการมีบันทึกเป็นตำราอาหาร หรือหนังสือพิมพ์เป็นหลัก)

แฮมเบอร์เกอร์ : อาหารเยอรมันที่กลายเป็นสัญลักษณ์ของอเมริกา

ตอนอ่านครั้งแรกนี่แบบใช่เหรอวะ มั่วรึเปล่าแต่พออ่านเขาก็มีหลักฐานมายืนยันว่ามันมาจากชาวเยอรมันที่อพยพจากเยอรมันมาอเมริกา โดยเดินทางผ่านบริษัท Hamburg America Line เข้ามา โดยชาวเยอรมันเอาอาหารประเภทเนื้อบดกินกับขนมปังมาของบ้านเกิดมาด้วย ซึ่งก็ได้รับความนิยมจากคนอเมริกามาก คราวนี้เนื่องจากไม่รู้ชื่อว่ามันคืออาหารอะไรก็เลยตั้งชื่อว่า Hamburgers (ผู้เดินทางมากับ Hamburg America Line) พอมารู้ที่มาของชื่อแบบนี้แล้วก็แบบเฮ้ยมึงตั้งชื่ออาหารกันง่ายๆแบบนี้เลยเหรอวะ

แซนด์วิช : แซนด์วิชคือชื่อเมือง ส่วนคนที่คิดคือผู้ปกครองเมืองนั้น

ตอนอ่านครั้งแรกแบบใช่เหรอวะ (อีกแล้ว) แต่พอมาอ่านมันมากจากคำว่า sand ที่แปลว่า ทราย wic แปลว่าหมู่บ้าน มันเลยเป็นหมู่บ้านทราย (หมู่บ้านนี้ติดทะเลนะครับ) ซึ่งการที่เป็นหมู่บ้านติดทะเลเลยกลายเป็นเมืองท่าแถมเป็นเมืองท่าที่มีความสำคัญในอังกฤษจนมีการตั้งคนมาปกครองเมืองนี้โดยเฉพาะ ซึ่งคนที่ครองเมืองนี้คนที่ 4 เป็นคนที่เอาแต่เล่นการพนันโดยเฉพาะไพ่เป็นชีวิตจิตใจจนขนาดที่ไม่ไปกินข้าวที่ไหนนั่งเล่นไพ่อย่างเดียว คราวนี้เวลากินอาหารจะใช้มือจับอาหารเข้าปากมือก็เลยเปื้อน พอมือเปื้อนก็เลยทำให้คนรู้ว่าไอหมอนี่มันถือไพ่อะไร หลังจากที่มีการคืนไพ่เข้าสำรับ พอรู้ก็พอเดาได้ว่าไอหมอนี่ชอบเล่นไพ่สไตล์ไหนซึ่งอาจทำให้แพ้ได้ แกก็เลยคิดวิธีกินอาหารโดยมือไม่เปื้อนเลยเอาขนมปังมาใช้จับแทน (แบบนี้ก็ได้เหรอวะ) ซึ่งวิธีการนี้เป็นการแพร่หลายเอามากๆจนเรียกเลยเรียกอาหารแบบนี้ว่า แซนด์วิช ตามชื่อการคนที่ครองเมืองแซนด์วิชที่ติดพนันท่านนั้น

พาย : เป็นชื่อนกที่ชอบสะสมอาหาร

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

ฟิสแอนด์ชิปส์ : ปลาไม่ถือว่าเป็นเนื้อ

ตอนอ่านเรื่องนี้คือแบบได้เหรอวะ คือในอังกฤษมีการรณรงค์ให้ไม่คนในศาสนาคริสต์เนี่ยละเว้นการกินเนื้อสัตว์ (พึ่งรู้ว่าคนคริสต์ก็มีการละเว้นเนื้อสัตว์แบบนี้) แต่ด้วยความอยากกินของคน (แหม่ก็เนื้อมันอร่อยๆอะนะ) ก็เลยไปอ่านพระคัมภีร์ก็พบว่า ปลา ไม่จัดว่าเป็นเนื้อสัตว์ครับ เขาก็เลยปิ้งไอเดียเอาปลามาทอดขายกันในวันศุกร์ ซึ่งก็น่าจะรู้นะครับว่ามันจะขายดีขนาดไหน จนฟิสแอนด์ชิปส์เนี่ยเป็นอาหารยอดนิยมอันดับต้นๆของอังกฤษไปเลย

สรุป

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

Neurofitness - สมองฟิต-ฟิตสมอง เคล็ดลับเพิ่มศักยภาพและปลุกความคิดสร้างสรรค์

Neurofitness - สมองฟิต-ฟิตสมอง เคล็ดลับเพิ่มศักยภาพและปลุกความคิดสร้างสรรค์

Neurofitness - สมองฟิต-ฟิตสมอง เคล็ดลับเพิ่มศักยภาพและปลุกความคิดสร้างสรรค์

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

ตัดสมองออกซีกนึงแล้วไม่ตาย

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

รักษาด้วยการช็อตไฟฟ้า

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

สรุป

หนังสือเล่มนี้เล่าเรื่องเกี่ยวกับสมองในแง่มุมที่เราไม่เคยรู้ ในเล่มยังมีกรณีที่น่าสนใจอีกหลายเรื่องที่ผมไม่ได้เล่า ไม่ว่าจะเป็นการกินแบบคีโตจินิกที่ดังๆนั้น จริงๆคิดค้นขึ้นมาเพื่อรักษาอาการของคนที่เป็นลมชัก การทดลองฝังเครื่องกระตุ้นไฟฟ้าในสมองของวัวกระทิงเพื่อควบคุมให้วัวกระทิงวิ่งวนซ้ายวนขวา หรือแม้กระทั่งให้มันหยุดวิ่งไล่ขวิดคน (หรือที่มาทาดอร์หยุดวัวกระทิงได้นี่อาจจะมาจากการใช้การควบคุมแบบนี้ก็ได้นะ) อีกทั้งยังช่วยทำลายความเชื่อผิดๆ ความเข้าใจผิดๆที่เราเข้าใจเกี่ยวกับสมอง สำหรับใครที่ว่างๆไม่มีอะไรทำ หรืออย่างรู้เกี่ยวกับสมองผมแนะนำหนังสือเล่มนี้เลย แต่ถ้าใครคาดหวังว่าหนังสือเล่มนี้จะบอกวิธีทำให้ฉลาดขึ้น คิดเลขเร็วขึ้น เป็นข้อๆเหมือนหนังสือ How to อันนี้ผมไม่แนะนำให้อ่านครับ

TALK LIKE TED - 9 เคล็ดลับการนำเสนอให้เปี่ยมพลัง ตรึงใจ และสร้างสรรค์

TALK LIKE TED - 9 เคล็ดลับการนำเสนอให้เปี่ยมพลัง ตรึงใจ และสร้างสรรค์

TALK LIKE TED - 9 เคล็ดลับการนำเสนอให้เปี่ยมพลัง ตรึงใจ และสร้างสรรค์

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

หนังสือมีทฤษฏีและการทดลองทางวิทยาศาสตร์รองรับ

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

คนชอบเรื่องเล่า

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

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

  1. เรื่องราวส่วนตัว ก็ง่ายๆครับ มันคือเรื่องราวของตัวคุณเองซึ่งตัวอย่างก็เรื่องราวของ ดร.กฤตินี พงษ์ธนเลิศ ที่เล่าเรื่องของตัวเอง

  2. เรื่องของคนอื่น ก็ง่ายๆครับ เรื่องเล่าต่างๆของคนอื่น ไม่ว่าจะคนดัง หรือ อะไรก็ตาม

  3. เรื่องเล่าของแบรนค์ดังๆ อันนี้ก็ยกตัวอย่างเช่น Google ที่เริ่มจากบริษัทเล็กๆ วิศวกรไม่กี่คน แต่สามารถพัฒนาขึ้นมายิ่งใหญ่ในปัจจุบัน

ให้ข้อมูลใหม่กับผู้ฟัง

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

เวลาที่ใช้ในการนำเสนอ

หนังสือบอกว่าเวลาที่ใช้ในการนำเสนอของ TED คือไม่เกิน 18 นาที ซึ่งจากสถิติของ TED พบว่า Video ที่ผู้ชมใช้ความสนใจเยอะจะอยู่ในช่วงเวลาดังกล่าว อีกทั้งมีการศึกษาเรื่อง “การคั่งค้างในการรู้คิด” ของคน กล่าวคือถ้าคุณต้องฟังอะไรนานๆสมองจะค่อยๆล้าจนสุดท้ายจะไม่ค่อยสนใจ ซึ่งก็ไม่แปลกใจที่เวลาเรียน 3 ชั่วโมงตอนอุดมศึกษามันทรมานแถมไม่ค่อยรู้เรื่องเท่ากับเรียนตอนมัธยมที่เรียนแค่ 50 นาที โดยหนังสือแนะนำว่าควรนำเสนอแค่ 18 นาที ถ้านานกว่านั้นก็ควรหยุดจากเรื่องหลักไปเล่าเรื่องอื่น อาจจะเป็นเรื่องเล่า มุกตลก เพื่อให้สมองผู้ฟังได้พัก จากนั้นค่อยกลับเข้าเนื้อหาหลัก ซึ่งพอมาคิดดูแล้วอาจารย์ที่สอนตอนเรียนมหาวิทยาลัยท่านนึงก็ใช้เทคนิคประมาณนี้ อาจารย์จะสอนทฤษฎีพอจบเรื่องนั้น แกก็จะตัดไปเล่าเรื่องอื่น เช่น ตอนไปเรียนต่างประเทศแรกๆ นั่งเครื่องบินแล้วเจอคนนั่งข้างเป็นใคร อะไรประมาณนี้ แล้วค่อยกลับไปสอนต่อ ซึ่งน่าแปลกใจที่เราเข้าใจวิชานี้มากกว่าวิชาที่สอนลากยาว 3 ชั่วโมง

สรุป

ในหนังสือมีอีกหลายเทคนิคสำหรับการนำเสนอ ซึ่งถ้าใครอยากได้เทคนิคที่ทำให้การนำเสนอให้ไม่น่าเบื่อน่าจดจำอีกทั้งมีทฤษฎีรองรับ ก็ลองไปหาซื้อมาอ่านกันดูครับ

History Of Reading - โลกในมือนักอ่าน

History Of Reading - โลกในมือนักอ่าน

History Of Reading - โลกในมือนักอ่าน

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

การอ่านในหลายๆแง่มุม

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

การอ่านต้องออกเสียง

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

เมื่ออ่านภาพ

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

ภาพจากหนังสือในเรื่อง ninth gate (เป็นเรื่องแต่ง ไม่ใช่เรื่องจริง แต่มันเข้ากับเรื่องการตีความดีเลยเอาทำให้เห็น)

เมื่อฟังคนอื่นอ่าน

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

จริงๆผมรู้จักการเรื่องฟังคนอื่นอ่านและอ่านให้คนอื่นฟังที่คิวบาผ่านละครเวทีเรื่องนึง แต่ตอนนั้นคิดว่ามันเป็นเรื่องแต่งที่มีการจ้างนักอ่านมาอ่านหนังสือให้คนอื่นฟัง แต่พอมาอ่านหนังสือเล่มนี้แล้วแบบ เฮ้ย แม่งเรื่องจริงนี่หว่า

อำนาจของหนังสือ

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

สรุป

หนังสือ History Of Reading - โลกในมือนักอ่าน นั้นได้บอกเล่าเรื่องในแง่มุมต่างๆของการอ่าน และการเขียน ไว้มากมาย บางมุมมองเราก็ไม่รู้ว่ามันมีอยู่ด้วย โดยที่ผมเล่าไปนั้นเป็นแค่ส่วนน้อยมากๆ ในเล่มมีพูดถึง การแปลหนังสือจากภาษานึงเป็นอีกภาษานึงนั้นมันมีผลกระทบมากมาย หรือจะเป็นเรื่องของหนังสือนั้นเป็นภัยต่อการปกครองถึงขนาดออกกฏหมายจำกัดการอ่าน หรือ การปฏิวัติรูปแบบการผลิตหนังสือจนทำให้หนังสือเป็นที่แพร่หลาย ความบ้าคลั่งในการอยากครอบครองหนังสือ การเขียนหนังสือเพื่ออ่านเอง และอื่นๆ ซึ่งด้วยจำนวนหน้าหนังสือถึง 500 กว่าหน้า (จริงๆมากกว่านี้แต่เป็นบรรณานุกรม) กับราคา 495 บาทก็ถือว่าคุ้มมากมายทีเดียว สำหรับใครที่อ่านหนังสือฆ่าเวลา เก็บเรื่องน่าสนใจไว้เป็นความรู้ ไว้คุยกับเพื่อน ผมก็ขอแนะนำเลย ส่วนข้อเสียของหนังสือเล่มนี้คือมักจะอ้างถึงหนังสือต่างประเทศ ซึ่งผมเองก็ไม่รู้ว่ามันคือเรื่องอะไร บางทีเป็นหนังสือเยอรมันแล้วอ้างมันขึ้นมาแบบไม่มีการปูพื้นมาก่อนว่ามันคือหนังสืออะไร ซึ่งอ่านแล้วเราก็จะงงๆ ต้องไป Search หาว่ามันคือหนังสืออะไร พูดถึงอะไร

ปล. สำหรับใครจะเอาหนังสือเล่มนี้ไปรองขาโต๊ะก็แนะนำนะครับ เล่มหนาดี ราคาประมาณ 495 บาท ก็ถือเป็นที่รองขาโต๊ะชั้นดี แถมทำให้คุณดูดีมีรสนิยมไปอีกแบบเหมือนยุคปี ค.ศ. 1900 เลย

Rest api คืออะไร

Rest api คืออะไร

ตอนทำงานใหม่เมื่อประมาณปี ค.ศ. 2015 (พ.ศ. 2558) ช่วงนั้นนี่วงการ IT นี่กำลังบูมมากมีเรื่อง Start up ที่กำลังมาใหม่ๆ ใครๆก็พากันไปสนใจ ตอนผมกำลังจะจบมีบริษัทใหญ่ๆออกมาหาคนเข้าไปทำงานบริษัท Start up มากมาย หนึ่งในสิ่งที่เขาเอามาขายคือบริษัทเราทำ Rest api ซึ่งก็สร้างความสงสัยให้ผมว่าไอ้ Rest api เนี่ยมันคืออะไรวะ ทำไมต้องเอามาเป็นจุดขายเรียกเด็กจบใหม่ไปทำงานด้วย พอเริ่มทำงานก็เริ่มทำการค้นหาว่าไอ Rest api มันคืออะไร มันดีตรงไหน ซึ่งก็โชคร้ายที่บริษัทที่ผมไปทำงานไม่ได้พัฒนา Application ที่เป็นแบบ Rest api ทำให้ไม่มีคนสอน คราวนี้พอเราไปหาอ่านว่า Rest api ก็เจอข้อมูลมากมาย ซึ่งพาเราหลงไปกับการ Implementation แบบ Search “Rest api” ก็ไปเจอแต่วิธี Implement จนเราหลงว่ามันคือการทำอะไรแบบนั้น จนไป Search เจอคนที่พูดแค่เรื่องทฤษฎีอย่างเดียว

สำหรับใครอยากอ่าน best pracetice สามารถอ่านได้ที่ : https://blog.2my.xyz/2021/01/24/guidelines-best-practices-for-design-restful-api/ เขาเขียนได้ละเอียดมาก แต่สำหรับใครอยากอ่านแบบบ้านๆเล่าเรื่องไปเรื่อยๆก็อ่านต่อด้านล่าง

ยกตัวอย่างเขียน App ร้านขายของ

ถ้าเราเขียน Web application แบบธรรมดาเราจะใช้ HTTP POST ยิง JSON ไป Backend โดย URL ที่ยิงไปก็แล้วแต่จะตั้งกัน

Create Product

URL ( Http method : POST )

1
/api/create-product

Request Body

1
2
3
4
{
productName : string,
price : double
}

Response Body

1
2
3
4
5
{
productId : string,
productName : string,
price : double
}

Update Product

URL ( Http method : POST )

1
/api/update-product

Request Body

1
2
3
4
5
{
productId : string,
productName : string,
price : double
}

Response Body

1
2
3
4
5
{
productId : string,
productName : string,
price : double
}

Delete product

URL ( Http method : POST )

1
/api/delete-product/{productId}

Response Body

ไม่มี Body ดูแค่ http status ว่าเป็นตระกูล 200 ไหม

Get product

URL ( Http method : POST )

1
/api/get-product

Request Body

1
2
3
{
productId : string
}

Response Body

1
2
3
4
5
{
productId : string,
productName : string,
price : double
}

Search Product

URL ( Http method : POST )

1
/api/search-product

Request boyd

1
2
3
4
5
{
productName : string,
startPrice : double,
stopPrice : double
}

Response Body

1
2
3
4
5
6
7
8
9
10
11
12
13
[
{
productId : string,
productName : string,
price : double
},
{
productId : string,
productName : string,
price : double
},
....
]

เรา Design API ของ Web application เท่านี้ก็สามารถทำงานได้แล้วใช่มะ คราวนี้มันก็ไม่มีแนวทางอะไรกันใช่ไหมครับ ใครอยากจะตั้งชื่ออะไรแบบไหนก็ได้

แต่คราวนี้ถ้าเราสังเกตุดีๆจะเห็นว่า

  1. ส่วนใหญ่ที่เราสั่งงานกับ Backend เนี่ยส่วนใหญ่มันเป็น Resource นะ ถ้าดูจากตัวอย่างเรายุ่งกับ Product ซึ่งเป็น Resource ของระบบ
  2. ตัว Http method เนี่ยมันมีอย่างอื่นนอกจาก POST เช่น GET , PUT , PATCH , DELETE ซึ่งจะเห็นว่ามี GET, DELETE อยู่แล้ว ถ้าหา Http method มาให้ CREATE, UPDATE, SEARCH ได้ก็จะครบทุกการกระทำที่ต้องการ

เฮ้ยงั้นเราทำ URL ที่สื่อถึง Resource และจะทำอะไรเกี่ยวกับ Resource ก็ให้ดูผ่าน Http Method ด้วยแนวคิดนี้จึงเกิดตัวแนวทางการสร้าง API แบบใหม่

เปลี่ยนไปเป็น API แบบ REST API

Rest api ก็แค่เพียงการกำหนด API รูปแบบหนึ่งเท่านั้นเอง เรามาลองดูว่าถ้าเปลี่ยนจากแบบเก่าเป็น Rest API จะมีอะไรเปลี่ยนแปลงไปบ้าง

Create Product

URL ( Http method : POST )

1
/api/products

Request Body

1
2
3
4
{
productName : string,
price : double
}

Response Body

1
2
3
4
5
{
productId : string,
productName : string,
price : double
}

ในส่วนของ Create product จะมีการเปลี่ยนแปลงตรงส่วน URL ให้เป็น /api/products จะเห็นว่าตัว url จะสื่อว่าตอนนี้เรากำลังจะจัดการกับ product

Update Product

URL ( Http method : PUT )

1
/api/products/{productId}

Url path

productId คือ productId ของ Product

Request Body

1
2
3
4
5
{
productId : string,
productName : string,
price : double
}

Response Body

1
2
3
4
5
{
productId : string,
productName : string,
price : double
}

สิ่งที่เปลี่ยนไปของการ Update product คือ

  1. เปลี่ยน URL ไปเป็น /api/products/{productId}
  2. เปลี่ยนไปใช้ Http method : PUT

จะเห็นว่ามีการกำหนดว่าใน url จะต้องมี productId อยู่ใน url ด้วย ซึ่งพอมาอ่าน url เราจะเข้าใจว่าเรากำลังจะทำอะไรเกี่ยวกับ product ที่มี productId นี้อยู่ ซึ่งถ้าเราบอกว่า PUT คือการ Update ก็จะกลายเป็น เราทำการ Update product ที่มี productId นี้อยู่

Delete product

URL ( Http method : DELETE )

1
/api/products/{productId}

Url path

productId คือ productId ของ Product

Response Body

ไม่มี Body ดูแค่ http status ว่าเป็นตระกูล 200 ไหม

สิ่งที่เปลี่ยนไปของการ Delete product คือ

  1. เปลี่ยน URL ไปเป็น /api/products/{productId}
  2. เปลี่ยนไปใช้ Http method : DELETE

อันนี้ก็จะคล้ายๆกับ Update เลยแต่เปลี่ยนเป็น Http method เป็น DELETE พอเราอ่าน Http method และ URL เราก็จะเข้าใจว่ามันคือ การ Delete product ที่มี productId นี้

Get product

URL ( Http method : GET )

1
/api/products/{productId}

Url path

productId คือ productId ของ Product

Response Body

1
2
3
4
5
{
productId : string,
productName : string,
price : double
}

สิ่งที่เปลี่ยนไปของการ Get product คือเปลี่ยนไปใช้ Http method : GET พอเราอ่านโดยใช้ URL และ Http method รวมกันจะได้เป็น ต้องการดึงข้อมูล Product ที่มี productId นี้

Search Product

URL ( Http method : GET )

1
/api/products/{productId}?productName={productNameValue}&startPrice={startPriceValue}&stopPrice={stopPriceValue}

Url path

productId คือ productId ของ Product

Query parameter

  • productName = ใช้ Search หา Product ที่มีค่าตรงกับที่ส่งไป
  • startPriceValue = ใช้ Search หาค่า Product ที่มีค่า price มากกว่าหรือเท่ากับค่าที่ส่งไป
  • stopPriceValue = ใช้ Search หาค่า Product ที่มีค่า price น้อยกว่าหรือเท่ากับค่าที่ส่งไป

Response Body

1
2
3
4
5
6
7
8
9
10
11
12
13
[
{
productId : string,
productName : string,
price : double
},
{
productId : string,
productName : string,
price : double
},
....
]

สิ่งที่เปลี่ยนไปของการ Search Product คือเปลี่ยนไปใช้ Http method : GET และย้ายพวกเงื่อนไขการค้นหาที่อยู่ใน Request body ย้ายไปอยู่ที่ Query parameter แทน ซึ่งพอเราอ่าน url, http method, query parameter ก็จะเข้าใจว่าต้องการ search ข้อมูล product ตามเงื่อนไขใน Query parameter

มันก็แค่เปลี่ยนรูปแบบการกำหนด API

ใช่ครับทั้งหมดที่กล่าวมาของ Rest api นั้นก็แค่การเปลี่ยนรูปแบบการกำหนด api เท่านั้นเอง โดยผมทำตารางการเปลี่ยนแปลงไว้ด้านล่างลองไปดูครับ

Http method

Action Old style api Rest api
Get Resource POST GET
Create Resource POST POST
Update Resource POST PUT
Delete Resource POST DELETE
Search Resource POST GET

URL

Action Old style api Rest api
Get Resource /api/get-product /api/products/{productId}
Create Resource /api/create-product /api/products
Update Resource /api/update-product /api/products/{productId}
Delete Resource /api/delete-product /api/products/{productId}
Search Resource /api/search-product /api/products?query-parameter={value}

ถ้าถามว่าการเปลี่ยนตรงนี้มีผลกระทบอะไรกับ Code ที่เขียนไปแล้วบ้างก็ต้องบอกว่ากระทบแหละครับ แต่มันก็ไม่ได้กระทบอะไรมากเลยมันแค่กระทบตรงส่วนที่เป็น Code ตรง Controller เท่านั้นเอง

ตัวอย่าง Code เปรียบเทียบระหว่าง Get แบบ Old และ Rest Api

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Controller
public class ProductController {

@Autowired
private ProductService productService;

// REST API STYLE

@GetMapping("/api/products/{productId}")
private @ResponseBody ProductDto restStyleGet(
@RequestPart("productId") String productId
) {
return productService.getProduct(productId);
}

// OLD API STYLE

@PostMapping("/api/get-product")
private @ResponseBody ProductDto oldStyleGet(
@RequestBody GetProductDto request
) {
return productService.getProduct(request.getProductId());
}

}

ซึ่งจะเห็นว่ามีความแตกต่างอยู่ตรงวิธีที่จะเอาค่า productId มาใช้กับ productService โดยแบบ Rest api นั้นจะเอาค่าจาก URL path ส่วนแบบเก่านั้นจะใช้จาก Request body แทน

สรุป

Rest api ก็คือรูปแบบการกำหนด API รูปแบบหนึ่งโดยจะใช้ Http method และ URL มาใช้ประโยชน์ ซึ่งประโยชน์อย่างหนึ่งที่ผมเห็นจากการลองทำ Rest api คือมันทำให้เข้าใจว่าเรากำลังจะทำอะไรกับ Resource นี้ผ่าน URL ที่เราได้อ่านเลย ข้อดีอีกข้อของการทำ Rest Api คือความสามารถเรื่องทำการ Cache data ผ่าน Http method GET ส่วนมันมหัศจรรย์อะไรไหม โดยส่วนตัวผมไม่เห็นว่ามันจะมหัศจรรย์หรืออะไรขนาดที่จะมาโม้ว่าใช้ Rest api แล้วเราต้องว้าวตามอะไรขนาดนั้น ส่วนมันมีผลกับการเขียนโปรแกรมไหมนั้นในส่วนนี้นั้นไม่แตกต่างกันมากครับ แค่เปลี่ยน Code ตรงส่วน Controller ให้ไปเอาค่าจากพวก Url path, query parameter แทนการดึงค่าจาก Request body

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

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

Ref

เพลงประกอบการเขียน Blog

เสียงพี่แอนนี่เหมาะกับเพลงเศร้าจริงๆ

น้องหมูปิ้ง

น้องหมูปิ้งน่ารักมากๆไปติดตามน้องกันได้ที่ : https://www.facebook.com/donteatthismooping/

น้องหมูปิ้งกินไม่ได้นะ

© 2024 Normal Programmer Blog All Rights Reserved.
Theme by hipaper