สอน Flutter ออนไลน์

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

เอกสาร slide ตัวอย่างโค้ด และ video recap ดูเพิ่มเติมที่ https://github.com/anoochit/flutter_aru_2021

ได้ทำอะไรบ้างในปี 2020

พยายามจะทำ AAR ในทุกงานที่ทำ ทั้งโปรเจคที่ทำกับลูกค้าและสรุปในแต่ละปี สำหรับปี 2020 เป็นปีที่สาหัสสำหรับผมมากๆ

  • ปลดหนี้บัตรเครดิต 3 ใบ พร้อมปิดปัญชี
  • ผ่อนรถหมดแล้ว แต่ก็ยังไม่ได้ขับรถอยู่ดี
  • ไปเที่ยวแทบจะทุกวันหยุดยาว แฟนให้นโยบายมาว่า เมียชอบเที่ยวผัวหาตังค์
  • ไปช่วยงานตัดผ้าของแฟน พยายามเปลี่ยน mind set เรื่อง supply chain แต่แฟนไม่เข้าใจ
  • รับงาน Mobile App และ ChatBot มีรายได้เข้ามานิดหน่อย ต้องขอบคุณลูกค้าทุกท่านที่มาจ้างงาน ขอบคุณจริงๆ ครับ 🙂
  • ไปสอนใน Workshop Flutter ที่บางแสน
  • ซื้อ Matebook 14 มาใช้แทน Macbook Air เพราะเครื่องพัง
  • ซื้อ MatePad Pro มาใช้แทน iPad ที่ขายไปเมื่อปีที่แล้ว
  • ซื้อมือถือ Oppo A93 ให้แฟนจะได้มีภาพสวยๆ ลงเพจขายกระเป๋าบ้าง
  • ซื้อมือถือ Realme 7 5G ได้สัมผัสกับ 5G กับเขาบ้าง
  • หัดใช้งาน Windows 10 อย่างจริงจัง ซึ่ง resize partition ได้แล้ว ย้ายไฟล์จาก MacOS filesystem มาใส่ไว้ใน SSD ที่เป็น NTFS ได้แล้ว
  • อัพเดทเอกสารภาษี W8 ของอเมริกาอีกรอบ ปี 2021 จะจริงจังเรื่องขายของมากขึ้น
  • ไม่ได้วิ่ง Mini, Half มาราธอน เลื่อนเพราะ Covid-19

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

กำไร-ขาดทุน

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

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

ก็เลยมานั่งคิดว่า ถ้าขายกระเป๋าขนาด 14×16 ได้ 200 ชิ้น จะได้กำไรมาจำนวนหนึ่ง สามารถมาใช้เป็นทุนหมุนเวียนได้นิดหน่อย ถามว่าได้กำไรเยอะไหมก็ไม่ได้เยอะมากเท่าไร

ตัดสินใจซื้อ Huawei Matepad Pro

ตัดสินใจซื้อ Huawei Matepad Pro หลังจากที่ซื้อ Matebook 14 ไปไม่นาน จริงๆ อยากได้มือถือที่เป็น HMS เผื่อได้เขียนโปรแกรมทดสอบ แต่ตัดสินใจซื้อ Matepad Pro เพราะ spec ดูดีและหน้าจอใหญ่ ไม่ต้อง 4G, 5G ก็ได้ และที่สำคัญได้ส่วนลด และของแถมกว่า 7,000 บาท เป็น Magnetic Keyboard และ M-Pencil จริงๆ กว่าจะตัดสินใจซื้อ Matepad ได้ก็ใช้เวลานานหลายเดือนเลย เพราะตั้งแต่เปิดจองเมื่อต้นปีก็ยังลังเล เพราะ Matepad, Matepad Pro ออกมาระยะเวลาใกล้กัน แต่ spec ต่างกันเยอะมาก สุดท้ายก็เลือก Matepad Pro มา

ได้เครื่องมาช่วงเย็นๆ เพราะ CJ Logistics มาส่งของแถวบ้านรอบเย็น ช่วงค่ำๆ ได้ลองเปิดใช้งานดูก็พบปัญหาหลายอย่าง ซึ่งถ้าออกแบบดีก็ไม่น่าจะเป็นปัญหาอะไร ยกตัวอย่างเช่น Magnetic Keyboard ที่แถมมา เชื่อมต่อกับ Tablet ไม่ได้ สั่ง reset ก็แล้ว อ่าน support forums ก็แล้ว งมอยู่หลายชั่วโมง ได้ official support มาช่วยชีวิต บอกวิธีการกดปุ่ม reset ของ Magnetic Keyboard ให้ก็ค่อยยังชั่วหน่อย สำหรับการใช้งานปากกาไม่มีปัญหาเลย แปะขอบเครื่องปุ๊ป ชาร์จปั๊บ เชื่อมต่อปุ๊ป สะดวกมากๆ

ชีวิตที่อยู่บน HMS เป็นยังไง? ก็ต้องใช้ App Gallery ล่ะ แต่ล่าสุด Huawei แนะนำ Petal Search ก็ดูง่ายดี เพราะ search ได้หลายอย่างทั้ง web ทั้ง app และข้อมูลอื่นๆ ได้ หา apk มาลงได้ (แต่มันไม่น่าจะใช่นะ) ถ้า Petal Search ทำดีกว่านี้และเอาไปใส่ใน EMUI ผมว่าน่าสนใจมาก แต่คิดว่าคงเพิ่งเริ่มต้น

การใช้งาน App Gallery เป็นยังไง? ผมว่ามันยังแปลกๆ นะ โดยส่วนตัวคิดว่า EMUI น่าจะมี App ของ Huawei ใส่มาให้เลย แต่ก็ไม่มี คิดว่าน่าจะขยายไปในกลุ่ม Petal App อีกหลายตัว อันนี้ต้องติดตาม

Swift Key เป็น App Keyboard มาพร้อมกับ EMUI เป็นของ Microsoft ซึ่งแปลกมาก เอาจริงๆ ถ้าอเมริกาบอกว่าแบน Huawei ทำไมยังใช้ Swift Key ที่เป็น ของ Microsoft บน EMUI ได้ตลกจริงๆ โดยส่วนตัวที่ลองใช้งาน Swift Key แล้ว feature ที่มีแทบไม่ได้ใช้ แถมยังสู้ Google Keyboard ไม่ได้เลย

แปะวาร์ป GMS ไว้สักหน่อย คิดว่าน่าจะได้ประโยชน์กัน

ซื้อเครื่องชงกาแฟ

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

ตัดใจซื้อ Huawei Matebook 14 Ryzen 7 2020

ตั้งใจจะซื้อเครื่อง Macbook Pro เอามาใช้แทนตัวเก่า พอกดสเปกก็เลยเลิกคิดราคากระโดดไป 8x,xxx ทนใช้ Macbook Air mid 2013 Core i5 2 Cores RAM 4GB ต่อไป พอดีเห็น Huawei Matebook 14 Ryzen 7 2020 เพิ่งออกดูจาก spec แล้วก็น่าสนใจดี แต่ระบบปฏิบัติการเป็น Windows แอบทำใจพักใหญ่ (ประมาณ 1 เดือน) แต่เมื่อลองเทียบ spec กับราคาแล้วก็ถือว่าคุ้มค่าอยู่เหมือนกัน กับเครื่อง 8 Cores RAM 16GB อย่างน้อยก็ช่วยให้ compile code ได้เร็วขึ้นอีกหน่อย ก็เลยไปถอยมาและได้ลองใช้งานอยู่สักพักก็ได้ประสบการณ์มือใหม่ทันที

สรุปประสบการณ์การใช้ Huawei Matebook 14 Ryzen 7 2020

  • Hardware ทำได้ดี Ryzen 7 4800H Ram 16GB ถือว่าใช้ได้
  • เครื่องจับเหงื่อมาก เป็นรอยนิ้วมือได้ง่าย
  • หน้าจอ touch ได้ แต่ไม่ได้ใช้ และแน่นอนหน้าจอเป็นรอยนิ้วจิ้ม
  • เปิดเครื่องด้วยมือเดียวไม่ได้ (ทรมานกับการใช้งานมากๆ)
  • ไม่มีโปรแกรมปรับค่าพัดลม CPU เหมือน Notebook Gaming
  • AMD Radeon Software ปรับค่าได้รวมๆ
  • PC Manager ใช้งานง่าย อัพเดทไดรเวอร์ต่างๆ ได้ง่าย
  • ความร้อนบน keyboard ยังมีอยู่
  • ไม่ชอบกล้องมุมแหงน resolution ก็งั้นๆ
  • keyboard แบบชิกเคล็ด วางชิดๆ กัน ใช้งานไม่ค่อยคล่อง
  • เครื่องแบ่ง partition เป็นส่วนเก็บข้อมูลและ Windows ออกจากกัน
  • สั่ง factory reset ได้ อันนี้ชอบมาก
  • ใช้งานจริงๆ จังๆ ได้ประมาณ 5 ชั่วโมง (best performance)
  • ใช้งานแบบประหยัดพลังงานได้ประมาณ 7 ชั่วโมง
  • ชอบเมาส์ bluetooth แต่ไม่ชอบที่มีเสียงคลิ๊กๆ
  • กระเป๋าแถมมาใบใหญ่กว่าเครื่องเยอะมาก
  • จะพยายามทนใช้ windows นะ

สรุปประสบการณ์การใช้ Windows

  • WSL ทำได้ดีมี shell ให้กดเล่น แต่ใช้กับงานที่ทำอยู่ไม่ได้
  • ชอบ windows terminal + power shell มากกว่า ทั้งๆ ที่ไม่เคยใช้ power shell คงเพราะมันสั่ง ls ได้มั๊ง
  • extract zip file ขนาด 1G++ ช้ามาก
  • ผมไม่เหมาะกับ Windows เท่าไร

ปล. ผมใช้ Linux และ MacOS มาตลอด ไม่ค่อยเข้าใจการใช้งาน Windows 10 เท่าไร อย่างน้อยก็มี video แนะนำผู้ใช้ Mac มือเก่ามาเป็นผู้ใช้ Windows มือใหม่

Ticks Tips Windows 10 มีหลายเรื่องน่าสนใจ

ไปทำ Workshop Flutter ที่บางแสน

ช่วงสัปดาห์ที่แล้วได้มีโอกาสไปทำ Workshop Flutter ที่บางแสน ไปแบบด่วนๆ แอบเหนื่อยเล็กน้อยเพราะไม่ได้เป็นไปอย่างที่คิด ตัวอย่างยากเกินไปหน่อย แต่อย่างน้อยก็มีโค้ดตัวอย่างให้ได้ไปแกะกัน T_T

เอาเป็นว่าผ่านไปได้อย่างทะลักทุเล แปะ slide ไว้ เผื่อมีคนสนใจอยากเรียนครับ 🙂

ซื้อพัดลมจาก Shopee เจอสินค้ามีตำหนิซะงั้น

ป๋าจะไปซื้อพัดลมติดผนังมาติดให้ที่ห้องแต่ไปถึงร้านก็ไม่มีรถขนกลับ ผมก็เลยอาสาซื้อเองละกัน กด Shopee สั่งพัดลมไอเย็นยี่ห้อ Hatari มา (ผมจะสั่ง Master Cool แต่ป๋ามาบังคับให้ซื้อ Hatari ก็ตามใจป๋า) สั่งซื้อเสร็จก็รออยู่ 3 วัน สินค้าก็มาส่ง แกะกล่องดูได้สินค้ามีตำหนิซะงั้น งานประกอบมาไม่ดี สลักด้านในโผล่ออกมาด้านนอก เลยได้แกะเครื่องถอดประกอบใหม่

ไปบริจาคร่างกาย

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

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

หรืออย่างน้อย หลังจากตายแล้วก็ได้นอนแช่อ่างมีน้องนักศึกษาสาวๆ คอยอยู่ใกล้ๆ 😀

กลับมาเขียน ChatBot

มีเหตุบังเอิญที่ได้กลับมาเขียน ChatBot ก็เลยขอ Blog ไว้สักหน่อย เรื่องของเรื่องคือทางเว็บไซต์ติดต่อมา อยากทำ ChatBot แบบตอบข้อความอัตโนมัติผ่าน LINE ก็เข้าใจว่าเป็น ChatBot ล่ะ ให้เสนอราคามาหน่อยว่าจะรับทำเท่าไร ก็เลยขอรายละเอียดงานหน่อย งานก็แนวๆ บอกสถานที่และให้ Bot บอกว่ามีน้องๆ อยู่แถวนั้นกี่คน มีใครบ้างก็แสดงข้อมูลขึ้นมา จริงๆ โปรเจคแบบนี้เคยทำใน DoggyGirl และ PinkyBink ไปแล้ว แนวคิดเหมือนกันเลย เพียงแต่รายนี้ต้องเชื่อมต่อกับฐานข้อมูลของเว็บไซต์ เท่าที่ทราบมีทีมต่างประเทศดูแลเรื่อง Cloud Infra และจัดทำเว็บไซต์ พอคุย scope เรียบร้อย ด้วยความเป็นกังวลเพราะ scope ยังคลุมเครือมาก และข้อจำกัดของ LINE ก็มีมากพอสมควร

เพื่อความชัวร์ เอา database มาดูก่อนได้ไหม หน้าตา table, relation เป็นแบบไหนยังไง ผ่านไป 3 สัปดาห์ เงียบเลย แต่มี requirement มาแบบไม่หยุด ประมาณไอเดียบรรเจิดมาเลยทีเดียว ก้อได้แต่บอกว่าขอดู database ก่อน แต่ก็ได้คำตอบประมาณว่าไม่อยากให้ยุ่งกับ database ของเว็บมากนัก อ้าวแล้วจะทำไงอ่ะ ทำ replication ข้าม Cloud Provider คงไม่ใช่เรื่องที่ดีแน่ๆ ถ้าจะให้ทำก็ขอ access database ไม่งั้นทำไม่ได้ ผ่านไป 1 สัปดาห์ได้ backup database มา 250MB แตกไฟล์ data ออกมาได้ 2.5GB แม่เจ้า database อะไรเนี่ย 300 กว่าตาราง ข้อมูลรวมๆ 3.3M rows … ย้ายไป GCP ด่วนๆ เลย เพราะ run บน Mac ไม่ไม่รอดแน่ พออยู่บน GCP ก็พอจะไล่ข้อมูลใน table ต่างๆ ได้บ้าง

ผ่านไปอีก 1 สัปดาห์ ยังไม่ได้ database access แต่เขียน ChatBot มี feature ครบไปเรียบร้อยแล้ว สุดท้ายถึงมารู้ว่าต้องเขียน issue เข้าไปเพื่อให้ทีมต่างประเทศให้สิทธิ์ในการเข้าถึงฐานข้อมูล ก็เลยถึงบางอ้อ เอ้าเขียนก็เขียน ก็เลยสาธยายร่ายยาวไปนิดนึง ได้คำตอบมายาวๆ ก็อุ่นใจหน่อย พอเชื่อมต่อฐานข้อมูลได้ก็สบายละ ได้ลองทดสอบเวอร์ชั่นแรก ก็ไม่ตรงใจเท่าไร จนต้องรื้อของเดิมใหม่หมด เพราะลักษณะการใช้งานของผู้ใช้ไม่ได้ใช้ ChatBot แบบที่เราใช้ ChatBot กัน จนได้เวอร์ชั่น 2 ที่ดิบมากๆ จากการทดสอบก็ถือว่าออกมาพอใช้ แต่ก็ยังติดปัญหาเรื่องการแสดงผลข้อมูลจากฐานข้อมูลด้วย เพราะข้อมูลในฐานข้อมูลเป็น pigeonhole มีข้อมูลเป็น Null เยอะมาก เรียกได้ว่าข้อมูลมีเป็นหมื่นรายการ แต่ใช้งานได้อยู่ 90 รายการ ซึ่งไม่ใช่ละ ก็ต้องค่อยๆ join table ออกมาให้ได้ข้อมูลมากที่สุด อันไหนได้ Null ก็ต้องไปตามเช็คใน REST API อีกรอบ เหนื่อยกับข้อมูลแบบนี้พอสมควร แต่ก็ผ่านมาได้ สุดท้ายก็ต้องเอางานไป deploy บน Cloud ที่ทีมต่างประเทศดูแลอยู่ดี ซึ่งก็ดีไม่ต้องมาคอยดูแลเอง

ยังไม่หมด first release ก็จะเอา second release แล้ว ไอเดียบรรเจิด เพิ่ม feature อีกเพียบเลย ก็เร่งทำให้จนเสร็จ และออก release 2 อย่างรวดเร็ว ให้ทดสอบแบบเร่งด่วนเพราะไม่น่าจะมีอะไรยุ่งยากละ ขอแค่ดึงข้อมูลมาแสดงผลให้ถูกก็พอ ก็ถือว่าเป็นการกลับมาเขียน ChatBot พร้อม integrate ข้อมูล เพื่อให้บริการลูกค้าแบบจริงจัง ก็สนุกดี

แปะ Video ไว้หน่อย