จำนวนผู้ติดเชื้อ Covid-19

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

ด้วยความที่ต้องคอยรับข่าวด้วยความประสาทเสียพอสมควร รวมถึงต้องการทราบจำนวนผู้ติดเชื้อ Covid-19 ในปัจจุบันแบบง่ายๆ ก็มีเว็บไซต์นึงที่ทำดีพอสมควรคือ https://corona-stats.online

ข้อมูลจาก https://corona-states.online วันที่ 22 มีนาคม 2563

โดยเขามีแจก source code ให้ศึกษาด้วยที่ https://github.com/sagarkarira/coronavirus-tracker-cli

หากคนที่จากเปิดดูง่ายๆ แบบไม่ต้องเข้าหน้า browser ก็สามารถเรียก cURL command เพื่อดูข้อมูลได้เหมือนกันนะ

curl https://corona-stats.online?source=2

เท่านี้ข้อมูลอัพเดทก็จะขึ้นมาบน console แล้ว แต่ถ้าใครอยากจะดูแค่ประเทศไทย ก็สามารถ grep เอาได้เช่นกัน จะได้ไม่ต้องมานั่งเลื่อนดู

curl https://corona-stats.online?source=2 | grep Thailand

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

ลองเขียน Flutter เชื่อมต่อกับ Omise RESTful API เล่นๆ

ในช่วงเดือนที่ผ่านมามีคนคุยกันเรื่อง Flutter ค่อนข้างมาก ก็เลยถือเอาเวลาว่างเมื่อวานมาลองเขียน Flutter ดู โดยมีโจทย์คือเขียนเชื่อมต่อ RESTful API ของทาง Omise และต้องเขียน Test ได้

โดย API ที่ตั้งโจทย์ไว้คือ API ทางฝั่ง Client ที่ใช้งานแค่ public key คือ Token API, Source API และ Capability API

ในขั้นแรกก็เลยเข้าไปนั่งอ่านเอกสารของทาง Flutter ว่าจะต้องเริ่มเขียนยังไงดี และอยากจะเขียนเป็นในเชิง Library หรือ package เพื่ออัพโหลดขึ้นไปบนเว็บไซต์ที่รวม packages ต่างๆของทาง Flutter คือ https://pub.dev ก็เลยเจอเอกสารนี้ครับ https://flutter.dev/docs/development/packages-and-plugins/developing-packages

จากนั้นก็เลยลองนั่งเขียนไปเรื่อยก็พบว่าติดปัญหาในเรื่อง Syntax ของภาษา Dart (Flutter ใช้ภาษา Dart) เนื่องจากไม่เคยเขียนภาษา Dart มาก่อน และติดในเรื่องของการวาง Structure ใน Flutter ครับ เลยลองหา package ชาวบ้านบน pub.dev มาลองผสมดู 😂

สุดท้ายก็ได้มาแล้วครับเทสต์ผ่านด้วย เฮ~ โดยในการเทสต์ API ผมได้ลองทดสอบกับ public key บน Account ของผมเรียบร้อยแล้วว่าใช้งานได้ แล้วก็เลยเขียนเทสต์โดยทำการ Mock HTTP request เอาครับ

แน่นอนว่าอาจจะมี structure หรือ syntax บางอย่างที่อาจจะต้องปรับปรุง หากมีใครหลงเข้ามาดูก็ comment หรือแจ้งบอกใน GitHub ได้นะครับ จะได้ปรับปรุง code กันไป

GitHub: https://github.com/keeratita/omise_flutter
Pub : https://pub.dev/packages/omise_flutter

เป้าหมายในการแก้ไขตัวเอง

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

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

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

คิดว่าส่วนนี้จะแจ้งข้อบกพร่องส่วนนี้ของตัวผมเองให้กับหัวหน้ารับทราบเช่นกัน และจะหาวิธีการแก้ไข (Action plan) รวมถึงจะได้ฝากหัวหน้าช่วยสอบถามเอา feedback ของเพื่อนร่วมงาน (ข้อมูลทางอ้อม) เพื่อมาปรับปรุงตัวผมเองให้ดีขึ้นด้วย

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

สู้ๆ

Mind-set คืออะไรกันแน่?

จริงๆคำว่า mind-set เป็นคำที่พูดกันทั่วๆไปที่ติดปากกันทุกวันนี้ รวมถึงผมด้วยที่ไม่ได้หาความหมายหรือเข้าใจความหมายของมัน 100% ซึ่งที่ผมเข้าใจ mind-set มันก็คือกลุ่มของความคิดของคนๆนึง หรือของกลุ่มคน หรือบางทีก็เหลื่อมๆไปกับคำว่า attitude หรือทัศนคติของคนหรือกลุ่มคนนั้นๆ หรือบางทีก็แปลกันว่า กรอบความคิด

เรามาหาความหมายเล่นๆจากเว็บ Merriam Webster ดูดีกว่า ซึ่งในเว็บไซต์ได้แปลความหมายไว้ดังนี้

mind-set

noun\ ˈmīn(d)-ˌset  \

Definition of mind-set

1: a mental attitude or inclination
politicians trying to determine the mind-set of voters

2: a fixed state of mind 
His mind-set does not allow for new situations.

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

ซึ่งผมได้ฟัง PodCast : Random Thoughts From My Diary ตอนที่ 512 ของคุณรวิศ หาญอุตสาหะ ได้พูดถึงเรื่อง mind-set ไว้ และเล่าให้ฟังว่าคำว่างานที่ “สนุก” ก็เป็นหนึ่งใน mind-set ของเรา ซึ่งบางอย่างที่เราคิดว่างานนั้นสนุก งานนี้น่าเบื่อ งานนี้ไม่สนุกก็เรียกว่าเป็น mind-set ของเราได้ ซึ่งหากเราสามารถเปลี่ยน mind-set ของเราที่ทำให้งานที่ไม่สนุก มาเป็นมุมมองที่ทำให้สนุกได้ มันก็ทำให้เราสามารถเปลี่ยนมุมมองงานนั้นๆได้ หรือสิ่งอื่นๆได้เช่นกัน

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

การที่ได้ฟัง PodCast นี้ทำให้ผมสามารถเป็น mind-set ของผมได้พอสมควรเลย 🙂

Soft Skill เพื่อพัฒนาตนเอง

เมื่อไม่นานมานี้ได้มีการเข้าประชุม one-on-one meeting กับหัวหน้าซึ่งเป็นสิ่งที่ต้องทำเป็นประจำทุก 2 สัปดาห์ เพื่อพูดคุย แลกเปลี่ยน ไม่ว่าจะเป็นการ feedback ทั้งฝั่งของหัวหน้าหรือทางฝั่งผมเอง ซึ่งในประเด็นของวันนั้นผมขอเอามาเข้าในกลุ่ม Soft Skill ในด้านการสื่อ

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

กลับมาที่ทางฝั่งหัวหน้าของผมนั้น ผมก็ได้รับ feedback หลายๆด้านเช่นกัน โดยส่วนนึงที่ผมวิเคราะห์สิ่งที่ได้รับและสิ่งที่ผมต้องเรียนรู้เพิ่มเติมให้มากขึ้นนั้นก็คือ Soft Skill ในเรื่องของ Communication บางอย่างของผมเอง

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

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

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

Podcast ที่น่าสนใจ

วันนี้ได้ฟัง Podcast เรื่องหัวหน้าที่ดีของ The Standard ฟังไปฟังมามีพูดเรื่อง Burnt out ไว้ส่วนนึงและน่าสนใจ และคิดว่าหลายๆคนเคยเป็น เคยประสบทั้งรู้ตัวและไม่รู้ตัว

ทดลองเขียน Next.js ดูเล่นๆ

วันนี้ได้ทดลองเล่น Next.js ดู รู้สึกว่าสนุก! ถึงแม้ว่ายังไม่ได้ลองอะไรลึกๆ แต่มีความรู้สึกว่า Next.js มีการวางโครงสร้างไว้ให้ใช้งานง่ายๆ ยกตัวอย่างเหมือนการเขียน PHP แค่วางไฟล์ลงในโฟลเดอร์ /pages โครงสร้างของไฟล์และโฟลเดอร์จะสะท้อนถึง url โดยไม่ต้องมากำหนด routes … ฟังดูอาจจะงง ยกตัวอย่างเช่น

pages
|- index.js
|- about.js
|- blog
|- index.js
|- [slug].js

โดยสมมติ base url คือ https://keerati.co เราก็จะมี

  • https://keerati.co
  • https://keerati.co/about
  • https://keerati.co/blog
  • https://keerati.co/blog/node-js
  • https://keerati.co/blog/xxxx

ซึ่งเรา (แทบจะ) ไม่จำเป็นต้องมาเขียน routes อีกเลย ซึ่งส่วนตัวคิดว่าสะดวกมากๆ แม้ว่าจะไม่ได้เจาะจงเพื่อจะใช้งาน SSR (Server-Side Rendering)

ต้องยอมรับว่าแรกๆที่เริ่มเขียน ReactJS ก็มีความปวดหัวปนมีความน่าเบื่อในการเขียน Router, Routing พอสมควร แต่ Next.js ทำให้รู้สึกสนุกได้มากขึ้น

ตอนนี้ต้องยอมรับว่ายังไม่ทราบถึงข้อดีและข้อเสียทั้งหมดของ Next.js เพราะเพิ่งเริ่มศึกษา แต่หวังว่าน่าจะสนุกกับมันได้สิน่า

เชื่อมต่อกับ Omise อย่างง่ายๆ ด้วย Node.js

นานๆ จะกลับมาอัพเดท blog สักที เมื่อวันที่ผ่านมาได้มีโอกาสนั่งเขียนโค้ดเพื่อเป็นตัวอย่างในการเชื่อมต่อกับ Omise Payment Gateway อย่างง่ายๆด้วย node.js (express.js) โดยในโค้ดก็จะครอบคลุมการสร้าง Charge อย่างง่ายๆ ไม่ว่าจะเป็น Credit / Debit card และ Internet Banking รวมไปถึงการรับ WebHooks ด้วย

นานๆ จะกลับมาอัพเดท blog สักที เมื่อวันที่ผ่านมาได้มีโอกาสนั่งเขียนโค้ดเพื่อเป็นตัวอย่างในการเชื่อมต่อกับ Omise Payment Gateway อย่างง่ายๆด้วย node.js (express.js) โดยในโค้ดก็จะครอบคลุมการสร้าง Charge อย่างง่ายๆ ไม่ว่าจะเป็น Credit / Debit card และ Internet Banking รวมไปถึงการรับ WebHooks ด้วย

โดยจะประกอบไปด้วย

1) ฟอร์มสำหรับบัตรเครดิต/เดบิต โดยมีความปลอดภัยซึ่งทางผู้พัฒนาเว็บไซต์เองจะต้องไม่ส่งข้อมูลของบัตรเข้าเซิร์ฟเวอร์ของตนเอง และจะทำการสร้าง Token เพื่อนำไปสร้าง Charge เท่านั้น

2) การสร้าง Charge นั้นรองรับ 3-D secure หรือการกรอก OTP ซึ่งจะมีการ redirect ไปยังเว็บไซต์ของทางธนาคาร (ถ้าใช้ Live keys)

3) มี code สำหรับการสร้าง Charge สำหรับ Internet Banking ด้วยนะ ส่วนอื่นๆ เช่น Alipay, Installment ก็ทำคล้ายๆกัน แค่เปลี่ยน parameter เท่านั้น

4) มีตัวอย่างสำหรับหน้า return_uri หรือหน้าที่แสดงผลการชำระเงิน บางที่เรียก Thank you page ก็ว่ากันไปครับ

5) มีตัวอย่างสำหรับการรับข้อมูลจาก WebHooks ด้วยครับ แต่ก็ต้องไปพัฒนาต่อกันเองนะครับ ว่าจะมี logic ในการเอาไปประมวลผลอะไรต่อ

โดยในอนาคตอาจจะทำวีดีโออธิบายให้ด้วย และจะเพิ่มภาษาอื่นๆ หรือ Payment method อื่นๆ เพื่อเป็นตัวอย่างแบบง่ายๆให้นำไปพัฒนาต่อกันเองได้ครับ

ว่าแล้วก็สามารถเข้าไปดูได้ใน GitHub ของผมเลยครับ https://github.com/keeratita/omise-integration-examples

ปล. ก่อนหน้านี้มีบทความเกี่ยวกับ ASP.NET เดี๋ยวไว้จะเอามารวมไว้ใน Git เดียวกันครับ ลองไปอ่านได้ที่ https://keerati.co/2018/07/07/asp-net-core-กับ-omise-dotnet/

ทดลองถ่ายรูปทะเลใช้วิธี long exposure

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

Sunset at NangRam beach by Keerati Tansawatcharoen on 500px.com

รูปนี้ก็เพิ่งถ่ายวันนี้หมาดๆเลยที่หาดนางรำ ขับรถกลับบ้านมาก็เอามาลงเลย

ดูซีรีส์ Grey’s Anatomy

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

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

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

และหลังจากดูต่อไปอีกหน่อย …… ก็แทบอยากด่าผู้กำกับ 555555