ทำ Custom Domain ใน Docker แบบใช้ท่า docker-compose

คุณเคยประสบปัญหาแบบนี้ไหม ออกแบบระบบให้ยืดหยุ่นด้วยการเชื่อมต่อแต่ละ Service ผ่าน domain แต่พอจะทำ development environment มันช่างหน้าปวดหัว อยากจะเปลี่ยน domain ที่ใช้เรียกหากันใน docker service เหลือเกินนนน ทำไมต้องมานั่งทำ Reverse Proxy เพื่อให้ได้ Environment ที่เหมือน Production วันนี้เรามีสิ่งดีๆมานำเสนอ ที่มาคือมาจากตอนที่ผมกำลังทำ dev-environment บน local เป็น WordPress Platform ของ Pronto เอง เพื่อให้เราสามารถเทสพวก WordPress ที่เหมือนโปรดักชันในเครื่องเราเอง ทีนี้เพื่อความยืดหยุ่น เราได้ทำการเปลี่ยนการเชื่อมต่อ Service ต่างๆ แทนที่จะเป็นการ Point หา IP Address มาเป็นการ Point ไปที่ DNS เพื่อความยืดหยุ่นในหารเปลี่ยนแปลง ทีนี้พอมาทำเป็น Local Dev Environment เนี่ย […]

ชีวิตดี โค้ดดี งานดี สุขภาพดี

ในชีวิตที่ได้เริ่มทำงานกับสายนักพัฒนา ในหลาย ๆ ครั้ง ผมชอบคิดว่าของงี้มันอยู่ที่แรงบันดาลใจที่ผลักเราไปข้างหน้า . แต่ เคยสังเกตุไหมว่าแรงบันดาลใจนั่นมาจากอะไรบ้าง… มากจากภายใน หรือภายนอก ของเรา . วันนี้ผมก็เลยอยากจะเล่าเรื่องราวของผมในบทความนี้ . . โดยส่วนตัวเป็นคนที่ได้แรงบันดาลใจ จากคนรอบข้าง หรือทุกคนในที่ทำงาน มันเป็นแรงขับดันให้เราไปต่อได้ นับว่าเป็นคนที่ดูโชคดีมากนะที่ได้คนรอบข้างเป็นแรงบันดาลใจ แต่…. เคยคิดไหมครับ ว่าเมื่อไรที่ไม่มีพวกคนดี ๆ เหล่านี้เราจะเป็นอย่างไร? เคยคิดไหม ว่าถ้าเราเกิดมองด้านกลับ กลายเป็นจุดนึงที่เราเอามาคิดแทนว่า เราจะสู้คนอื่นได้ไหม… . ในช่วงนึงผมรู้สึกว่าหมดแรงอะ ตามยังไงก็ไม่ทัน ทำยังไงก็ไม่ดีเท่าเขา ตอนนั้น แรงบันดาลใจที่ได้จากคนอื่น ๆ มันดันกลายเป็นมีดที่หันกลับมาแทงเราได้ทันที ณ ตอนนั้น ผมรู้สึกว่าตัวเองหมดไฟ ทำอะไรไม่ได้ และ “โทษตัวเอง” ช่วงเวลานั้น เมื่อมีงานที่ได้มา ผมจะจัดการให้มันเสร็จ ๆ ไป ผมสังเกตได้ว่า งานที่ผมทำออกมา มันไม่มีคุณภาพเหมือนแต่ก่อน พลาดในสิ่งที่ง่าย ๆ Productivity ลดลงอย่างเห็นได้ชัด […]

[ขำขัน] ใช้ 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 […]

ทดลองสร้าง 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/ โดยผมจะเริ่มจากการเข้าไปสร้างไฟล์ […]

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

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