สวัสดีครับ มิตรรักแฟนเพลงทุกท่าน ต้อนรับตัวเองในการกลับมาเขียน Blog เกี่ยวกับ Qt QML อีกครั้งหลังจากห่างหายไปนานถึง 2 ป๊ 555+ พอดีมีเหตุต้องใช้งานกัน เขียนล่าสุดตอนนั้น Qt ยัง version 5.0 อยู่เลย ตอนนี้ไป 5.5 แล้วเอาเฮย์ย์ย์ย์ย์ย์ พอดีต้องไปสอนพี่ๆ น้องๆ เขียน Qt ก็เลยต้องมานั่งอ่านนั่งทำ อันที่จริงวิธีการเเรียก Method ของ Class ใน C++ อันนี้ผมเคยเขียนโค๊ดไว้และตั้งใจจะจดไว้ใน blog แต่ว่าด้วยอะไรหลายๆ อย่างทำให้ไม่ได้ทำ วันนี้ได้ฤกษ์ดี จัดซะหน่อย มาเริ่มกันเลยครับ โดยครั้งนี้จะอธิบายจากตัวอย่างโปรแกรมที่เขียนขึ้นนะครับ เพราะว่าดูแล้วมันซับซ้อน อันที่จริงผมเขียนเอง ผมก็ยัง งง งง กับมันอยู่เลย เอาเป็นว่า มือใหม่ แนะนำมือใหม่กว่าแล้วกันครับ โปรแกรมที่ทำขึ้นเป็นตัวอย่างจะแสดงตัวอย่างการ get, set ผ่าน method และการ call method อย่างเดียว
วันพฤหัสบดีที่ 26 พฤศจิกายน พ.ศ. 2558
Install opencv on OSX
Standard- Download macport
- Install cmake
- Download opencv source
- cmake opencv source file
- make opencv
- Install opencv
cmake -G "Unix Makefiles"
make -j8
sudo make install
Ref
วันอังคารที่ 2 มิถุนายน พ.ศ. 2558
ซ่อน Version ของ Nginx
Standard ปกติ HTTP Header ของเวลาที่เรา request ไป Web Server จะส่ง ชื่อและ Version ตามมาด้วย แต่การบอก เลข Version และ Web Server ที่เราใช้งานอยู่นั่นย่อมเป็นสิ่งที่ไม่ดี มันเสี่ยงต่อความปลอดภัย ยกตัวอย่างเช่น ถ้าถ้าเราใช้ NGINX Version 1.5.2 อยู่แล้วมีวันนึง ทาง NGINX ประกาศ exploit ของ Version 1.5.2 ออกมา สบาย Hacker เลย ฉะนั้นเราจึงควรซ่อน ชื่อและ Version ของ Web Server ที่เราใช้งานอยู่ แต่เนื่องจากการซ่อนชื่อของ NGINX จะต้อง Compile Code ใหม่ แต่การซ่อนเลขเวอร์ชั่นนั้นทำได้ง่ายกว่า คือ
ลองตรวจสอบดูครับ
แก้ไขไฟล์ /etc/nginx/nginx.conf ในส่วนของ Server เพิ่ม server_tokens off; เข้าไป
ลองตรวจสอบดูครับ
Header Server ก่อนปิด Version
Header Sever หลังปิด Version
วันอาทิตย์ที่ 10 พฤษภาคม พ.ศ. 2558
วันพฤหัสบดีที่ 7 พฤษภาคม พ.ศ. 2558
Arduino : จัดการข้อมูลจาก Serial Port ด้วย State Machine
Standard State Machine แปลตรงๆ ก็คือสถานะเครื่องจักร ถ้าใครเคยออกแบบวงจร Digital ด้วย Logic gate ที่มีสถานะ อาจจะพอนึกภาพออกมันคือรูปวาดกลมๆ แล้วมีเส้นลากไปลากมา
State Machine เหมาะกับเอามาใช้กับข้อมูลแบบ Stream ที่เรารู้รูปแบบของข้อมูลที่แน่นอนครับ ซึ่ง Serial Port ก็เป็นข้อมูลแบบ Stream ด้วย
โจทย์คือ เราจะรับข้อมูลแบบ stream ในรูปแบบ <XXXXXX> โดยที่
การเริ่มตอนออกแบบ State Machine เพื่อให้เห็นภาพง่ายๆ ควรเริ่มจากการวาดรูปแผนภาพ
State Machine เหมาะกับเอามาใช้กับข้อมูลแบบ Stream ที่เรารู้รูปแบบของข้อมูลที่แน่นอนครับ ซึ่ง Serial Port ก็เป็นข้อมูลแบบ Stream ด้วย
โจทย์คือ เราจะรับข้อมูลแบบ stream ในรูปแบบ <XXXXXX> โดยที่
< คือไบต์เริ่มต้น หรือ Header
> คือไบต์สิ้นสุด หรือ Footer
XXXXX คือข้อความ
การเริ่มตอนออกแบบ State Machine เพื่อให้เห็นภาพง่ายๆ ควรเริ่มจากการวาดรูปแผนภาพ
วันพุธที่ 26 พฤศจิกายน พ.ศ. 2557
Compile tomcat native lib for CentOS 6
Standard จดไว้กันลืมหน่อย ตอนแรกผมต้อง config tomat6 ให้ใช้งานบน https แล้วตอนลงมันไม่มี lib libtcnative-1.so มาให้เลยต้อง compile เอง ซึ่งวิธีก็ง่ายๆ ต้องลง pcakage ต่างๆ ตามนี้ก่อน
จะได้ไฟล์ tomcat-native-1.1.32-src.tar.gz จากนั้น unzip ด้วยคำสั่ง
บน CentOS 6 java home จะอยู่ที่ /usr/lib/jvm/java-1.7.0 จากนั้นใช้ configure เพื่อสร้าง Makefile
ซึ่ง libtcnative-1.so จะอยู่ใน /usr/local/apr/lib
yum -y install apr-devel openssl-devel java-1.7.0-openjdk-develDownload tomcat-native จาก http://tomcat.apache.org/download-native.cgi
จะได้ไฟล์ tomcat-native-1.1.32-src.tar.gz จากนั้น unzip ด้วยคำสั่ง
tar -vxf tomcat-native-1.1.32-src.tar.gzจากนั้นเข้าไปที่ folder native
cd tomcat-native-1.1.32-src/jni/native
บน CentOS 6 java home จะอยู่ที่ /usr/lib/jvm/java-1.7.0 จากนั้นใช้ configure เพื่อสร้าง Makefile
./configure --with-apr=/usr/bin/apr-1-config --with-ssl=yes --with-java-home=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64โดยต้องระบบ path ของ APR, java home และให้ใช้งาน SSL ใช้คำสั่ง make เพื่อ compile lib
make && make install
ซึ่ง libtcnative-1.so จะอยู่ใน /usr/local/apr/lib
วันจันทร์ที่ 20 ตุลาคม พ.ศ. 2557
OSX : ssh to remote host without password required and auto mount when login
Standard หลังจากที่ทำ network drive ผ่านทาง ssh ด้วย macfuse และ sshfs มีความต้องการให้ mount drive อัตโนมัติหลังจากที่ login ซึ่งจะต้องทำ 2 อย่างคือ
- การสร้าง authorized keys จาก OSX แล้วไปเก็บใน remote server เพื่อเวลาที่จะ connect ไปแล้วไม่ต้องการให้ remote server ถามรหัสผ่าน
- script สำหรับตรวจสอบว่า OSX สามารถเชื่อมต่อกับ remote server ได้ และ mount drive
สมัครสมาชิก:
บทความ (Atom)




