Skip to content

Kor's blog Posts

View MySQL process list

เซิร์ฟเวอร์ที่ใช้งานอยู่ใช้งาน MySQL แล้วเจอ “Too Many Connection” บ่อยวิธีแก้ปัญหาที่ผมทำอยู่คือแก้ตัวแปร max_connections  ในไฟล์ /etc/mysql/my.cnf  ให้มากขึ้นเท่านึงก่อนแล้วดูว่ายังเจอปัญหาอยู่หรือเปล่า ถ้ายังมีปัญหาอยู่ก็เพิ่มขึ้นอีก

แต่บางทีการเพิ่มจำนวน connection ก็เป็นการแก้ปัญหาไม่ถูกจุดเพราะปัญหาจริงๆ อาจไม่ได้อยู่ที่ตัว MySQL แต่เป็นเพราะเขียนโค้ดไม่ดี มีการ connect MySQL แล้วไม่ยอม close connection เมื่อเลิกใช้ทำให้ app ไม่สามารถใช้งาน MySQL ได้ต้อง restart ใหม่

GitLab resources

จำเป็นต้องสร้าง Git hosting ส่วนตัวไว้ใช้เองในทีมเจอ GitLab ซึ่งเป็นชุดซอฟต์แวร์สำหรับสร้าง Git hosting มีเว็บ interface  สามารถจัดการ GitHost, ผู้ใช้, สร้าง issue, สร้าง wiki ได้ ใช้งานเหมือน GitHub เลย บันทึก resources ไว้ซะหน่อย GitLab installation guide (for Debian based Linux) GitLab 4.2 upgrade GitLab help and wiki

บันทึกการติดตั้ง PHP-FPM ร่วมกับ Apache2

ได้ยินเสียงร่ำลือว่า PHP-FPM (FastCGI Process Manager) รับ load รับ concurrency ได้เยอะเพราะมีการจัดการ process ดีกว่า mod_php ทำให้ใช้ resource น้อยกว่า ฟีเจอร์อื่นๆ มีอะไรบ้างดูในลิงก์ต้นฉบับครับ

เครื่องที่ติดตั้งของผมเป็น Ubuntu ซอฟต์แวร์ที่ต้องการติดตั้งได้ด้วย APT เลยสบายหน่อย

MongoDB – Clone collection ด้วยการระบุ query

ใน MongoDB คำสั่ง  cloneCollection()  ใช้สำหรับการ copy collection มี options ให้ใส่ query เพิ่ม filter document ได้เหมือนกันแต่เป็นการ copy จาก remote host มาที่ local ถ้าเราต้องการ copy บนเครื่องเดียวกันคำสั่งนี้ก็ไม่ตรงกับความต้องการของเราแล้วและเท่าที่หาข้อมูลเพิ่มเติมก็ยังไม่มีคำสั่งที่ทำงานแบบนี้โดยตรงแต่เราสามารถจัดการได้ด้วย Javascript interface ใน Mongodb shell ได้

คำสั่งข้างบนก็ใช้เหมือนกันการ query ด้วย  find()  ปกติ MongoDB จะคืนค่ามาเป็น array ของ documents ที่พบซึ่งสามรถใช้  forEach() …

ปรับแต่ง Bootstrap Popover ให้ทำงานเหมือน Facebook Notification

ถ้าพิจารณา popover ของ Bootstrap เทียบกับ popover ของ Facebook ก็แทบจะไม่มีอะไรต่างนอกจาก design แต่ interaction มีจุดที่ต่างกันอยู่ interaction ของแต่ละตัวเป็นแบบนี้ครับ

Notificaiton ของ Facebook

  1. เมื่อคลิกปุ่มจะโชว์ popover
  2. เมื่อคลิกซ้ำจะปิด popover
  3. เมื่อคลิกในพื้นที่ popover popover ก็จะยังเปิดอยู่
  4. เมื่อคลิกนอกพื้นที่ popover popover จะปิด