ปิด ip และรายงานประเมินการสอน

6 ก.ย.53 ตรวจแฟ้ม /var/log/messages พบว่ามีความพยายาม login เข้าระบบจำนวนไม่น้อยผ่าน secure shell ที่เปิด port 22 ตัวอย่าง user ที่พยายามสุ่มเข้ามา เช่น frank, richard, sara, robert, steven, amanda จึงเพิ่มคำสั่งเข้าไปใน /etc/sysconfig/iptables ด้วยคำว่า -A OUTPUT -d 10.20.30.40 -j ACCEPT แล้ว #service iptables restart มีผลให้เฉพาะเครื่องเบอร์ 40 เท่านั้นที่ไม่ได้รับบริการใดใด
ต่อจากนั้นก็มีโอกาศหยิบระบบจัดทำรายงานประเมินการเรียนการสอน  ที่รับข้อมูลผ่านระบบ Online แล้วจัดทำรายงานด้วย Microsoft Access  เพื่อให้ได้รายงานผลตรงกับความต้องการของการประกันคุณภาพระดับมหาวิทยาลัย ที่ต้องการผลประเมินจำแนกตามกลุ่มสาขาวิชา และมีข้อมูลที่นำมาหาค่าเฉลี่ยทั้งปีในลำดับต่อไป

ปฏิเสธบริการให้กับเพื่อนต่างชาติ

6 ก.ย.53 พบเพื่อนแปลกหน้าจาก lagos, nigeria เข้าระบบจาก ip 41.203.64.246 และอีกหลายหมายเลขใกล้เคียง ในใจคิดอยู่ว่าจะปิดจาก httpd.conf หรือ iptables สุดท้ายก็เลือก iptables โดยเพิ่ม policy ผ่านแฟ้ม iptables มีขั้นตอนดังนี้
#cd /etc/sysconfig
#vi iptables
แล้วเพิ่ม -A OUTPUT -D 41.0.0.0/8 -j REJECT
จะปฏิเสธทุก ip ที่ขึ้นต้นด้วย 41
#service iptables status
#service iptables restart

งานวิจัยที่เกี่ยวข้อง

4 ก.ย.53 พบงานวิจัยของ 2 เรื่องที่น่าสนใจ และผมนำไปอ้างอิงในงานวิจัยในชั้นเรียน เรื่อง “ศึกษาการมอบหมายงานกลุ่มในการจัดทำสื่อวีดีทัศน์ประกอบการสอนการใช้โปรแกรม Powerpoint ในรายวิชาเทคโนโลยีสารสนเทศและการสืบค้นข้อมูลเบื้องต้น (COMP 100)” ที่ผมทำร่วมกับ อ.อัศนีย์ ณ น่าน คือ งานวิจัยของ อ.จันทร์จิรา เมธาจิโนทัย และของ อ.วินทฎา วิเศษศิริกุล มีประเด็นสรุปจากบทคัดย่อได้ดังนี้

จันทร์จิรา เมธาจิโนทัย (2549) ทำการศึกษาวิจัยเรื่อง เจตคติและความสนใจของนักเรียนระดับช่วงชั้นที่ 2 ที่มีต่อการเรียนวิชาวิทยาศาสตร์ นำเสนอว่า พื้นฐานของเจตคติและความสนใจทางการเรียนของสัมพันธ์กับการจัดรูปแบบและวิธี การสอนที่หลากหลาย ทําให้ผู้เรียนเกิดความสนใจและกระตือรือร้นต่อการเรียนรู้ เพราะการสอนโดยเน้นเนื้อหาทฤษฎีที่ไม่เป็นไปตามความต้องการของผู้เรียนจะทำ ให้ผู้เรียนเกิดความเบื่อหน่าย และสนใจกับเนื้อหาในช่วงเวลาสั้น ๆ จึงควรจัดวิธีการเรียนการสอนที่ไม่ซ้ำรูปแบบเดิม ๆ เพื่อเป็นการกระตุ้นและเร้าความสนใจของผู้เรียน

วินทฎา วิเศษศิริกุล (2546) ทำการศึกษาวิจัยเรื่อง การพัฒนาผลสัมฤทธิ์ทางการเรียนของนักศึกษา ระดับ ปวส. สาขาวิชาคอมพิวเตอร์ธุรกิจวิทยาลัยเทคนิคนครนายก โดยการจับคู่ดูแลกัน นำเสนอ ผลการศึกษาการพัฒนาผลสัมฤทธิ์ทางการเรียนของนักศึกษาสาขาวิชาคอมพิวเตอร์ ธุรกิจชั้น ปวส.1 ห้อง 2 ปีการศึกษา 2545 ต่อเนื่ องชั้น ปวส.2 ปีการศึกษา 2546 ที่มีผลสัมฤทธิ์ทางการเรียนต่ำ พบว่าผลการทดลองจับคู่ดูแลนักศึกษาที่ผลสัมฤทธิ์ทางการเรียนต่ำโดยเพื่อนที่ มีผลสัมฤทธิ์ทางการเรียนสูง ทำให้นักเรียนที่มีผลสัมฤทธิ์ทางการเรียนต่ำมีผลสัมฤทธิ์ทางการเรียนสูงขึ้น จากเดิมร้อยละ 100 แต่ผู้ที่มีผลสัมฤทธิ์ทางการเรียนสูงแล้วมีผลสัมฤทธิ์ทางการเรียนสูงขึ้นจาก เดิมร้อยละ 90.90

เนื่องจากการจับคู่ดูแลกัน ทำให้ส่งเสริมให้เกิดกิจกรรมช่วยเหลือ ให้คำปรึกษา แนะแนว และทบทวนบทเรียนทั้งในระหว่างเรียน และหลังเลิกเรียนแล้วนั่นเอง

เว็บไซต์บริหารข้อมูลตำแหน่งงานว่าง

1 ก.ย.53 ในการตรวจสอบข้อมูลการลิงค์เว็บไซต์เผยแพร่ตำแหน่งงานว่างเมื่อวันที่ 2553-09-01 ซึ่งมีการรวบรวมและปรับปรุงเมื่อวันที่ 2550-07-24 โดยมีรายชื่อเว็บไซต์ที่เผยแพร่ตำแหน่งงานว่างจำนวน 70 เว็บไซต์ แต่พบว่าหมดอายุ หรือเลิกบริการไปมากถึง 40 เว็บไซต์ เหลือเพียง 30 เว็บไซต์ที่ยังให้บริการตำแหน่งว่าง หรือคิดเป็นเว็บไซต์ที่ยังให้บริการเท่ากับ 57.14
เมื่อหาข้อมูลเว็บไซต์ที่บริการข้อมูลตำแหน่งงานว่างเพิ่มเติม ก็พบว่ามีเว็บไซต์ที่ยังไม่อยู่ในทำเนียบอีกมาก ผมจึงเพิ่มลิงค์เว็บไซต์หางานใหม่ ซึ่งรวบรวมแล้วได้มาเพิ่มอีก 48 เว็บไซต์ รวมเป็นเว็บไซต์ที่ยังเปิดให้บริการอยู่มีมากถึง 78 เว็บไซต์ ซึ่งเชื่อว่าผู้หางานน่าจะได้ข้อมูลมากเพียงพอกับการสมัครงาน หรือหางานที่เหมาะสมกับความต้องการของตน
+ http://www.thaiall.com/job

การเขียน X-bar ใน word

1 ก.ย.53 ถ้าต้องการเขียน x-bar หมายถึง ค่าเฉลี่ย (average) ทำได้โดยการกดปุ่ม Ctrl-f9 แล้วพิมพ์คำว่า

EQ \O(x,ˉ)

จากนั้นกดปุ่ม Shift-f9 ก็จะพบกับสัญลักษณ์ X-bar ตามต้องการ ซึ่งจำเป็นต้องใช้ในการเขียนรายงานการวิจัย สำหรับนำเสนอผลเชิงสถิติอย่างง่าย

ปัญหาการอ้างอิงภาพ profile แบบ static

yonok alumni profile
yonok alumni profile
yonok alumni profile

31 ส.ค.53 จากกลุ่มตัวอย่างศิษย์เก่าที่ผมไม่ทราบรหัสจำนวน 43 คน เมื่อเวลาผ่านไปเพียง 1 เดือน มีศิษย์เก่าเปลี่ยนภาพ profile ไปถึง 20 คน คิดเป็นร้อยละ 46.5 แสดงว่าถ้าใช้ภาพ profile อย่างจริงจังมาเป็นข้อมูลแบบ static คงต้องใช้คนช่วยตรวจสอบ หรือไม่ก็เขียน script ดูดภาพ profile มาปรับฐานข้อมูล ซึ่งยังไม่ได้ทดสอบว่าภาพ profile ที่เปลี่ยนไปนั้นทาง facebook ยอมให้ script เข้าไปดูด url ได้หรือไม่ แต่ที่แน่ ๆ แสดงว่าศิษย์เก่ายังมีการเคลื่อนไหวใน facebook หรือใช้งานกันตามปกติ มิได้หนีหายไปไหนในสังคม facebook และข้อมูลนี้ทดสอบไว้ที่ http://www.thaiabc.com/ynalumni

การแก้ปัญหาพิมพ์ผ่านเครือข่ายไม่ออก

31 ส.ค.53 แก้ปัญหา sharing printer รุ่น hp laser 1000 series ซึ่งผมมีปัญหาในฐานะ client ไปใช้ printer server ที่เขา share ไว้ แต่ผม print ออกได้เพียงแผ่นแรก ก็หยุดให้บริการ และถ้าผม print พร้อมกับคนอื่น ก็จะทำให้ queueของ server ล้มไปหมด คาดว่า driver หรือ application บางตัวในเครื่องของผมน่าจะบกพร่อง พยายามตรวจแล้วก็แก้ปัญหาการ printแผ่นแรกเพียงแผ่นเดียวไม่สำเร็จ

วันนี้พยายามทดสอบต่ออีกครั้ง หลังจากทิ้งมาหลายเดือน เพราะผมรบกวนเจ้าของ printer server บ่อยไปนิด ผลการทดสอบที่ไม่สำเร็จคือ 1) print หน้าสุดท้ายในทุกวิธี ไม่ออก 2) ถ้ามีหน้าเดียวก็จะไม่ออกในทุกวิธี 3) ใช้ current page ใน word ไม่ออก 4) กำหนดเลขหน้าเพียงหน้าเดียวไม่ออก ส่วนที่ทดสอบแล้วสำเร็จ คือ กำหนดเลขหน้าแบบช่วงหน้า จะออกเพียงหน้าแรกที่อยู่ในช่วง ต่อไปก็จะใช้วิธีนี้ เพราะปกติงานผม print ไม่มาก แต่ print บ่อยเท่านั้นเอง

เล่าเรื่องระบบภาระงานคณาจารย์

รายงานภาระงานคณาจารย์
รายงานภาระงานคณาจารย์

30 ส.ค.53 พัฒนาระบบกรอกข้อมูลภาระงานคณาจารย์ ที่แบ่งหมวดสำคัญไว้ 3 หมวดหลัก คือ การเรียนการสอน การวิจัย และด้านอื่น ซึ่งด้านอื่นแบ่งย่อยเป็น 6 หมวด สำหรับการประมวลผลที่สำคัญคือการ insert กับ update แต่พบปัญหาส่งระเบียนข้อมูลว่างเป็นระเบียนล่าสุดโดยไม่ทราบสาเหตุสำหรับบางคน จึงใช้วิธีเรียกข้อมูลจากที่เคยบันทึกไว้ใน log และกู้คืนตามเวลาที่ต้องการโดยเจ้าของประวัติ เมื่อใช้งานไปอีกระยะหนึ่งพบปัญหาใหม่คือ ไม่มีข้อมูลเข้าในหัวข้อสุดท้ายของสมาชิก และเป็นหัวข้อไม่สำคัญ ตรวจพบภายหลังว่าชื่อเขตข้อมูลผิด แต่โปรแกรมใช้การ include จึงไม่แสดงอาการผิดพลาดระหว่างตรวจสอบ
การแก้ปัญหา insert ระเบียนที่เป็นค่าว่างเข้า master file เกิดได้หลายกรณี  แต่วิธีหนึ่งที่น่าจะแก้ไขได้คือ การยกเลิกระบบ update แต่ใช้การ insert เข้า log แล้วเรียกระเบียนสุดท้ายมาเสมอ แทนการสั่ง update ไปยัง master file แต่ก็ไม่ได้ทำ เพราะเวลาจำกัด และจะปิดรับข้อมูลในวันรุ่งขึ้น คาดว่าหลังปิดระบบจะพัฒนาส่วนนี้ต่อไป  เพื่อป้องกันปัญหาการใช้งานระบบนี้ในอนาคต จึงใช้เวลาที่เหลือพัฒนาระบบรายงาน สำหรับติดตามการส่งข้อมูล แล้วรวบรวมเสนอผู้บริหารตามลำดับชั้นต่อไป
ทำให้ปัจจุบันมีโปรแกรมสำหรับระบบนี้ 5 โปรแกรม คือ ฟอร์มหลัก โปรแกรมเพิ่มข้อมูล โปรแกรมพิมพ์แบบฟอร์ม โปรแกรมแสดงสถานะ และโปรแกรมแสดงรายงาน ถ้ามีโอกาสจะทำ demo แสดงการวางแผน และพัฒนาโปรแกรมชุดนี้ครับ เพื่อให้นักศึกษาที่สนใจการพัฒนาโปรแกรมด้วย php กับ mysql ได้เรียนรู้อีกมุมหนึ่งของการพัฒนาระบบ

ระบบฐานข้อมูลข้อตกลงภาระงานคณาจารย์

23 ส.ค.53 ฟอร์มภาระงานรุ่นแรกใช้งานได้แล้ว พัฒนาผ่านโปรแกรม 3 ตัวหลัก ตามที่คุณธรณินทร์ ออกแบบไว้ คือ parakit.php parakit_add.php phptoword.php แล้วทำงานกับตารางข้อมูลอย่างน้อย 8 ตารางใหม่ มีเขตข้อมูลพื้นฐานประมาณ 2 ร้อยกว่าตัว โดยมี 1) parakit.php รับข้อมูลหรือนำข้อมูลที่เคยกรอกไว้ขึ้นมานำเสนอ โดยควบคุมด้วย javascript 2) phptoword.php ใช้รับค่าจากฟอร์มแปลงเป็น word สำหรับ print และเซ็นเสนอตามลำดับชั้น 3) parakit_add.php ถูก include ที่ส่วนหัวของ phptoword.php เพื่อเก็บข้อมูลเข้าระบบฐานข้อมูล ซึ่งข้อมูลที่ถูกจัดเก็บจะถูกดึงขึ้นมาแสดงใน parakit.php สำหรับการเข้าระบบครั้งต่อไป
งานที่ค้าง คือ แบบฟอร์มทั้งหมดเป็นรุ่นทดสอบ แบบฟอร์มล่าสุดผ่านการประชุมผู้บริหารวันนี้ และต้องปรับระบบฐานข้อมูล และโปรแกรมทั้งหมดใหม่ และนำเสนอวันต่อไปในที่ประชุมอาจารย์ สิ่งที่ต้องแก้ไขคือ  1) แก้ไขโครงสร้างแฟ้มในระบบฐานข้อมูลที่อนุมัติเย็นนี้ 2) แก้โปรแกรมที่มีการใช้ select, insert และ update ทั้งหมด 3) ปรับ javascript ให้ทำงานกับฟอร์มใหม่ที่จะพบในวันรุ่งขึ้น 4) แก้ปัญหาความเสถียรของระบบฐานข้อมูลที่ควรแก้ไขให้ทันการใช้งานจริง

แก้ปัญหาไม่แสดงชื่อนักศึกษาใน moodle

23 ส.ค.53 รับแจ้งจากหัวหน้าว่า รายชื่อนักศึกษาในระบบ e-learning ที่ใช้สคริปต์ของ Moodle หายไปหมด และงานนักศึกษาก็ยังตรวจไม่เรียบร้อย ผมจึงตั้งสมมติฐานว่าตารางหนึ่งในระบบฐานข้อมูลเสียอีกแล้ว เคยเกิดขึ้น และใช้โปรแกรม EMS  SQL Manager for MySQL เข้าไป Repair แต่ครั้งนี้ผมจะเปลี่ยนวิธี เพราะระบบฐานข้อมูล MySQL มีโปรแกรมที่สามารถซ่อมผ่าน Command Line จึงไม่ใช้โปรแกรมเสริมจากภายนอกอย่าง EMS

เข้า MySQL ผ่าน Command Line แล้ว use moodle; (แต่ไม่มีคำสั่งตรวจสอบตารางทั้งหมดอัตโนมัติ ถ้าจะเขียน php หรือ Shell script ก็จะยุ่งยากมากไป) จึงใช้ show tables; แล้วคัดลอกรายชื่อตารางไปไว้ใน notepad แล้วแทนที่สัญลักษณ์ | ด้วยสัญลักษณ์ , เนื่องจากคำสั่ง check table สามารถตรวจตารางพร้อมกันได้หลายตารางโดยใช้เครื่องหมาย , ขั้นระหว่างชื่อตาราง ผมจึงคัดลอกข้อมูลจาก notepad มาวางต่อคำสั่ง check table ก็พบตารางที่ error แบบ  corrupt มีจำนวน 2 ตาราง คือ  mdl_log และ mdl_user_students เมื่อสั่ง repair table mdl_user_students; ก็พบว่า moodle กลับมาแสดงรายชื่อนักศึกษาได้ตามปกติ
+ http://www.thaiall.com/mysql