วิวปีหนึ่ง ถามติดตั้ง CMS ด้วยความอยากเรียนรู้

ในชั่วโมง Home room – 27 มี.ค.62
ที่ อ.แนน นัดเด็ก ๆ คุยกัน ที่ห้องแล็บคอม
คุยกันเรื่องนู้นนั้นนี้ เกี่ยวกับกิจกรรมในระดับหลักสูตร
พอมีเวลา
ผมก็ชวนคุยเรื่องการเรียนรู้ และชวนที่จะลงไปเรียนรู้หน่วยงาน
คอม กับนิก ลง joomla เสร็จหลายวันแล้ว
ส่วนวิว กับมิ้ม ก็พูดถึงการลงเซิร์ฟและ joomla
พูดถึงการสร้างฐานข้อมูลผ่าน phpmyadmin
ตอนนี้ก็รอน้องแบล็ค หนึ่ง กิม และพี่ปีสองมาพูดคุยด้วย
เป็นกิจกรรมนอกหลักสูตร เพราะไม่มีวิชาเรียนในระดับปีหนึ่ง
แต่เค้าสนใจการเรียนรู้
ที่น่าจะต้องหาเวลาเรียนรู้กันตั้งแต่ปีหนึ่งได้แล้ว


เมื่อวาน 28 มี.ค.62 พี่ปี 4
ก็เอา code OCR เขียนด้วย React Native ทำงานบน Expo
ซึ่งการเขียน Javascript สร้าง app บน Mobile นั้น
ก่อนหน้านี้ ผมก็ไม่ได้สนใจเอาซะเลย (เดี๋ยวนี้มีหลายค่าย)
เพราะเป็นสาวกของ Android Studio : Java มานาน
แต่ก็ไม่ได้ลงเต็มที่ เข้าไปสัมผัสงาน Mobile เพียงเล็กน้อย
พี่ปี 4 เอา code มาให้ทดสอบ
พบว่า น่าสนใจ React Native เขียนง่ายไม่กี่ร้อยบรรทัด
และพี่บอลก็เคยเล่าให้น้องฟังว่า
เป็นชุดซอฟต์แวร์ที่ง่ายในการพัฒนา mobile app


ลักษณะของ React native on expo
ที่พี่ปี 4 ทำเรื่อง OCR น่าสนใจดังนี้

1. เขียนบน pc แต่ทดสอบบน mobile ได้ง่าย
เช่น การเรียกผ่าน link ผ่าน QR code ในเครือข่ายเดียวกัน
2. อัพโหลดเข้า expo.io แล้วเปิดผ่าน mobile
เช่น https://expo.io/@thaiall/myapp1
หรือ exp://exp.host/@thaiall/myapp1
3. เปิดผ่าน browser ตามลิงค์ใน expo.io
มี appetize-simulator ช่วยจำลอง mobile
4. สำหรับเจ้าของ app สามารถโหลด .apk
มาติดตั้งได้ โดยโหลดจากหน้า builds
พบที่ https://expo.io/@thaiall/myapp1/builds
#เล่าสู่กันฟัง 62-057

การส่งข้อความข้ามเครื่องผ่าน IP เขียนด้วย C# บน console application

listener เปิดรับ client ส่งข้อความlistener ได้รับ

ฟัง ดร.ถาวร ล่อกา พูดเรื่องงานวิจัยเชิงคุณภาพ (Quality Research)

https://www.facebook.com/ajarnburin/posts/2482414421772674

ทำให้นึกถึงเรื่อง เกิดขึ้น ตั้งอยู่ ดับไป
ช่วงนี้ ลองทำโปรแกรม 2 เซต คือ แต่ละเซตมี ตัวรับ กับตัวส่ง
ระหว่างเครื่องผ่าน ip เขียนด้วย C#

http://www.thaiall.com/csharp

เพราะนักศึกษาสนใจภาษานี้
เครื่องมือที่ใช้ทดสอบ มี 2 เซต คือเซต sharp develop และเซต VS
(แฟ้ม program.cs ใช้ร่วมกันได้ระหว่าง 2 tools นี้ ในกรณีนี้)
เพราะใช้ .net framework ทั้งคู่ คำสั่งที่ใช้ต่างกัน
คือ ตัวหนึ่งเปิดพอร์ตผ่าน TcpListener(ipaddr,8888);
อีกตัวใช้ new Socket(ipAddress, Stream, ProtocolType.Tcp);
เป้าหมายคือเปิดให้ listener รับฟังจาก client ได้ ก็ถือว่า ok แล้ว

ภาพประกอบมี 3 ภาพคือ
1. listener เปิดรับ
2. client ส่งข้อความ
3. listener ได้รับ

สรุปว่าเล่าเรื่อง Docker กับ Container

มีเรื่องที่อยากเล่าหลายเรื่องเมื่อ 22 ก.พ.62
แต่ละวันมีเรื่องอยากเล่าเยอะ แต่ก็ไม่ได้เล่า เพราะมีเรื่องมากไป
เช้ามา ดร.นิรันดร์ ผู้ก่อตั้งมหาวิทยาลัย มาเป็นวิทยากร
บรรยายให้ศิษย์ของ อ.ธวัชชัย ฟัง เรื่องการเรียน การใช้ชีวิต
สายหน่อย อ.แนน หัวหน้าก็ไปร่วมต้อนรับ กรรมการตรวจคณะพยาบาล
ได้ข้อเสนอแนะกลับมาให้ผมว่า วิชาสื่อต้องปรับคำอธิบายรายวิชาและแผน
ต้องเพิ่มสมรรถนะดิจิทัล ตามที่ประกาศว่า ป.ตรี ในไทยต้องเพิ่มใน มคอ.
ข้างห้องมี ม.ฟุกุอิ มาประชุมวิชาการ อ.อดิศักดิ์ กับ อ.แม็ค
ก็ทำกิจกรรมกันตลอดหลายวันที่ผ่านมา ข้าง ๆ ห้องเลย
บ่ายมาก็ปรับข้อสอบตามข้อเสนอแนะของพี่นาย และอ.นุ้ยได้เม้นไว้
พอว่างก็นั่งส่องผลงานนักศึกษา 6 กลุ่ม บวกนิเทศอีกกลุ่ม เป็น 7 กลุ่ม
ผลงานปีหนึ่งทั้งหมดที่ไปท่องเที่ยว ส่ง #เจอนี่ที่ลำปาง
ส่งเสริมการท่องเที่ยวจังหวัดลำปาง
อีกเรื่องที่ชื่นใจคือใช้กระเป๋าตังจริง จากที่ไม่ค่อยอยากใช้
ภาษาอังกฤษเรียก True wallet จ่ายค่าค้างชำระ True move H
เพราะเด็กที่บ้านโดนตัดเน็ต ก็ไปเติมเงินเข้ากระเป๋าที่ 7-11
พอกดจ่ายค่าโทร ก็ขึ้นยอดมา 600 กว่าบาท จ่ายง่ายเลย
ช่วงเช้า หัวหน้าทักว่า รูปเพื่อนหายไป 1 รูป ก็หาเวลาอัพรูปจนเสร็จไปอีกเรื่อง
ระบบนี้ใช้ joomla
นี่ก็ฝันว่าจะหาเวลาเข้า home room เพื่อฟิตนิสิตให้เป็น dev อยู่
จะได้กระจายแทรกซึม ฝังตัวตามหน่วยงาน
เย็นล่ะจะออกงาน เห็น อ.กร เล่าเรื่องนักศึกษาในกลุ่มเฟส
ผมก็อยากชวนเค้าเล่าเรื่อง 5W1H
แล้วนึกถึงละครภาษาอังกฤษของ อ.เก๋ ที่แสดงไปเมื่อศุกร์ที่ 15
ซึ่งน่าจะเล่าเป็นเรื่องย่อได้สนุก ๆ อยากชวนนิสิตเขียน blog กันอีก
ย้อนไปเริ่มเช้าวันนี้ ดร.นิรันดร์ ท่านชวนดูภาพเก่า ๆ เมื่อ 30 ปีที่แล้ว
ตอนผมอายุสัก 18 หยกหยก
นั่นก็นึกเรื่องที่จะเล่าตามภาพได้อีกเยอะเลย
กลับบ้าน เย็นล่ะมาดูคนรักบ้านเมืองในช่องไทยรัฐ
เค้ามาดีเบสกันพูดเรื่องเสียสละเพื่อประเทศ
เดี๋ยวนี้คนเสียสละเพื่อประเทศ โดยไม่คำนึงถึงประโยชน์ส่วนตัวเยอะมาก ๆ
ลำปางมีคนเสียสละอุทิศกายใจ เป็นตัวแทนดูแลชาติบ้างเมืองของผม
ใน 4 เขตลำปางมีถึง 117 คน มีเพื่อน ครู อาจารย์ของผมสมัครหลายท่าน
ตกเย็นเจ้าอาวาสนัดหมายไปทำ Big Cleaning Day วันศุกร์ที่ 1 (ที่จะถึง)
ย้อนนึกถึงวันพุธที่ 20 มีแผ่นดินไหวที่ลำปาง แต่ผมก็ไม่ได้เล่า
ตอนเค้าไหวกันหนัก ๆ
ผมติดแหงกอยู่ที่ท่า docker ไม่ได้ขยับตาออกจากจอหลายชั่วโมง
อะไรสั่นไหวก็ไม่รู้ได้ครับ เหมือนตัวถูกหวันอยู่ในกล่อง container
ปล. สรุปว่าเล่าเรื่อง docker ครับ
http://region3.prd.go.th/ct/news/viewnews.php?ID=190209134522

docker
docker

เล่าเรื่อง ท่าเรื่อ (Docker) ที่มีคอนเทนเนอร์บรรจุสินค้า (Container)
แต่ก็ไม่ได้ชวนออกทะเลไปไหนนะครับ
เรื่องมีอยู่ว่า เกือบสัปดาห์ ที่สร้าง image แล้ว push ขึ้น docker 2 ตัว
คือ php กับ mariadb โดยมี database และ script เป็นของ joomla
สลับกันทดสอบโดยใช้ docker toolbox บน Win 10 Home
ทำงานกับ VBox และ docker บน Win 10 Pro ทำกับ Hyper-V
เป็น Container ที่สร้างเสร็จ version 1
จึงยังมีหลายประเด็นที่ต้องปรับแบบ manual
ก่อนที่ server จะทำงานได้ตามเป้าหมาย
สุดท้ายก็ได้เห็นหน้าตาของ joomla ทำงานได้ปกติ
พร้อม extension 2 ตัว
คือ SP Easy Image Gallery และ SP Page Builder
ปัญหาคือผมไม่ได้ใช้งาน Volume ตามแนวคิดที่ Docker ให้ไว้
และไม่ใช้ image สำเร็จรูปที่เค้าเตรียมมาให้ อยากเชื่อ Container เอง
#เล่าสู่กันฟัง 62-043

การใช้งาน git บน github.com ผ่าน command line ของทีมนักศึกษา

git add , commit แล้ว push
git add , commit แล้ว push

11 ก.พ.62 สร้าง repository ชื่อ mygitfriends
เพื่อแบ่งปันงาน และพัฒนาร่วมกันกับเพื่อนในทีม
วันนี้ตั้งใจ download งานทั้งหมดลงมาไว้ในเครื่อง
สิ่งที่จะทำมีดังนี้
1. Download แล้ว push แฟ้มใหม่ : peach_girl.jpg
2. แก้ไข README.md เพิ่มชื่อเราเข้าไป
แต่ละงานจะ push ขึ้นเครื่องบริการ แล้วตรวจผล
ปล. พี่บอลศิษย์เก่ามาพูดคุยกับรุ่นน้อง จุดประกายไฟในตัวน้อง

ขั้นตอนหลังติดตั้งระบบ git ในเครื่อง ใช้งานใน CMD ดังนี้
https://git-scm.com/download/win (มีตัวใหม่มาเสมอ)
1. DOS> git –version
เพื่อตรวจสอบว่า ใช้รุ่นอะไรอยู่
แล้วสร้าง folder สำหรับเก็บงาน
ตัวอย่างนี้สร้าง folder ชื่อ mygit ไว้ใน drive d
DOS> d:
DOS> cd mygit
2. DOS> git init
D:/mygit/.git/ มีแฟ้มต่าง ๆ เกี่ยวกับการ config
3. DOS> git config –global user.email “you@example.com”
4. DOS> git config –global user.name “Your Name”
5. DOS> git remote add origin https://github.com/thaiall/mygitfriends.git
6. DOS> git pull origin master
7. copy peach_girl.jpg เข้าห้องนี้
คัดลอกจาก http://www.thaiall.com/blogacla/burin/6206/
ทำผ่าน chrome ครับ แล้วตรวจสอบด้วย dir
8. DOS> git add peach_girl.jpg
9. DOS> git commit -m “i love this”
10. DOS> git push -u origin master
หากติดปัญหาอาจต้องจัดการใน Credential manager
แล้วเข้า Windows Credential เพื่อลบ และสร้างใหม่
11. DOS> notepad README.md
แล้วเพิ่มชื่อตนเอง
12. DOS> git add README.md
13. DOS> git commit -m “บุรินทร์ แก้ไขแล้ว”
14. DOS> git push -u origin master
15. กลับไปตรวจใน github.com ว่า 2 รายการนี้ ดำเนินการเรียบร้อยหรือไม่

โพสต์เป็นซี่รี่ใน fb ปิดปี 1 ไปที่ 70 โพสต์ วันนี้นับ 1 กันใหม่

13 fonts ราชการ
13 fonts ราชการ

เริ่มพุทธศักราชใหม่ 2562 ก็เริ่มเปลี่ยนแปลงนู่นนี่นั่น
[มองย้อน]
อดีตไม่ไกลนัก ปีพ.ศ. 2561
นั่งเขียนโพสต์สั้น ๆ แบบมี series นับได้ 70 โพสต์
เริ่มโพสต์แรก Northwind Database เมื่อ 19 ส.ค.61
ด้วย tag #เล่าสู่กันฟัง 61-001
โพสต์สุดท้ายของปี คือ วันที่ 31 ธ.ค.61
เป็นโพสต์ที่ 070 เรื่อง do กับ like
มีเพื่อนกดไลท์จำนวน 3 คน (ถือว่าใช้ได้)
https://web.facebook.com/thaiall/photos/a.10152906385302272/10157059279497272/
[และแล้ว]
ปัจจุบัน คือ วันนี้ 1 ม.ค.62 เปิดปีพ.ศ.ใหม่
นั่งเทียบ 13 ฟอนต์ราชการไทย
พบว่า ผลการเปรียบเทียบ คงทำให้ต้องค่อย ๆ ปรับเว็บเพจทั้งหมด
เป็น TH KodChaSal2 เพราะ TH ChaKraPetch ขนาดเล็กกว่านิดหน่อย
พร้อมเพิ่มขนาดเป็น 20px ให้หมด
แสดงผลการเทียบขนาดไว้ที่ /html5 กับ /web2
http://www.thaiall.com/html5
#เล่าสู่กันฟัง 62-001

 

การทำให้ xampp บริการ ssl

ขั้นตอนการทำให้ xampp บริการ ssl ใน localhost
ซึ่งใช้งานได้จริงกับใน localhost เท่านั้น

1. https://ssl.indexnl.com/
2. กรอก localhost ในช่อง domain
3. download 51398a-localhost.zip
แฟ้มนี้ใครก็ใช้ได้ครับ ถ้ามี domain คือ localhost
https://drive.google.com/open?id=1St..IHKE3
คลาย zip พบ 4 แฟ้ม
– ca.ssl.indexnl.com.crt
– localhost.crt
– localhost.key
– readme.txt
4. ใน readme.txt แนะนำว่า
– มีวิธีติดตั้งที่ https://ssl.indexnl.com/xampp-wamp-ssl/
– มี certificate อายุ 3 เดือนที่ https://wildcard.indexnl.com/
– มี community พูดคุยกันที่ https://community.apachefriends.org/f/
5. คัดลอก 2 แฟ้ม
– localhost.key ไปไว้ใน c:\xampp\apache\conf\ssl.key\
– localhost.crt ไปไว้ใน C:\xampp\apache\conf\ssl.crt\
6. ค้น certmgr พบ manage computer certificates
คลิ๊กเลือก Trusted Root Certification Authorities
ที่บน menu bar คลิ๊ก Action, All tasks, import, next, browse
เลือกแฟ้ม ca.ssl.indexnl.com.crt แล้ว open, next, finish
พบ The import was successful.
7. เข้าห้อง c:\xampp\apache\conf\extra\
แล้วเปิดแฟ้ม httpd-vhosts.conf ด้วย editor
8. เพิ่มบรรทัดต่อไปนี้ ต่อท้ายสุดของแฟ้ม

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot “c:\xampp\htdocs”
ServerName localhost
ServerAlias localhost
ErrorLog “logs/localhost-error.log”
CustomLog “logs/localhost-access.log” common
</VirtualHost>

9. ในแฟ้มเดิม ลบโค้ดเดิม และเพิ่มโค้ดใหม่
ข้างล่างนี้เป็นของใหม่

<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot “c:\xampp\htdocs”
ServerName localhost
ServerAlias localhost
SSLEngine on
SSLCertificateFile “c:\xampp\apache\conf\ssl.crt\localhost.crt”
SSLCertificateKeyFile “c:\xampp\apache\conf\ssl.key\localhost.key”
<FilesMatch “\.(cgi|shtml|phtml|php)$”>
SSLOptions +StdEnvVars
</FilesMatch>
ErrorLog “logs/localhost-error.log”
CustomLog “logs/localhost-access.log” common
</VirtualHost>

10. restart xampp
แล้วเปิด https://localhost

อ่านเพิ่มที่ http://www.thaiall.com/omni/indexo.html

android app : kickweb server

ทดสอบ ติดตั้ง android app : kickweb server
บริการ lighttpd + php + mysql + phpmyadmin
/mnt/sdcard/htdocs เป็น document_root
ตัวโทรศัพท์ปล่อย hotspot มี ip =192.168.43.1
ส่วนเครื่องคอมพิวเตอร์ติดต่อเข้าไป
ได้ ip=192.168.43.108
ทดสอบ http:// .. :8080/?phpinfo ก็ใช้ได้
หรือ phpmyadmin http:// .. :10000/
โดย user:root pass:blank
ทดสอบสร้าง db, tb, insert แล้ว drop db ก็ได้

Features
– Built-in PHPMyAdmin ( phpMyAdmin 4.1.10)
– PHP 5.5.9
– MySQL 5.1.62
– Lighttpd 1.4.34
– MSMTP 1.4.31
– Nginx 1.5.1

 

phpmyadmin on kickweb
phpmyadmin on kickweb
phpinfo on kickweb server
phpinfo on kickweb server

การดู IP address ของ smart phone ผ่าน app : terminal
$ netcfg
$ netstat

 

อ่าน text file หลายแฟ้ม ทั้ง utf-8 และ tis-620 ก็ต้องแปลงกัน

check utf-8 and convert
check utf-8 and convert

เดิมอ่านข้อมูล text file แบบ tis-620 แล้ววันหนึ่ง ก็มีแฟ้มข้อมูล (Data) เป็น utf-8 ที่ต้องใช้ script สำหรับอ่าน utf-8 แล้วก็ต้องกำหนด meta content-type ให้ charset เป็น utf-8

แต่หากต้องการอ่านแฟ้ม utf-8 มาแสดงใน tis-620 ก็ต้องมีการ convert ข้อมูลกันหน่อย เดิมทีนั้น จะอ่านข้อมูลจาก text file แบบ tis-620 ลงอาร์เรย์ แล้วใช้งาน ก็ต้องปรับให้รองรับแฟ้มทั้งแบบ tis-620 และ utf-8

code เดิม คือ

<meta http-equiv=”content-type”
content=”text/html;charset=tis-620″ />
<?php
$f=@file(“data.txt”);
echo $f[0];
?>

code ใหม่ คือ

<meta http-equiv=”content-type”
content=”text/html;charset=tis-620″ />
<?php
$f=@file(“data.txt”);
if (mb_check_encoding(file_get_contents(“data.txt”), ‘UTF-8’)) {
$f[0] = iconv(“utf-8″,”tis-620”,$f[0]);
}
echo $f[0];
?>

แฟ้มที่เป็น utf-8 คือ http://www.thaiall.com/checklist.php

การปล่อยให้ editor สร้าง backup file อาจมีปัญหาตามมา ต้องเลือกเอง อย่าให้ค่าปริยายเลือกให้

editplus backup
editplus backup

โปรแกรมสำหรับจัดการรหัสต้นฉบับ มีมากมาย
เช่น editplus, notepad++ , atom , sublime หรือ textpad
ที่ดีมักมีตัวเลือกสร้าง backup file หรือ .bak
สิ่งที่ต้องระวัง คือ การอัพโหลดทั้ง folder หรือทำงานอัตโนมัติ
อาจพาแฟ้ม .bak และแฟ้มอื่นที่ไม่เหมาะไม่ควร
พากับขึ้นอยู่ในเครื่องบริการอย่างสงบ
และเปิดให้ชาวโลก รวมถึง google.com ได้เข้าถึง
ดังนั้น ไม่ควร หรือห้ามอัพโหลดเหมาเข่ง
หรือ ยกเลิกการสร้าง .bak อัตโนมัติ

หา driver ให้กับอุปกรณ์เก่าไม่พบ มีทั้งผิดหวัง และสมหวัง

Wireless USB Adapter
Wireless USB Adapter

มีเครื่อง PC ที่ไม่ได้เชื่อม Internet ผ่านสาย LAN
แต่มี Wireless USB Adapter ตัวเก่าตัวหนึ่ง
เอามาใช้ก็พยายามติดตั้งไปตามปกติ แบบ Off-line
พบว่า Driver ไม่ตรง หรือไม่พบที่ใช้งานได้
เล่าถึงขั้นตอน ดังนี้
1. เอายี่ห้อ และรุ่น
ไปค้นจาก website เจ้าของอุปกรณ์
ก็ไม่มี driver ให้ download เพราะอุปกรณ์เก่ามาก
เลิกดูแลลูกค้าที่ใช้อุปกรณ์เก่า
2. หาจาก google.com หลายตัว
*เริ่มมีหวัง
ลอง download ที่น่าจะใช้
ก็ไม่มีตัวไหนใช้งานได้
* ผิดหวังหลายรอบ เพราะน่าจะได้สักตัว ก็ไม่ใช่สักตัว
3. สงสัยว่าอุปกรณ์จะเสีย * เริ่มสิ้นหวัง
เปลี่ยนไปยังเครื่องที่ online
แล้วใช้ search driver แบบ online
พบว่า install hardware ได้ปกติ และใช้งานได้
* สมหวังครับ ยิ้มแป้นเลย แต่ไม่ใช่เครื่องนี้
4. เอาชื่ออุปกรณ์ที่ install hardware ได้แล้ว
ไปค้นหาจาก website ของ microsoft.com
แล้วพบแฟ้ม .cab หลายแฟ้ม ก็ download ที่น่าจะใช้มา 3 ตัว
* ก็มั่นใจว่าชื่อตรงแล้ว มาเลยหลายตัว กันพลาด
5. ใช้ winrar ทำ extract driver ที่เป็น .cab ทุกแฟ้ม
เป็น folder ที่น่าจะใช่ทุกตัว
ลุ้นไปทีละตัว สุดท้ายก็ install สำเร็จ จากที่ได้มา 1 ตัว

ภาคผนวก ก. เรื่องนี้สอนให้รู้ว่า
* มีผิดหวัง ย่อมมีสมหวัง และมีผิดหวังครั้งใหม่ วน ๆ กันไป
เมื่อมาทำงานสายไอที

ภาคผนวก ข. ที่มา
ผมถอน Fiber optic ออก ประหยัดเดือนละหลายร้อย
ต่อไปใช้ Net ความเร็ว 256 Kbps จาก 3G
ที่แชร์ Hotspot จาก Smartphone ก็พอแล้ว
ทำให้เครื่อง PC ที่เคยต่อสาย Lan เข้า Switch
เกิดต่อ Net ไม่ได้ขึ้นมากระทันหัน
http://www.thaiall.com/mis/mis05.htm