Category: Operating System

  • การนับจำนวนข้อมูลโดยใช้ Pivot Table

    ตามปกติหากเราต้องการนับจำนวนข้อมูลที่ซ้ำๆ กัน ว่ามีจำนวนเท่าไหร่ใน Excel หลาย ๆคนคงใช้ฟังก์ชัน COUNTIF ในการนับจำนวนกัน แต่วันนี้มีอีกวิธีที่จะมานำเสนอนั้นคือการใช้ Pivot Table ในการนับจำนวน ซึ่งใช้งานง่ายและไม่ได้ยุ่งยากอย่างที่คิดค่ะ ลองมาดูวิธีกันเลยนะคะ

    1. ใน excel ที่เรามีข้อมูลซ้ำ ๆ กันหน้าตาแบบนี้

    2. ไปที่เมนู Insert เลือก Pivot Table

    3. ปรากฏหน้าจอ Create PivotTable เพื่อให้เลือกกลุ่มของข้อมูลที่ต้องการนับจำนวน ให้เลือกคอลัมน์ที่ต้องการนับจำนวน  แล้วกดปุ่ม OK  ดังรูป

    4. ปรากฏหน้าจอการทำงานของ Pivot Table ให้เลือกลากข้อมูลชื่อ-สกุล มาไว้ในช่อง  Rows และ Values สังเกตุว่าในช่อง Values ใน Excel จะใช้ฟังก์ชัน Count ให้เราโดยอัตโนมัติ ดังรูป

    5. แสดงข้อมูลผลลัพธ์ของการนับจำนวนโดยใช้ Pivot Table ดังรูป

             

    เป็นไงบ้างคะ ยังไงก็ลองดูเอาไว้เป็นทางเลือกนะคะ เพราะบางคนอาจจะไม่ถนัดในการใช้สูตร คิดว่าวิธีนี้ก็น่าจะเป็นอีกวิธีที่น่าสนในค่ะ ^^

  • อัพโหลดแอปพลิเคชันไปยัง App Store ด้วย Transporter

    สำหรับนักพัฒนาแอปพลิเคชัน เพื่อให้บริการบนระบบปฏิบัติการ iOS, iPadOS ฯลฯ ของ Apple นั้น ทราบกันดีอยู่แล้วว่าต้องอัพโหลดขึ้นไปยัง App Store เพื่อให้ผู้ใช้เข้าไปค้นหาและดาวส์โหลดไปใช้งาน ทั้งนี้ช่องทางการอัพโหลดแบบปกติ (Native App ที่พัฒนาด้วย Xcode อยู่แล้ว หรือ เฟรมเวิร์คที่ Export ออกมาเป็น Xcode โปรเจค) คือ การใช้ขั้นตอน Build Archive เมื่อสำเร็จก็จะสามารถเลือก Distribute App ไฟล์ Build ก็จะอัพโหลดขึ้นไปรอที่ appstoreconnect.apple.com ให้อัตโนมัติ เพื่อเข้ากระบวนการ Review App ต่อไป

    ทั้งนี้ในปัจจุบันเฟรมเวิร์คที่ใช้พัฒนาครั้งเดียวสามารถให้บริการได้หลายระบบปฏิบัติการ (Cross Platform) เป็นที่นิยมอย่างมาก เช่น Flutter, React Native, Xamarin ซึ่งมักจะมีเครื่องมือที่ช่วย Build เป็นไฟล์ .ipa ที่ใช้สำหรับอัพโหลดมาเลย ซึ่งในปัจจุบันไม่สามารถใช้ Xcode อัพโหลดไฟล์นี้ได้โดยตรง (ยังใช้ Terminal รันคำสั่งเพื่ออัพโหลดได้ และจำเป็นต้องติดตั้ง Xcode) จึงมีแอปพลิเคชันที่ทำหน้าที่ตรงนี้ และใช้งานง่ายมาแนะนำครับ นั้นคือ Transpoter

    ก่อนอัพโหลดไฟล์ด้วยแอปพลิเคชันนี้ ต้อง

    1. มี Apple ID ที่ลงทะเบียนเป็นนักพัฒนาเรียบร้อยแล้ว
    2. เข้าไปที่ developer.apple.com เลือก Account
    3. ทำการเพิ่ม Certificates, Identifiers & Profiles ให้เรียบร้อย
    4. ดาวส์โหลด และติดตั้ง Certificate และ Profile บนเครื่องที่จะใช้อัพโหลด (กรณีใช้ Expo จะต้องอัพโหลดตอนสั่ง Build)
    5. สร้าง App Record บน appstoreconnect.apple.com รอไว้ (แค่มีชื่อแอปไว้ก็เพียงพอแล้ว ยังไม่จำเป็นต้องมีรายละเอียดครบถ้วน)

    ขั้นตอนด้านบนจริงๆแล้วอัพโหลดด้วยวิธีไหนก็ต้องทำนะครับ และจะต้องมีการ Config ค่า Bundle ID, Team ID ให้ถูกต้องโดยขึ้นอยู่กับเครื่องมือที่ใช้พัฒนาว่าจะต้อง Config ค่าที่จุดไหน ไว้โอกาศหน้าผมจะมาลงรายละเอียดในส่วนนี้ครับ เมื่อทุกอย่างเรียบร้อยแล้ว ให้ทำการดาวส์โหลดแอปพลิเคชัน Transporter และติดตั้ง เมื่อเปิดแอปพลิเคชันขึ้นมาจะมีหน้าจอให้ Login ดังรูป

    จากนั้น ลากไฟล์ .ipa ของเรามายังหน้าจอของแอป กระบวนการ Validate ไฟล์ และอัพโหลดไปยัง App Store จะทำอัตโนมัติทั้งหมด

    หากเกิดข้อผิดพลาด จะมีหน้าต่างแจ้งเตือน หรือหากต้องการดู Log ก็มีให้เรียกดูได้ ดังภาพครับ

    เป็นอันเรียบร้อยครับ สามารถไปตรวจสอบว่า Build ของเราปรากฏอยู่บน appstoreconnect แล้วหรือยังโดยการกดปุ่ม … เลือก Open Appstoreconnect ได้เลย

    จริงๆแล้วบทความนี้จะเห็นได้ว่า เพียงแค่แนะนำให้รู้จักกับแอปพลิเคชันตัวนี้เท่านั้นครับ วิธีการใช้งานนั้นแค่ลากวางเป็นอันเสร็จ (ถ้าขั้นตอนอื่นๆถูกต้อง) โดยเฉพาะท่านใดที่ใช้ React Native แล้วใช้ Expo Server ในการ build เมื่อได้ไฟล์ .ipa มา ท่านไม่จำเป็นต้องโหลด Xcode ที่ขนาดมโหฬาร (ตัวติดตั้งอย่างเดียว 18GB ต้องมีพื้นที่ว่างในเครื่อง 40GB ถึงจะยอมให้ติดตั้งผ่าน Appstore) มาเพื่ออัพโหลดไฟล์เพียงอย่างเดียว หวังว่าบทความนี้จะเป็นประโยชน์ครับ

  • การตั้งค่า iPhone ไม่ให้ App ติดตามเก็บข้อมูลส่วนตัว

    สวัสดีค่ะ หลายท่านคงเคยเจอปัญหามีเบอร์แปลกๆ  โทรเข้ามานำเสนอสินค้า ขายประกัน หรือมี SMS โฆษณาเข้ามาทั้งที่เราไม่ได้เคยใช้บริการเหล่านี้ บางท่านอาจจะใช้ App ในการแสดงข้อมูลเพื่อที่จะปฏิเสธการรับสาย แต่เราก็สามารถจัดการตั้งแต่ต้นทางได้นะคะ ไม่ให้พวก App ที่อยู่ในมือถือของเราสามารถนำข้อมูลส่วนตัวของเราไปใช้ประโยชน์ได้  แต่ก่อนจะใช้งาน Feature นี้ ให้ตรวจสอบก่อนนะคะ ว่า ได้ Update iOS เป็นเวอร์ชัน 14.5 แล้วหรือยัง ถ้า  Update แล้วอย่ารอช้าค่ะ เราไปดูวิธีกันเลย

    1. เข้าไปในส่วนของ Settings

    2. เลือก Privacy

    3. Tracking


    4. จะปรากฏ App ที่ติดตามเราอยู่ ซึ่ง App พวกนี้แหละค่ะ ที่สามารถเก็บข้อมูลเราได้ หากเราไม่ต้องการให้ app ไหนติดตามเราก็เลือกที่จะปิด App นั้น แต่หากไม่ต้องการให้ติดตามทั้งหมดก็กดปิดในครั้งเดียวได้เลยที่ Allow Apps to Request to Track

    5. จากนั้นให้เลือก Ask Apps to Stop Tracking เพื่อบอกให้ Apps หยุดติดตาม

    6. Apps ทั้งหมดก็จะถูกปิดทั้งหมดเพื่อไม่ให้ติดตามได้อีก

    เท่านี้ก็เรียบร้อยค่ะ ลองไปทำตามกันดูนะคะ อย่าลืมว่าต้อง Update iOS เป็นเวอร์ชัน 14.5 ก่อนนะจ๊ะ

  • การนำรูป SVG มาใช้ใน PowerPoint แล้วเป็น animation

    สำหรับวันนี้จะมาแนะนำการสร้าง animation ใน powerpoint ด้วยรูป SVG กันค่ะ มาดูกันเลย

    1.เปิด power point ขึ้นมา แล้วคลิก Blank  Presentation

    2.เตรียมไฟล์ SVG ไว้ หรือหาใน google เอา หรือลิงค์ https://storyset.com เมื่อเลือกรูปได้แล้วให้ดาวน์โหลดเป็นไฟล์ SVG

    3.กลับมาที่ Power point ไปที่เมนู Insert > Picture > This Device เลือกไฟล์ SVG ที่เราเพิ่งดาวน์โหลดมา

    4.จากนั้นเราจะทำการ Convert รูป SVG นี้ให้เป็นรูปร่างก่อน วิธีการแปลง ไปที่เมนู Graphics Format > Convert to Shape

    5.จากนั้น คลิกเมาส์ขวา Group > Ungroup

    จากนั้นเราจะมาทำ animation ให้แต่ละรูป เนื่องจากทุกรูปแยกออกจากกันแล้ว เวลาเรารัน slide แล้วให้แต่ละรูปเล่น animation อยู่ตลอดเวลา มาดูกันว่าทำยังไง

    • เลือกรูปคนกลาง ไปที่เมนู Animations > Animation Pane เพื่อให้โชว์หน้าต่างภาพเคลื่อนไหวขึ้นมา เลือก More
    • Motion Paths > Lines รูปมันจะเลื่อนลง จากนั้นคลิกที่ Effect Options > Up เพื่อให้เด็กกระโดดขึ้นไป
    • จากนั้นคลิกที่ลูกศรที่ Animation Pane > With Previous
    • จากนั้นคลิกที่ลูกศรที่ Animation Pane > Effect Options
    • แท็บ Effect ติ๊กถูก Auto-reverse เพื่อให้กระโดดขึ้นกระโดดลงอยู่ตลอดเวลา แท็บ Timing ที่ Repeat เลือก Until End of Slide เพื่อให้ทำซ้ำ ๆ จนสิ้นสุด Slide แล้วคลิกปุ่ม “OK”
    • ทีนี้จะให้กระโดดขึ้นสูงต่ำแค่ไหน ให้สังเกตที่จุดสีแดง คลิกที่จุดสีแดง 1 ครั้ง วงกลมสีแดงคือจุดสุดท้าย สีเขียวคือจุดเริ่มต้น เราเลื่อนลงมาต่ำสักหน่อยเพื่อไม่ให้กระโดดสูงมาก จากนั้นคลิก Preview เพื่อแสดงตัวอย่าง
    • ถ้าอยากให้เคลื่อนเร็วกว่าเดิม ที่ Duration ให้ปรับเป็น 01.00 คือ 1 วินาที แล้วลอง Preview ดูตัวอย่าง
    • ให้ทั้ง3คนนี้กระโดดเหมือนกันให้คลิกตัวที่เราทำเสร็จแล้ว > Animation Painter หมายถึงว่ามันจะคัดลอกตัวที่เราเลือกอยู่ แล้วคลิกรูปที่เราต้องการให้เป็นเหมือนรูปแบบที่เราคัดลอกมา และทำรูปที่เหลือเหมือนกัน จะได้กระโดดกันทั้ง 3 คน
    • จากนั้นค่อยมาจัดลำดับ หน่วงเวลา เพื่อให้ทั้ง 3 คนดู smooth กำหนดที่ Delay คนทางซ้าย 00:25 ทางขวา 00.50 แล้วลอง Preview ดู

    นี่คือตัวอย่างการนำรูป SVG มาทำ animation ใน powerpoint ลองนำไปใช้กันดูนะคะ

  • ติดตั้ง haproxy บน Ubuntu Desktop

    เป็นขั้นตอนที่ทำขึ้น เพื่อทำการ redirect port 80 เข้าไปยัง web server ใน VM (OpenNebula miniONE on KVM) ที่เราติดตั้งไว้ในเครื่อง Ubuntu Desktop ในตัวอย่างนี้ Ubuntu Desktop มี IP 192.168.1.70 และ VM มี IP 172.16.100.3

    ขั้นตอน

    1. เปิด Terminal และติดตั้ง haproxy ด้วยคำสั่ง sudo apt install haproxy
    2. เข้าทำงานสิทธิ root ด้วยคำสั่ง sudo  su  –
      และไปในไดเรกทอรี cd  /etc/haproxy
      เก็บสำรองไฟล์ config ไว้ก่อน ด้วย cp  haproxy.cfg  haproxy.cfg.orig
      เข้าไปแก้ไขไฟล์ vi  haproxy.cfg
    3. เพิ่มบรรทัดเหล่านี้ ต่อท้ายบรรทัด errorfile 504 /etc/haproxy/errors/504.http

    frontend www-http

       bind *:80

       mode http

       acl is_cms path -i -m beg /cms/

       use_backend be_cms if is_cms

    backend be_cms

       option forwardfor

       server cms 172.16.100.3:80

    1. ทำการ restart haproxy และ ดู status
    2. ทดสอบการเข้าใช้งานจากเครื่องใน network เดียวกันกับเครื่อง Ubuntu Desktop ของเรา ไปที่ http://REAL-IP/cms/ 

    จบครับ

  • สร้าง VM OpenNebula miniONE on KVM ตอนที่ 2 add one-context

    เป็นขั้นตอนติดตั้ง one-context ต่อจากตอนที่แล้ว

    ขั้นตอน

    1. คำสั่ง sudo su – และ คำสั่ง 

    wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.12.0.2/one-context_5.12.0.2-1.deb

    1. ลบ cloud-init ด้วยคำสั่ง apt-get purge -y cloud-init
      ติดตั้งด้วยคำสั่ง dpkg -i one-context_*deb || apt-get install -fy
    2. เมื่อเสร็จ ให้ออกจาก web console และ คลิก Power off hard
    3. เอา CD-ROM ออก
    4. เมื่อถึงตรงนี้ VM นี้ก็พร้อมใช้เป็นต้นแบบในครั้งต่อไปได้ เราจึง Save as Template สมมติให้ชื่อว่า ubuntu-server-20.04
    5. ปรับแต่ VM Template เพื่อเติมสิ่งที่เกี่ยวกับ Context โดยคลิกปุ่ม Update
    6. คลิกที่ Context และ คลิกที่ตัวเลือกทุกอัน
    7. ใส่ Custom vars คือ SET_HOSTNAME, USERNAME และ PASSWORD
    8. ตอนนี้ VM Template นี้ ก็พร้อมใช้งาน เพื่อสร้าง VM ใหม่อันต่อไป โดยจะคลิกที่คำว่า Instantiate ก็ได้
    9. เลือกได้ว่าจะให้สร้างทีละกี่ instances ส่วนชื่อให้ละไว้ไม่ต้องใส่ก็ได้
    10. จะได้ชื่อจาก ชื่อ VM Template และต่อท้ายด้วย VMID
    11. คลิกที่ web console เพื่อเข้าไปใช้งาน VM
    12. จะได้หน้านี้
    13. ทดสอบ login ด้วย username ชื่อ papa ตามที่เราตั้งใน Context
    14. หน้า Dashboard หลังจากที่เราสร้างเสร็จ 1 ตัว
    15. หากเข้าหน้าเว็บ Sunstone ไม่ได้เพราะลืม password ของ username oneadmin ดูที่นี่
    16. ถึงตรงนี้ เราควรจะ ssh จาก ubuntu desktop เข้าไปยัง VM ได้ แต่หากเราไม่สามารถ ssh เข้าไปยัง VM เพราะว่า ssh host key ไม่มีเนื่องจากข้อผิดพลาดในขั้นตอนติดตั้ง Ubuntu server ให้สร้างด้วยคำสั่ง ssh-keygen -A ในเครื่อง VM แล้ววนกลับไปสร้าง VM Template ใหม่ 

    ในตอนต่อไปก็จะเป็นการติดตั้ง CMS Web Site เพื่อใช้ในการทดสอบการให้บริการ TCP port 80 ผ่าน HAPROXY ของเครื่อง ubuntu desktop

  • สร้าง VM OpenNebula miniONE on KVM

    หลังจากติดตั้ง server เสร็จแล้ว ตอนนี้ เรามาลองสร้าง VM กันสัก 1 ตัว หลักการคือ สร้าง image ที่เป็น disk เปล่า ๆ จากนั้นสร้าง VM Template ให้มาใช้ image นี้ และกำหนดค่า VM Template ให้เสร็จ แล้วสร้าง VM จาก VM Template นั้น

    ขั้นตอน

    1. สร้าง Image เปล่า สมมติตั้งชื่อว่า DISK8GB กำหนด Type คือ Generic storage datablock และเป็นแบบ Empty disk image กำหนดขนาด 8 GB
    2. สร้าง Image ที่เป็น CD-ROM สมมติตั้งชื่อว่า iso-ubuntu-focal กำหนด Type คือ Readonly CD-ROM โดย Upload จากฮาร์ดดิสก์ และเลือก ubuntu-20.04.1-live-server-amd64.iso
    3. ตอนนี้เตรียมของ 2 อย่าง พร้อมแล้ว
    4. สร้าง VM Template ชื่อ Install new ubuntu ใช้ Hypervisor ชนิด KVM กำหนด Memory 768 MB (เพิ่มได้) 
    5. กำหนดค่า Storage ให้ DISK0 ใช้ image ชื่อ DISK8GB
    6. กำหนดค่า Network ใช้อันที่มีอยู่แล้วคือ vnet (สร้างเองได้ภายหลัง)
    7. คลิก Create เพื่อสร้าง VM Template
    8. จะได้ดังรูป
    9. สร้าง VM จาก VM Template ที่สร้างในข้อที่แล้ว คลิกที่ Instances > VMs และคลิกปุ่ม +
    10. เลือก VM Template ชื่อ install new ubuntu
    11. จะได้ VM ชื่อ install new ubuntu-0
    12. แต่ตอนนี้ เรายังไม่ได้ใส่ CD-ROM เพื่อติดตั้ง ให้คลิก Power Off hard
    13. คลิกที่ VM 
    14. คลิกที่ Storage และ คลิก Attach disk
    15. คลิกเลือก image ที่เป็น CD-ROM
    16. ตอนนี้ เรามี disk และ CD-ROM แล้ว
    17. คลิก Config เพื่อเข้าไป Update configuration
    18. ตั้งค่า OS&CPU Boot order ให้ boot CD-ROM
    19. เปิด VM
    20. เข้าไปทำงานทางหน้า Web console 
    21. รอ
    22. ติดตั้ง Ubuntu Server ลงใน VM
      (ติดตั้ง Ubuntu Server 20.04 ใน VM ของ miniONE KVM)

    ตอนต่อไปเป็นขั้นตอนติดตั้ง one-context เพิ่มลงใน VM อ่านต่อเรื่องนี้ สร้าง VM OpenNebula miniONE on KVM ตอนที่ 2 add one-context

  • ติดตั้ง Ubuntu Server 20.04 ใน VM ของ miniONE KVM

    เป็นขั้นตอนสร้าง VM ที่เป็น Ubuntu Server 20.04 ใน VM ของ miniONE KVM

    ขั้นตอน

    1. เลือกใช้ภาษาอังกฤษในการติดตั้ง
    2. เลือก keyboard layout 
    3. ตั้งค่า IP Address แบบ static เลือก Interface name และ คลิก Edit IPv4
    4. เลือก Method แบบ Manual
    5. ใส่ค่า IP Address
    6. ไปต่อ คลิก Done
    7. ไปต่อ คลิก Done
    8. ตั้ง Mirror address มาที่ http://th.archive.ubuntu.com/ubuntu
    9. Storage configuration เลือก Use an entire disk 
    10. ไปต่อ คลิก Done
    11. Confirm destructive action เลือก Continue
    12. กำหนดค่า name, username และ password
    13. เลือก Install OpenSSH server และคลิก Done
    14. Featured Server Snaps ไม่เลือก ไปต่อ คลิก Done
    15. รอ
    16. เมื่อเสร็จ คลิก Reboot
    17. ในขั้นตอน downloading and installing security updates หากนานมาก จะไม่รอ ก็คลิก Cancel update and reboot
    18. เมื่อกลับเข้าใช้งาน ต้อง update เองสักรอบ เพื่อลงโปรแกรมอื่น ๆ ได้
    19. และอาจเป็นผลให้ติดตั้ง ssh host key ไม่สำเร็จ ตรวจสอบด้วยคำสั่ง ls -l /etc/ssh
    20. แก้ไขโดยสร้าง ssh host key ด้วยคำสั่ง ssh-keygen -A

    จบขั้นตอนสร้าง Ubuntu Server

  • ติดตั้ง Ubuntu Desktop 20.04

    ขอแนะนำวิธีการติดตั้ง Ubuntu Desktop เพื่อเตรียมใช้เล่าเรื่องราวในตอนต่อ ๆ ไป เพื่อให้เห็นภาพว่า เราสามารถติดตั้งระบบปฏิบัติการ Ubuntu ที่เป็น Graphic User Interface ได้อย่างง่าย ๆ เลือก minimal installation ให้มีแค่ Firefox Web Browser

    ขั้นตอน

    1. นำ USB Drive ที่มี Ubuntu Desktop ไป Boot ที่โน้ตบุ๊ค
    2. หน้าต่างแรก จะมีคำถามให้เลือก เลือก Install Ubuntu
    3. ค่า Keyboard layout ใช้ค่า default คือ English 
    4. จะเลือกติดตั้งแบบ Minimal installation
    5. เครื่องนี้พร้อมให้ล้างฮาร์ดดิสก์ได้ ก็จะเลือก Erase disk and install Ubuntu
    6. กด Continue เพื่อยืนยันติดต้้งลงฮาร์ดดิสก์ได้
    7. เลือกชื่อเมือง Bangkok
    8. ตั้งชื่อผู้ใช้ ชื่อเครื่อง ชื่อ username และ password
    9. เริ่มติดตั้ง  รอ
    10. เมื่อเสร็จ คลิก Restart Now
    11. ดึง USB Drive ออก แล้วกด Enter
    12. เมื่อ Boot เข้าได้สำเร็จ จะมีหน้าต่างให้เลือก username ที่ใช้
    13. ในครั้งแรกที่เข้าใช้ จะมีตัวเลือกว่า จะใช้ user แบบ Single Sign-On ของ Ubuntu หรือ จะใช้อย่างอื่นก็เลือกเอา หรือจะไม่ทำอะไรก่อน ก็คลิก Skip
    14. คลิก Next อีก 2 หน้าต่าง


    15. หน้านี้ หากเรายอมให้ข้อมูล Location ก็คลิกปุ่มเพื่อสไลด์เปิด
    16. คลิก Done 
    17. จะมีหน้าต่าง Software Updater ให้คลิก Install Now
    18. ทุกครั้งที่จะมีการเพิ่ม/ลบโปรแกรม จะต้องให้ข้อมูลว่า เรามีสิทธิจัดการ โดยใส่รหัสผ่าน ทุกครั้ง
    19. รอให้ update เสร็จ
    20. เมื่อเสร็จ คลิก Restart Now
    21. เมื่อ Boot กลับเข้ามาในครั้งหลังนี้ ก็ใช้งานได้แล้ว โดยคลิกที่ปุ่ม 9 จุด เพื่อดูว่ามีอะไรให้ใช้งานบ้าง