• การประยุกต์ใข้  Sequence เพื่อสร้างตัวเลขอัตโนมัติให้กับ Table ใน Oracle Database


    ก่อนหน้านี้เคยได้รับความต้องการจากระบบหนึ่งซึ่งเป็นระบบที่รับสมัครนักเรียนเพื่อเข้าศึกษาต่อในมหาวิทยาลัยโดยมีความต้องการข้อหนึ่งว่า “ในส่วนการจัดเก็บข้อมูลเลขที่สมัคร ให้รันข้อมูลเลขที่ผู้สมัครตามโครงการที่เปิดรับในแต่ละปีการศึกษา” เนื่องในการพัฒนาระบบนี้ มีการใช้ Oracle Database ในการจัดการฐานข้อมูลอยู่แล้ว เพื่อน ๆ ที่เคยทำงานกับ Oracle Database ก็จะทราบว่าเราสามารถใช้ Oracle Sequence  เพื่อสร้างตัวเลขอัตโนมัติได้ ดังนั้นเราจึงสามารถที่จะใช้ Oracle Sequence มาประยุกต์ใช้เพื่อที่จะรันเลขที่ผู้สมัครได้ โดยสามารถมั่นใจได้ว่าจะไม่เกิดปัญหาผู้สมัครได้ข้อมูลเลขที่สมัครเดียวกัน กรณีที่ทำการสมัครในโครงการเดียวกันเรียนพร้อม ๆ กันอย่างแน่นอน วิธีการดำเนินการก็ไม่ยุ่งยากแค่สร้าง sequence ตามโครงการและปีที่เปิดรับทั้งหมดไว้ให้ก่อนให้เรียบร้อยและเมื่อนักศึกษามาสมัครก็สามารถเรียกใช้ได้เลย ตามวิธีการข้างต้นก็ไม่น่าจะมีปัญหาอะไร แต่ก็เริ่มมีคำถามในใจ ถ้าโครงการนั้นไม่มีผู้สมัครเลย ถ้าดำเนินการสร้างไว้ก่อนก็เปลืองเปล่า ๆ หรือถ้าลืมสร้างของบางโครงการ ระบบต้องเกิดข้อผิดพลาดแน่นอน จึงเกิดแนวคิดใหม่แทนที่จะสร้างไว้ก่อน เปลี่ยนเป็นสร้าง sequence ตอนที่นักเรียนสมัครในโครงการนั้น ๆ ดีกว่า โครงการไหนไม่มีการสมัครก็ไม่ต้องสร้าง และไม่เกิดปัญหาสร้าง sequence ไม่ครบในทุกโครงการแน่นอน คราวนี้ถึงเวลาที่เราจะมาดำเนินการกันแล้วค่ะ โดยมีขั้นตอนคร่าว ๆ ดังนี้คือ ตรวจสอบก่อนว่ามีการสร้าง sequence ของโครงการนั้น ๆ หรือยังถ้ายังไม่มีการสร้างก็ให้ทำการสร้าง และเมื่อถึงเวลาที่มีการสมัครก็สามารถเรียกใช้…

    >> Read More <<

  • ว่าด้วยเรื่องการคำนวณตัวเลขตรวจสอบ (Check Digit)


    ได้รับมอบหมายจากทีมในการสร้าง Oracle Function เพื่อคำนวณตัวเลขตรวจสอบ (check digit) ของการชำระเงินค่าสมัครผ่านช่องทางการชำระเงินช่องทางหนึ่ง โดยได้รับ requirement มาดังภาพข้างล่างนี้ จากภาพข้างต้นจะมีข้อมูลสำหรับการนำเข้า 4 ชุดซึ่งประกอบด้วย ชุดที่ 1 : Customer No.1/Ref.1  ชุดที่ 2 : Due Date (DDMMYY : พ.ศ.)   ชุดที่ 3 : Customer No.2/Ref.2 ชุดที่ 4 : จำนวนเงินที่ต้องชำระ พร้อมด้วยขั้นตอนวิธีในการคำนวณตัวเลขตรวจสอบ (check digit) ดังนี้ มาทำความเข้าใจกับวิธีคำนวณกันก่อนที่จะเริ่มต้นสร้าง Oracle Function ถ้ามาดูรายละเอียดของวิธีการคำนวณในข้อที่ 1 ซึ่งเป็นการหาค่าประจำหลักของข้อมูลนำเข้า โดยวิธีการคือ นำข้อมูลแต่ละหลักคูณค่าคงที่ คือ 6, 4, 5, 8, 7 ไปเรื่อย…

    >> Read More <<

  • UX, everything related!


    เรามักได้ยินคำว่า UI เป็นประจำเมื่อเราพัฒนาระบบแต่ รู้หรือไม่ว่านอกจาก UI แล้วมันมีอีกหนึ่งอย่างที่ควรรู้และสำคัญยิ่งกว่าแต่ถูกมองข้ามไปคือ UX (ย่อมาจาก User experience) หลายๆคนมักจะสับสนว่า UI และ UX มันคือสิ่งเดียวกัน จริงๆแล้วมันคือคนละอย่างกันเลย วันนี้เราจะมาเล่าให้ฟัง UI :: User Interface User Interface คือหน้าตาของระบบที่ผู้ใช้ได้เห็น ได้ตอบสนอง ไม่ใช่ระบบในทางคอมพิวเตอร์อย่างเดียวที่มี UI ถ้าเทียบกับขวดซอสมะเขือเทศ ขวดก็คือหนึ่งใน UI เช่นกันหรืออาหาร 1 จาน หน้าตาของอาหารก็ถือว่าเป็น UI ด้วย “UI เป็นสิ่งที่สามารถมองเห็นได้หรือจับต้องได้“ UX :: User Experience User Experience คือ Experience หรือประสบการณ์ของผู้ใช้ที่เราได้ส่งมอบให้ มากกว่า Interface ที่ผู้ใช้งานได้ตอบสนอง เราจะไป focus ที่ผู้ใช้ใช้สินค้าเราแล้วมีความรู้สึกอย่างไร ผู้ใช้ใช้สินค้าเราแล้วได้บรรลุวัตถุประสงค์ของเราหรือไม่ “UX…

    >> Read More <<

  • สร้าง Modal dialog อย่างง่ายด้วย jquerymodal


    เนื่องจากตอนนี้มีพรบ.คอมพิวเตอร์เข้ามาเกี่ยวข้อง จึงต้องมี pop up Modal dialog ถามผู้ใช้ วันนี้จะมาแนะนำการใช้งาน jQuery ที่เรียกใช้ไม่กี่บรรทัดเราก็ได้ Modal dialog โดยจะยกตัวอย่าง Modal dialog แบบไม่ให้ปิดได้ โดยต้องอ่านข้อความก่อน ถึงจะปิดได้ ขั้นตอนที่ 1 เพิ่ม jquery.min.js, jquery.modal.min.js, jquery.modal.min.css เพื่อเรียกใช้งาน ขั้นตอนที่ 2 เพิ่มการตั้งค่า Modal dialog ตามตัวอย่างไม่ให้แสดงปุ่ม “ปิด” ขั้นตอนที่ 3 เพิ่ม User interface Modal dialog โดยใช้ tag div ขั้นตอนที่ 4 ได้ผลลัพธ์ Modal dialog ออกมาอย่างสวยงาม ที่มา : https://jquerymodal.com

    >> Read More <<

  • Excel : ลำดับที่แบบตัวเลขด้วยคำสั่งง่าย ๆ ไม่ต้องลากเมาส์!


    เคยไหม ที่พยายามใส่เลข 1-100 ใน Column ใด ๆ เอง ด้วยวิธีการต่าง ๆ แบบนี้ บางคนใช้วิธีพิมพ์เอง 😒 บางคนใช้วิธีพิมพ์เลข 1 2 3 คลุมแล้วลาก 😂 แต่!!! จะดีกว่าไหม ถ้ามีวิธีที่เร็วและเราสามารถระบุได้ว่าจะสิ้นสุดที่เลขใด 😍 มาดูวิธีกันเลยค่ะ ใน Cell A1 พิมพ์คำสั่งดังนี้ค่ะ แล้วกดปุ่ม Enter! โดยตัวอย่างในวีดีโอ ให้แสดงถึงเลข 20 ดังนั้นคำสั่งจึงเป็นดังนี้ค่ะ เพียงเท่านี้ คุณก็จะได้ Running Number จาก 1-100 โดยที่ไม่ต้องลากเมาส์แล้วค่ะ 😁👍💖 หวังว่าโพสนี้จะเป็นประโยชน์ต่อผู้อ่านไม่มากก็น้อยนะคะ แล้วพบกันใหม่ค่าาา

    >> Read More <<

  • Screen Recording with Xbox Game Bar


    หลาย ๆ ครั้งที่เราต้องการอัดวิดีโอหน้าจอ เพื่อนำไปนำเสนองาน ไม่ว่าจะเป็นการเขียน Blog ทั้งหลาย เพื่อให้ผู้อ่านเห็นวิธีการชัดขึ้น เมื่อเทียบกับการ Capture ภาพปกติ 💖 และเป็นอีกหลาย ๆ ครั้งที่หลาย ๆ คนต้องหาโปรแกรมฟรีต่าง ๆ เพื่อมาทำสิ่งนี้ 😂 แต่เดี๋ยวก่อน!!! ทางผู้เขียนมีโปรแกรมติดเครื่อง Window10 หรือแม้จะใช้ Window11 ก็ยังมี นั่นก็คือ Xbox Game Bar ใช่ค่ะ ทางผู้เขียนไม่ได้ให้เชิญชวนท่านมาเล่นเกมนะคะ แต่จะอะแด๊บแอปพลายเพื่อจะนำมาใช้ในการทำ Screen Recording ค่า 😁 แต่เนื่องจากโปรแกรมนี้ไม่สามารถ Screen Recording Window Desktop หรือ File Explorer ได้ สำหรับ Blog นี้จึงจำเป็นต้องใช้ภาพประกอบแทนวิดีโอนะคะ วิธีการเป็นยังไง ไปดูกันเล้ยยยย 😎 ขั้นตอนแรก ไปเปิดการใช้งานก่อนเลยค่ะ เริ่มจาก…

    >> Read More <<

  • รูปเยอะ พื้นที่เต็ม อยากจะย้ายรูปจากบัญชี Google Account ไปอีกบัญชี Google Account ทำอย่างไร


    รูปเยอะ พื้นที่เต็ม อยากจะย้ายรูปจากบัญชี Google Account ไปอีกบัญชี Google Account ทำอย่างไรดีนะ…. สำหรับชาว PSU ทุกคนทราบกันอยู่แล้วว่าพวกเรามี Google Account ทุกคน โดยการเข้าใช้งานด้วย ชื่อ PSUPassport@psu.ac.th แค่นี้ง่ายๆ ก็สามารถใช้งานได้แล้ว ผู้ใช้งานบางคนมีการเชื่อมต่อบนมือถือระบบปฏิบัติการ Android ด้วยบัญชี Google Account ซึ่งสามารถ Upload รูปภาพไปจัดเก็บที่ Google Photos ให้อัตโนมัติ โดยไม่ต้องกลัวว่าเมื่อมือถือหาย มือถือพัง รูปจะหาย ไฟล์จะเสีย…แต่….เมื่อมือถือ Upload รูปภาพไปเรื่อย ๆ อยู่ ๆ ก็ไม่มีการ Upload อีกแล้ว เมื่อตรวจสอบพบว่าพื้นที่จัดเก็บเต็ม ทำอย่างไรดีเนี้ย รูปก็สำคัญ เรามีวิธีการย้ายรูปจากบัญชี Google Account ไปอีกบัญชี Google Account ด้วยวิธีง่าย ๆ มาดูกันว่าทำกันอย่างไรนะคะ1.…

    >> Read More <<

  • Oracle: แปลงข้อมูล JSON เป็น Table หรือ View


    ในการส่งข้อมูลระหว่างแอพพลิเคชัน ในปัจจุบันปฏิเสธไม่ได้ว่ารูปแบบ JSON ได้รับความนิยมสูงมาก วันนี้มีโจทย์ในการพัฒนาระบบอย่างนึงที่ผมเจอคือ ได้ข้อมูลจาก log มาจัดเก็บในฐานข้อมูลซึ่งอยู่ในรูปแบบ JSON แต่ต้องการแยกเก็บเป็นฟิลด์เพื่อนำไปประมวลผล และวิเคราะห์ต่อ วิธีการแปลงข้อมูลที่ผมเลือกใช้ คือใช้ฟังก์ชัน JSON_TABLE โดยตัวอย่างข้อมูล JSON มีรูปแบบดังนี้ จะเห็นได้ว่ามีจำนวน Key และ Value จำนวนมากและอยู่ในรูปแบบ Parent Chid ด้วยแต่สามารถสร้าง View หรือ Table จากข้อมูลดังกล่าวด้วยคำสั่งเดียวดังนี้ สังเกตุว่า จุดสำคัญคือคำสั่ง json_table ที่เราจะต้องระบุฟิลด์ที่เก็บข้อมูล JSON ของเราดังในตัวอย่างคือ l.detail ที่เดิมเก็บอยู่ในตาราง log_traffic โดยใช้ path ย่อเป็น ‘$’ จากนั้นระบุ Keyword columns และตั้งชื่อ columns สำหรับ view ที่เราจะสร้างเช่น service_name ซึ่งใช้เก็บข้อมูลที่อยู่ใน path ดังนี้ ‘$.service.name’…

    >> Read More <<

  • คูล ๆ รู้ค่าสีด้วย ColorPick Eyedropper


    วันนี้เราจะมารู้จักและใช้งานส่วนขยายของบราวเซอร์เพิ่มกันอีกซักตัวนะคะ โดยส่วนขยายที่จะมานำเสนอในวันนี้นั้น เป็นส่วนขยายที่จะช่วยให้สายออกแบบ/กราฟฟิก สวย ๆ คูล ๆ อย่างพวกคุณ รู้ได้อย่างง่ายดายเลยว่าสีที่สนใจบนเว็บนั้น มีค่าสีอะไร เพียงแค่ชี้ไปบริเวณที่ต้องการ ค่าสีก็จะโผล่ขึ้นมาให้ทราบเลยค่า โดยระบบสีได้ที่มาจะเป็นแบบ RGB นะคะ ซึ่งเป็นระบบสีที่เค้าศึกษากันมาแล้วว่าเหมาะสมกับการใช้แสดงผลบนหน้าจอคอมพิวเตอร์และสื่อดิจิตอลต่าง ๆ ค่ะ RGB คืออะไร RGB ย่อมาจากสีพื้นฐาน ได้แก่ สีแดง (Red) เขียว (Green) และน้ำเงิน (Blue)  พอผสมสีทั้งสามในสัดส่วนต่างๆ จะได้เฉดสีอีกมากมายที่มีความสวยสดใสบนหน้าจอถึงประมาณ 16.8 ล้านเฉดกันเลยทีเดียว อ่ะ ไปติดตั้ง ColorPick Eyedropper ให้กับ Google Chrome ของเรากันดีกว่าค่ะ ซึ่ง Blog นี้ขอรวบรัดวิธีการติดตั้งกันเลยนะคะ ไปที่ https://chrome.google.com/webstore/detail/colorpick-eyedropper/ohcpnigalekghcmgcdcenkpelffpdolg แล้วกดปุ่ม “เพิ่มใน Chrome” ค่ะ เท่านี้ ต้าวก้อนสี โผล่ขึ้นมาแบบนี้ก็เป็นอันติดตั้งเรียบร้อยแล้วละค่า วิธีการใช้งาน ก็คลิกบน ต้าวก้อนนนสี…

    >> Read More <<