Posts

Mac Monterey port 5000 alread used

วันนี้ได้มาลองเล่น MERN Stack  พอจะ run backend service ที่ต้องใช้ port 5000  ปรากฎว่าใช้ไม่ได้ มี error แจ้งว่า port 5000 ถูกใช้ไปแล้ว วิธีแก้ไขคือ  System Pref > Sharing > Airplay Receiver เอาติ๊กถูกออก แค่นี้ก็แก้ไขปัญหา Mac run app ที่จะใช้ port 5000 ไม่ได้เรียบร้อย

สอบ AZ900 กับ Vue บน Mac ทำให้ใช้ Mission Control ไม่ได้

 หลายวันก่อนมีโอกาสสอบฟรี AZ900 Online ผ่านระบบของ Vue ซึ่งเป็นการสอบผ่านเครื่อง Mac หลังจากสอบไม่สามารถใช้ Mission Control ได้ คิดว่าเป็นที่ Vue ไปปิดอะไรซักอย่าง วิธีการแก้ไขให้เปิด Terminal แล้วพิมพ์คำสั่ง 2 คำสั่งแบบนี้  defaults read com.apple.dock mcx-expose-disabled killall Dock

Kong ขั้นตอนการลง Kong CE และ Konga บน Docker Ubuntu

ทั้งหมดจะมี 3 docker ที่ run 1. Cassandra Database 2. Kong 3. Konga docker network create kong-net docker run -d --name kong-database --network=kong-net -p 9842:9842 cassandra:3 docker run --rm --network=kong-net -e "KONG_DATABASE=cassandra" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" kong:latest kong migrations bootstrap --wait รอระบบทำงาน docker run -d --name kong --network=kong-net -e "KONG_DATABASE=cassandra" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" -e "KONG_PROXY_ERROR_LOG=/dev/stderr" -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" -e "KONG_ADMIN_LISTEN=0.0.0.0:8001" -p 80:8000 -p 433:8443 -p 8001:8001 -p 8444:8444 kong:latest docker run -d --name konga --network kong-net -p 1337:1337 -e "NODE_ENV=production" -e "TOKEN_SECRET=theRandomstringgoesHere12345" pantsel/konga https://localhost:1337 ...

วิธีการทำ CD/CI บน Azure DevOps

Image
เกริ่น สมัยนี้ อะไรๆ ก็ต้อง Automation กันหมด เพื่อให้เราสบายขึ้น จะได้มีเวลาไปทำงานเพิ่ม Productivity CI/CD คือกระบวนการการส่งมอบระบบให้กับลูกค้า CI = การเตรียมพร้อม (Compile / Build) CD = การส่งมอบ (Deploy) ระบบที่ผมใช้ปัจจุบัน ผมใช้ Azure DevOps เป็นตัว Source Control รองรับทั้ง Git และ Team Foundation ซึ่งจะแตกต่างกันไปในการ Control ตอนหลังๆ เริ่มสนใจการทำ CI/CD เพราะเจอปัญหาว่าต้อง Deploy ระบบตอนตี 2 แล้วต้องนอนไว เพื่อตื่นตี 2 หรือลากยาวเลย ทีนี้ถ้าเราไม่อยากต้องมาทำแบบนั้นละ พระเอกของเราก็นี่ไง CI/CD มีอยู่แล้วบน Azure DevOps  เกริ่นมานานเข้าเรื่อง ถึงวิธีการ Setup เลยนะครับ เริ่มจากการสร้าง CI Pipeline คลิกเมนู Pipelines > Pipelines > Create Pipeline คลิกเลือก Use the classic editor .... เลือก Source จาก Azure Repos Git แล้วคลิก Continue การเลือก Source ขึ้นอยู่กับว่า Source เราอยู่ที่ไหนนะ ถ้าเป็น Team Foundation ก็เลือก TFVC จากนั้นเค้าจะให้เราเลือกว่าจะสร้างจาก Template ที่เค้าตั้งให้แล้ว หรือสร้างจาก Empty Job เลย (ไม่มีอะไรเลย) ในที่นี้ผมทำระบบด้วย .Net C# ก็เลยค...

ติดตั้ง Redis 6.0.1 Single Instance บน Hyper-V Ubuntu 20.04

Image
ขั้นตอนลง Ubuntu 20.04 ติดตั้ง Hyper-V บน Windows 10 ก่อน หลังจากนั้น Create New Virtual Machine ความต้องการระบบ Ubuntu 20.04 (จากเว็บ Official) ขนาดไฟล์ Download ผ่าน Hyper-V 1.99GB CPU 2GHz dual core หรือดีกว่า 4GB Memory 25GB of free hard drive space ความต้องการ Redis Server Production CPU >= 8 Cores Memory >= 32GB Redundant SSD Based storage with RAID  ขั้นตอน Setup Ubuntu ไม่ขอลงรูป ให้รายละเอียดเป็นตัวหนังสือเอา English > Keyboard English > Bangkok > Who are you ใส่ตามใจชอบเลย หลังจากหน้า Who are you ก็รอระบบ setup ซักแปปนึง setup ซักครู่ระบบก็จะ Restart มาหน้าแรก พร้อมแล้ว ขั้นตอนติดตั้ง Redis 6.0.1 ก่อนอื่น update package ต่างๆ ก่อน ด้วยการเปิด terminal sudo = superuser do เป็นคำสั่งทำงานด้วยสิทธิ์ admin sudo apt-get update sudo apt-get upgrade หลังจาก upgrade เสร็จ ก็โหลด Redis มา ด้วยคำสั่งชุดนี้ $ wget http://download.redis.io/releases/redis-6.0.1.tar.gz $ tar xzf redis-6.0.1.tar.gz $ cd redis-...

วิธี setup iis 1 เครื่องมีหลาย web app แต่ใช้ port 80 เหมือนกัน

Image
โจทย์คือ สมมติว่ามีเครื่อง Server ip 192.168.0.58 แล้วเราต้องการให้มี 2 web site อยู่บนเครื่องนี้ ที่สามารถเข้าได้ด้วย port 80 ทั้งคู่ เว็บแรกสมมติ domain เป็น www.test1.com เว็บที่สองสมมติ domain เป็น www.test2.com เว็บแรก path อยู่ที่ "C:\inetpub\wwwroot\test1" เว็บที่สองอยู่ที่ "C:\inetpub\wwwroot\test2" เว็บแรกให้ config binding ดังนี้ เว็บที่สองให้ add website ใหม่ เพียงเท่านี้ ก็สามารถมี 2 website บนเครื่อง server เดียวกัน และใช้ port 80 เข้าได้

Query Generate Running Key

ผมขอโพสแชร์ความรู้ในการ Generate Running Key ให้ทุกคนได้รู้ เผื่อจะนำไปใช้ประโยชน์ได้บ้าง บางครั้งการทำงานอาจจะโจทย์ว่าจะต้อง Gen Key เช่น หมายเลข PO ในรูปแบบ String เช่น ต้อง Gen Po Number ใน Format PO-YYMMNNNNNN PO - Fix YY - ปีสองตัวท้าย เช่น ปัจจุบัน 2019 เราต้องการแค่ 19 MM - เดือนปัจจุบัน 2 หลัก เช่น 09 NNNNNN - ตัวเลข 6 หลัก ตัวอย่าง PO-1909000001 PO-1909000002 PO-1909000003 PO-1909000004 PO-1909000005 ตัวเลข NNNNNN จะถูกนับใหม่ทุกๆ เดือน หมายความว่าใน 1 เดือน จะมีเลขที่เป็นไปได้คือ 000001 - 999999 ความยาวนี้ก็แล้วแต่การออกแบบของแต่ละระบบของแต่ละบริษัท ก็ว่ากันไป สมมติว่าใน Database มี Table ชื่อ PurchaseOrder มี Field PO เป็น varchar(20) CREATE_DATE เป็น DateTime Query เพื่อ Generate PO คือ (MS-SQL) select 'PO-' + RIGHT(CONVERT(char(4),YEAR(GETDATE())),2) + RIGHT('00'+CONVERT(varchar(2),MONTH(GETDATE())),2) + RIGHT('000000'+convert(varchar(6), ISNULL(MAX(CONVERT(integer, (RIGHT(PO, 6)))),0)+1),6) from PurchaseOrder where ...