HelpNDoc – #1 (หุบ ๆ ย่อ ๆ) กำหนดการแสดงผล Table of contents เริ่มแรกให้กับเอกสาร HTML

บทความนี้จะขอแนะนำให้กับผู้ใช้งานโปรแกรม HelpNDoc ในการสร้างเอกสารกันอยู่ค่ะ ว่าเราสามารถกำหนดการแสดง table of contents ของเอกสารชนิด HTML ที่เราได้ generate ได้ว่าจะให้แสดงผลเริ่มต้นกับผู้อ่านเมื่อเปิดเอกสารอย่างไรค่ะ โดยสามารถกำหนดได้ว่าจะให้ table of contents ของเอกสารของเรานั้น ขยายไปที่ topic ของ contents ใน Level ใด —> วิธีการกำหนดการแสดงเริ่มแรกให้กับ table of contents ของเอกสารของเรานั่นง่ายมาก ๆ มาเริ่มกันเลยยย ในขั้นตอนการ Generate เอกสารให้เป็น Html เมื่อเรา Click Generate Document และเลือก ฺBuild เอกสารเป็น html นั้น จะพบลิงก์ Customize ให้คลิกลิงก์ดังกล่าว เพื่อเข้าไปกำหนดค่าต่างๆ ให้กับเอกสารของเรากันค่ะ เมื่อคลิก Customize ให้สังเกตในแท๊ป Template settings และเลื่อนลงไปในหัวข้อ Table of content expand level ทำการเลือก level ของ topic contents (เริ่มต้นจาก level 0) ที่เราต้องการให้แสดงเริ่มต้นเมื่อเปิดเอกสารขึึ้นมา แล้วคลิกปุ่ม Generate เท่านี้ก็เป็นอันเสร็จเรียบร้อยแล้วค่ะ มาดูผลลัพธ์กันเลย เมื่อเราเลือก เป็น Level 0 จะเห็นได้ว่า เมื่อเปิดเอกสารขึ้นมาในครั้งแรก table of contents ของเอกสารของเรา ก็จะแสดงแบบขยายในระดับ level 0 (หัวข้อแรก) เท่านั้นค่ะ แต่ยังไงไม่ต้องเป็นห่วงนะคะ ไงก็สามารถกดย่อขยายหัวข้อที่มีอยู่ของเอกสารได้ทั้งหมดอยู่ดีค่ะ เป็นแค่การแสดงผลเริ่มแรกเมื่อเปิดเอกสารเท่านั้น ลองเลือกเป็น Level 2 กันค่ะ ก็จะได้หน้าตาออกมาแบบนี้ เป็นยังไงบ้างคะ ง่ายมากเลยใช่มั้ยคะ ไว้บทความหน้า จะมาแนะนำเทคนิคเล็ก ๆ น้อย ๆ ในการใช้งานโปรแกรม HelpNDoc กันอีกนะคะ สำหรับบทความนี้ก็มีเพียงเท่านี้ค่า ขอบคุณค่ะ 😉

Read More »

เล่าเบื้องหลังการสร้าง www.psudev.info

“กรุงโรมไม่สร้างแค่วันเดียว” ฉันใดฉันนั้นเพื่อให้เครือข่ายนักพัฒนาแอพพลิเคชั่น (เหล่าโปรแกรมเมอร์) ของมหาวิทยาลัยสงขลานครินทร์ เกิดการร่วมกลุ่มกันอย่างเป็นรูปธรรมกันมากขึ้น จึงมีแนวคิดจะสร้างเว็บไซต์ลักษณะที่เป็นฐานข้อมูลรวบรวมรายชื่อสเหมือนสมุดหน้าเหลือง (เด็กสมัยใหม่อาจจะงง!) www.psudev.info เพื่อเป็นข้อมูลไว้ติดต่อกันสามารถค้นหาได้สะดวก คอนเซปคือต้องพัฒนาได้ง่ายและรวดเร็ว เป็น https ไม่ต้องเสียค่า cert สามารถออนไลน์ได้ทั่วโลก ไม่มีวันล่ม ไม่ต้องดูแลอินฟา และไม่รอช้าานั่นเริ่มกันเลยครับ…

Read More »

วิธีสร้างสมุดโทรศัพท์ของหน่วยงานด้วย Google Contact

เคยเป็นไม๊ จะโทรศัพท์หาเพื่อนร่วมงาน แต่ไม่รู้ว่า เบอร์มือถือ เบอร์ที่โต๊ะ หรือ Email อะไร วิธีการที่บางหน่วยงานทำ คือ ทำแผ่นพับเป็นสมุดโทรศัพท์เก็บใส่กระเป๋าตังค์บ้าง เป็นกระดาษแปะบ้าง บางทีก็หาย บางทีก็ไม่ได้พกบ้าง หรือ บางทีทำเป็นเว็บให้ค้นหาบ้าง … บางแห่งถึงกับต้องลงแรงเรียน Mobile App ก็มี (อิอิ) จะดีกว่าไม๊ ถ้าแค่ฝ่ายบุคคล แค่รวบรวม ชื่อ นามสกุล ชื่อเล่น เบอร์มือถือ เบอร์โต๊ะ และ Email ใส่ Excel แล้วจากนั้น ใครใคร่จะ Import ใส่ Google Contact ของตนเองได้เลย แล้วหลังจากนั้น จะโทร จะค้นหา ก็สามารถทำในมือถือของตนเองได้เลย !!! ไม่ต้องพก ไม่ต้องติดตั้ง App เพิ่ม ใช้ได้ทั้ง iOS, Android และบน Computer ก็ยังได้ มาดูกัน สร้าง Excel เก็บข้อมูล การนำเข้า (Import) ข้อมูลเข้า Google Contact มีทริคนิดเดียว คือ บรรทัดแรกของไฟล์ จะต้องเป็น Header ที่กำหนดชื่อตามรูปแบบมาตราฐาน กล่าวคือ ตั้งหัวข้อว่า “ชื่อ”, “นามสกุล”, “ชื่อเล่น”, “มือถือ”, “เบอร์โต๊ะ” อะไรอย่างนี้ +++ไม่ได้+++ ต้องตั้งเป็น “Given Name”,”Family Name”, “Name Suffix”,”Phone 1 – Type”,”Phone 1 – Value”,”Phone 2 – Type”,”Phone 2 – Value”,”Group Membership” Given Name = ชื่อFamilay Name = นามสกุลName Suffix = ใช้เป็นชื่อเล่นก็ได้Phone 1 – Type = ประเภทโทรศัพท์อันที่ 1 (เช่น Mobile)Phone 1 – Value = หมายเลขโทรศัพท์อันที่ 1 (เช่น เบอร์มือถือ) Phone 2 – Type = ประเภทโทรศัพท์อันที่ 2 (เช่น Work)Phone 2 – Value = หมายเลขโทรศัพท์อันที่ 2 (เช่น เบอร์โต๊ะ) Group Membership = จะให้ Label ว่าอย่างไร ดังตัวอย่างนี้ จากนั้น Save เป็นแบบ CSV File สมมุติชื่อว่า contact.csv นำเข้า Google Contact เสร็จแล้ว ก็จะได้ใน Google Contact มี Label ตามภาพ (1 contact มีหลาย ๆ label ได้)ในภาพ จะเห็นว่า Contact ที่เพิ่งนำเข้าไป จะปรากฏใน Label cc2019, myContact และ Imported on 5/7 ซึ่งเป็น Default วิธีการนี้ มีข้อดีคือ แม้จะมี contact ที่ซ้ำกัน ก็ไม่เป็นไร เราสามารถ Merge ทีหลังได้ หรือ เลือกลบที่เป็น Label ของปีก่อน ๆ ได้

Read More »

วิธีการจองทรัพยากร (ห้องประชุม/รถ/Projector/etc…) ใน Calendar ของ G Suite for Education

ข้อแตกต่างระหว่าง Calendar ของ G Suite for Education กับ Free Gmail สร้าง Event เพิ่มผู้เข้าร่วมประชุม และ จองทรัพยากร คลิกในช่อง วันบนปฏิทิน ที่เราต้องการนัดประชุม กรอกหัวข้อการประชุม แล้ว ใส่รายชื่อ ผู้เข้าร่วมประชุมและเลือกห้องประชุม คลิกที่ See guest availability เพื่อดูว่า ว่างพร้อมกันหรือไม่ ทั้งผู้เข้าร่วมประชุม และ ห้อง หากบางคนไม่ว่างในเวลาที่กำหนด สามารถคลิก Suggested times เพื่อให้ Google Calendar หาเวลาที่ว่างพร้อมกันหมดได้ ใส่คำอธิบาย หัวข้อการประชุมก็ได้ เมื่อกดปุ่ม Save ระบบจะแจ้งว่า ให้ส่ง Email ไปแจ้งผู้เข้าร่วมประชุมหรือไม่ แนะนำว่าควรคลิก Send เพิ่มเติม เมื่อคลิกเข้ามาดูรายละเอียดการนัดประชุม ใน G Suite for Education มีบริการ Hangouts Meet ให้ในตัว (นัดหมายด้วย Free Gmail จะสร้างห้องเองไม่ได้ ทำได้แต่ Join เข้ามา) ซึ่งทำได้ทั้ง Video Call หรือ จะ Phone In ก็ได้ (อันนี้ไม่เคยลอง) ดูได้ว่า ใครตอบรับ/ปฏิเสธ/ยังไม่ตอบ (เค้าเรียกว่า RSVP – Répondez s’il vous plaît – Please respond) มีแจ้งเตือนก่อนการประชุมจะเริ่ม ตั้งค่าได้ว่าต้องการก่อนเวลานานขนาดไหน (ในตัวอย่างตั้งไว้ 10 นาที) Free Gmail ทำได้แค่นี้ ต่อไป เป็นตัวอย่างนัดกับผู้ที่มีตารางนัดหมายแน่น ๆและแสดงการจอง ห้องประชุม และ Projector เลือก จำนวนชั่วโมง (ในที่นี้ 1 ชั่วโมง) แล้วเลื่อนหาช่องที่ว่างตรงกันได้ การทำรายงานการใช้ทรัพยาการ (ยกตัวอย่างห้องประชุม) คลิกที่ รูปแว่นขยาย เลือก ปฏิทินของทรัพยากร (ในที่ คือห้องประชุม) ที่ต้องการดู แล้วเลือก ช่วงเวลาที่จะทำรายงาน (ในที่นี้ เป็นตัวอย่างการทำรายงานการใช้ ห้องประชุม ตั้งแต่ 1 พฤษภาคม – 31 พฤษภาคม) แล้ว คลิก ปุ่ม Search ก็จะได้รายงานอย่างนี้ หวังว่าจะเป็นประโยขน์ครับ

Read More »

ELK #08 Oracle Audit Trail

ต่อจา ELK #07 – Logstash คราวนี้ มาใช้งานจริง โดยใช้ ELK เพื่อเก็บ Log ของ Oracle Audit Trail Oracle Audit Trail บน Database Server เก็บ Log ในรูปแบบ XML โดยแต่ละ Event จะมี tag <AuditRecord> … </AuditRecord> คุมอยู่ ที่แตกต่างจาก Log ทั่วไปคือ ในแต่ละ Event จะมีเครื่องหมาย CRLF (การขึ้นบรรทัดใหม่) เป็นระยะ ๆ ออกแบบให้ Logstash รับข้อมูล (Input Plugin) จาก TCP Port 5515 ซึ่งต้องใช้ Codec ในการรวบ Multiline ในแต่ละ Event เข้าด้วยกัน โดยหา pattern “<AuditRecord>” เป็นจุดเริ่มต้น ส่วนบรรทัดที่ไม่เจอ Pattern ดังกล่าวนั้นการตั้งค่า negate => “true” เป็นการบอกว่า “ให้ดำเนินการต่อไป” โดยจะเอาบรรทัดที่ตามมาจากนี้ ต่อท้าย ด้วยการตั้งค่า what=> “previous” ในส่วนของ Filter Plugin จะอ่านค่าจาก “message” และ ส่งสิ่งที่ถอดจาก XML ได้ ไปยัง “doc” ในส่วของ Output Plugin จะส่งออกไปยัง ElasticSearch ที่ TCP port 9200 ดัง Configuration ต่อไปนี้ จากนั้น ทาง Oracle Database Server ทำการเปิด Audit Trail แล้วเขียน Log ลงไฟล์ แล้วเขียน Cron เพื่อ Netcat ไฟล์ส่งมาให้ Lostash ที่เปิด Port TCP 5515 ไว้รอรับ ผลที่ได้คือ โดยวิธีนี้ จะเป็นการนำ Log ซึ่งจากเดิมเป็น Text Format นำมาเป็น NoSQL ได้ ซึ่งจะสามารถ Query ข้อมูลได้ง่ายยิ่งขึ้น หวังว่าจะเป็นประโยชน์ครับ

Read More »