รักใครหลงอะไร ไปตั้งแฟนคลับได้นะ

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

ถือเป็นแอปแรกที่อยากสร้างที่ไม่ได้เกิดจากงานในปีนี้ คือแอปแฟนคลับ เพราะใกล้ตัว และมีข้อมูลอยู่มาก นั่นคือการเป็นแฟนคลับมหาวิทยาลัยเนชั่น เดิมผมเป็นแฟนคลับไอดอลญี่ปุ่น เกาหลี จีน หรือจะฝั่งตะวันตกทั้งอเมริกา อังกฤษ ฝรั่งเศษ หนัง เพลง การ์ตูน และหนังสือก็เป็นแฟนเช่นกัน แต่ก็ไกลตัวเกินไป เลือกใกล้ ๆ ก็เลือกที่ทำงานนี่เลย เพราะไปทำงานทุกวัน มีเรื่องราวให้เล่าได้ เลือกภาพมาจัดกิจกรรม น่าจะพัฒนาขึ้นเป็นแอปแฟนคลับได้ เริ่มต้นก็ใช้ webpage มาสร้าง prototype ที่จำลองคล้ายกับหลักการของ webview component ที่ใช้บน react native ด้วยเวลาที่จำกัด จึงเลือกสร้างไว้ 4 เพจ คือ ประวัติ ภาพสวย บทความของท่านอธิการ และคลิปวิดีโอ เนื่องจากข้อมูลที่เคยสะสมไว้มีพร้อม จึงดำเนินการได้เร็ว ปรับโค้ดไม่มาก ด้วย template เดียวกัน สรุปว่าต่อจากนี้ก็ต้องนึกฝันกันต่อไปว่าจะเอาอะไรมาใส่ในแอพ ก่อน build เป็น version 1 ขึ้น google play store กันต่อไป

http://www.thaiall.com/ntufan

กลุ่มซิกเซนต์ ที่ปลุกให้กลับมาพัฒนาโมบายแอปอีกครั้ง


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

https://www.moveoapps.com/blog/wp-content/uploads/2020/07/best-programming-languages-for-mobile-app-development.png


กลับมานึกถึง นิสิตรุ่นพี่ปี 4 สายเดฟ ผมตั้งชื่อว่า Six Sense ไม่ใช่ The Sixth Sense ที่เป็นชื่อภาพยนตร์ที่แสดงนำโดย Bruce Wills แต่ Six มาจาก จำนวน ไม่ใช่ Sixth ที่มาจากคำว่า ลำดับที่ ตั้งชื่อว่า ซิกเซนต์#1 ประกอบด้วย หวาน แพรว ฟลุ๊ค เฟิร์น นน ฝน ซิกเซนต์#2 ประกอบด้วย คอม หนึ่ง นิค มิ้ม แบล็ค วิว เพราะนิสิตทั้งสองรุ่น อ.แนน อ.นุ้ย อ.เชพ ผู้สอน และศิษย์พี่ที่รับศิษย์น้องไปทำงานตรงสาย ต่างเสมือนเป็นแรงผลักดันต่างกรรมต่างวาระ ทำให้ผมกลับมาสนใจการพัฒนาโมบายแอปด้วยเครื่องมือใหม่อีกครั้ง จากที่เริ่มพัฒนาเว็บแอป มาตั้งแต่ 2541 ก่อนหน้านี้เคยสนใจ Android Studio แต่อุปกรณ์ไม่พร้อมสนับสนุนการพัฒนา แล้วปัจจุบัน 2564 ได้พี่เปรม และพี่เบนซ์ มาช่วยทำให้อุปกรณ์ของผมพร้อมขึ้น และตัวเครื่องมือพัฒนาได้รับการปรับปรุงให้มีประสิทธิภาพ ขึ้น จึงเริ่มกลับมาสนใจการพัฒนาโมบายแอป ด้วย React Native บน Android SDK และถือเป็นเวลาที่ต้องกลับไปซ่อมแซมโมบายแอป ที่เคยใช้ webview หรือแอปเก่ามีปัญหาที่ไม่ สอดคล้องกับเงื่อนไขใหม่ของ Play Store จนเป็นผลให้ Google play store ลบแอปออก เนื่องจากเวลาผ่านไปเงื่อนไขก็เปลี่ยนตาม (lpmuseum2) โดยเฉพาะคำว่า deprecated หมายถึง การยุติฟังก์ชัน โมดูล หรือไลบรารี่ที่ใช้ในการพัฒนาแอปพลิเคชัน ที่ประกาศยุติอยู่เสมอในทุก เครื่องมือ ทำให้ต้องกลับไปรื้อแอปเก่า นำมาเข้าคิว เพื่อพัฒนาใหม่อีกหลายตัว


กลับมาชวนมองกระแส React Native พบว่า แนวโน้มการใช้เครื่องมือพัฒนาโมบายแอพในปัจจุบัน กลุ่มนักพัฒนาโมบายแอปในดาวเคราะห์สีน้ำเงินนี้ เลือกใช้ React Native ที่พัฒนาขึ้นโดย Facebook และเป็น Cross Platform ที่ส่งโค้ดไป compile บนตัวแปลภาษาในแต่ละอุปกรณ์ทำให้ใช้ฟังก์ชันได้ทุกตัว อาทิ Andriod หรือ iOS จึงเรียกว่า Native language จากบล็อกที่เขียนโดย Sophia Martin เขียน 14 ก.ย.2562 ระบุว่า เครื่องมือมาแรงมี 3 ตัว คือ Flutter , React Native และ Xamarin ส่วน Hirar Atha เขียน 23 ก.ค.63 นำเสนอ 6 Best programming languages ประกอบด้วย Android = 1) Java, 2) Kotlin ส่วน iOS = 3) Swift, 4) Objective-C ส่วน Cross Platform = 5) React Native, 6) Flutter แล้วคุณ Hirar Atha ยังเล่าว่า โดยเฉลี่ยแล้วผู้ใช้สมาร์ทโฟนอยู่กับอุปกรณ์ 2 ชั่วโมง 55 นาทีทุกวันเมื่อปี 2562 ซึ่งนานกว่าดูทีวีหรืออุปกรณ์อื่นใด มีร้อยละ 90 ใช้เวลาในแอปพลิเคชัน ซึ่งชัดเจนว่า Mobile apps คือ สื่อดิจิทัลที่ลูกค้าเกาะติดเป็นกลุ่มที่ใหญ่ที่สุด ผู้ใช้สมาร์ทโฟนเฉลี่ยแล้วมี 80 แอปพลิเคชัน และใช้อย่างน้อย 40 แอปพลิเคชันทุกเดือน

https://www.thaiall.com/reactnative/

set user variables กับ system variables

ลูกศิษย์ชื่อหนึ่ง โพสต์ถามใน สมาคมโปรแกรมเมอร์ไทย เกี่ยวกับ C:\> npx react-native run-android ที่ต้องตั้งค่า JAVA_HOME แต่ผมสนใจเรื่องการตั้งค่าใน System variables และ User variables จึงเรียบเรียงมาเล่าสู่กันฟัง ซึ่งการเข้าไปตั้งค่านั้น สั่งผ่าน command line ด้วย sysdm.cpl แล้วเข้า Advanced มองหา Environment variables… ซึ่งตัวแปรที่ตั้งขึ้นนั้น มี 3 สภาพแวดล้อม (Environment) คือ 1) ตั้งขึ้นขณะอยู่ใน Current shell ที่กำลังเปิดใช้งานอยู่นั้น และหายไปเมื่อปิด shell ลง 2) ตั้งตัวแปรใน System variables จะมีตัวแปรและค่าให้ใช้ในทุกเชล และทุกยูเซอร์ ถ้ามีตัวแปรซ้ำกับที่ประกาศใน User variables ก็จะใช้ในส่วนที่ผู้ใช้เป็นผู้ประกาศขึ้นสำหรับตนเอง 3) ตั้งตัวแปรใน User variables จะใช้เฉพาะกับ user ที่ sign in ในระบบขณะนั้น ผู้ใช้คนอื่นก็จะไม่เห็นตัวแปรนั้น ซึ่งตัวแปรแบบนี้ไม่ได้เกี่ยวว่าจะอยู่ shell แบบไหน เพราะได้ค่าเหมือนกันทั้งใน user หรือ administrator หรือ powershell เช่น ตัวแปร burin มีค่าเป็น u ก็จะเป็นเช่นนั้น เมื่อเรียกใช้โดย user ปัจจุบัน แต่ถ้า sign out และมีสมาชิกคนอื่นเข้ามาในระบบ แล้วใช้ตัวแปรที่สร้างใน System variables ค่าของ burin ก็จะเป็น s ตามตัวอย่างในภาพ

อีกกรณีหนึ่ง คือ การจัดการกับ variable ใน shell หนึ่ง จะไม่มีผลไปยัง shell อื่น จะลบหรือเปลี่ยนค่า burin เมื่อเปิด shell ใหม่ ระบบก็จะ load ค่าอีกครั้งจากระบบใหม่เข้ามาใช้ใน shell ไม่ว่าจะเป็น user variables หรือ system variables ก็ตาม เพราะแต่ละ shell มีหน่วยความจำเก็บตัวแปรเป็น local variables ของตนเอง หรือแม้แต่การเข้าไปเปลี่ยนใน sysdm.cpl ก็จะไม่กระทบค่าตัวแปรใน shell ที่กำลังเปิดอยู่ หากต้องการค่า variable ที่มีการเปลี่ยนแปลง ก็ต้องปิด shell แล้วเปิดขึ้นมาใหม่

มีอัลบั้มภาพที่เกี่ยวข้อง
ที่ http://www.thaiall.com/reactnative/