main_header_bg

  I’M PRAPAT (IK-Q)  

A Web Developer

About me

Prapat (IK-Q)

Prapat (IK-Q)

Full Stack Web Developer

Hi, I'm a developer from Bangkok, Thailand. I love to write a neat code following the best practices. I love to learn new technologies. Not only the technical side I am fascinated in but also business side. I believe that business understanding all together with a strong technical knowledge can produce a better quality of code.

BLOG

Tech Tips & Diary
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) ได้อย่างถูกต้อง อย่างไรก็แล้วแต่การเขียนโค้ดให้มันทำงานได้ครั้งแรกมันช่างง่ายดายและรวดเร็ว แต่มันมักจะเป็นฝันร้ายของพวกเราชาวโปรแกรมเมอร์เสมอเมื่อต้องกลับมาแก้ไขหรือเพิ่มเติมสิ่งที่เราได้ทำลงไปแล้วหรือจะเป็นของคนอื่นก็ตาม ดังนั้นโค้ดที่เราเขียนออกมาตั้งแต่แรกนั้นควรจะเป็นอะไรที่เข้าใจและแก้ไขได้ง่ายทั้งต่อตัวเองและผู้อื่น...

1 2
a little technical story about..

IK-Q

My main expertise is in Laravel 4-5, PHP, MySQL, MongoDB, HTML, SASS, LESS, Bootstrap 3, JQuery, Git, OS X, Ubuntu. My DevOps skills are mostly on Amazon Web Services (AWS) — Amazon EC2, Continuous deployment and auto scaling with AWS OpsWorks, Redis with AWS ElastiCache, Amazon RDS (MySQL), Amazon S3, Amazon SES, Amazon SQS, Amazon Route53. I am familiar with Scrum methodology (via JIRA), SOLID Principles, design patterns, API development and TDD.

Linkedin Profile

My Experience

Companies Where I Currently Work and Worked Before