Regular Expression สำหรับเลือก field ที่ต้องการจาก CSV File
ตัวอย่างเช่น มีข้อมูลแบบ a,b,c,d,e ต้องการเฉพาะ Column ที่ 3 นั่นคือต้องการ c ให้ Find ^([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) แล้ว Replace ด้วย \3
ตัวอย่างเช่น มีข้อมูลแบบ a,b,c,d,e ต้องการเฉพาะ Column ที่ 3 นั่นคือต้องการ c ให้ Find ^([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) แล้ว Replace ด้วย \3
หา valid email address ^(?!\b[a-zA-Z0-9._-]+@ [a-zA-Z0-9_.-]+\.[a-zA-Z0-9]{2,}\b).*$ หาก invalid email address ^(?=\b[a-zA-Z0-9._-]+@ [a-zA-Z0-9_.-]+\.[a-zA-Z0-9]{2,}\b).*$
ถ้าต้องการระบบจัดการ docker container สักตัวต้องทำอย่างไร เมื่อกล่าวถึงระบบจัดการ docker container สักตัวหนึ่ง มักจะกล่าวถึง opensource ตัวหนึ่งชื่อ kubernetes ซึ่งเป็นเครื่องมือที่พัฒนาขึ้นมาด้วย Google[1] ซึ่งสามารถรองรับทั้งในส่วนของ Google Container Engine และ CoreOS จริง ๆ ลงได้บนอีกหลาย platform แต่สำหรับ CoreOS ได้ออกแบบมาให้รองรับ Kubernetes ทำให้การติดตั้งง่ายและสมบูรณ์มากขึ้น (อ่านไปเรื่อย ๆ จะสงสัยนี่ง่ายแล้วเหรอ แต่หลังจากเขียนบทความนี้เสร็จก็มีตัวติดตั้งตัวใหม่ชื่อ Tectonic[6] น่าจะเป็นตัวที่ทำให้การติดตั้งง่ายขึ้นครับ) Kubernetes เป็นเครื่องมือที่ช่วย build, deploy และ scale ให้เป็นเรื่องง่าย ๆ และสามารถ replicate containner ได้ง่ายมาก การติดตั้ง Kubernetes บน Google Container Engine ง่ายมาก แต่การติดตั้งบน CoreOS จะยากกว่า ซึ่งสามารถติดตั้งแบบ Single Node และ Multi-Node ซึ่งถ้าจะทำ Multi-Node ต้องเชื่อมต่อไปยัง etcd service ที่ติดตั้งบน CoreOS Cluster ด้วยก็จะดีครับ (ไม่งั้นเป็น Cluster ที่ไม่สมบูรณ์) สามารถอ่านเพิ่มเติมได้ที่วิธีการติดตั้ง CoreOS Cluster[2] (ในบทความใช้ก่อนหน้านี้ CoreOS Cluster เขียนในส่วน ETCD Version 2 แต่การใช้งานกับ Kubernetes ต้องใช้ ETCD Version 3 ตอนนี้ยังไม่มีบทความเสริมในส่วนนี้ อาจจะต้องหาข้อมูลเองก่อนครับ จริง ๆ มีวิธีแต่ยังยากในการเขียนบทความ ไว้ค่อยเขียนเพิ่มให้อีกทีครับ) ซึ่งแน่นอนระหว่าง master node และ worker node มีการตรวจสอบเรื่อง certificate ระหว่าง service ด้วย ตัวอย่าง Diagram ของระบบทั้งหมด[3] เรียนรู้การค่าเบื้องต้นก่อนการติดตั้ง[4] MASTER_HOST : คือ ชื่อ host ที่ node ลูกเอาไว้ติดต่อและให้เข้าถึงจาก external client เช่นเวลาสั่งสร้างเครื่องก็จะสั่งผ่านตัวนี้ ในกรณที่ต้องการทำ HA MASTER_HOST จะถูกใช้เป็น load balance โดยใช้ร่วมกับ DNS name โดยการคุยกันระหว่าง MASTER_HOST และ worker (node ลูก) จะใช้ port 443 และมีการเข้ารหัสและยืนยันด้วย TLS Certificate ETCD_ENDPOINT : คือ บริการของ etcd service ซึ่งมีใน CoreOS Cluster ที่ติดตั้งไว้ ให้ใส่ไปให้หมดว่ามีเครื่องอะไรบ้าง คั่นด้วย , (ในที่นี้ไม่ได้ใช้ fleet สร้างเครื่อง หลังจากลงเสร็จจะใช้ kubectl สร้างแทน) POD_NETWORK : เช่น 10.2.0.0/16 ใช้สำหรับกำหนดวง IP ของ pod (pod คือ ชื่อเรียก container อาจจะแค่ 1 container เหรือเรียกเป็นกลุ่มของหลาย ๆ container ที่สร้างด้วย kubernetes) SERVICE_IP_RANGE : เช่น 10.3.0.0/24 ใช้สำหรับ service
อยากรู้ว่า Windows 10 Firewall Inbound Rules เปิดหรือปิด SMBv1, SMBv2 หรือไม่ ทดสอบจากเครื่อง Linux ที่ตั้งอยู่ใน network เดียวกัน ทำ nmap ค้นหา SMB (TCP Port 445) ไปที่เครื่อง Windows IP 192.168.x.yy ครั้งที่ 1 รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า Enabled = No ผลลัพธ์ $ nmap -A -T4 -Pn -p445 192.168.x.yy Starting Nmap 7.01 ( https://nmap.org ) at 2017-05-15 13:52 ICT Nmap scan report for 192.168.x.yy Host is up. PORT STATE SERVICE VERSION 445/tcp filtered microsoft-ds Nmap done: 1 IP address (1 host up) scanned in 2.39 seconds ครั้งที่ 2 รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า Enabled = Yes ผลลัพธ์ $ nmap -A -T4 -Pn -p445 192.168.x.yy Starting Nmap 7.01 ( https://nmap.org ) at 2017-05-15 13:55 ICT Nmap scan report for 192.168.x.yy Host is up (0.00048s latency). PORT STATE SERVICE VERSION 445/tcp open microsoft-ds Microsoft Windows 10 microsoft-ds Service Info: OS: Windows 10; CPE: cpe:/o:microsoft:windows_10 Host script results: | smb-security-mode: | account_used: guest | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) |_smbv2-enabled: Server supports SMBv2 protocol Nmap done: 1 IP address (1 host up) scanned in 47.82 seconds ครั้งที่ 3 รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า
สิ่งที่ต้องทำ สำหรับ ผู้ใช้ Microsoft Windows และ สำหรับผู้ดูแลระบบของหน่วยงาน Backup หรือ สำรองข้อมูลสำคัญ ไว้ใน External Harddisk, USB Drive, Cloud Drive กรณี Windows Vista, Windows XP, Windows 8 ให้ไปที่ Website นี้ เพื่อ Download ตัว Update ที่ตรงกับ Windows ของตน มาติดตั้ง (MS17-101 หรือ KB4012598) http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598 กรณี Windows 7 http://www.catalog.update.microsoft.com/search.aspx?q=4012212 กรณี Windows 8.1 http://catalog.update.microsoft.com/v7/site/search.aspx?q=4012213 กรณี Windows 10 Start > พิมพ์ Windows Update สำหรับคนที่ยังใช้ Windows XP ควรพิจารณา Upgrade มาเป็น Windows 10 โดยติดตั้ง Microsoft Windows รุ่นล่าสุดของมหาวิทยาลัยสงขลานครินทร์ (ต้องมี PSU Passport)ได้ที่ https://licensing.psu.ac.th/windows-10-education-version-1703-updated-march-2017-microsoft-imagine/ ขอให้โชคดี