Blog

Migrating WordPress from Subdomain to be Subdirectory under Laravel and Nginx

My company originally has a blog using WordPress served under a subdomain, let’s call it blog.foo.com. One day, there was a...

dependency injection

มาทำความรู้จัก Dependency Injection และ Mocking กัน

Dependency Injection (DI) และ Mocking สองคำนี้หลายๆ ท่านอาจจะเคยได้ยินผ่านหูกันมาบ้างแล้ว แต่ก็อาจสงสัยว่ามันคืออะไรกันแน่ แล้วทำไมเมื่อมี Dependency Injection แล้วก็ต้องมีคำว่า Mocking ตามมา สองคำนี้มีดีอย่างไร? ลองมาดูกันครับ 😉 Dependency คำว่า Dependency นั้นตามความหมายก็คือ...

solid

SOLID หลักการพื้นฐานที่โปรแกรมเมอร์ควรรู้ (ตอนที่ 5 – DIP)

และก็มาถึงหลักการข้อสุดท้ายของ SOLID Principles ที่ชื่อว่า Dependency Inversion Principle (DIP) กันแล้ว มีหลายคนอาจจะสับสนกับอีกหลักการที่ชื่อว่า Dependency Injection ซึ่งจริงๆ แล้วสองหลักการนี้ไม่เหมือนกันนะครับ Dependency Inversion != Dependency Injection แต่ก็ยังมีความเกี่ยวเนื่องกันเพราะว่าการที่เราจะทำตามหลักการ...

solid

SOLID หลักการพื้นฐานที่โปรแกรมเมอร์ควรรู้ (ตอนที่ 4 – ISP)

สำหรับหลัก ISP ของ SOLID Principles ตอนนี้อาจจะเน้นหนักไปทาง Interface นิดนะครับ ดังนั้นถ้าท่านใดยังไม่ค่อยคุ้นกับ Interface แนะนำให้ลองอ่านลิงค์ตามด้านล่างก่อนเริ่มนะครับ PHP Interface Java Interface Why interface is useful? (Stackexchange)...

solid

SOLID หลักการพื้นฐานที่โปรแกรมเมอร์ควรรู้ (ตอนที่ 3 – LSP)

มาถึงหลักการข้อที่ 3 ของ SOLID Principles กันแล้วนะครับ และหลักการนี้มีชื่อว่า Liskov Substitution Principle (LSP) ซึ่งถูกตั้งตามชื่อของผู้ที่คิดหลักการนี้ขึ้นมาเป็นคนแรก Barbara Liskov [1] และในภายหลังก็ถูกนำมารวมอยู่ใน SOLID Principles ด้วย มาดูกันครับว่าหลักการนี้พูดถึงอะไรบ้าง...

solid

SOLID หลักการพื้นฐานที่โปรแกรมเมอร์ควรรู้ (ตอนที่ 2 – OCP)

หลังจากเราได้ทราบถึงหลักการแรกของ SOLID Principles กันไปแล้วนั่นก็คือ Single Responsibility (SRP) ซึ่งพูดถึงการกำหนดขอบเขตการทำงานและหน้าที่ของ Class ให้มีเพียงอย่างเดียว สำหรับบทความนี้เราจะมาดูหลักการที่ชื่อว่า Open Closed Principle (OCP) กันครับ สารบัญสำหรับตอนอื่นๆ ตอนที่ 1 –...

solid

SOLID หลักการพื้นฐานที่โปรแกรมเมอร์ควรรู้ (ตอนที่ 1 – SRP)

หลายๆ ครั้งระหว่างที่เขียนโค้ดอยู่นั้นเราอาจจะนึกถามตัวเองบ้างว่า “ทำไม Method นี้ยาวจัง สร้าง Method ใหม่ดีมั้ย?“,  “เอ๊ะ! หรือแยก 5 บรรทัดนี้ออกไปอยู่อีก Class ดี?” แต่เมื่อนั่งคิดไปมาอยู่ซักพักก็จบลงด้วยการปล่อยให้โค้ดเป็นไปตามเดิมเพราะไม่รู้ว่าควรจะเริ่มจากตรงไหนดี ในความเป็นจริงแล้วไม่มีโค้ดไหนที่ถูกต้องไปซะทั้งหมดหรือผิดโดยสิ้นเชิงถ้าหากโค้ดนั้นสามารถทำงานตามความต้องการ (Requirement) ได้อย่างถูกต้อง อย่างไรก็แล้วแต่การเขียนโค้ดให้มันทำงานได้ครั้งแรกมันช่างง่ายดายและรวดเร็ว แต่มันมักจะเป็นฝันร้ายของพวกเราชาวโปรแกรมเมอร์เสมอเมื่อต้องกลับมาแก้ไขหรือเพิ่มเติมสิ่งที่เราได้ทำลงไปแล้วหรือจะเป็นของคนอื่นก็ตาม ดังนั้นโค้ดที่เราเขียนออกมาตั้งแต่แรกนั้นควรจะเป็นอะไรที่เข้าใจและแก้ไขได้ง่ายทั้งต่อตัวเองและผู้อื่น...

ติดตั้ง free ssl certificate

ติดตั้ง Free SSL Certificate จาก Let’s Encrypt ให้กับเว็บไซต์

Let’s Encrypt เป็นผู้ออกใบรับรองดิจิตอล (Certificate Authority) เจ้าใหม่ซึ่งมี Internet Security Research Group เป็นผู้สนับสนุน มีจุดมุ่งหมายที่จะทำให้การเข้ารหัสของการเชื่อมต่อข้อมูลเป็นเรื่องทั่วไป ง่ายและที่สำคัญ ฟรี! ซึ่งถ้าหากเราใช้บริการของทาง Let’s Encrypt เราจะสามารถลดความยุ่งยากต่างๆ เช่น การจ่ายเงิน, การตั้งค่า Server,...

libssh2 php7

12 Steps to Install libssh2 for PHP7

After successfully using libssh2 with PHP5 from the last post, I need to use [crayon-5df0646938ef4985463514-i/]  with PHP7 too. Yet, to install...

1 2