[ขำขัน] ทำ Monitor Bot คอยแจ้งเตือนเราผ่าน Email และ Line โดยใช้ UptimeRobot และ IFTTT

ช่วงอาทิตย์ที่ผ่านมาผมได้ลางานทำโปรเจ็กยาวๆ (วันที่ 29-31 มีนาคม) มาเตรียมตัวสอบโปรเจ็กในวัน April Fool Day (เศร้าาาาา) อนึ่งผมเป็นสมาชิกของห้องวิจัย Software and Application Interest Group Comunity (SAIG) ของภาควิศวกรรมคอมพิวเตอร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง (KMITL) ทีนี้เวลาเตรียมตัวมันก็จะมีช่วงพักบ้างอะไรบ้าง ผมก็เลยอยากที่จะทำอะไรสักอย่างให้เรารู้สถานะของเครื่อง Server ที่เป็นของแลปที่สถาบัน โดยระบบที่ทำขึ้นมาผมจะคำนึงถึงระบบ network ของสถาบันด้วย ตัวระบบ network ของสถาบันอะครับ ถ้าคนภายในจะออก Internet จะต้องทำการ Authenticate ก่อน ซึ่ง Session นึงนาน 8 ชม.(ซึ่งส่วนมากมันก็จะเน่าตายไปซะก่อน 8 ขม.) โดยปัญหาที่เราเจอจะเป็น Session ที่ทำการ Authenticate ไว้ มันหลุด (เน็ตของเครื่อง Server อยู่วงเดียวกับ Router ที่ใช้กระจาย Wifi ในแลป) [...]

[ขำขัน] ใช้ Slack แจ้งเตือนเมื่อรัน Command บนเครื่องเซิฟเวอร์เสร็จ

เคยไหมครับที่เราจะต้องรันคำสั่งบางคำสั่งที่ทำงานนานๆ อย่างเช่น dump database ขนาดมหึมา หรืออื่นๆ คืองานพวกนี้เราไม่ได้ต้องทำบ่อยๆ เวลาทำก็รันคำสั่งทิ้งไว้ใน Tmux แล้วก็ไปทำอะไรเพลิน กลับมาเช็คเรื่อยๆ ด้วยความขี้เกียจ เลยคิดว่าเราน่าจะมีอะไรมาเตือนเนอะ ว่า Command นั้นรันเสร็จรึยัง หรือ พังไหม เลยพาลไปนึกถึง Slack ซึ่ง mesodiar เคยเขียนไว้ เรื่อง [Cron] เขียน slackbot ส่ง notification เตือน standup meeting เลยคิดว่าน่าจะเอามาทำอะไรเล่นๆได้เร็วเพราะมีโค้ดมาเลย เอามายำๆ มาเริ่มกันดีกว่า เริ่มแรก เราจะสร้าง virtualenv และ virtualenvwrapper มาเพื่อไม่ให้โปรเจ็กของเราไปกระทบกับ python ของเครื่อง และจะได้ง่ายในการจัดการหรือพัฒนาต่อ $ mkvirtualenv lazy-bot ลง Slack API ใน virtualenv (lazy-bot) $ pip [...]

มอมเมาน้องแมวด้วยผงแมวคลั่งจาก Daiso

บทความแรกของปี ด้วยเรื่องที่ไม่เกี่ยวกับเทคโนโลยีคอมพิวเตอร์ แต่เป็นเรื่องของน้องแมวที่บ้าน... สวัสดีปี 2560 ใหม่ครับทุกคน ก่อนปีใหม่(วันที่ 31) ผมได้ทดลองของเล่นใหม่ที่ไปซื้่อมาจากไดโซ นั่นคือผงแมวคลั่งตามรูปด้านล่างครับ เล่าที่มาของ Silver vine หรือ Matatabi ตำแยแมว เป็นพืชที่ไม่มีพิษต่อสัตว์เลี้ยงของเรา พืชชนิดนี้จะมีฤทธิ์เหมือนกับ Catnip หรือ กัญชาแมว แต่ทำเกิดอาการได้มากกว่า(คือฤทธิ์แรงกว่า catnip นั่นเอง) พบได้มากในญี่ปุ่น และ จีน ระหว่างความสูง 500-1,900 เมตร โดยเมื่อแมวของเราได้ดมหรือทานเข้าไป จะมีพฤติกรรม ได้แก่ กลิ้ง คลอเคลีย น้ำลายไหล และเลียตัว เหมือนมันกำลังเคลิ้มเหมือนคนเมากัญชา (ฟังสรรพคุณแล้วอยากเป็นแมวมาก ฮ่าๆๆ) ในแพ็คนึง ราคา 60 บาท จะแบ่งออกเป็น 8 ซองเล็กๆแบ่งใช้ได้สะดวก มาทดลองกันดีกว่า... หึหึ ขาว(นามสมมติ) แมวสีขาวขวัญใจวินมอเตอร์ไซด์แถวบ้าน ผมได้เอาผ้าแล้วโรยผงแมวคลั่งลงไปขยี้ๆ นิดหน่อยขาวก็ได้ดมๆ เลียๆ ไม่มาก [...]

ทดลองสร้าง SSL Certificate บน Nginx .

รอบนี้เราจะมาทดลองทำ SSL Certificate ให้เว็บไซต์ของเราปลอดภัยขึ้นไปอีกนิดนึงบน nginx ครับ โดยจะพูดถึง SSL ก่อนนะครับ SSL ย่อมาจาก Secure Socker Layer ซึ่งได้ถูกพัฒนามาเป็น TLS(Transport Layer Security) ที่เป็นเทคโนโลยีการเข้ารหัสข้อมูล เพื่อให้การส่งข้อมูลผ่านเครือข่ายมีความปลอดภัยมากขึ้น โดยเรียกผ่านโปรโตคอลความปลอดภัยต่างๆ ตามการใช้งาน ที่อาจจะเคยได้ยินกันบ่อยๆเช่น HTTPS การที่เราสร้าง SSL ขึ้นมาเองเพื่อการทดลองนั้น จะเรียกว่าเป็น SSL แบบ Self-signed ซึ่งเป็นใบรับรองที่ใช้คอมพิวเตอร์เครื่องไหนสร้างก็ได้ แต่จะไม่ผ่านการรับรองจาก CA (Certification authority) ในการเข้ารหัส Certifacte Authority (CA) เป็นคนที่ออกใบรับรองดิจิตอล ใบรับรองดิจิตอลรับรองความเป็นเจ้าของ Public Key โดยมีชื่อเรื่องของใบรับรอง ใบรับรองอนุญาตให้คนอื่นใช้งานได้ โดยขึ้นอยู่กับลายเซ็นหรือยืนยันตัวโดยการทำ private key ที่สอดคล้องกับ public key ที่ถูกรับรอง ในรูปแบบความสัมพันธ์ที่เชื่อถือได้นี้ CA เป็นบุคคลที่สามที่เชื่อถือได้ [...]

Redirect ด้วยการใช้ rewrite บน nginx

จากบทความทีแล้ว ที่พูดถึงการทำ Redirect แบบ server block จาก domain หนึ่งไปหาอีก domain หนึ่ง คราวนี้เราจะมาพูดถึงการใช้คำสั่ง rewrite มาเพื่อ Redirect จาก domain เดียวกันแต่จะทำการเปลี่ยน slug (slug คือ สิ่งที่ต่อท้ายจาก domain หลัง "/") ในการทำงานของผมนั้นจะยุ่งเกี่ยวกับการทำ SEO ให้กับลูกค้าด้วย ซึ่งเค้าอาจจะมี URL มาชุดหนึ่งที่ได้ซื้อมา แล้วต้องการให้ traffic ที่เข้ามานั้น ถูก redirect ไปยัง url ที่ต้องการ ในที่นี้ผมจะยกตัวอย่างโดยการที่ผมจะ redirect จาก rules ชุดหนึ่ง คือ http://sites1.com/blog-for-something/ ไปที่ http://sites1.com/blog/ http://sites1.com/who-am-i/ ไปที่ http://sites1.com/about-us/ http://sites1.com/eiei/ ไปที่ http://sites1.com/blog/ โดยผมจะเริ่มจากการเข้าไปสร้างไฟล์ [...]

ทำ HTTP Redirect โดเมนบน nginx web server

สำหรับในการทำงานทั่วไปกับพวกเว็บไซต์ต่างๆ เวลาเรามีโดเมนหลายๆโดเมนแล้วเราจะทำให้มัน Redirect หรือให้มันชี้มาหาโดเมนที่มีเว็บไซต์อยู่เราจะทำได้อย่างไร หรือ ต้องการให้มันชี้ไปหา URL ที่เราต้องการ วันนี้ผมได้สรุปเรื่องที่ได้ศึกษาเบื้องต้นเกี่ยวกับตัว Nginx ในการทำ Redirect ในที่นี้ผมเข้าไปทำการ Config ใน default.conf โดยเพิ่มโค้ดเข้าไปตามนี้... server { listen 80; server_name sites1.com; return 301 $scheme://sites2.com$request_uri; } โดยตัวโค้ดนี้ Listen บนพอร์ท 80 เมื่อ URL มาเป็น sites1.com จะถูก Redirect ไปที่ sites2.com โดย $scheme คือ Application Protocol ที่ใข้ request ในที่นี้จะเป็น http และ $request_uri คือ directory ที่sites2ต่อมาจากหลัง domain ที่ [...]

Docker Bad Practice! อะไรที่ไม่ดีเราทำ และ มัน พัง!

สวัสดีครับ เมื่อวันเสาร์ที่ผ่านมา (19-พ.ย.-59) ผมได้ไปร่วมอีเว้น Garfana for Noob! มาครับ ก็ได้ลองเล่นพวก InfluxDB, Telegraf และตัว Garfana ที่สอนโดยพี่หมี Bigbear.io เป็นคลาสที่เจ๋งมากครับ จัดที่ Autumn : desserts, desire and destiny ที่บางใหญ่ซิตี้ ซอย 9/4 ใกล้บ้านผมมากกกก ทีนี้ในคลาสผมก็เลือกที่จะใช้งาน Tools ทั้งสามแบบที่เป็น Docker Container ครับ ผมก็ได้บ่นๆกะ พี่กาน ภวิน มิลล์ ว่า อืมใช้ Docker ชิลมาก แต่ WordPress เราเนี่ย (บล็อกนี้) แม่มโคตร Bad Practice เลย ละก็ไม่เคยคิดจะมาแก้ไขอะไรเล้ย คืนนั้นกลับมาที่บ้านครับลั้ลลา SSH เข้าเครื่อง WordPress ผม แล้วก็กะจะอัพเกรด Container [...]

[แชร์ประสบการณ์] ฝึกงานปากมันที่ PRONTO TOOLS

ช่วงเวลาปิดเทอมใหญ่ของนักศึกษาชั้นปีที่ 3 ที่ไม่ใช่ปิดเทอมใหญ่ปกติเหมือนที่เคยเจอมา กับงานที่ได้รับมอบหมายจากคณะที่ให้เราได้ไปลองฝึกงานเรียนรู้ประสบการณ์การทำงานจริง ในตอนนั้นไอ้นัตก็กำลังตื่นเต้นรอวันที่จะได้เริ่มต้นฝึกงานสักที เมื่อเข้าสู่วันที่ 1 มิถุนายน 2559 ความสนุกทั้งหมดจึงบังเกิด บรรยากาศออฟฟิต แบบ 360 ช่วยด้วยยย โดนแฝดรังแก   ในการฝึกงานของที่นี่วันก็ได้มาเจอเพื่อนๆที่มาฝึกงานด้วยกันก็ ตื่นเต้นดี๊ด๊า เพื่อนๆน่าร๊ากกกกก พี่ๆก็น่าร๊ากกกก   เด็กโข่งคนซ้ายมือสุดนั่นไม่เกี่ยว อิอิ   เริ่มมาถึงที่นี่เราก็ถึงกับร้องว้าว กับตู้เย็นคลังแสงเพิ่มพลังการทำงาน ซึ่งแรกๆก็เกร็งๆนะไม่กล้าไปหยิบอะไรมากิน เขิน -///-   แถมมีของกินอื่นๆอีกมากมาย ขนมปังกับท้อปปิ้งมากมาย หยิบได้ตลอด… แรกๆก็เขินๆเช่นกัน หลังจากนั้นพี่ๆก็เริ่มทำงานเทรน และ สอน ทักษะพื้นฐานต่างๆ อาธิ Python, Git, HTML, CSS, Bootstrap, Vagrant, Vim, Jenkins, TDD, ATDD การใช้ชีวิต ฯลฯ (อยากรู้มาลอง อิอิ) เพื่อเตรียมตัวก่อนไปทำงานกับทีม (หัวร้อนเลย) [...]

เรียนไปไม่ได้ใช้ แน่ใจหรอ?

คำพูดนึงที่ผมได้ยินจากปากหลายๆคนมาตลอดตั้งแต่เด็กจนเรียนมหาลัย ที่ติดหูอย่างนึงเลยคือคำพูดที่ว่า "เรียนไปก็ไม่ได้ใช้" ผมก็เชื่อคำพูดนี้มาตลอดนะ แบบเป็นพวกไม่ชอบเรียนเท่าไรนัก จนกระทั่งได้มาเรียนมหาลัยได้อยู่ห้องแลป SAIG ได้มีโอกาสได้ทำงานของห้องเล็กๆน้อยๆ ในช่วงแรกๆนั้นส่วนมากจะเป็นการหาความรู้นอกห้องเรียนซะมากกว่า แต่เมื่อเราได้ลองพัฒนาแอปพลิเคชันที่มีความซับซ้อนมากขึ้นเรื่อยๆ ทีนี้ความรู้แบบเชิงทฤษฎีโคตรๆก็เริ่มต้องเอามาใช้ละ และพอมาฝึกงานจริงๆที่ Pronto Tools (โปรโมตนิดนึง อิอิ) ในตำแหน่ง Infrastructure Engineer ทีนี้แหละภาพรวมหลายๆอย่างเริ่มเห็นชัดขึ้น หลายๆอย่างที่ทำจะเริ่มรู้สึกได้แบบว่า "เฮ้ย เรื่องนี้เราเคยเรียนมาแล้วนี่หว่า" หลายๆเรื่องไม่เคยคิดหรอกครับว่าเราจะได้เอามันมาใช้จริงๆ หรือบางที"เราก็เอามันมาใช้โดยไม่รู้ตัวด้วยซ้ำ" สิ่งที่พิมพ์มาทั้งหมดก็อยากให้น้องๆที่ได้มาอ่านเข้าใจว่า "ใครบอกว่า เรียนไปก็ไม่ได้ใช้หรอก อย่าไปเชื่อนะจ๊ะ 555" ความรู้ทุกอย่างมันมีความเชื่อมโยงของมันเองครับ อยู่ที่จะมากหรือน้อย แต่ไม่มีความรู้ไหนที่ไร้ค่า มีแค่มันไร้ค่าเพราะเราไม่คิดจะนำมันมาใช้ ความรู้จากการเรียนจะช่วยให้เราสามารถค้นหาและต่อยอดความรู้ให้เข้าใจได้อีก ยิ่งๆ ขึ้น ความรู้ทั้งใน และนอกห้องเรียนเมื่อมันประสานกันได้ คุณจะสนุกไปกับการหาความรู้ :3 หากย้อนกลับไปบอกตัวเองในอดีตได้... ก็คงอยากกลับไปบอกตัวเองประมาณนี้

[แชร์ประสบการณ์] โค้ดชิวๆ: หัดเขียน A.I. แบบ AlphaGo กันแบบชิวๆ

เมื่อวันที่ 25 เมษายน ที่ผ่านผมได้มีโอกาสได้ไปร่วมงาน โค้ดชิวๆ: หัดเขียน A.I. แบบ AlphaGo กันแบบชิวๆ บัตรขายดีมากกก ซื้อแทบไม่ทัน สถานที่ : LuanchPad สุรศักดิ์ จัดโดย สมาคมโปรแกรมเมอร์ไทย โดยผู้ที่มาแชร์ความรู้กับพวกเราคราวนี้คือ พี่ กานต์ อุ่ยวิรัช จาก Pronto Tools เริ่มต้นด้วยการพูดถึงตัว Machine Learning แบบพื้นฐานสุดๆ การ Generalize ข้อมูลต่างๆ แนะนำประเภทของ Machine Learning ให้ได้รู้จักกันแบบคร่าวๆ - Supervied Learning - Unsupervise Learning เราไม่บอก lable มัน ให้มัน Classify ให้ - Reinforcement Learning เปรียบเทียบกะการฝึกสัตว์เลี้ยง ต่อมาก็ถึงพระเอกของเรา AlphaGo คืออะไร AlphaGo [...]