Home

Byphunsanit

Flutter: One or more plugins require a higher Android SDK version error occurs when i run the project

เจอกับ error แบบนี้ One or more plugins require a higher Android SDK version. Fix this issue by adding the following to C:\Users\…\app\build.gradle: android { compileSdkVersion 33 … }

แก้โดยเปิดไฟล์ตาม path ที่เห็นแล้วก็แก้ compileSdkVersion เป็น version ที่เห็นดูก็ใช้ได้

Cr. One or more plugins require a higher Android SDK version error occurs when i run the project

Byphunsanit

Flutter: error unable to find git in your path

ถ้า run flutter doctor -v หรือ flutter pub get แล้วขึ้น error unable to find git in your path แก้ได้โดย

  1. เปิด Windows PowerShell โดยใช้สิทธิ์ administrator
  2. cd ไป folder ที่เก็บงาน เช่น C:\UsersGit\app_develop
  3. git config –global –add safe.directory “C:\UsersGit\app_develop”

จากนั้นทดสอบโดยใช้ flutter doctor -v ได้ตามปกติ

cr: How to solve “Unable to find git in your PATH” on Flutter?

Byphunsanit

Node.js: cannot be loaded because running scripts is disabled on this system

ถ้า PowerShell run TypeScript, Node.js หรือ run tsc –version แล้วมี error ประมาณ
tsc : File C:\Users\pitt\AppData\Roaming\npm\tsc.ps1 cannot be loaded because running scripts is disabled on this system. For more information,
see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.

แก้ได้โดยใช้ command โดยสิทธิ์ Administrator

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

โดยสามารดูคำสั่งเพิ่มเติมได้จาก about_Execution_Policies

cr: PowerShell bug “execution of scripts is disabled on this system.”

Byphunsanit

Linux: upgrade PHP version ล่าสุด

php ก็เหมือนโปรแกรมอื่น ๆ จะมีการอัพเดต อัพเกรดเวอร์ชั่นเป็นระยะเพื่อเพิ่มความสามารถและความปลอดภัย การอัพเดตใน linux และ wsl สามารถทำได้ง่าย ๆ

  1. Update ระบบโดยรวมก่อน

    sudo apt update && sudo apt -y upgrade
  2. เพิ่ม Surý PHP APT repository

    sudo apt update

    sudo apt install -y lsb-release gnupg2 ca-certificates apt-transport-https software-properties-common

    sudo add-apt-repository ppa:ondrej/php
  3. ติดตั้ง PHP ตัวล่าสุด

    sudo apt install php8.2
  4. เช็ค php version โดย

    php -v
  5. ติดตั้ง extension เพิ่มเติม เช่น

    sudo apt-get install -y libapache2-mod-php8.2 libphp8.2-embed mcrypt openssl php-bcmath php-cli php-common php-curl php-fpm php-gd php-gmp php-intl php-mbstring php-mysql php-tokenizer php-xml php-xmlrpc php-zip php8.2 php8.2-bcmath php8.2-cgi php8.2-cli php8.2-common php8.2-curl php8.2-dev php8.2-fpm php8.2-gd php8.2-imagick php8.2-imap php8.2-mbstring php8.2-mysql php8.2-phpdbg php8.2-soap php8.2-xml php8.2-xmlrpc php8.2-zip
  6. ผูก Apache และ PHP

    sudo apt install apache2 php-fpm

ดูเพิ่มเติม How To Install PHP 8.2 on Ubuntu 22.04|20.04|18.04

Byphunsanit

Swagger: การติดตั้ง Swagger Editor

การเขียน OpenAPI เครื่องมือที่สามารถช่วยตรวจสอบและ test ได้คือ swagger-editor โดยสามารถ download มาติดตั้งในเครื่องของตัวเองได้

  1. ดาวน์โหลดตัว zip file จาก https://github.com/swagger-api/swagger-editor มาแตกไว้ในโฟลเดอร์ C:\swagger-api หรือจะใช้คำสั่ง

    git clone https://github.com/swagger-api/swagger-editor.git
  2. เปิด PowerShell แล้วไปที่ C:\swagger-api\swagger-editor
  3. ติดตั้ง http โดยคำสั่ง

    npm install -g http-server
  4. จากนั้นกลับออกมา 1 ระดับโดยคำสั่ง

    cd ../
  5. เปิด server โดยคำสั่ง

    http-server swagger-editor -a 127.0.0.1 -p 8080
  6. จากนั้นเปิด browser โดยใช้ URL: http://127.0.0.1:8081

เท่านี้ก็สามารถใช้ swagger-editor ได้โดยไม่ต้องต่ออินเตอร์เน็ตแล้ว
Cr.

Byphunsanit

PowerBuilder:DataWindow.ShareData

shareData เป็นวิธีที่ใช้ data เดียวกันของ DataWindow โดยจะแชร์กันหมดทุกอย่างทั้ง primary buffer, delete buffer, filter buffer, sort order ประโยชน์เช่น มี DataWindow ตัวแรก ( dw_booking ) ไว้กรอกข้อมูลที่ติดต่อลูกค้าและออกรายงานในรูปแบบใบรับจองตั๋วรถทัวร์ โดยจะมีข้อมูลบางส่วนเป็นเวลานัด หมายเลขเที่ยว ที่นั่ง เวลาใส่กระดาษเล็ก ๆ ใน DataWindow ( dw_ticket ) แบบสวยงามกระทัดรัด ไม่จำเป็นต้องมีข้อมูลของลูกค้า แต่ร้านค้ามีข้อมูลครบถ้วนอย่าง ชื่อ นามสกุล เบอร์โทรศัพท์ไว้ติดต่อกรณีที่ลูกค้ามาสาย

การเขียนทำได้ด้วย code ง่าย ๆ

dw_original.ShareData(dw_shareing)
หรือ
IF dw_original.ShareData(dw_shareing) = -1 THEN MessageBox("Error !", "ShareData original and shareing")

ตัวอย่าง

dw_booking.ShareData(dw_dw_ticket)
หรือ
IF dw_booking.ShareData(dw_dw_ticket) = -1 THEN MessageBox("Error !", "ShareData booking and ticket")

เมื่อกรอกข้อมูลใน dw_booking จะเห็นว่าข้อมูลจะไปแสดงใน dw_ticket ตามรูปแบบในหน้าที่ design

ข้อควรระวังคือ source ของทั้งสอง Datawindow ต้องมีจำนวน column และ data type เท่ากัน ไม่อย่างนั้นฝั่ง replicate จะไม่แสดงข้อมูล ดูเพิ่มเติมได้จาก ShareData

Byphunsanit

ติดตั้ง SQL Server Management Studio (smss) แล้วค้าง

ถ้าติดตั้ง SQL Server Management Studio แล้วค้างอยู่ที่ข้อความ “Loading packages. Please wait…” เป็นชั่วโมงไม่ขยับไปไหน แก้ได้โดย

  1. พยาม Cancel ตัวติดตั้งก่อนถ้าทำไม่ได้ให้ end task ไปเลย
  2. ลบไฟล์ทั้งหมดใน temp file
    • โดยใส่ %temp% ใน Windows File Explorer แล้ว enter
    • หรือจะเปิด C:\Users\<username>\AppData\Local\Temp ก็ได้
      จากนั้นลบไฟล์ทั้งหมด ที่สามารถจะลบได้ออกไป
  3. ลบ registry
    • เปิด command prompt โดยสิทธ์ administrator พิมพ์
      reg DELETE “HKLM\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server Management Studio” /reg:32
      กด enter จะเห็นคำถาม
      Permanently delete the registry key HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server Management Studio (Yes/No)?
      พิมพ์ yes แล้ว enter
    • หรือเปิด registry editor โดยสิทธ์ administrator แล้วค้นหา “HKLM\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server Management Studio” จากนั้นก็ลบออกไป
  4. restart windows อาจจะเข้าไปลบไฟล์อีกครั้ง
  5. ติดตั้ง smss ตามปกติ

ขอบคุณ How To Fix SSMS Installation Stuck Issue

Byphunsanit

PowerBuilder: DBMS not supported in your current installation

เห็น error DBMS not supported in your current installation ในขั้นตอนที่ connect database sql server ตอนแรกเข้าใจว่าตอนที่ติดตั้งไม่ได้ลงพวก adodb, jdbc, odbc driver ลอง install ใหม่ก็เหมือนเดิม กี่ครั้งก็เหมือนเดิม

รุ่นพี่บอกให้ลง sql server 2000 หลังจากนั้นก็ connect ได้ปกติเลย เข้าใจว่าในการติดตั้งมันจะลงไดร์เวอร์ให้เป็นตัวที่ยังใช้โปรโตคอลเดี่ยวกับตัว PB8

Byphunsanit

WSL: ติดตั้ง firefox

ต้องการติดตั้ง firefox ไว้เทสงานโดยเฉพาะ เลยติดตั้งใน wsl (Windows Subsystem for Linux)

sudo snap remove firefox
sudo apt remove firefox
sudo add-apt-repository ppa:mozillateam/ppa

# สร้างไฟล์ใหม่ว่าง ๆ
sudo nano /etc/apt/preferences.d/mozillateamppa

# ใส่เนื้อหา
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

# save file แล้ว
sudo apt update
sudo apt install firefox #หรือ firefox-esr

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

Cr. How do I install Firefox in WSL, when it requires snap, but snap doesn’t work?

Byphunsanit

WSL: ปิดการทำงาน

เพราะว่าไม่ได้ใช้งาน wsl ตลอดเวลา การจะเปิดให้มันทำงานไว้ ก็จะหนักเครื่องเปล่า ๆ ไม่ใช้ก็ “ปิด” ซิครับ

  1. เปิดตัว command prompt / dos / Windows Terminal / Window PowerShell ที่มีอยู่
  2. หารายชื่อตัว wsl ที่กำลังทำงานอยู่โดยใช้
    wsl.exe --list --running
  3. จะเห็นรายชื่อที่ทำงานอยู่เช่น Ubuntu (Default)
  4. ปิดการทำงานโดยคำสั่ง
    wsl --terminate <DistributionName>
    เช่น
    wsl –terminate ubuntu

Cr. Terminate Running WSL Linux Distro in Windows 10