Github app ติดตามเขา เขาติดตามเรา รู้ได้

Github.com เป็นระบบที่บริการเป็นสาธารณะ
เข้าไปดูผลงาน ของเพื่อน/ศิษย์นักพัฒนา
เข้าไปติดตามใคร ๆ ที่เขาเปิดเผย
หรือถูกใคร ๆ ติดตามเรา
เกาะติดเราจนจะเป็นแฟนเพจอยู่แล้ว
ชอบผลงานของใคร
เดี๋ยวนี้ clone กันง่าย ๆ
แก้ไขอะไรโดยใครในทีม เห็นหมด
หรือเลือก fork แยกรุ่นมาจากตัวหลัก
มีนักพัฒนาบางคนที่เป็นลูกศิษย์
เรียนรู้วิถีเดิมของอาจารย์
และเรียนรู้วิถีใหม่เพิ่มเติม ต่อยอด
แล้วออกไปสู้กับผู้ร้ายที่เก่งกาจกว่าอาจารย์
มีให้เห็นเยอะมากในหนังของเฉินหลง
หรือศิษย์เส้าหลิน ที่ไปล้างแค้นแทนวัด
เล่าซะยาว เดี๋ยวจะเลยเถิดไปเรื่อย ๆ
จนไปถึง  ever night ซีรี่จีนเรื่องลูกศิษย์
แต่ลูกศิษย์ดันพบรักกับศัตรูของอาจารย์
สุดท้ายอาจารย์ตาย ขึ้นไปเป็นพระจันทร์

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

ชวนน้องเล่นเกม และสั่งพูด Hello World ด้วย node.js

อยากเล่าให้น้องที่ชอบเล่นเกมฟัง ว่า Bluestacks ใช้ดาวน์โหลดเกมบน Android มาเล่นได้เหมือนกับมี Smart phone อีกเครื่อง วางอยู่บนโปรแกรม Windows เรียกได้ว่า โปรแกรมซ้อนโปรแกรมและมีได้หลายชั้น และโปรแกรม Node.js ก็ถูกกล่าวถึงกันอย่างมาก ไปค้นดูใน google ได้เลยว่า นิยมชมชอบกันขนาดไหน โดยเฉพาะ กลุ่มที่สนใจเทคโนโลยีแบบเข้มข้น ทั้งนิสิต นักศึกษา และโปรแกรมเมอร์ ถ้าสนใจเรื่องนี้ มาอ่านกันต่อได้เลยครับ ผมขอเสนอกิจกรรมน่าสนุก คือ พูด Hello world บน Bluestacks ถ้าดูตามภาพประกอบทั้ง 7 ภาพ เป็นเหตุการณ์ที่จะเกิดขึ้นหลังจากเราไป download โปรแกรมจาก bluestacks.com มาติดตั้งแล้ว เมื่อเปิดใช้งานโปรแกรมครั้งแรกนั้น 1) เรามักเริ่มต้นจากการเข้าไป ตั้งค่า (setting) ว่าจะใช้งานแบบแนวนอน หรือแนวตั้ง และความละเอียดของหน้าจอ ให้เหมาะกับการเล่นเกมของเรา 2) เปิด Play store เตรียมดาวน์โหลดโปรแกรม และเกมที่รอเราอยู่นับล้าน แต่เริ่มใช้งานก็ต้องอัปเดตคลังการสนับสนุนกันก่อน 3) จะติดตั้งเครื่องมือ ก็นึกถึงสูตรโกงเกมสมัยก่อนเลย ต้องเข้าโปรแกรม Termux (ก่อนอื่นต้อง download Termux….apk ค้นจาก google.com หรือดาวน์โหลดจากแหล่งเผยแพร่ เช่น apkcombo.com หรือ apkpure.com หรือ f-droid.org เมื่อได้มาแล้ว ก็เพียงแต่ลากแฟ้ม .apk ไปวางใน Bluestacks ก็จะเป็นการติดตั้งและใช้งานได้ทันที) หน้าตาของโปรแกรมจะเป็นพื้นสีดำ ตัวอักษรสีขาว ที่ดูจะมือมน แต่มีอะไรซ่อนอยู่มหาศาล ลองค้นหาดูครับ นึกซะว่าเก็บเหรียญ เข้าแล้วก็พบกับเครื่องหมาย $ แสดงว่าตรงนี้มีค่า ที่พร้อมสนับสนุนให้เราได้ไปต่อ เพราะเป็นสัญลักษณ์หน่วยเงินของต่างประเทศ เรียก Dollar sign 4) โปรแกรม Node.js ที่นักคอมพิวเตอร์เค้าใช้กันนั้น เริ่มต้นใช้งานได้ด้วยการพิมพ์คำสั่ง npm แต่เมื่อสั่งแล้วพบว่าในระบบยังไม่มี จึงต้องสั่งติดตั้งเพิ่ม การสั่งติดตั้งจะพิมพ์คำสั่งว่า pkg install nodejs แต่ฟ้อง error ก็ใจเย็น ๆ หาสาเหตุ และวิธีแก้ไขกันก่อน 5) ในอุปกรณ์มีแต่โปรแกรมเก่าที่มีมาก่อนหน้านี้ จึงยังใช้คำสั่งติดตั้งไม่ได้ อยากได้ของใหม่ก็สั่งอัพเกรดรายการกันก่อน จะได้มีโปรแกรมที่ทันสมัยยิ่งขึ้น มาสั่งกันได้เลย ด้วยคำสั่ง pkg upgrade 6) ถึงเวลาแล้ว ที่จะติดตั้งโปรแกรมที่เราต้องการ ก็เพียงแต่พิมพ์สั่งว่า pkg install nodejs ก็จะใช้เวลาไปดาวน์โหลดโปรแกรมมาติดตั้งให้เราอยู่พักหนึ่ง 7) เมื่อพร้อมก็เริ่มสั่งงาน และเขียนโปรแกรมกันเลย แต่ละบรรทัดก็จะมีความหมายเฉพาะตัว เรามาค้นหาความหมายของคำสั่งต่าง ๆ กันดีไหม เมื่อเขียนเสร็จ ก็สั่งให้โปรแกรมทำงาน ผลของการทำงานจะพบคำว่า Hello World ถือว่าภารกิจลุล่วง ภาษาอังกฤษเรียก Mission Complete ยินดีด้วย ผ่าน ด่านที่ 1 เรียบร้อยแล้ว

ภาพที่ 7

http://www.thaiall.com/bluestacks/

http://www.thaiall.com/node.js

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


วันนี้ 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/

ตัวอย่าง CSS ใน HTML (Joom.htm)

CSS (Cascading Style Sheets) คือ ภาษาคอมพิวเตอร์สำหรับกำหนดรูปแบบในเอกสาร HTML หรือเรียกว่า สไตล์ชีต ที่ใช้กำหนดรูปแบบ (Layout) สีอักษร สีพื้น ตัวอักษร การจัดวาง ระยะห่าง เส้นขอบ เป็นต้น มีรูปแบบ Syntax เฉพาะตัว ได้รับการกำหนดมาตรฐานโดย W3C การใช้ CSS มี 3 แบบ คือ Inline, Internal และ External CSS

เรื่อง CSS : Cascading Style Sheets กลายเป็นข้อควรรู้ที่จำเป็นสำหรับนักพัฒนาเว็บไซต์อย่างหลีกเลี่ยงไม่ได้ ปัจจุบัน CSS มีถึงรุ่น 3 แล้ว ในการใช้งานจริงมักสร้าง CSS แบบ External style sheet เพราะแฟ้มอื่นเรียกใช้ได้ ส่วน Internal style sheet ก็จะเรียกใช้ได้เฉพาะในแฟ้มนั้น ส่วน Inline style ก็จะพิมพ์คำว่า style ต่อท้าย tag นั้นไปเลย ซึ่งตัวแปรหลัก 2 แบบที่กำหนดเองใน CSS มี 2 แบบคือ id กับ class
การกำหนด และการเรียกใช้ต่างกันไป ถ้าเป็น id จะขึ้นต้นด้วย # แต่เป็น class จะขึ้นต้นด้วย . ถ้าเรียกใช้ id จะใช้ properties name ว่า id ส่วนเรียกใช้ class จะใช้ properties name ว่า class

สิ่งที่แตกต่างกัน คือ id จะเรียกใช้ครั้งเดียว แต่ class เรียกใช้ได้หลายครั้ง ถ้าวางแผนอย่างใจเย็นก็จะใช้ประโยชน์จาก css ได้อย่างเต็มที่ มีตัวอย่างที่ css_sample.htm และ การทำเมนู Responsive แบบ Top Nav หากจะทดสอบการปรับแต่ง css ทำได้ที่ w3schools.com

CSS คือ ภาษาคอมพิวเตอร์สำหรับกำหนดรูปแบบในเอกสาร HTML เรียกว่า สไตล์ชีต ที่ใช้กำหนดรูปแบบ สีอักษร สีพื้น ตัวอักษร การจัดวาง ระยะห่าง เส้นขอบ เป็นต้น มีรูปแบบ Syntax เฉพาะตัว ได้รับการกำหนดมาตรฐานโดย W3C การใช้ CSS มี 3 แบบ คือ Inline, Internal และ External CS จากตัวอย่างในรหัสต้นฉบับ แฟ้ม joom.htm ที่เป็นอัลบั้มแบบ static ถูกทำเครื่องหมายไว้ 6 จุด เพื่อใช้ชี้ให้เห็นในสิ่งที่น่าสนใจ ดังนี้ 1) แฟ้มเก็บ css ที่เก็บไว้ภายนอก แต่อยู่ในเครื่องบริการของตนเอง ทำให้เว็บเพจอื่นโหลดไปใช้ได้ นำเข้าได้ด้วย link tag 2) เขียน css ไว้ในเว็บเพจ และเรียกใช้ได้เฉพาะในเว็บเพจนั้น เขียนอยู่ใน style tag 3) ใน style tag สามารถกำหนด ขนาด media สำหรับเรียกใช้ css แต่ละชุดได้ เช่น mobile, desktop, notebook ก็จะแสดงผลแตกต่างกันไปตามขนาดหน้าจอ 4) มี css ที่ถูกพัฒนาให้ใช้ร่วมกับ Pure Javascript ที่ทำให้แสดงผลบนเว็บเพจแบบ dynamic และถูกใช้อย่างแพร่หลาย สามารถเรียกใช้ผ่านเครื่องบริการ CDN (Content Delivery Network) ได้ฟรี 5) การประกาศ css แบบ in-line ทำให้มีผลทันทีใน tag นั้น เช่น ประกาศบน div ใด ก็จะมีผลเฉพาะใน div นั้น หากอยู่นอกเหนือขอบเขต ก็จะไม่มีผล การประกาศใช้ที่จุดใด จึงต้องคำนึงถึงขอบเขตของการนำไปใช้ 6) การประกาศ css มักอยู่ในรูปของ class แล้ว tag ต่าง ๆ สามารถเรียกใช้ class ได้ และยังเรียกใช้หลาย class พร้อมกันได้ ซึ่งการตรวจสอบค่า css ในระหว่างแสดงผลบน browser เช่น chrome สามารถกด F12 แล้วใช้ Developer Tools เข้าไปตรวจสอบ หรือทดสอบแก้ไข แล้วการแสดงผลจะเปลี่ยนไปทันที ทำให้กลับไปแก้ไขโค้ดทำได้ง่ายขึ้น

จ๋อมเว็บเพจ (Joom webpage)

https://www.thaiall.com/java/indexo.html

React native + Android studio : SDK Location + Run APK

รา build app เพื่อให้ได้แฟ้ม .apk ที่พัฒนาขึ้นด้วย React native ร่วมกับ Android SDK ซึ่งสามารถส่งออกผลงานได้หลายวิธี เมื่อได้แฟ้ม .apk มาแล้ว นำไปใช้บนอุปกรณ์ หรือ emulator ได้อีกหลายวิธี ซึ่งวิธีหนึ่งที่น่าสนใจ คือ upload แฟ้ม .apk ขึ้นไปทำงานบน เว็บบราวเซอร์ (Run APK Online in Browser) ผ่านบริการของ appetize.io หรือ ApkOnline Chrome extension (ส่วน testobject.com และ Manymo.com ประกาศยุติแล้ว) ซึ่งตัวอย่างนี้ เลือกใช้บริการที่ appetize.io เมื่อสมัคร และกรอกอีเมล ระบบจะส่งลิงค์ register ไปให้ทางอีเมล หลังจากนั้นจะพบลิงค์เข้าแอพแบบ online ในอีเมล หัวข้อ “Your links are ready!” มีข้อความว่า Your app is ready to go at https://appetize.io/app/g7..ym หรือ sign in เข้า dashboard เลือก ชื่อโปรเจคของเรา (myproject) มีตัวเลือก view , embed , manage , .. หากเลือก view ก็จะเปิด emulator แบบ online มาให้ใช้งาน ถ้าต้องการใช้บริการมากกว่านี้ หรือมีข้อจำกัดที่ลดลง เลือกจ่ายค่าบริการได้ ซึ่งหน้าตาแอพบนเว็บไซต์ เหมือนที่พบบน emulator โดยเงื่อนไขให้บริการแบบ Trail มีระยะเวลาหนึ่งเดือน หรือจำกัดจำนวน มีรายละเอียดดังนี้ Current plan: Trial. Period usage: 0 sessions, 0 minutes from Aug 1, 2021 12:00:00 AM to Sep 1, 2021 12:00:00 AM UTC. You are limited to 1 concurrent user and 100 minutes of streaming per month.

Android Studio
 Menu bar, Tools, SDK Manager, Android SDK Location: C:\Users\burin\AppData\Local\Android\Sdk
 Menu bar, Tools, SDK Manager, Android SDK, SDK Platforms, Check : Android 9.0 (Pie) API Level 28
 Menu bar, Tools, SDK Manager, Android SDK, SDK Tools,
 Check : Intel x86 Emulator Accelerator (HAXM installer) - Installed
 Bios : VT-x Virtualization must be enabled in Bios ( VT-x )
 C:> sysdm.cpl
 ANDROID_SDK_ROOT=C:\Users\burin\AppData\Local\Android\Sdk
 อ่านเพิ่ม https://developer.android.com/studio/run/emulator-commandline
 dir C:\Users\burin.android\avd พบ folder : Nexus_5X_API_24.avd
 C:\Users\burin\AppData\Local\Android\Sdk\emulator> emulator @Nexus_5X_API_24
 C:> react-native init myproject
 C:\myproject> gradlew assembleRelease
 dir E:\myproject\android\app\build\outputs\apk\release\app-release.apk - 31 MB
 dir E:\myproject\android\app\build\outputs\apk\debug\app-debug.apk - 44 MB

การติดตั้งหรืออัพเดทรุ่นของ node.js

การติดตั้ง node.js เพื่อใช้คำสั่ง npm (Node Package Manager) เริ่มจากดาวน์โหลด node-v…-x64.msi สำหรับ windows จาก https://nodejs.org/en/ พบโปรแกรมใน C:\Program Files\nodejs\ หลังติดตั้งตรวจสอบรุ่นด้วย C:\> npm -v (16.7.0)

มื่อเวลาผ่านไป พบว่า node.js ได้รับการพัฒนาจนมีรุ่นใหม่ และรุ่นเก่าใช้ติดตั้ง package ใหม่ไม่ได้ จึงต้องติดตั้งโปรแกรม nvm โดยดาวน์โหลด nvm-setup.exe สำหรับ windows มาใช้งาน เพื่อใช้จัดการรุ่นของ node.js ทำให้เราสามารถติดตั้ง node.js ได้หลายรุ่น และเลือกใช้รุ่นที่ต้องการได้ เช่น C:\> nvm use 16.7.0 เป็นต้น ดังนั้นหลังติดตั้ง node.js แล้วจะได้ node , npm และ npx ไว้ใช้งาน แต่ยังไม่มี nvm จึงต้องติดตั้งเพิ่ม เพราะเมื่อเวลาผ่านไป ก็จะต้องติดตั้ง node.js รุ่นใหม่ แม้ node.js รุ่นเก่าจะเป็น LTS (Long Term Support) version แต่มี package เสริมจำนวนมากที่ถูกพัฒนาเพิ่ม และแจ้งว่าไม่เข้ากันกับ package รุ่นเก่า ที่เป็น deprecated ไปแล้ว และไม่สนับสนุน package เหล่านั้นอีกต่อไป และ nvm นี้เองที่ช่วยสลับรุ่นของ node.js ทำให้สามารถนำ project เก่ามาแก้ไข โดยไม่ต้องปรับแก้ code ตามการพัฒนาของ node.js ในแต่ละรุ่น

 ตรวจรุ่น https://nodejs.org/download/release/latest/
 ตรวจรุ่น https://github.com/coreybutler/nvm-windows/releases
 nvm-setup.zip (สั่ง nvm-setup.exe ได้ C:\Users\ACER\AppData\Roaming\nvm)
 nvm -v (1.1.7)
 npm cache verify (ตรวจสอบ cache)
 npm cache clean -f (ถ้าติดตั้ง/สั่งงานไม่สำเร็จ ข้อมูลอาจค้าง ถ้าเจอปัญหาลองไปล้าง cache)
 nvm list available (แสดง version ทั้งหมดที่ติดตั้งได้)
 nvm install 16.7.0 (ติดตั้ง node.js รุ่นที่กำหนด)
 node -v (เก่า v10.15.3)
 npm -version (เก่า 6.4.1) 
 nvm list (แสดง version ที่ถูกติดตั้งไว้แล้ว)
 nvm use 16.7.0
 node -v (v16.7.0)
 npm -version (7.20.3)

ตัวอย่างโค้ดที่ธนาคารแห่งประเทศไทยให้มาเพื่อใช้เชื่อมต่อ API

 var request = require("request");
 var options = { method: 'GET',
   url: 'https://apigw1.bot.or.th/bot/public/Stat-SpotRate/v2/SPOTRATE/',
   qs: { start_period: '2021-06-01',end_period: '2021-06-12' },
   headers: { accept: 'application/json', 'x-ibm-client-id': 'xxx … xxx' } };
 request(options, function (error, response, body) {
   if (error) return console.error('Failed: %s', error.message);
   console.log('Success: ', body);
 });

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/

proceeding การประชุมทางวิชาการและนำเสนอผลงานวิจัยระดับชาติ

การประชุมทางวิชาการและนำเสนอผลงานวิจัยระดับชาติ ครั้งที่ 18 เรื่อง ก้าวนำสังคมวิถีชีวิตใหม่ด้วยงานวิจัยและนวัตกรรม วันที่ 3 – 4 กรกฎาคม 2564 ผ่านระบบการประชุมทางไกลผ่านจอภาพ (Yealink Meeging) มหาวิทยาลัยเวสเทิร์น

พบว่า มีผลงานวิชาการที่น่าสนใจหลายเรื่อง ที่อ่านทบทวนวรรณกรรมได้ เช่น 1) การคัดแยกแบคทีเรียจากข้าวแต๋นน้ำแตงโมราดน้ำอ้อย จังหวัดลำปาง 2) ความผูกพันของนิสิตระดับปริญญาตรีต่อมหาวิทยาลัยเนชั่น กรณีศึกษา นิสิตที่ได้รับทุนการศึกษาโครงการทุนการศึกษาปริญญาตรีเฉลิมพระเกียรติ สมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารีเพื่อเยาวชนจังหวัดน่าน
โดยความร่วมมือระหว่างมหาวิทยาลัยเนชั่น และธนาคารกสิกรไทย 3) ประสิทธิผลของโปรแกรมการสร้างเสริมสุขภาพด้วยการใช้สมาธิบำบัด SKT ในผู้ป่วยโรคความดันโลหิตสูง ที่ควบคุมไม่ได้และมีความเครียดร่วมด้วย ที่มารักษาในโรงพยาบาลส่งเสริมสุขภาพบ้านศรีหมวดเกล้า ตำบลชมพู อำเภอเมือง จังหวัดลำปาง 4) ความรอบรู้ด้านสุขภาพและพฤติกรรมสุขภาพตามหลัก 3อ. 2ส. ของผู้ป่วยโรคเบาหวาน ในโรงพยาบาลส่งเสริมสุขภาพตำบลบ้านโทกหัวช้าง ตำบลพระบาท อำเภอเมือง จังหวัดลำปาง 5) การพัฒนาหุ่นจำลองโทษพิษภัยบุหรี่ 6) การออกแบบตราสินค้าของกลุ่มผู้สูงอายุองค์การบริหารส่วนตำบลทุ่งกว๋าว อำเภอเมืองปาน จังหวัดลำปาง 7) การสำรวจการบริหารจัดการองค์กรสาธารณประโยชน์และองค์กร สวัสดิการชุมชนในจังหวัดลำปาง 8) ผู้บริหารสถานศึกษากับการพัฒนาครูผู้สอนในยุคดิจิทัล 9) การจัดการศึกษากับเศรษฐกิจและสังคมไทย

https://www.facebook.com/groups/thaiebook/posts/2026731970810944

ผลสําเร็จจากการวิจัยและนวัตกรรม


สำนักงานการวิจัยแห่งชาติ(วช.) กระทรวงการอุดมศึกษา วิทยาศาสตร์ วิจัยและนวัตกรรม ขอเชิญเข้าร่วมรับฟังการชี้แจง กรอบการวิจัยและนวัตกรรม ประจําปีงบประมาณ 2565 และแถลงผลสําเร็จจากการวิจัยและนวัตกรรม NRCT Open House 2021 ระหว่างวันที่ 18 – 25 กรกฎาคม 2564 ผ่านระบบออนไลน์ ใน 8 ด้าน ดังนี้ 1) ด้านทรัพยากรธรรมชาติและสิ่งแวดล้อม (18 กรกฎาคม 2564) 2) ด้านการพัฒนาเส้นทางอาชีพนักวิจัยและนวัตกรรม และการวิจัยเพื่อฐานทางวิชาการ (19 กรกฎาคม 2564) 3) ด้านเศรษฐกิจและการเกษตร และด้านสัตว์เศรษฐกิจ (20 กรกฎาคม 2564) 4) ด้านการพัฒนาเทคโนโลยีและอุตสาหกรรม (21 กรกฎาคม 2564) 5) ด้านการรองรับสังคมสูงวัย (22 กรกฎาคม 2564) 6) ด้านสังคมและความมั่นคง (23 กรกฎาคม 2564) 7) ด้านการรองรับการระบาดของโรคโควิด-19และรองรับโรคติดต่ออุบัติใหม่ (24 กรกฎาคม 2564) 8) ด้านการจัดการความรู้การวิจัยและถ่ายทอดเพื่อการใช้ประโยชน์ (25 กรกฎาคม 2564)

https://openhouse2021.nrct.go.th/


https://www.facebook.com/nrctofficial/videos

https://www.scribd.com/document/516552580/

New high – ประกาศพื้นที่ควบคุมสูงสุด ไทยแตะหมื่นครั้งแรก ชาร์ตสหรัฐเพิ่มขึ้นต่อเนื่องเมื่อวานต่อวันมากกว่าสี่หมื่น

ระกาศพื้นที่ควบคุมสูงสุด ไทยแตะหมื่นครั้งแรก
ชาร์ตสหรัฐเพิ่มขึ้นต่อเนื่องเมื่อวานต่อวันมากกว่าสี่หมื่น 

เมื่อ 17 ก.ค.64 มี ประกาศพื้นที่ควบคุมสูงสุดและเข้มงวด ระบุ 13 จังหวัด พื้นที่ควบคุมสูงสุด 56 จังหวัด รวมถึงจังหวัดลำปาง ที่ได้รับการยกระดับเป็นพื้นที่ควบคุมสูงสุด ส่วน หน้าหนึ่งหนังสือพิมพ์ไทยรัฐ 17 ก.ค.64 ขึ้นตัวโตว่า “จ่อล็อกดาวน์เข้มอีก คนไม่ค่อยร่วมมือลดเดินทาง” ยอดติดเชื้อแตะหนึ่งหมื่นต่อวันเป็นวันแรก วันนี้ทำ new high ผู้ติดเชื่อรายใหม่มี 11,397 คน และเสียชีวิต 101 คน ในระดับโลก เมื่อมองดูที่สหรัฐอเมริกาฟังข่าวรายงานวันนี้ ที่เคยมีการฉีดวัคซีนฟรี สะดวก รวดเร็ว มีรีวิวให้เห็นอยู่เสมอ พบว่า “สหรัฐชี้ โควิดสายพันธุ์เดลต้ายึดครองโลกแล้ว” ขณะนี้มีจำนวนผู้ติดเชื้อเฉลี่ยในช่วง 7 วันที่ผ่านมา มากกว่า 26,000 ราย เพิ่มขึ้นถึง 2 เท่า เมื่อเทียบกับเดือนมิถุนายน 2564 ซึ่งอยู่ที่ 11,000 ราย เมื่อไปดูสถิติของประเทศสหรัฐอเมริกาใน worldometers.info พบว่า 7 วันที่ผ่านมาในเดือนกรกฎาคม สูงกว่าเดือนมิถุนายน ที่ลดลงจากเดือนพฤษภาคมอย่างชัดเจน วันที่ 16 ก.ค.64 มีผู้ติดเชื้อรายใหม่ถึง 40,529 คน