21 ธันวาคม, 2557

[Review] The Hobbit 3 - The Battle of the Five Armies (★★☆☆)

The Hobbit 3 - The Battle of the Five Armies 

ให้คะแนน (★★☆☆)


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

เคยคิดจะเขียนรีวิวหนังที่ดูนานแล้วแต่ไม่ได้เขียนซะทีเพราะเป็นคนที่เข้าโรงหนังปีละ2ครั้ง (ปีนี้เข้าโรงหนังเพราะดู Godzilla ตอนกลางปี และปลายปีก็เข้าไปดู Hobbit อีกเรื่องนึง) วันนี้เพิ่งไปดู The Hobbit มาเลยเขียนรีวิวซะหน่อย

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

เอาล่ะ ฮอบบิทภาคนี้ก็เป็นภาคสุดท้ายกันแล้วสำหรับซีรีย์ The Hobbit ปิดฉากการเดินทางในมิดเดิ้ลเอิร์ธอย่างสมบูรณ์ ภาคที่แล้วกับภาคก่อน บิลโบและคณะเดินทางมาถึงเอเรบอร์ ภูเขาโลนลี่และจัดการไล่มังกรสม๊อกออกไปได้แล้ว แต่สม๊อกก็ยังไม่ตายแต่มุ่งหน้าไปยังหมูบ้านกลางทะเลสาบแทน อารมณ์แบบกะหาที่ระบายอารมณ์มาก และแน่นอนว่ามันจะต้องถูกจัดการด้วยบาร์ดและลูกศรดำนั่นตามฟอร์ม

หลังจากนั้น พอไม่มีสม๊อกคุมภูเขาแล้ว ข่าวลือก็แพร่ออกไปทำให้ทั้งเอลฟ์ ออร์ก และคนแคระ บลาๆๆ ต่างต้องการมุ่งหน้ามาที่ภูเขานี้และยึดมันไว้เป็นของตัวเองรวมทั้งหมด 5 กลุ่ม หรือ 5 ทัพตามชื่อภาคนั่นแหละ (แต่หลังจากดูนับๆ แล้วมันก็ไม่เชิง 5 นะ ฮ่าๆ) แล้วหลังจากตบตีฟันแทงกันจนจบเรื่อง บิลโบก็ได้เดินทางกลับไชร์พร้อมแหวนเอกธำมรงค์ที่เป็นต้นเหตุทำให้เกิดเหตุการณ์ใน Lord of the Ring ต่อไป

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

เรื่องเอฟเฟคก็ทำได้ดีตามมาตราฐานซีรีย์ Hobbit และ LOTR ให้อันนี้ให้คะแนนเต็มแต่ฉากที่ใช้ CG แบบภาคที่แล้วตอนสู้กับสม๊อกมีน้อยกว่า ส่วนใหญ่เป็นการตบตีกันระหว่างกองทัพมากกว่า

06 ธันวาคม, 2557

ประสบการณ์ SIM พัง (dtac)

วันนี้อยู่ดีๆ ยกมือถือขึ้นมาก็พบว่ามือถือไม่มีสัญญาณเลยกดไปดูว่ามันเป็นอะไร แล้วก็พอว่าชื่อเครือข่ายจากเดิมที่เป็น dtac กลายเป็น NO SERVICE ซะแล้ว

ตอนแรกก็คือว่าคงหลุดชั่วคราวเลยทำงานต่อ แต่ปรากฏว่าผ่านไปเป็นชั่วโมงมันก็ยังไม่กลับมา ก็เอาแล้วไงล่ะ ... แบบนี้มันไม่ปกติซะแล้ว

ก็เลยลองวิธีมาตราฐานสไตล์โปรแกรมเมอร์ที่ส่วนใหญ่จะใช้แก้ปัญหามากกว่า 90% ของอุปกรณ์ ITได้นั่นคือ...

Restart เครื่องซะ!!

แต่เปิดมาใหม่มันก็ ... ไม่หายอ่ะ ทำไงดี T__T

แต่คราวนี้จากสัญญาณหาเครือข่ายไม่เจอมันก็กลายเป็นสัญลักษณ์ "No SIM Card Installed"
เอาแล้วไง ซิมก็ใส่อยู่ ไม่เคยไปแกะไปยุ่งมันเลยตั้งแต่ซื้อเครื่องมา แล้วมันจะไม่อินสตอลได้อย่างไรนะ

ทีนี้ เมื่อซิมใช้ไม่ได้ จะเสิร์จเน็ตหาวิธีแก้ไปพลางๆ ก็ไม่ได้ ดังนั้นเลยต้องโทรถาม Call Center! (แน่นอนว่ายืมเครื่องคนอื่นโทรนะ ยังดีไม่ได้อยู่คนเดียว) ส่วนเบอร์ก็มึนๆ ไปเล็กน้อยระหว่าง 1686 1186 (ไม่ใช่ นั่นมันร้องเรียน คปภ.) สรุปคือ 1678 นะจ๊ะ
โทรไปถาม พนักงานรับสายเร็วพอสมควร ให้คำแนะนำว่าลองเอา SIM ไปใส่เครื่องอื่นแล้วเปิดดูว่ามันเสียที่ SIM หรือเสียที่เครื่อง (ถาดใส่ SIM ของมือถืออาจจะมีปํัญหา) เราเลยลองทำตาม แน่นอนว่ายืมมือถืออีกคน เพราะมือถือที่ยืมมาโทรเครื่องแรกกำลังคุยอยู่นะ

ผลก็คือ SIM พังจ้า!!
แอบโล่งใจนิดๆ เพราะถ้ามือถือพังน่าจะซ่อมยากกว่า
แต่ก็แอบสงสัยเล็กๆ ว่า SIM dtac อันเก่าที่ใช้มาตั้งแต่รุ่นชื่อ dprompt โลโก้สีม่วงที่ dtac ยังไม่เปลี่ยนโลโก้เลยอันนั้นใช้มาเป็น 10 ปีก็ยังไม่พัง พอเปลี่ยนซิมใหม่ปุ๊ป ปีเดียวก็พังแล้ว หรือว่าลดคุณภาพกันนะ?


สรุปก็รีบเคลียร์งานสอนให้เสร็จ แล้วไปบึ่งไป shop dtac ใกล้บ้านก่อนที่มันจะปิดร้านดังที่ Call Center แนะนำมา คือให้เอา SIMเจ้าปัญหาพร้อมบัตรประชาชน ไปที่ร้าน แล้วเขาจะเปลี่ยน SIM ใหม่ให้เลย (ฟรีนะ) เปลี่ยนเสร็จก็รีสตาร์เครื่องแล้วก็ใช้ได้ทันที

ป.ล. มือถือ (SIM) พังไป 1 วันเรื่องเล่นเน็ตไม่ได้ไม่ใช่ปัญหา แต่เรื่องโทรออกกับติดต่อคนอื่นไม่ได้นี่สิปัญหา

02 ธันวาคม, 2557

การวัดระยะทางก็มีลีลา

การหาระยะทางระหว่างจุดสองจุด

การวัดระยะทางทั่วไป


โดยปกติแล้วระยะทางระหว่างสิ่งของสองสิ่ง หากไม่ไกลมาก เราจะใช้ไม้บรรทัดทาบและวัดเอา





ในกรณีที่ของสองสิ่งอยู่ไกลเกินกว่าไม้บรรทัดจะทาบถึง เราอาจจะใช้เชือก หรือ ของอย่างอื่นวัดแทนได้




แต่หลักการโดยปกติทั่วไปแล้ว ทั้งหมดนี่ก็คือการ สร้างเส้นตรงมาระหว่างจุดสองสุด แล้ววัดความยาวของเส้นตรงนั้นๆเอา




สมมติเล่นๆ ให้จุดซ้าย (จะเรียกว่าจุด a) อยู่ที่ตำแหน่ง (x1,y1) และจุดขวา (จะเรียกว่าจุด b) อยู่ที่ตำแหน่ง (x2,y2)

19 พฤศจิกายน, 2557

[แปล] User eXperience (UX) - ตอนที่ 2 สร้างตัวแทนผู้ใช้กับ Persona

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

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

สิ่งที่จะเกิดขึ้นก็คือรถคันนั้นจะเต็มไปด้วยฟังก์ชั่นทุกอย่างที่คนอยากได้ แต่..

ไม่มีใครอยากใช้มันล่ะ!

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

“I don’t know the key to success, but I know the key to failure is trying to please everybody”

(เราไม่รู้หรอกว่าหนทางสู่ความสำเร็จคืออะไร ... แต่เรารู้ว่าหนทางสู่ความล้มเหลวก็คือการพยายามทำให้ทุกคนชอบมัน)

ลองจินตนาการต่ออีกหน่อยว่าถ้าคุณได้รับมอบหมายให้ไปแก้ปัญหาในร้านอาหารเหตุหนึ่งนะ

คุณเลือกที่จะทำอะไร ระหว่าง

- สร้างเมนูอาหารที่หลากหลาย 30 จานที่มั่นใจว่าลูกค้าไม่ว่าจะมีรสนิยมแบบไหนก็ต้องถูกใจสักจาน

หรือ

- ลดเมนูอาหารจาก 30 จานให้เหลือเพียงแค่ 10 จาน และทำ 10 จานนั้นให้มีคุณภาพที่ดีที่สุด

สรุปก็คือ ไม่ต้องพยายามทำให้ Product ของเราตอบสนองความต้องการของลูกค้าทุกคนหรอก ขอแค่ทำบางอย่างเพื่อให้ตอบสนองต่อความต้องการของคนให้ถูกกลุ่มแบบเฉพาะเจาะจงไปก็พอแล้ว

มารู้จักกับ Persona กัน


ในฐานะคนสร้าง Product แล้วเราก็ต้องการออกแบบให้ตรงความต้องการของลูกค้ามากที่สุดใช่มั้ยล่ะ เพราะถ้าลูกค้าพอใจก็ปิดจ๊อบเร็ว (และรับเงินเร็ว 555)

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

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

16 พฤศจิกายน, 2557

[แปล] User eXperience (UX) - ตอนที่ 1 อะไรคือUXกันนะ ทำไมถึงสำคัญนัก

พอดีที่ออฟฟิศมาเปิดคอร์ส UX User Experience: The Ultimate Guide to Usability โดย Dr David Travis ซึ่งจริงๆ มันเป็นคอร์สเสียเงินแต่บอสใจดีออกค่าเรียนให้ เลยขอเอาที่ดูมาสรุปไว้ในบล๊อกนี้ละกัน

เวลาเราจะสร้างโปรแกรมขึ้นมาโปรแกรมหนึ่ง (หรือออกแบบดีไซน์อะไรบางอย่าง) ไม่ว่าจะเป็นโปรแกรมแบบ Desktop Web หรือ Mobile ก็ตาม คนส่วนใหญ่มันจะคิดถืงแต่ "ความสวยงาม" เป็นหลัก

อ้าว พูดงี้แล้วมันไม่ถูกเหรอ ออกแบบออกมาถ้าสวยก็ทำให้คนประทับใจได้ก่อนแล้วนะ แบบ First Impression ไงล่ะ

ก็ถูกนั่นแหละนะ แต่...

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

การดีไซน์productออกมาให้สวยงามมันไม่ได้แปลว่ามันจะน่าใช้หรอกนะ เราต้องคิดด้วยว่าถ้าเราเป็น User แล้วเจอโปรแกรมแบบนี้ เราจะชอบมันหรือไม่อยากเปิดมันมาใช้อีกเลย


แยกให้ออกระหว่าง UX กับ UI

UX (User eXperience) กับ UI (User Interface) เป็นสิ่งที่ดีไซน์เนอร์มือใหม่หลายคนไม่เข้าใจมัน
เพราะการออกแบบโปรแกรมไม่เหมือนกับการออกแบบสื่อสิ่งพิมพ์ (โปรแกรมมันต้องมีการตอบโต้กับผู้ใช้ แต่พวกสื่อสิ่งพิมพ์คนอ่านจะมองแต่ภาพ ถ้าเห็นแล้วคิดว่าสวยก็ถือว่าใช้ได้)

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

มีภาพชุดหนึ่งที่เราเห็นว่าเขายกตัวอย่างข้อแตกต่างระหว่าง UX กับ UI ได้ดี เป็นภาพจาก design.org เราลองมาดูกัน

ในตัวอย่างนี้เขาเปรียมเทียบโปรแกรมของเราเป็น "อาหารเช้าคอนเฟล็ก" การใช้ของก็ง่ายๆ คือเอาไว้กินล่ะนะ (ฮา)

ตัวแรกสุดคือ Product หรือก็คือตัวแทนโปรแกรมที่เราจะออกแบบนั่นแหละซึ่งในที่นี้ก็คือถ้วย ช้อน และคอนเฟล็ก (อาหารเช้าแบบซีเรียลรับประทานพร้อมนมสด)


ดังนั้น ขอถามว่าเราจะกินคอนเฟล็กพวกนี้ยังไงกัน?
คำตอบก็คือใช้ส่วนติดต่อกับผู้ใช้ User Interface ซึ่งในที่นี้มันคือ "ช้อน" นั่นเอง!

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


แต่ความสวยงาม (UI) ที่พูดไปเมื่อกี้อาจจะไม่มีประโยชน์เลยถ้าเกิดว่า User ไม่ได้สนใจความสวยงามพวกนั้น เพราะเขากำลังหิว!

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


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

พอเห็นภาพแล้วสินะว่า UX มันคือการออกแบบที่คิดถึงจิตใจของ User มากๆ โดยไม่สนใจความสวยงามเลย (แต่ก็ใช้ว่า ไม่มี UI ได้นะ ถึง UX จะดีงามแต่ถ้ามันไม่สวย User ก็ปิดทิ้งได้เหมือนกันนา)

08 พฤศจิกายน, 2557

มือใหม่หัดถ่ายรูป - ตอนที่ 1 มารู้จักกล้องดิจิตอลกันเถอะ

ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/74/

31 ตุลาคม, 2557

Line แจกสติ๊กเกอร์ฟรี 4 ตัว: ติดลม, Kinoko & Labito, Shiba Inu, Sushiyuki ...เฉพาะช่วงเวลานี้เท่านั้น!

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

Kinoko & Labito

จากไต้หวัน ตั้งแต่ 28 ตุลาคม - 3 พฤศจิกายน 2557

Shiba Inu

จากญี่ปุ่น  ตั้งแต่  4 – 10  พฤศจิกายน 2557

ติดลม

จากประเทศไทย  ตั้งแต่  11 – 17 พฤศจิกายน 2557

Sushiyuki 

จากญี่ปุ่น   ตั้งแต่  18 – 25 พฤศจิกายน 2557

อย่าลืมไปโหลดในช่วงเวลาที่เขาปล่อยด้วยล่ะ พลาดแล้วอดเลย

30 ตุลาคม, 2557

ใครคิดว่าตัวเองแน่! ลองไปเล่นเกมหาบั๊กโปรแกรมที่ codefights.com

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

วันนี้เราเลยมีเกมมาให้ลองเล่นกันดู นั่นคือ How Fast Can You Debug?





เข้าไปปุ๊บก็จะเจอกับหน้าตาเกมประมาณนี้ คือพอกดเริ่มเล่น มันจะมีโค้ดโปรแกรมสั้นๆ มาให้ 1 ชุดแบบนี้ไงล่ะ เท่าที่เล่นดูน่าจะมีแต่ภาษา JavaScript (ไม่ใช่ Java นะจ๊ะ)


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

แต่ถ้าเดาไม่ออกจริงๆ ก็ลองอ่าน comment ที่มันเขียนไว้ข้างบน มันจะบอกอยู่แล้วว่าโค้ดชุดนี้กำลังทำอะไร มีบอก input กับ output ที่ต้องการครบเลย


แต่ช้าก่อน!!

อย่าเพิ่งนิ่งนอนใจไปนะ เพราะมันให้คุณแค่ข้อละ 60วินาที เท่านั้น!! ยิ่งตอนเหลือ10วินี่ลุ้นระทึกมากเพราะตัวเล่นจะเด้งไปเด้งมา (ฮา)
และจากที่เล่นมา ไม่ใช่ว่าเราแก้ตรงไหนก็ได้นะ คุณแก้ได้แค่ 1 บรรทัดเท่านั้น

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


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


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

25 ตุลาคม, 2557

[PR] ค่าย Young Webmaster Camp ครั้งที่ 12

หรือเรียกสั้นๆ ว่าค่าย YWC

เป็นค่ายที่เปิดให้น้องๆ ปี 3-4 (แค่นั้นนะ!) สมัครเพื่อไปเรียนรู้ว่าคนทำเว็บน่ะ เขาทำงานกันยังไงแบบหลักสูตรเข้มข้นชนิดที่ว่าอัดแน่นไม่ต้องหลับต้องนอนกันเลย ...เว่อร์ไปๆ ฮา


โดยส่วนตัวแล้ว พี่(ขอเรียกตัวเองว่าพี่ในบล๊อกนี้ละกัน)ไม่ได้เป็นเด็กค่าย YWC นะ ต้องนั้นรับงานอยู่ เลยขี้เกียจไป งานเคลียร์ไม่ทัน แต่ถ้าถามว่าสมัครไปอยากเข้าสาขาไหนก็ขอตอบว่า "Web Content" และ "Web Marketing" ล่ะ (แต่แกเป็นโปรแกรมเมอร์ไม่ใช่เรอะ?)


4 สาขาสำหรับน้องเว็บ

การจะสมัครเข้าค่ายนี้จะมีการทดสอบและสัมภาษณ์ ไม่ใช่ว่าทุกคนที่จะได้ ดังนั้นควรจะเตรียมตัวดีๆ หน่อย เลือกสาขาที่เข้ากับน้องเองไม่ก็กำลังสนใจ

Web Design

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

Web Content

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

Web Marketing

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

Web Programming

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

เปิดรับสมัคร(นานแล้ว) จนถึง 31 คุลา 57 เท่านั้นนะ กรุณาสมัครด่วนๆ ถ้าอยากไป ^__^

17 ตุลาคม, 2557

[เฉลยควิซ] การ์ตูน Disney - คุณจำได้ไหมว่าฉากนี้มาจากเรื่องอะไร


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

ใครเคยเล่นแล้วก็ข้ามไปก็ได้ แต่เล่นใหม่ก็ดีนะ ทำตั้งนาน อิอิ ^__^
เฉลยเกม การ์ตูน Disney - คุณจำได้ไหมว่าฉากนี้มาจากเรื่องอะไร

.
.
.
.
.
.
.
.
.
.
.
          (spoil alert!!)          

ใครยังไม่เล่นลองไปเล่นก่อนนะ

ที่

การ์ตูน Disney - คุณจำได้ไหมว่าฉากนี้มาจากเรื่องอะไร 

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

16 ตุลาคม, 2557

4 สิ่งที่ควรทำก่อนเรียนจบปี 4

เวลาที่ผ่านไปแล้ว ไม่สามารถย้อนกลับมาได้อีกนะ ... ชีวิตนักศึกษามหา'ลัย (ป.ตรีแบบปกติ ไม่นับป.โท) ก็มีได้แค่ครั้งเดียวนะ ถ้าน้องๆ ปล่อยมันผ่านไปอาจจะเสียใจที่หลังก็ได้ว่า "ตอนนั้นทำไมไม่ทำนะ"

บล๊อกนี้เราพยายามรวบรวมเรื่องที่ตัวเองคิดทำแล้วเกิดประโยชน์มาก ไม่ก็ถ้ากลับไปได้จะทำตั้งแต่ตอนเรียน แต่ถามว่าไม่ทำแล้วใช่เรื่องใหญ่คอขาดบาดตายมั้ย ... ไม่เลย!
มันก็เป็นแค่เรื่องที่ "ควร" ทำเท่านั้น ไม่ใช่ "ต้อง" ทำ

1.วางแผนอนาคต (นิดหน่อยก็ยังดี)

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

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

2. สนความรู้+ประสบการณ์ดีกว่า .. เกรดไม่ใช่ทุกอย่าง (แต่ใช่ว่ามันไม่สำคัญ)

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

"ความรู้(สักอย่าง)" หรือ "ประสบการณ์(สักอย่าง)" ตั้งหากที่เราควรจะโฟกัสไปหาในระหว่างเทอมที่ผ่านมา ถ้าน้องไม่ได้ตั้งเป้าจะเรียนต่อหรือทำงานในสายวิชาการ เกรดมันก็มีความสำคัญแค่ 4 ปีในรั้วมหา'ลัยเท่านั้นแหละ อ้อ พูดอย่างนั้นก็ไม่ถูกนั้น มีผลการสมัครงานครั้งแรกนิดหน่อยด้วยเหมือนกัน

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

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

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

3. ลองทำงานจริงให้ได้มากที่สุด

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

แล้วคุณจะรู้ว่า "ลูกค้า" เป็นยังไง อารมณ์มันไม่เหมือนเราทำงานส่งอาจารย์แน่นอน ความกดดัน ความเครียด ความกังวลมันจะต่างกันเลย ยิ่งถ้าเป็นลูกค้าที่โทรตามงานบ่อยๆ นะบอกเลยว่าสนุกมาก (ประชดนะ ฮา)

4. ใช้สถานะ "นักศึกษา" ให้คุ้มที่สุด

บริษัทมากมายที่ชอบรับนักศึกษาไปฝึกงาน (ใช้งาน) แต่ถ้าน้องๆ จบมาแล้วจะไปเอาสถานะนักศึกษาจากที่ไหนอีกล่ะ ตอนนั้นมันไม่ใช่การฝึกงานแล้ว มันเป็นการ "ทดลองงาน" แล้วรู้มั้ยว่าการฝึกงานกับการสมัครงานแล้วเขาลองงานเรา 3 เดือน (ที่เขาเรียกกันว่า จะผ่านหรือไม่ผ่านโปรฯ น่ะ) มันต่างกันเยอะนะ

ถ้าน้องเขาไปบริษัทในฐานะนักศึกษา -> พี่ๆ จะมองว่ามีน้องใหม่มาฝึกงาน ต้องดูแล ต้องสอนงาน ให้น้องเป็นงาน
แต่ถ้าน้องเข้าไปในฐานะนักศึกษาจบใหม่มาสมัครงาน -> พี่ๆ จะมองว่าน้องคนนี้เป็นพนักงานใหม่ อาจจะมีสอนงานให้บ้าง แต่ก็ไม่ต้องมากหรอก สมัครผ่านมาได้น่าจะเป็นงานพอสมควรแล้ว รับโปรเจคไปลองทำเลยละกัน

ดังนั้นถ้ายังอยากเรียนรู้อะไรอยู่ พยายามทำตัวเป็นนักศึกษาไว้ก่อนนะ โอกาสก็มีช่วงปี3-4 และหลังจบปี4 (ช่วงที่เป็นรอยต่อ ยังพอจะใช้สถานะนักศึกษาได้อยู่)


---
ตอนนี้คิดได้เท่านี้ เอาไปแค่ 4 ข้อก่อนละกัน

สรุป...

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

จาก ... คนที่ล่วงหน้าไปก่อนแล้ว ^ ^

11 ตุลาคม, 2557

อ่านหนังสือยังไงให้ทันสอบ?

ช่วงนี้ก็ใกล้สอบล่ะนะ น้องๆ หลายคนคงจะประสบปัญหาคลาสสิก "อ่านหนังสือไม่ทัน" ไม่ก็ "อ่านไม่เห็นจะรู้เรื่องแล้ว" หรืออารมณ์ขึ้นหน่อยก็ "ไม่อ่านมันแล้ว(โว้ย)"... แหม่ คลาสสิกมาก บ่นกันมาทุกรุ่นแล้วก็ต้องทนอ่านกันต่อไปทุกรุ่นละนะ

วันนี้เลยจะมาสรุปวิธีการอ่านหนังสือของตัวเองให้ฟังหน่อยว่าตอนยังใช้ชีวิตแบบนักศึกษาอยู่น่ะ เราทำอะไรบ้าง

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


คิดว่า"เราทำได้"

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

รู้เขา รู้เรา รบร้อยครั้ง ชนะร้อยครั้ง

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

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

อาจารย์สอนไม่รู้เรื่อง ฉันเลยอ่านไม่รู้เรื่อง (งั้นเหรอ?)

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

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

มันเลยเป็นที่มาของวิธีการพลักของเรา! เรียนในห้องไม่รู้เรื่องก็ไม่ต้องเรียนในห้องสิ ห้องเรียนเอาไว้นอนพักผ่อน (แต่กลับหอพักแล้วต้องอ่านเองให้ได้ด้วยนะ)

นอน...

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

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

เปิดติว

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

สรุป

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

ก็พยายามหาวิธีอ่านหนังสือของตัวเองให้เจอละกัน ยิ่งเจอเร็วเท่าไหร่ก็ยิ่งดีเท่านั้น

สุดท้ายของฝากไว้ ... คะแนนกับเกรดไม่ใช่ทุกอย่าง มันจะมีค่าก็แค่ตอนเรียนกับตอนหางานครั้งแรกเท่านั้นแหละ เรียนจบไปคุณอาจจะทำเงินได้มากกว่าเพื่อนที่สอบได้คะแนนเต็มตลอดก็ได้นะ ;)

30 กันยายน, 2557

[How to] CG Painting: ลงสีตัวการ์ตูนด้วย SAI Paint Tool (ฉบับ mini)

ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/63/


23 กันยายน, 2557

[Java] compare 2 array - เปรียบเทียบว่าอะเรย์2ตัวเท่ากันหรือไม่ด้วย .equals และ .deepEquals

การเทียบว่าค่าในตัวแปร 2 ตัวนี้เท่ากันหรือไม่เป็นสิ่งที่เขียนบ่อยมากเวลาเขียนโปรแกรม
ตัวอย่างเช่น
if( x == y ){
    print("equal");
}
ปกติถ้าคุณเป็นโปรแกรมเมอร์สาย C ก็คงจะเคยชินกับการใช้  ==  สำหรับการเช็กว่ามันเท่ากันมั้ย
แต่ถ้าตัวแปรตัวนั้นดันเป็น "object" ขึ้นมาล่ะ มันจะเกิดอะไรขึ้น?

การที่เราจับตัวแปรธรรมดามาเท่ากับกัน จะเรียกว่า "compare by value" คือ x เก็บค่าอะไรอยู่ y เก็บค่าอะไรอยู่ก็เอาค่าพวกนั้นแหละมาใช้ตรงๆ เลย

อย่างเคสนี้ สั่ง x == y ก็จะได้ประมาณ 10 เท่ากับ 10 มั้ย
แน่นอนว่าสำหรับเคสง่ายๆ แบบนี้มันจะได้  true  แน่นอนอยู่แล้ว

ปัญหาของเราจะเกิดขึ้นเมื่อตัวแปรที่จับมาเปรียบเทียบกันมันอยู่ในรูปของ Object เพราะว่าอะไรดูรูปข้างล่างนี้เลย

14 กันยายน, 2557

~หลายๆ วิธีที่จะทำให้คุณเขียนโปรแกรมเก่งขึ้น

ตอนนี้ย้ายบล๊อกไปอยู่ที่ TAmemo.com::หลายๆ วิธีที่จะทำให้คุณเขียนโปรแกรมเก่งขึ้น

[SQL] เรียงข้อมูลตามค่าที่รู้อยู่แล้วด้วย order by field

วันนี้ขออัพบล๊อกสั้นเก็บไว้กันลืมเอง


เรื่องมีอยู่ว่า ต้องการจะเขียน SQL สำหรับดึงข้อมูลตาม id ที่รู้อยู่แล้วชุดหนึ่งออกมา
ถ้าเรามีตัวแปร id พวกนั้นอยู่ก่อนแล้ว ก็จะเขียนได้ประมาณนี้
(เขียนด้วยภาษา php นะ)
$id = array(1, 2, 3, 10, 12);
$sql = '
    select *
    from Products
    where id in (' . implode(',', $id) . ')
';

โค้ดธรรมดามาก เอาไปรันก็จะได้ตัวแปร $sql ออกมาประมาณนี้
select *
from Products
where id in (1, 2, 3, 10, 12)
อ้าว! แล้วมันไม่ได้อะไรตรงไหน
ก็ผลที่รันออกมาหลังจากเอาไป execute แล้วมันได้ประมาณนี้น่ะสิ

|----|---------|
| id | name    |
|----|---------|
|  2 | pencil
  |
| 10 | books   |
|  3 | cup     |
|  1 | pen     |
| 12 | rubber  |

|----|---------|
เอ๊ะ ทำไมเลขมันไม่เรียงกันตามที่เราใส่ไปล่ะ?

12 กันยายน, 2557

~10 หนังในดวงใจ


ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/57/

09 กันยายน, 2557

~ชื่อหนังสือ 10 เล่มที่ติดอยู่ในใจ


ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/56/

03 กันยายน, 2557

[jQuery] วิธีเช็กว่าการ "click" ที่ปุ่มมาจากการคลิกจริงๆ หรือจากสคริปต์ "trigger"



ในการเขียนเว็บ เราสามารถสั่ง jQuery ให้ทำให้เกิดอีเวนท์แทน user ได้โดยการสั่ง trigger
เช่นต้องการให้ปุ่มนี้โดนกดแต่ user ไม่ได้กดเอง เราก็สั่ง
$('button').trigger('click');
ได้เลย
แต่ว่าบางครั้งเราก็ต้องการรู้ว่าจริงๆ แล้วอีเวนท์การคลิก (รวมถึงอีเวนท์อื่นๆ ด้วย) มาจากการที่เราสั่ง trigger เองหรือมาจากการคลิกจริงๆ


นี่มันtigger ไม่ใช่trigger

25 สิงหาคม, 2557

[How to] แชร์ Facebook แล้วรูปไม่ขึ้น ต้องการจะให้มัน fetch หารูปของเราใหม่ ทำยังไง?

บางครั้งเวลาเรากดแชร์ Facebook แล้วปรากฏว่าเจ้า Facebook มันดันไปหารูปอะไรก็ไม่รู้มาแสดงเป็นภาพ shared image ทั้งๆ ที่รูปเจ้าปัญหารูปนั้นก็ไม่ได้อยู่บนหน้าเว็บสะหน่อย (อาจจะเคยมีอยู่แต่ลบไปแล้วกดแชร์ใหม่มันก็ยังอยู่)

เพราะมันติด cache! ยังไงล่ะ


อะไรคือ cache? แคชเป็นสิ่งที่คล้ายๆ กับความจำชั่วคราว เก็บไว้ไม่นาน (แต่บางครั้งมันก็นานได้ แล้วแต่จะตั้งค่า) แล้วระบบการทำงานของ Facebook เมื่อมีคนกดแชร์ ก็คือเจ้าระบบของเว็บ Facebook มันจะวิ่งมาที่ url หน้าที่เราจะแชร์ของ ถ้ายังไม่เคยมีอยู่ในข้อมูลมาก่อนเลย มันก็จะทำการหารูปในหน้าเว็บนั้นมาให้เราเลือกว่าจะเอารูปไหน

แต่ประเด็นคือ ... ถ้าเป็นการแชร์ครั้งที่สอง เว็บ Facebook มันจะไม่วิ่งมาหารูปใหม่แล้วเพราะมันมี image cache เก็บเอาไว้จากครั้งที่แล้วแล้วยังไงล่ะ สาเหตุก็เพราะความเร็วในการแสดงผลเป็นหลัก

ดังนั้นปัญหามันเลยเกิดขึ้น!

แล้วถ้าเราอยากจะเปลี่ยนรูปใหม่ล่ะ ทำยังไง

เข้าไปเคลียร์ cache ซะสิ

ก่อนอื่นเลยก็เข้าไปที่หน้านี้ https://developers.facebook.com/tools/debug/og/object/



เราจะเจอช่องให้ใส่ url ที่ต้องการจะเคลียร์แคชทิ้ง ก็ใส่ url ของหน้าเว็บเราลงไปแล้วกดปุ่ม [Fetch new scrape information] ซะ




เท่านี้ Facebook ก็จะไปดึงข้อมูลรูปภาพใหม่อีกครั้ง

url สำหรับ developer

ระบบของ Facebook อนุญาตให้เราส่ง query string ไปเคลียร์แคชได้เลยเช่น



21 สิงหาคม, 2557

แนะนำเว็บสำหรับคนเรียน Data Structure

ผู้ที่กำลังเรียนหรือศึกษาเรื่อง Data Structure ใหม่ๆ อาจจะมีข้อสงสัย (หรือบางครั้งก็ไม่เข้าใจอะไรเลย ฮา) ว่าไอ้โครงสร้างข้อมูลตัวเนี้ย .. ตกลงมันเก็บอะไรยังไงแน่ นึกภาพไม่ออกเลย

วันนี้เราเลยนำเสนอเว็บสำหรับรันภาพแบบ visualization ออกมาให้เห็นกันเลย ไม่ว่าจะเป็นเรื่องการเรียนข้อมูล มันขยับกันยังไง swap กันที่ตัวไหน หรือจะเป็นเรื่อง Tree หรือ Graph ว่าข้อมูลตัวใหม่เข้ามาแล้วมันไปสร้าง Node ที่ไหน

จากที่ลองเล่นๆ มาหลายเว็บ มี 2 เว็บที่เข้าตากรรมการ นั่นคือ

VisualGo



17 สิงหาคม, 2557

อยากเขียนโปรแกรม เริ่มยังไงดี? - ตอนที่ 3 แปลงความคิดในหัว (Flowchart) ให้กลายเป็น Code

2:45
ในบล๊อกนี้จะพูดถึง Flowchart เป็นหลัก เนื่องจากเคยเขียนสรุปไปแล้ว เลยจะไม่ขอพูดถึงว่า Flowchart คืออะไรอีก สำหรับใครที่ยังไม่เคยอ่านสามารถกลับไปดูได้ที่ fundamental-programming

ทำไมต้องเขียน Flowchart

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

อ้าว .. แล้วมันผิดตรงไหน ก็เขียนโปรแกรมนะ

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

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

เขียน Flowchart (ก็ยากแล้ว) ได้แล้ว แต่ดันแปลงเป็นโค้ดโปรแกรมไม่ได้

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

แต่เอาล่ะสิ! Flowchart ซับซ้อนขนาดนี้จะเขียนโค้ดยังไงล่ะนั่น
อันดับแรกอย่างเพิ่งกลัวมันเพียงเพราะเส้นมันเยอะ ไม่ว่ามันจะซับซ้อนแค่ไหน ส่วนใหญ่รูปแบบมันจะตกอยู่แค่ 4 รูปแบบเท่านั้นแหละ

11 สิงหาคม, 2557

[How to] วิธีเซฟไฟล์ word ให้กลายเป็น .pdf

ไฟล์เอกสารจากโปรแกรม MS Word เป็นไฟล์ที่นิยมใช้กันมาก แต่มันก็มักจะมีปัญหาอยู่ เช่นเวลาส่งไปให้เพื่อน เอาไปสั่งปริ๊นที่ร้าน ฟอร์เมทตัวอักษรที่จัดไว้มักจะ "เพี้ยน" จนต้องไปนั่งจัดหน้ากันใหม่

การ save ไฟล์ .doc และ .docx ให้กลายเป็นไฟล์ .pdf ซึ่งเป็นไฟล์ที่สามารถเปิดอ่านได้อย่างเดียว แก้ไขไม่ได้ (และแน่นอน ไม่ว่า ฟอนต์ รูป การจัดหน้าจากไฟล์ต้นฉบับจะเป็นอย่างไร มันจะคงอยู่เป็นแบบนั้น) ดูจะเป็นทางเลือกที่มั่นใจได้มากที่สุด

แต่ก่อนที่เราจะเซฟไฟล์เป็น .pdf ให้ไปโหลดปลั๊กอินของเวิร์ดเพิ่ม ที่นี่ <-- จิ้มเบาๆ


เว็บต้นทางของไมโครซอร์ฟเลย ดังนั้นมั่นใจปลั๊กอินตัวนี้ได้ ... ก็โหลดลงมาแล้วก็จัดการติดตั้งให้เรียบร้อย (กด nextๆๆ ไปเรื่อย~)

วิธีใช้งาน



ในตัวอย่างเราสร้างไฟล์ .doc ขึ้นมา ถ้าลงปลั๊กอินแล้ว เวลากด save as จะเห็นหัวข้อ "PDF or XPS" เป็นตัวเลือก


หลังจากกดปุ๊บก็จะเจอหน้าเซฟไฟล์ตามระเบียบ


เพียงเท่านี้ก็จะได้ไฟล์ .pdf จากเอกสารเวิร์ดเราแล้ว ส่งไปให้ใครก็ไม่ต้องกลัวไฟล์จะเพี้ยน





15 พฤษภาคม, 2557

~ [How to] CG Painting: ลงสีตัวการ์ตูนด้วย Photoshop

ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/43/

02 พฤษภาคม, 2557

.htaccess ใช้งานไม่ได้ ขึ้นแต่คำว่า "No input file specified."

เมื่อวันก่อนเจ้าของบล๊อกได้ทำการย้ายไฟล์จาก host ตัวเก่าไปยัง host ตัวใหม่อีกตัว
ซึ่งปกติแล้วเว็บที่เราใช้ก็เป็น framework ตัวหนึ่งที่โมฯ ขึ้นมาใช้เอง
และแน่นอนว่า framework ส่วนใหญ่มักจะมีการจัดการ url-decoration เพื่อความสวยงามให้

ตัวอย่างเช่น CI หรือ CodeIgniter ก็จะสั่งให้ทุกอย่าง redirect ไปหา index.php แล้วทำการเซ็ตไฟล์ .htaccess ให้ re-write เจ้า index.php ออกไปจาก url เช่น
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
หรือถ้าเป็น Laravel ก็จะเป็น

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
ทีนี้เวลาเราเรียก จาก
www.nainee.com/index.php/view/1234
ก็จะเหลือแค่
www.nainee.com/view/1234
เท่านั้น ดูสวยขึ้นเยอะ!
นับเป็นวิธีการทำให้ url ดูสวยงามเรียกง่ายขึ้นที่นิยมที่สุด

แต่ทว่า...

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

แต่ผิดที่โค้ดภาษา PHP ยังพอว่าแต่นี่แม้แต่เรียกหน้าเพจยังไม่ขึ้นเลย แจ้งมาแต่คำว่า
No input file specified.
อ้าว เจออย่างนี้เราก็งงน่ะสิ ของเก่าไอ้เจ้า .htaccess มันยังทำงานได้ปกติเลย แล้วนี่มันเกิดอะไรขึ้น?
คือบอกก่อนว่า .htaccess ที่เขียนน่ะมันไม่ผิดชัวร์ เพราะที่ host เก่ามันทำการ re-write ได้ไม่เห็นมีปัญหา

แล้วแก้ยังไงล่ะ?

ทางแก้นั้นไม่ยากเลย แต่ใช้เวลาหานานมาก นั่นคือ...
เพิ่ม ? ลงไปข้างหลัง path ที่เราจะให้ re-write ไปหา
เช่น
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]
เพียงเท่านั้นแหละ .htaccess ก็จะกลับมาใช้งานได้เหมือนเดิม
จบ!

28 กุมภาพันธ์, 2557

About me - ติดต่อ อยากคุยด้วย หรือรีเควสหัวข้อที่อยากให้เขียน

About me

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

หรือดูสาขางานที่เชี่ยวชาญได้ที่ Linkedin.com

วิธีติดต่อ

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

อยากให้เขียนบล๊อกเกี่ยวกับ !@#$%&* ต้องทำยังไง

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

26 กุมภาพันธ์, 2557

~ Ajax คืออะไร แล้วมันใช้ยังไง? - ตอนที่ 3 ภาคปฏิบัติ (ใช้ jQuery)


ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/41/

24 กุมภาพันธ์, 2557

~ Ajax คืออะไร แล้วมันใช้ยังไง? - ตอนที่ 2 ภาคปฏิบัติ (แบบธรรมดา)


ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/40/

07 กุมภาพันธ์, 2557

~Ajax คืออะไร แล้วมันใช้ยังไง? - ตอนที่ 1 ภาคทฤษฎี


ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/37/

24 มกราคม, 2557

[แปล] การเรียนปริญญาเอกคืออะไร? เปรียบเทียบง่ายๆ ด้วยวงกลมหนึ่งวง


บทความต้นฉบับ แปลและเรียบเรียงใหม่จาก credit:  The Illustrated-guide to a Ph.D

ไปเจอบทความมา ส่วนตัวอ่านแล้วคิดว่าเขาเปรียบเทียบได้ค่อนข้างดี
ประเด็นที่เขาเปิดคือ
การเรียนปริญญาเอกคืออะไร?
เริ่มต้น เราสมมุติวงกลมวงหนึ่ง แทนความรู้ทุกอย่างที่คนเคยศึกษามา ... เราเกิดมาปุ๊บก็จะเริ่มตรงกลางกระดานพอดี

"Merge" และ "Intersect" ใน JavaScript ทำยังไง?

ช่วงนี้เขียน JavaScript ในส่วนที่ทำงานกับ Array และ Object บ่อย

หนึ่งใน action ที่ทำบ่อยมากคือ การผสาน (merge) Object หนึ่งตัว (หรือมากกว่า) และ การเลือกซ้ำ (intersect) Array สองตัวเข้าด้วยกัน
function mergeObj(){
    var r = { };
    for( var i in arguments ){
        for( var j in arguments[i] ){
            r[j] = arguments[i][j];
        }
    }
    return r;
}

var a = {x:1, y:2, z:3};

var b = {q:10, w:20, e: 30, x:40};

var result = mergeObj(a,b);

//result is {x:40, y:2, z:3, q:10, w:20, e:30}
       
สำหรับ mergeObj นั้นสามารถส่ง Object เป็น parameter เข้าไปกี่ตัวก็ได้เพราะรับค่าด้วยตัวแปร arguments
function intersect( arr1, arr2 ){
    if( arr1 instanceof Array && arr2 instanceof Array ){

        //make arr1 smaller than arr2
        if( arr1.length > arr2.length ){
            var tmp = arr1;
            arr1 = arr2;
            arr2 = tmp;
        }

        return arr1.filter(function( n ){
            return arr2.indexOf(n) !== -1;
        });
    }
    return [ ];
}


var a = [1,2,3,4,5,6,7,8,9,10];

var b = [2,4,6,8,10,12,14,16];

var result = intersect(a,b);

//result is [2,4,6,8,10]
 ส่วน intersect จะใช้กับ Array โดยใช้คุณสมบัติของ .filter เข้าช่วย