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”

[Solved] Zimbra LDAP corrupted DB

IDC ไฟดับ ทำให้ไฟล์ db ของ LDAP พังมั้ง

อาการคือ

  • [[email protected] ~] zmcontrol start  แล้วทุกอย่างก็รันขึ้นมาปกติ
  • แต่ถ้ามีการล็อคอิน ก็จะล็อคอินไม่ได้ แล้ว service LDAP ก็จะ stop ไปด้วย

Continue reading “[Solved] Zimbra LDAP corrupted DB”

คำสั่งสำหรับเช็คเกี่ยวกับ process

จดเก็บไว้ก่อน

โชว์รายการ process ที่กำลังทำงานอย่างละเอียด

ps auxfew

เช็คว่า process id ที่ระบุ รันจาก binary file path ไหน

ls -la /proc/$PID/ | grep exe

หาว่า process id ที่ระบุ ต่อ connection ไปที่ไหนหรือเปล่า

lsof -i -P -n | grep $PID

INSERT IGNORE in Laravel eloquent

Laravel ไม่ทำ insert ignore ไว้ให้ใช้ เพราะว่ามันเป็นคำสั่ง SQL ที่ไม่เป็นสากลโลก DB engine หลายๆ ตัว ไม่มีให้ใช้ แต่ถ้าเราใช้ MySQL แล้วอยากจะใช้ insert ignore ก็เอา trait ตัวนี้มาใช้โลด

ติดตั้งใส่ project

composer require jdavidbakr/replaceable-model

แล้วไปเรียกใน Model ที่เราต้องการเพิ่มความสามารถให้มัน

<?php
class Example extends Model
{
    // ...
    
    use \jdavidbakr\ReplaceableModel\ReplaceableModel;
    
    // ...
}

ทีนี้ก็เรียกใช้ตามอัธยาศัย

<?php
\App\Example::insertIgnore($inserts);

.

PhpStorm fully-classified class name from autocomplete

ค่าเริ่มต้นของ phpStorm เวลา enter ชื่อคลาสออกมาจาก autocomplete มันจะไป import class ไว้ที่ด้านบน ( use … ) แล้วกรอกเฉพาะชื่อคลาสให้เราตรงที่กำลังเขียนโค๊ด. แต่ผมชอบที่จะเรียกใช้ fully-classified class name มากกว่า เพราะว่าผมไม่ได้ตั้งชื่อคลาสแบบสื่อความหมายได้ด้วยตัวเอง จะต้องเห็น namespace ด้วย ถึงจะรู้ว่ามันคืออะไร เช่น \App\Models\Orders\Book กับ \App\Models\Products\Book. (ปัญหานี้ผมเดาว่าน่าจะเป็นที่ผมตั้งชื่อคลาสไม่ถูกหลักละมั้ง ._.”). นอกจากสาเหตุที่กล่าวไปแล้ว ยังมีอีกอย่าง คือ เวลาที่ผมไม่ได้ออกแบบล่วงหน้าก่อนทำงาน ผมมักจะต้องมีเหตุให้ย้าย code ไปมาระหว่างไฟล์ ซึ่งปัญหาที่เกิด คือ เวลาที่ย้ายตัว code ไป ตัว import class ด้านบนมันไม่ได้เปลี่ยนตามไปด้วย ดังนั้นการใช้ fully-classified class name ก็ช่วยให้ย้าย code ไปมาได้เลย ไม่ต้องนั่งเช็คตรง import ด้านบน.

ซึ่ง PhpStorm เปิดให้เราปรับได้ว่าจะใช้ fully-classified class name ใน Settings Continue reading “PhpStorm fully-classified class name from autocomplete”