anoochit

Live บนเพจ Dart แบบ Dart Dart

ผมทำ Live บนเพจ Dart แบบ Dart Dart มา 15 ตอนละ เพราะต้องการกระตุ้นการเรียนรู้ของตัวเองและถ่ายทอดความรู้ เทคนิดต่างๆ ที่ใช้อยู่ให้กับคนที่สนใจ ตอนแรกตั้งใจว่าจะทำเป็น course online พอทำไปทำมา คิดว่าน่าจะทำเป็น tutorial พอทำเป็นวิดีโอก็เป็นชั่วโมง สงสัยโม้เยอะไปหน่อย ก็เลยต้องปรับเนื้อหาเป็นตอบคำถามแทน ใช้เวลาอธิบาย ทำตัวอย่าง ไม่เกิน 30 นาที พยายามปรับเนื้อหาให้กระชับมาเรื่อยๆ

ประสบการณ์ทำมือถือ Brick

ผมมักจะติดสินใจ flash rom เครื่องโทรศัพท์มือถือเวลาต้องการใช้ Android รุ่นใหม่ๆ เพราะ rom จากค่ายโทรศัพท์มือถือไม่มีการอัพเดทแล้ว หรือมาช้ามากๆ ล่าสุดผมอัพเดท rom Oppo F11Pro เพราะพลาดจาก ColorOS 7 trial ช่วงปลายปีที่แล้ว ถ้ารอ ColorOS 7 จริงๆ ก็น่าจะใช้เวลานานอาจจะได้ปลายปีเลยก็ได้ ก็เลยตัดสินหา rom ColorOS 7 trial จาก ColorOS 7 forum ในอินเดีย ก็มีคนเอา rom มาปล่อย ซึ่งหลายๆ คนในอินเดียอัพเดทได้ปกติ ซึ่งมันก็น่าสนใจที่จะลองใช่มะ

พอได้ไฟล์ก็จัดเลย เข้า recovery mode และสั่ง update ทันที ก่อนการอัพเดทก็มีการถามยืนยันอีกครั้ง ซึ่งก็จะเอา ColorOS 7 น่ะ ก็เลยจัดเลยครับ พอ flash rom เสร็จ เครื่องก็ boot ครับ สวยงามมาก จากนั้นก็รอครับ ไปทำอย่างอื่นไม่ได้สนใจอะไร เพราะรู้ว่าต้องใช้เวลานานในการ boot OS ใหม่กว่าจะแตกไฟล์ ฯลฯ คงต้องใช้เวลา ก็เลยไปเขียนโปรแกรมต่อ พอมาดูอีกที เฮ้ย ทำไม boot ค้าง เครื่องร้อนจี๋ เรียบร้อย เจอ boot loop ไม่ไปไหน

สุดท้ายต้องหาวิธีปิดเครื่อง ลองสอบถามไปทาง JayMart เพราะซื้อเครื่องที่ JayMart แต่ JayMart ไม่ได้ช่วยอะไร ก็เลยไปหา Oppo Support ได้แนวทางแก้ปัญหาเบื้องต้นมา แต่ Recovery แล้วไม่มีสัญญาญมือถือ T_T

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

หยอดซิลิโคนให้ MacBook Air

ช่วงอากาศร้อนๆ เครื่อง MacBook Air มีปัญหาเรื่องความร้อนบ่อยๆ อีกอย่างอัพเดท MacOS 10.15.4 ไป พัดลมดันไม่เพิ่มความเร็วเพื่อหมุนระบายความร้อน ก็เลยทำให้เครื่องร้อนและดับไป มีน้องแนะนำให้แงะดูว่าซิลิโคนแห้งไหม ก็เลยสงสัยว่า MacBook Air มีซิลิโคนด้วยแฮะ ก็เลยได้โอกาสแงะดู

พบว่าซิลิโคนแห้งมากๆ ก็เลยได้เช็ดทำความสะอาดและหยอดซิลิโคนไปใหม่ ส่วนปัญหาเรื่องพัดลม ติดตั้งโปรแกรม Macs Fan Control และเปิดความเร็วสูงสุดไปก่อนไม่งั้นเครื่องดับอีกแน่นอน 🙂

ซื้อไมค์โครโฟนมาละ

ผมตัดสินใจซื้อไมค์โครโฟน USB มาใช้ เพราะเครื่อง Macbook Air ไม่มีช่องเสียบไมค์ อัดเสียงจากไมค์ที่ตัวเครื่องได้เสียงไม่ชัดเจน เลยตัดสินใจซื้อไมค์โครโฟนมาใช้ดีกว่า

ตอนแรกจะซื้อไมค์แบบปรับเปลี่ยนโหมดได้ แต่เปลี่ยนใจซื้อไมค์แบบ unidirection แทน เพราะส่วนใหญ่ใช้งานอัดเสียง และงาน Live คิดว่าเสียงน่าจะดีขึ้นครับ

ลอง Live ดูเกี่ยวกับ Dart x Flutter

ลอง Live ดูเกี่ยวกับ Dart x Flutter ที่เพจ Dart แบบ Dart Dart ดู ยังไม่ค่อยชินกับการ Live สักเท่าไร เพราะการ stream มันมี delay ของเนื้อหาบางทีกด end live แต่ข้อมูลยังไปไม่หมดก็มี ก็เลยได้ประสบการณ์หลายๆ อย่างในการ live ครั้งแรก

สำหรับครั้งหน้าจะเริ่มเข้าเนื้อหาแบบจริงจังละ
– แนะนำการติดตั้ง Flutter tools
– การใช้งาน Command line tools (create, run, upgrade, channel)
– Editor (VSCode, Android Studio)
– Build package debug, release
– ใช้งาน Git
– Auto build package กับเครื่องมือ CI/CD
– ลอง HelloWorld กัน
– Live โค้ด Boilerplate + แจกเอาไปเล่นกัน
live วันอังคารที่ 17 มีนาคม ตอนประมาณ 5 ทุ่มนะครับ ติดตามกันได้ที่เพจ Dart แบบ Dart Dart กันได้

สรุปประสบการณ์ไปทำงานกระเป๋าผ้า

แฟนผมให้ไปตัดผ้าเพื่อทำกระเป๋าผ้าส่งให้ลูกค้า 1,000 ใบ เพราะงานที่รับเข้ามามีหลายงานจนทำไม่ทัน และช่างตัดผ้าไม่อยู่ทำให้งานตัดผ้าขาดคน ก็เลยได้ไปช่วยงานและสังเกตเห็นอะไรหลายๆ อย่างที่ต้องแก้ไขเลยมาสรุปไว้สักหน่อย
ก่อนอื่นต้องเล่าก่อนว่างานกระเป๋าผ้าที่คุณแฟนทำอยู่มีหลายงาน สรุปเป็นประเภทงานได้ 3 ประเภท

  1. งานประเป๋าผ้าแบบมาตรฐาน (standard) เป็นขนาดมาตรฐาน มี 12 แบบ ทำ pattern ไว้แล้วพร้อมตัดเย็บและสกรีนลาย
  2. งานกระเป๋าผ้าสั่งทำ (tailor-made) เป็นงานที่ลูกค้าอยากได้กระเป๋าตามแบบและขนาดที่ลูกค้าต้องการ งานแบบนี้เป็นงานสั่งทำที่ต้องทำ pattern ใหม่ทุกครั้ง จะเสียเวลาในการออกแบบ ทำ pattern และคัดเลือกเนื้อผ้านาน เพราะเป็นงานสั่งทำเฉพาะ เน้นงานพรีเมี่ยม
  3. งานกระเป๋าผ้าสั่งผลิต (mass production) เป็นงานกระเป๋าผ้าเน้นงานเย็บ มีแบบกระเป๋า และผ้ามาให้เรียบร้อยแล้ว สั่งผลิตจำนวนมาก เช่น งานกระเป๋าแบรนด์ต่างๆ กระเป๋าผ้าโหล กระเป๋าผ้า 7-11 เป็นต้น

งานที่ผมไปช่วยเป็นงานแบบที่ 1 คือเป็นงานประเป๋าผ้าแบบมาตรฐาน มี pattern พร้อมตัดเย็บ ซึ่งงานจะแบ่งเป็น station ต่างๆ ดังนี้

  1. งานตัดผ้า
  2. งานสกรีน
  3. งานเย็บ

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

  1. งานตัดผ้า มี waste เป็นเศษผ้า มี NG เป็นผ้าที่ตัดไม่ได้ขนาด
  2. งานเย็บผ้า มี waste เป็นเศษผ้าที่ตัดออกตอนโพ้ง มี NG เป็นกระเป๋าที่ขนาดไม่ตรงตามแบบ
  3. งานสกรีน มี waste เป็นเศษกระดาษ sublimation, งานสกรีนเสีย

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

มาลองเล่น Google Cloud Vision กัน

เนื่องจากมีงานที่ได้กลับไปใช้ Cloud Vision อีกครั้งก็เลยมา blog ไว้สักหน่อย Google Cloud Vision มี feature ใหม่เยอะมาก ซึ่ง feature ที่ผมเอามาใช้คือ Detect explicit content (adult, violent, etc.) ในรูปภาพ
เรื่องของเรื่องคือมี Mobile App ตัวนึงที่มีบริการอัพโหลดภาพ ซึ่งผู้ใช้ก็จัดเต็มอัพโหลดภาพที่ติดประเด็นเรื่อง content policy ของ Google PlayStore ก็เลยทำให้ App โดน suspended ทางเจ้าของ App เค้าก็เลยจะใช้คนมานั่งดูภาพแล้วคัดออก ซึ่งก็ดูน่าจะทรมานน่าดู เพราะจำนวนไฟลที่อยู่ใน Google Cloud Storage ก็ประมาณ 400 กว่าภาพเข้าไปแล้ว (เพิ่มขึ้นเรื่อยๆ ) ใช้ AI เข้ามีช่วยน่าจะดีกว่า ก็เลยได้ใช้ Cloud Vision อีกรอบ
เนื่องจาก Mobile App ไม่ได้อ่านค่าตรงจาก Google Cloud Storage เพราะ Meta data อยู่ใน Firebase database ก็เลยต้องอ่านข้อมูลจาก Firebase database แล้วทำ label, flag จากนั้นให้ผู้ดูแลตรวจสอบและสั่งลบไฟล์ใน bucket อีกครั้ง สำหรับการตรวจครั้งต่อไปแบบอัตโนมัติ ใช้ Cloud Function เข้ามาช่วยตรวจสอบและลบ content จาก Firebase database และไฟล์ใน bucket อัตโนมัติ
demo ที่แปะ label ไว้แล้ว