Passing variable from Laravel to VueJS 2 component

tl;dr:
Use  for Blade and   for component.
Beware of using   for content contains   and .

Recently I write a lot of Laravel and VueJS 2 then faced with the common case when want to pass PHP variables to VueJS component.
There are a lot of proposed methods including pass as global JS variables, pass as a slot, and pass as a props.
Each one has its own advantages and disadvantages here I will explain.

Continue reading

การตั้งค่า DNS Server ฉบับผู้เริ่มต้น

Domain Name System (DNS) คือระบบที่เอาไว้จัดการบริหารชื่อ Domain อย่างที่เราใช้ๆ กันบนอินเทอร์เน็ต การตั้งค่า DNS สำหรับคนที่เพิ่งจะเริ่มทำเว็บเป็นเรื่องน่างนงงมากเพราะว่ามีอะไรให้ตั้งเยอะแยะมากมาย วันนี้เลยจะมาเขียนแบบกระชัดสำหรับคนที่ยังงงๆ เอาแบบอ่านรวดเดียวรู้เรื่อง โดยสรุปสิ่งที่จะเล่าวันนี้ก็คือวิธีการตั้งค่า Domain Name ของเราว่า ถ้าเข้ามาที่ชื่อนี้ ให้ไปเรียกหา Server ที่ไหนต่อนั่นเอง ซึ่งเดี๋ยวจะอธิบายถึงชนิดของ record ที่จำเป็นต้องรู้แต่ละอัน Continue reading

Rewrite Laravel URL when not in root path with NGINX

In the most cases, we place the Laravel in the root path /.

As a result, the nginx configuration becomes

However, if we want to move Laravel inside other directories, we must also change the location directive along with the public/index.php file.

Let’s say we want to move to the /app directory. Then the location directive would become

Since nginx indicates the root path already, so we have to always refer from the root path.

การแสดงเฉพาะ Comments ของ จขกท บน Pantip.com

พอดีเจอกระทู้ การอ่านงบการเงิน แบบง่ายมั๊กๆ ใน Pantip.com เกิดสนใจอยากจะอ่านให้จบ แต่ดันติดปัญหาว่ามี comment เยอะซะเหลือเกิน ก็เลยเขียนสั่ง jQuery ให้มันซ่อนซะเลย เปิด JS Console ออกมา แล้วก็พิมพ์ลงไปว่า

หรืออาจจะพิมพ์ javascript: ลงไปบน address bar แล้วตามด้วย Script ข้างบนก็ได้

เพียงแค่นี้ก็จะเหลือแต่เฉพาะ comment ของเจ้าของกระทู้แล้ว

การเขียนเว็บ และการเซทให้ Firefox ปริ้นอัตโนมัติ โดยไม่ขึ้นเตือน Silent Print

ขี้เกียจเซฟรูป เขียนเป็นเชิงทฤษฎีก็ละกัน

ถ้าเป็นโปรแกรมรันบนคอมธรรมดาการสั่งปริ้นนั้นก็ทำได้แสนสบาย แต่ถ้าเป็นเว็บไซต์ละ?

ล่าสุดผมใช้วิธีสั่งให้ Firefox ปริ้นอัตโนมัติ โดยเข้าไปเซทใน about:config
แล้วทำการเพิ่ม Boolean ชื่อ print.always_print_silent จากนั้นเซทเป็น True
แล้วก็ทำการเซทปริ้นเตอร์ที่ต้องการให้มันปริ้นตามต้องการ

จากนั้นทางฝั่งเว็บก็เขียน JS ให้มันเช็คว่างจะต้องปริ้นอะไรไว้
ตัวอย่างเช่น ถ้าจะให้ปริ้นรายการละ 2 ครั้ง
ก็สร้าง record เวลาเซฟก็ใส่เลข 2 เอาไว้
จากนั้นเวลาโหลดหน้าก็ให้ลดลงทีละ 1 จนเหลือ 0
ส่วนในหน้าที่ Render สำหรับพิมพ์ก็จัดหน้ากระดาษด้วย HTML เอาไว้ อันนี้ต้องลองพิมพ์ดู
เวลาโหลดหน้านี้ก็อย่าลืมลดค่าออกไป 1 ด้วย อย่างที่บอกไว้ข้างบน
จากนั้นก็ใส่ JS เอาไว้อีกว่า window.print() ให้ทำงานเวลามันโหลดเสร็จเรียบร้อยแล้ว
พอโหลดเสร็จก็จะพิมพ์ออกมา
หลังจากปริ้นเสร็จก็ให้ัมน redirect กลับมา โดยอาจจะเขียน
JS แบบตั้งหน่วงเวลาว่า window.location = “<MonitorPage>”;
หรือจะเขียน HTML ก็ได้ ว่า <meta http-equiv=”REFRESH” content=”3;url=<MonitorPage>”> ก็น่าจะง่ายกว่า
เพียงเท่านี้ก็สำเร็จแล้ว

สรุปการทำงานคือ
ที่หน้า Monitor จะทำการเช็คง่านอยู่เรื่อยๆ โดยอาจจะใช้ Ajax
พอมีงานใหม่มา ขึ้นอยู่กับว่ากำหนดว่าอะไร ก็พาไปที่หน้าปริ้นงานนั้นๆ
พอโหลดแล้วก็หน้าปริ้นขึ้นมา และอย่าลืมหักค่าจะปริ้นออก เพื่อที่จะได้ไม่เกิดมาปริ้นเรื่อยๆ
จากนั้นสักพักก็ redirect กลับมาหน้า monitor แล้วมันก็จะเกิดเรื่องอย่างงี้ไปเรื่อยๆ

จบอย่างงดงาม