สำนักวิทยบริการและเทคโนโลยีสารสนเทศ (สวส.)

Office of Academic Resources and Information Technology

บทความ

การเขียนคำสั่งดึงข้อมูล ประเภท CASE WHEN

เราสามารถใช้คำสั่งเงื่อนไขกับข้อมูล ประเภท CASE WHEN กับข้อมูลในการ Query ได้ครับโดยมีรูปแบบดังนี้
SELECT ฟิลด์ที่ต้องการ,
Sum(case when ฟิลด์ที่1 เป็นเงื่อนไข=30 and ฟิลด์ที่2 เป็นเงื่อนไข = 1 then 1 else 0 end) AS ชื่อฟิลด์ที่ต้องการแทนอีกชื่อ,
Sum(case when ฟิลด์ที่1 เป็นเงื่อนไข=30 and ฟิลด์ที่2 เป็นเงื่อนไข= 2 then 1 else 0 end) AS ชื่อฟิลด์ที่ต้องการแทนอีกชื่อ,
Sum(case when ฟิลด์ที่1 เป็นเงื่อนไข=40 and ฟิลด์ที่2 เป็นเงื่อนไข = 1 then 1 else 0 end) AS ชื่อฟิลด์ที่ต้องการแทนอีกชื่อ,

ลบ File System ใน Linux แล้วคืนพื้นที่โดยไม่ต้อง Restart เครื่อง

ในกรณีเมื่อเราลบ filesystem ที่เป็น log file หรือ  file ใน /var/log ด้วยวิธีการ rm-rf /var/log/xxxx.log แล้วปรากฏว่าเมือ  show พื้นที่  df -lh พื้นที่ยังคงเหลือเท่าเดิม จำเป็นต้อง restart เครื่องใหม่เพื่อให้พื้นที่ว่างเพิ่มขึ้น   ที่เป็นแบบนี้เพราะว่าตอนที่ลบไฟล์ ในระบบยังมี process เปิดไฟล์ที่ลบอยู่ (ไฟล์ใน /var/log ส่วนมากจะถูกเปิดโดย process ชื่อ syslog อยู่ตลอดเวลา)

ปัญหา โน๊ตบุ๊ค เข้าไบออสไม่ได้ และไม่สามารถใช้ระบบได้

อาการที่เข้าไบออสบนโน๊ตบุ๊คไม่ได้ หรือบางทีเกิดปัญหาในการเข้าสู่ระบบ เป็นสิ่งที่เรียกได้ว่าบางครั้งเป็นปัญหาสามัญ เพราะเกิดจากแบตไบออสของเครื่องหมด แต่บางทีก็เกิดขึ้นจากความเสียหายของระบบไฟหรือในวงจรของเมนบอร์ดเอง ก็ทำให้ไม่สามารถใช้งานได้ตามปกติ การแก้ไขปัญหาเหล่านี้อาจจะต้องใช้วิธีการต่างๆ เข้ามารวมกัน เพื่อแก้ไขอาการให้หายขาดนั่นเอง

การเพิ่มขีดจำกัดในการเปิด Socket Connection ใน Ubuntu

ผมได้พัฒนาระบบตัวหนึ่ง ซึ่งจะต้องรองรับการเปิด Socket จำนวนมาก แล้วก็เจอปัญหาว่า error: [Errno 24] Too many open files เนื่องจากระบบได้จำกัดจำนวนการเปิดไฟล์จำนวนมาก ซึ่งรวมไปถึงการเปิด Socket ด้วยครับ ดังตัวอย่างนี้ครับ
ERROR:tornado.application:Exception in I/O handler for fd 4
Traceback (most recent call last):
  File "/home/rmutsv/wpad/tornado/ioloop.py", line 672, in start
  File "/home/rmutsv/wpad/tornado/stack_context.py", line 331, in wrapped
  File "/home/rmutsv/wpad/tornado/stack_context.py", line 302, in wrapped

การสร้าง Self-Signed SSL Certificate สำหรับการทดลองหรือใช้ภายในองค์กร

การพัฒนาระบบเวบแอปพลิเคชั่นที่ผ่านโปรโตคอล http นั้น ข้อมูลที่วิ่งในระบบจะไม่ถูกเข้ารหัส ทำให้อาจเกิดการดักจับข้อมูลหรืออื่น ๆ ซึ่งสร้างความไม่ปลอดภัยในการใช้งาน เพื่อความปลอดภัย เราควรให้เวบแอปพลิเคชั่นของเรา วิ่งบนโปรโตคอล https ซึ่งมีการเข้ารหัสข้อมูล และเราต้องใช้ SSL Certificate โดยต้องเสียตังให้กับองค์กรที่รับรองการออก SSL Certificate เหล่านี้ให้กับเรา แต่ถ้าเราอยากจะสร้าง SSL Certificate ของเราเอง เพื่อทดลองหรือใช้ภายในองค์กร เราก็สามารถทำได้ง่าย ๆ ในระบบ Ubuntu ด้วยคำสั่ง openssl ง่าย ๆ ดังนี้ครับ

การกำหนด Proxy ให้กับ Ubuntu Server

ในการใช้งาน Server บางครั้ง เราก็ต้องการให้ดาวน์โหลดข้อมูลต่าง ๆ โดยผ่าน Proxy เพื่อประโยชน์ในเรื่องของการ Caching ข้อมูล และประหยัด Bandwidth ของอินเตอร์เน็ต โดยใน Ubuntu Server นั้นเราสามารถกำหนด Proxy ได้ดังนี้ครับ

ทำการแก้ไขไฟล์ /etc/environment

File: /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

no_proxy="localhost,127.0.0.0/8,172.16.0.0/12"

การแก้ไขให้ Ubuntu Server กลับมาใช้ระบบเครือข่ายได้ หลังจากเปลี่ยน Network Card

  ผมได้ลงระบบ Ubuntu Server ในระบบ KVM แล้วได้มีการเปลี่ยนค่า Mac Address เพื่อความสะดวกบางประการ ซึ่งเปรียบเสมือนการเปลี่ยน Network Card ทำให้เมื่อบูตระบบแล้ว ตัว Ubuntu Server อาจจะไม่เห็นหรือใช้งาน Network Card นั้นไม่ได้ แต่เรามีวิธีแก้ไขดังนี้ครับ

ทำการแก้ไขไฟล์ /etc/udev/rules.d/70-persistent-net.rules

File: /etc/udev/rules.d/70-persistent-net.rules

การตั้งค่าโปรแกรม CSip Simple ใน Android สำหรับการใช้ IP Phone ของมหาวิทยาลัยเทคโนโลยีราชมงคลศรีวิชัย

ทางมหาวิทยาลัยให้บริการหมายเลข IP Phone ให้กับบุคลากรของมหาวิทยาลัยฯ อีกช่องหนึ่งที่สามารถให้งาน IP Phone ของมหาวิทยาลัยได้โดยผ่าน Smart Phone หรือ Tablet ในระบบปฎิบัติการ Android ซึ่งในบทความนี้จะกล่าวถึงการตั้งค่าโปรแกรม CSip Simple ใน  Android สำหรับการใช้  IP Phone ของมหาวิทยาลัยเทคโนโลยีราชมงคลศรีวิชัย
เริ่มต้นตั้งแต่ติดตั้ง โปรแกรม จาก  goole play store โดยเข้าไปใน  Play store แล้วค้นคำว่า  sip

PHP OOP การถ่ายทอดคุณสมบัติของคลาส(Inheritance)

คุณสมบัตินี้เป็นคุณสมบัติที่เรียกว่า ถ่ายทอดคุณสมบัติของคลาส ฟีเจอร์นี้มีประโยชน์สุด ๆ ในการเพิ่มฟีเจอร์ย่อยหรือผลพลอยได้จากการพัฒนาแบบหลาย ๆ คนทำงานร่วมกัน หรือจะเป็นลักษณะการพัฒนาต่อยอด ขยายขีดความสามารถของบางฟีเจอร์ออกไป