heroku login เพื่อ push ผ่าน command line

การใช้งาน heroku.com บน command line นั้น เริ่มต้นจากการสมัครสมาชิกบน heroku.com ให้เรียบร้อย ก็จะมี user และ password เป็นของตนเอง แต่เมื่อต้องการใช้งานโปรแกรม heroku บน command line ต้อง download
โปรแกรม https://devcenter.heroku.com/articles/heroku-cli

หากต้องการใช้งาน เช่น ใช้คำสั่งแสดงรายการแอปพลิเคชันของเรา ด้วยคำสั่ง heroku apps ต้องเริ่มต้นด้วยคำสั่ง heroku login ซึ่งมีรายละเอียดการรักษาความปลอดภัยแบบ Two-factor authentication พบว่า ต้องมีการ Verify บัญชีผู้ใช้ และต้องเลือก method ในการยืนยันตัวตน
พบว่า มี 3 ปุ่มปรากฎขึ้นมาให้เลือก 1) Salesforce Authenticator 2) One-Time Password Generator 3) Security Key โดยวิธีที่สาม จะเกี่ยวข้องกับการใช้ usb drive ที่น่าสนใจลดลงสำหรับการใช้งานในปัจจุบันที่บางอุปกรณ์ไม่มีช่อง usb แล้ว จึงเลือก 2 วิธีแรก และการใช้งาน ต้องไปดาวน์โหลด app จาก Google play store ชื่อ Salesforce Authenticator ไปติดตั้งบน mobile device เพื่อให้พร้อมสำหรับการยืนยันตัวตน

ขั้นตอนการยืนยันตัวตน มีดังนี้ 1) บน PC : ติดตั้งโปรแกรม แล้วตรวจสอบรุ่นด้วย heroku -v แล้วสั่ง heroku login พบว่าจะมีการเปิด browser ให้ยืนยันตัวตน ซึ่งมี 3 method ให้เลือกดำเนิน ซึ่งผมเลือก 2 method แรก 2) บน PC : คลิ๊ก One-Time Password Generator จะพบกับ QR code มาให้ถูก scan ผ่าน application เฉพาะ จึงไม่สามารถ scan ด้วยโปรแกรมใด ๆ แล้วนำ code ไปเปิดบน browser เพราะไม่ใช่ web link 3) บน Mobile : ติดตั้ง Application ชื่อ Salesforce Authenticator บน Smart phone เปิดขึ้นมา แล้วเลือก เพิ่มบัญชี และสแกน QR code ที่พบบน PC จนผ่าน แล้วจะพบตัวเลข 6 หลัก สำหรับนำไปกรอกบน PC และจะเปลี่ยนเร็วมาก โปรดจดจำ แล้วไปกรอกในเวลาที่กำหนด 4) บน PC : คลิ๊ก Salesforce Authenticator พบช่องให้กรอกโค้ด ถ้ากรอกเลข 6 หลักในเวลาที่กำหนดแล้ว คลิ๊กปุ่ม Enable Two-factor Authentication 5) บน PC : ถ้ายืนยันตัวตนผ่าน ในหน้า Command line จะพบรายงานว่ายืนยันผ่านเรียบร้อย แล้วปรากฎรหัสผู้ใช้ขึ้นมา จากนั้นสามารถใช้ คำสั่ง heroku auth:whoami ตรวจสอบได้ว่าฉันคือใคร คำสั่ง heroku apps แสดงรายการแอปที่เคยสร้างไว้ คำสั่ง heroku apps:info react640909 แสดงรายละเอียดของแอปพลิเคชัน

http://www.thaiall.com/heroku/

http://www.thaiall.com/react/

Akismet คือปลั๊กอินช่วยกรองขยะ

Akismet คือ ปลั๊กอิน (plug in) ช่วยกลั่นกรอง Spam เมื่อเข้าระบบในฐานะผู้ดูแลให้เลือก Plugins, Add new, ค้น “akismet” เมื่อพบก็ต้องเลือกว่าจะ Update now กรณีลงนานแล้ว หรือ Install now กรณีไม่เคยลง ซึ่งมี plug in ของ automattic.com หลาย ตัวน่าสนใจ ไปเลือกมาติดตั้งได้ เมื่อติดตั้ง (install) แล้ว ดำเนินการตามขั้นตอนทั้ง 5 ดังนี้ 1) Activate : Akismet 2) ขอ API Key ใน wordpress.org เลือก การจ่ายแบบ $0 ต่อปีได้ ถ้าเข้า 3 เงื่อนไขนี้ I don’t have ads on my site. I don’t sell products/services on my site. I don’t promote a business on my site. ก็จะ subscription สำเร็จ แล้วจะส่งไปที่ e-mail 3) พบ Activate Code ใน E-mail ให้ Click เพื่อรับ E-mail ฉบับที่สอง ซึ่งมี API Key 4) เข้า Dashboard, Plugins, Akismet Configuration กรอก API Key แล้วกด Update Options 5) พบตัวเลือก Dashboard, Akismet Stats สำหรับตรวจจำนวน Spam ที่จัดการได้

App : LPMuseum2 บน Google Play Store


เล่าเรื่อง App

ที่มาของแอปพลิเคชัน lpmusem ทั้งรุ่น 1 และ 2 ใน Google play store อ้างอิงข้อมูลทั้งหมดจากข้อมูลในเว็บไซต์ lpmuseum.net ที่ดำเนินการภายใต้ โครงการ การจัดการพิพิธภัณฑ์ชุมชนในระบบอิเล็กทรอนิกส์ของจังหวัดลำปาง (The Management of Community Museum in Electronic System of Lampang Province) โดย พระครูสิริธรรมบัณฑิต,ผศ. ผู้อำนวยการวิทยาลัยสงฆ์นครลำปาง หัวหน้าแผนวิจัยและคณะ ซึ่งได้รับทุนอุดหนุนจากมหาวิทยาลัยมหาจุฬาลงกรณราชวิทยาลัย ประจำปีงบประมาณ 2563 MCU RS 6303008 โดยข้อมูลการศึกษาได้มาจาก 3 วัดต้นแบบ ได้แก่ วัดบ้านหลุก 289 หมู่ 6 ตำบลนาครัว อำเภอแม่ทะ จังหวัดลำปาง วัดปงสนุกเหนือ ตำบลเวียงเหนือ อำเภอเมืองลำปาง จังหวัดลำปาง วัดไหล่หินหลวง หมู่ 2 บ้านไหล่หิน ตำบลไหล่หิน อำเภอเกาะคา จังหวัดลำปาง

ในโครงการประกอบด้วย 3 โครงการย่อย ได้แก่ โครงการวิจัยย่อยที่ 1 เรื่อง ศึกษาองค์ความรู้และกระบวนการสร้างการจัดการพิพิธภัณฑ์ท้องถิ่นเพื่อความยั่งยืน ก่อให้เกิดแนวปฏิบัติที่ดีในการสร้างการจัดการพิพิธภัณฑ์ท้องถิ่น ผู้ดำเนินการวิจัย : อ.ณรงค์ ปัดแก้ว โครงการวิจัยย่อยที่ 2 เรื่อง การพัฒนาพิพิธภัณฑ์ชุมชนด้วยระบบอิเล็กทรอนิกส์ในจังหวัดลำปางได้สร้างรูปแบบทะเบียนโบราณวัตถุของพิพิธภัณฑ์ชุมชนในระบบอิเล็กทรอนิกส์ ผู้ดำเนินการวิจัย : พระครูสิริธรรมบัณฑิต,ผศ., ผศ.ดร.บุษกร วัฒนบุตร, ดร.อนุกูล ศิริพันธ์, อ.ณฤณีย์ ศรีสุข โครงการวิจัยย่อยที่ 3 เรื่อง การสร้างต้นแบบพิพิธภัณฑ์ชุมชนในระบบอิเล็กทรอนิกส์สร้างแอปพลิเคชัน พิพิธภัณฑ์ชุมชน พัฒนาระบบและเครือข่าย และการสร้างต้นแบบพิพิธภัณฑ์ชุมชนด้วยระบบอิเล็กทรอนิกส์ ดร.ภัทรเดช ปัณชญาธนาดุล

http://www.thaiall.com/reactnative/lpmuseum/

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

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

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

http://www.thaiall.com/ntufan

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

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

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

ตัวอย่าง 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/

pingback and trackback

trackback
trackback

PingBack คืออะไร

ปิงแบล็ค (PingBack) คือ การเชื่อมโยงกลับไปยังบันทึกต้นฉบับ เกิดจากการเขียนลิงค์ในบันทึกที่อยู่ในบล็อก
ของนายบี แล้วระบบบล็อกของนายบี จะแจ้งกลับไปยังบล็อกต้นฉบับของนายเอให้รับทราบ
เมื่อนายเอได้รับข้อความในรูป comment ก็สามารถแก้ไข comment ดังกล่าวได้
แต่ไม่ส่งอะไรกลับไปยังบล็อกของนายบีอีก สรุปได้ 2 ส่วนคือ
1) วางลิงค์ในบันทึกก็จะเป็นการสร้างปิงแบล็คทันที บล็อกจะแจ้งกลับไปยังบล็อกของผู้ถูกอ้างอิงให้รับทราบ ถ้าบล็อกทั้งสองระบบสนับสนุนเทคนิกนี้
2) บันทึกที่มีปิงแบล็คจะส่งลิงค์ของบันทึกและบทคัดย่อกลับไปยังบันทึกต้นฉบับอัตโนมัติ และผู้ดูแลบล็อกต้นฉบับเลือก approve ให้เพิ่มเป็น comment ในบันทึกของตนเอง
เทคโนโลยีการสื่อสารของ pingbacks ใช้   XML-RPC  
       

TrackBack คืออะไร
แทร็กแบล็ค (TrackBack) คือ การเชื่อมโยงระหว่างบันทึกเรื่องเดียวกัน
ประเด็นตรงกัน อาจเขียนต่าง เพิ่ม แก้ไขจากที่มีอยู่หรือเหมือนกันก็ได้
โดยเชื่อมโยงข้อคิดเห็น (Comment) มาใช้ร่วมกันเป็นเครือข่าย สรุปได้ 3 ส่วนคือ
1) บล็อกที่เขียนบันทึกใหม่จะส่งการเชื่อมโยงและบทคัดย่อที่เรียกว่า Excerpt กลับไปให้บันทึกต้นฉบับ
2) เมื่อเพิ่มข้อคิดเห็นในบันทึกใหม่ ระบบจะส่งข้อคิดเห็นไปให้กับบันทึกต้นฉบับที่เป็น TrackBack อัตโนมัติ
3) บล็อกต้องสั่ง approve เพื่อส่งเข้าไปเป็น comment ในบันทึกต้นฉบับ
เทคโนโลยีการสื่อสารของ  trackbacks ใช้  HTTP POST

Link Back มี 3 เทคนิค คือ  
1)Refback  คือ การเขียน link ตามปกติ เมื่อคลิ๊กก็จะไปยังเว็บที่ถูก link แบบนี้ไม่ส่งอะไรให้ linked server
2)Trackback คือ การใส่ link เข้าเครื่องบริการ แล้วจะส่ง notification ไปยัง linked server
สิ่งที่อาจส่งไป คือ site name, post title, post excerpt และ post url
3)Pingback คือ การใส่ link เข้าเครื่องบริการ แล้วจะส่ง notification ไปยัง linked server
โดยใช้ XML-RPC มิได้ใช้  HTTP Post
สิ่งที่ส่งไป คือ linked post URL, Linking post URL

http://en.wikipedia.org/wiki/Linkback

http://blog.kudson.com/bimbim/2008/01/28/%E0%B8%9A%E0%B8%A5%E0%B9%87%E0%B8%AD%E0%B8%81-blog-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/

รายละเอียดดีมาก
http://www.optiniche.com/blog/117/wordpress-trackback-tutorial/