<?php $cleaned = mb_convert_encoding($raw, 'UTF-8', 'UTF-8');
Gracefully stop PHP process with PCNTL
เวลาเขียน process ไรสักอย่างด้วย PHP ที่ใส่ loop ไว้เพื่อให้มันทำงานไปตลอดจนกว่าจะโดน kill เราสามารถใช้ PCNTL เพื่อให้ script PHP รู้ว่ามีคนขอ ให้ process หยุดทำงานได้แล้ว ถ้ามีงานที่ทำต่อเนื่องอยู่ยังไม่ถึง checkpoint จะได้มีโอกาสทำต่อให้เสร็จก่อน และก็ exit; ตัวเองซะ ไม่ต้องไปทำ task ต่อไป.
Continue reading “Gracefully stop PHP process with PCNTL”Google Ads MCC init
พอดีจะต้องสร้าง MCC แยกออกมาเพื่อทำอีกโปรเจคนึง แต่ลืมไปหมดแล้ว ว่าผมต้องเตรียมบัญชี MCC ยังไงบ้าง รอบนี้เลยจดไว้หน่อยแล้วกัน
Continue reading “Google Ads MCC init”JavaScript get EventListeners
เวลาต้องมาแก้ Code frontend (HTML+JS) ที่เขียนโดย bind event จากใน JS เช่นลักษณะนี้
$('DIV.action[action=edit]').bind('click', function() { // ... });
แล้วโจทย์คือเราต้องการจะ debug หรือแก้ event handler นั้นๆ ปัญหาที่เราจะพบ คือ ถ้าไฟล์มันมีเยอะมาก มีความซับซ้อนมาก แถมไม่ได้เขียนใน framework ที่เป็นมาตรฐาน หรือที่จะทำให้เรารู้ได้ทันทีว่าต้องไปหาที่ไหน. ตัวช่วยทางนึง คือ เราสามารถเรียกดู Event handler ของ DOM Element ที่เราสนใจ ได้โดยตรงเลย ลักษณะนี้
// jQuery $._data($('#some-id')[0], "events"); // native window.getEventListeners( document.getElementById('#some-id') );
ถ้าเป็น jQuery ในผลลัพท์ตรง console เราจะสามารถคลิกๆ เข้าไปดูได้จนเห็น [[FuntionLocation]] เลย.
Vue render option tag
เจอปัญหาทำ dynamic <option> ไม่ได้. สุดท้ายจบที่ใช้ <select v-html=“method”></select>. ยังไม่ได้ลองจริงจัง แต่เดาว่าเป็นที่ ใน select ของเดิม มันมี tag option (static html code) อยู่ด้วยมั้ง.
PHP fill PDF Form
มีโปรแกรม PDFtk ที่มันกรอกฟอร์มได้ (ความสามารถหลายอย่างเกี่ยวกับการจัดการ PDF)
ติดตั้งบน CentOS 7 มันไม่มี Official repos ก็จะเสียวๆ หน่อย — https://www.linuxglobal.com/pdftk-works-on-centos-7/
แล้วใช้ library ตัวนี้ในการเรียกใช้ PDFtk (รู้สึกว่ามันจะเรียกผ่านฟังก์ชั่น proc_open ใน php)
https://github.com/mikehaertl/php-pdftk
MySQL sql_mode
query สำหรับดูค่าปัจจุบัน
SELECT @@sql_mode;
query สำหรับตั้งค่าใหม่
SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
หรือจะตั้งแบบ replace บางอย่างออก
SET sql_mode = ( SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', '') );
ถ้าจะตั้งให้ถาวร ก็ตั้งใน my.cnf (เช็คพาทดีๆ)
[mysqld] sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
MySQL Tune max_connections & innodb-buffer-pool
- เพิ่มค่า max_connections ในไฟล์ config แล้ว แต่ restart service แล้ว max_connections ไม่เพิ่มขึ้นมาเท่าค่าที่ตั้ง
- ความเข้าใจเรื่อง innodb-buffer-pool
Continue reading “MySQL Tune max_connections & innodb-buffer-pool”
Protected: lnw.co.th mail server
DKIM Tester
DKIM verification header test.
http://www.appmaildev.com/en/dkim/