Relative Path Note

asphalt winding roadway on mountain slope

Starting with Start At <subdriectory> start <subdriectory> and move forward / or ./ root directory Example- ‘nodePath’: fileURLToPath(new URL(‘./node_modules’, import.meta.url)) ../ move backward 1 directory level and starts Example- import HomeView from ‘..’ .. move backward 2 directory level and starts there …. Note many frameworks such as Vue3 define base path such as @ refer to src path in Vite

[CR]ลิ้มอ่วงซุย (Linn) เจริญรัถ-ลาดหญ้า

สำหรับร้านนี้เรียกมาเงียบๆเลย โดยจะอยู่ตรงเจริญรัถ แถวซอยลาดหญ้า 8 / เจริญรัถ3 ครับ ตัวร้านจะอยู่ใกล้กับก๋วยเตี๋ยวเจริญพุง / ขาหมูคาเฟ่ (สูตรฮ่องเต้) ครับ (ถ้าในรูปตรงลูกศรสีเขียวครับ) เป็นร้านที่เพิ่งเปิดใหม่เลยครับ ^__^ ผมกับน้องที่ทำงานเลยมาลองดูครับ เพราะ Design ร้านแปลกดี แยกโซนทำอาหารออกมาในตู้กระจก และเป็นห้องแอร์ด้วยนะครับ เมนูของร้านมี ดังนี้ครับ ที่แอบถามๆ ตอนนี้มีเมนูพวกก๋วยเตี๋ยวหมูมาเพิ่มด้วยครับ อ๋อร้านนี้เป็นร้านเดี๋ยวกับที่ขายชิ้นปลา และบะจ่าง (ผมสั่งไหว้ทุกปี) ที่เยาวราชด้วยครับ ลองชิม อันแรกเลยจะเป็นตัวก๋วยเตี๋ยมต้มยำ ราคา 65 บาท เพิ่มเครื่อง +15 บาทครับ รสชาติ เข้มข้ม ครับ เปรี้ยวนิดๆ แต่ไม่แสบไป เครื่องเคียงโอเคเลยครับ ทั้งมันทอด ลูกชิ้น เส้นหนืบๆดีครับ อย่างที่สองจะเป็นตัวขนมจีบครับ ผมว่าของดีเลยครับ หมูเต็มคำดี อิ่มๆ คิดอะไรไม่ออกก็มีเมนู Default น้าา มีข้าวกะเพราหมูสับขายด้วยนะ เผ็ดนิด + หวานมันใช้ได้เลย ถ้าจะปรุงรสมีน้ำพริกปลาให้ปรุงเพิ่ม และไข่ดาว

บันทึกการแก้ไขปัญหา SonarQube Analysis .NET(C#) ทำงานนานน

ต้นเรื่อง ตอนแรกไปซนดู Monitor ของ VM แต่ละตัว แล้วพบว่าทำไม VM ที่มี SonarQube Docker ใช้ CPU / RAM นานปิดปกติ เลยเข้าไปตรวจสอบข้างใน SonarQube พบว่า background analysis task ทำงานนานมากกก ทำไมมันใช้เวลาเพิ่มขึ้นขนาดนั้นนนนนน สิ่งที่แรกสงสัยเลย Size ของ Code ที่เข้ามาเพิ่มครับ ตัว SonarQube มันจะใช้เวลาตรวจตามไฟล์ใหม่ที่ส่งเข้ามาครับ ตอนนี้ลองเข้าไปที่ Measures > Size > New Lines โอ้วเจอไฟล์แปลกที่ Sub-Module ครับ เพิ่มมาตั้ง 4.3 ล้าน บรรทัด ลอง Drill-Down ลงไปอีกครับ ชัดเลย Sonar มันเอาพวก Coverage Report ใส่เข้าไปด้วยนี่เอง มาเป็นล้านบรรทัดเลยครับ (ส่วนสีแดง) / งานที่แก้จริงๆ ทั้ง Web / Winform / Service (ส่วนสีเขียว) นิดเดียวเองครับ สรุปตอนนี้เรารู้สาเหตุกันแล้ว มาจากการที่ตัว SonarQube มันกวาดไฟล์ที่ไม่จำเป็น อย่าง เช่น Test Coverage เข้าไป Process ด้วย โดยแนวทางการแก้ไขมี 2 ทางครับ สำหรับผมเลือกวิธีการ Delete ไฟล์ออกครับ เพราะว่า หลังจากแก้ไปแล้ว ผล SonarQube Analysis จากเกือบๆ 18 ชั่วโมง ลดลงเหลือ ประมาณ 2 นาทีแล้วครับ ^__^

ลองมาเพิ่ม Merge Request Template ใน GitLab กันครับ

วันนี้ผมมาแชร์ Tips สำหรับคนที่ใช้ GitLab เวลาที่เราจะส่ง Merge Request ใครคนอื่นดูเนี่ย เรามี Pattern ในการใส่ Description ยังไงกันนะ ยิ่งคนเยอะๆจะบริหารกันยังไง วันนี้ผมเลยมาแชร์ Feature Description templates ที่จะมาช่วยตอบโจทย์ตรงนี้ครับ ซึ่ง Feature นี้จะมาช่วย สำหรับขั้นตอนการใช้ สามารถทำได้ ดังนี้ เมื่อลองใช้งานจริง เวลาส่ง Merge Request จะแสดงผลดังรูป และทำตาม Check List เสร็จ เวลากดจะมี Log ขึ้นมาด้วยนะครับ ถ้ามีหลาย Template เพิ่มตัวไฟล์ Markdown เข้าไปครับ เดี๋ยวมันจะแสดงใน Dropdown ดังรูป ปล. ตัวฟรี หรือตัวเสียเงินใหญ่สามารถใช้ Merge Request Template ได้หมดนะครับ แต่ความสะดวกจะลดลงไปครับ จ่ายเงินจะยิ่งสบาย รายละเอียดเพื่อนๆ ลองอ่านใน Reference เพิ่มเติมได้ครับ Reference

Configuring Network between Host and Guest VM in VirtualBox

หลังจากพยายามลองใช้ทุกอย่างโดยไม่ใช้ VM เลย ใช้ WSL แล้วมีบางเคสที่เจอแล้ว ว่ามันควรใช้ VM มากกว่า ถ้าไปลง docker ใน WSL แล้วตัว docker desktop มันเอ๋อๆ วันนี้เลย แยก VM ดีกว่า โดยใน VM แยก 2 Network Card ต่อไปมาเริ่มลงมือทำกันเลยครับ Virtual Box VM จำได้ว่าเมื่อก่อนเวลา Config Network ต้องไปแก้ที่ไฟล์ Config ของ Network เอง (ประมาณพวก /etc/network/interfaces แต่ตอนนี้ทำเป็น YAML File ได้แล้ว ผ่านตัว Canonical Netplan เจ๋งดี แต่น่าจะได้กับ OS รุ่นใหม่ๆนิดนึง Blog นี้จะลองแบบ YAML นี่แหละครับ Reference

สรุป OWASP Top 10 CI/CD Security Risks

สำหรับ Blog นี้เป็นเดินทางมาไกลเลย จากวงเวียนใหญ่ มาตรง MFEC กว่าจะออกมาได้ CI Test พังด้วย 555 แต่พอเดาสาเหตุได้และ เลยรีบมาฟัง OWASP Top 10 CI/CD Security Risks ที่จัดโดยทาง OWASP Bangkok Chapter และ 2600Thailand ครับ แชร์โดยคุณณัฐวรพงษ์ ลอยไสว จาก Shipty ครับ สำหรับหัวข้อที่จดๆมาประมาณนี้ครับ CI / CD คือ อะไร ? CI / CD มาช่วยลดความผิดพลาดจาก แต่อีกด้านนึงตัว CI/CD เปิด Attack Surface เพิ่มขึ้นด้วยเช่นกัน อาทิ Shared Resource จุดนึง / ตัว CI/CD อีกจุด NOTE: สำหรับ OWASP Top 10 CI/CD มองในส่วนของ CI/CD ใน DevOps นะครับ ไม่ใช่ DevSecOps Tools: CI/CD Goat OWASP Top 10 CI/CD Security Risks – CICD-SEC-1: Insufficient Flow Control Mechanisms สำหรับอันนี้ Attacker ใช้จุดเด่นของ CI/CD คือ Fast Feedback มาให้โจมตี เช่น แก้ไข Code เพื่อใส่ malicious code และปล่อยให่กระจายไปตาม pipeline…

DB2 Driver งงไปหมดด

ถ้าใครยังใช้งาน DB2 อยู่ แล้วต้องมาหา Driver เพื่อเอาไปติดตั้งใช้งาน มันจะเป็นอะไรที่โคตรงง และงงมาก คิดว่ามาจด ความเจ็บปวดที่เจอมาดีกว่า ถ้าลงเพียวๆ ต่อไปเป็น Driver ใน Code ครับ มีอีกหลายตัวครับ แต่ไม่เคยใช้งาน ตามรูปเลย ถ้าใช้ Container มาท่านี้ครับ สบายขึ้นเยอะ dockerfile สำหรับ .NET6 + DB2 อ๋อแล้วถ้ามี Dev ใช้ Platform หลากหลาย กับ DB2 อันนี้เลยครับ [.NET] บันทึกการจัดการ NuGet ที่ต้องแยกเฉพาะตาม Platform ครับ Reference

ลองมาเรียน The Cloud Camp รอบ Audition

สำหรับงานนี้เห็นเค้าแชร์กันบน Facebook จัดโดยทาง Jump Box ครับ ผมเลยลองมาเรียนดู เพราะมีรอบฟรี 3 ครั้ง เรียกว่าเป็นการปรับพื้นฐานปูพื้นก็ได้ครับ โดยหัวข้อมี ดังนี้ ระหว่างเรียนมี Activity Time ให้ลองทำกัน สนุกดี เอามาแชร์ใน Discord เห็นมุมมองที่ต่างออกไป และที่เรียนมามีหลายเรื่องที่คิดว่าเข้าใจ แต่ได้มาเรียนรู้เพิ่มบางเรื่องด้วย เช่น พวก Linux Command บางอันทำงานมานานก็ไม่ได้ใช้ 55 / หรือ แนวคิด Continuus Delivery กับ Continuus Deployment ตอนแรกคิดว่ามันเหมือนกันนะ (แต่ตอนสอบตอบผิด 55) เป็นต้น หลังจากเรียนจบมีสอบบน Platform ของ Quilgo สอบวันนี้แหละ ก็มืนๆ ทำไป 55 คำถามบางอันไม่รู้จริงๆนะ อย่างพวก Command vi นี้ ทำอะไร ปกติใช้ nano แต่จริงๆ Tools บางตัวมันก็ vi ภาคบังคับอย่างแก้ Crontab อันนี้ก็มั่วลองตอบไป ส่วนตัวข้อสอบทำเร็วมาก 25 นาที submit ตู้มๆ เด๊ยวรอผลอาทิตย์หน้าครับ ปล ถ้าสอบผ่าน มี Course เรียนยาวๆ 4 เดือน (เสียเงินน้า)

Install OpenSSH Server on Windows 11/10

empty train rail with light

มาสำรวจกันก่อนครับ ว่าที่ Windows มีอะไรบ้าง ด้วยคำสั่งนี้ ตอนนี้เราจะพบว่า OpenSSH.Client มีแล้ว แต่ยังขาด OpenSSH.Server ครับ เมื่อไม่พบ OpenSSH.Server ติดตั้ง OpenSSH Server ตามคำสั่ง ด้านล่างครับ ตรวจสอบสถานะการติดตั้ง OpenSSH.Server อีกรอบครับ ลอง Start Service SSH + Set Automate Start up เปิด Firewall Port 22 ทดสอบ Connect ด้วยคำสั่ง ssh <username>@<hostname or IP>

[.NET] บันทึกการจัดการ NuGet ที่ต้องแยกเฉพาะตาม Platform ครับ

เนื่องจากมีบาง NuGet ที่มันมีความพิเศษ แม้ตัว .NET Core / .NET 5++ มันจะใช้ได้แบบ Cross Platform แล้ว แต่มันมี Third Party บางตัว มันจะยังต้องแยกตาม Platform อยู่ครับ ยกตัวอย่าง เช่น IBM DB2 ครับ แล้วที่นี่ ถ้าเรามีโจทย์/เงื่อนไขประมาณนี้ Solution แก้ที่ตัว csproj ของเราครับ โดยเราต้องมาดูกันก่อนว่าตัว cs project มันใส่เงื่อนไขได้ไหม ซึ่งมันทำได้ครับ อ๋อ แต่การแก้แบบนี้ อาจจะต้องตรวจสอบด้วยนะครับ ว่า NuGet ที่เราเอามาใช้งาน ถ้ามีการขยับ Version อย่าลืมตรวจสอบด้วยนะครับ ว่าทุก Platform หรือ ในส่วนของ Visual Studio กับตัว dotnet build เวอร์ชันสอดคล้องกันไหมครับ และก็ตอน Build จากระบบ CI/CD อย่างเช่น Jenkins / Gitlab ถ้าจะระบุ Platform ตอน Build ต้องมาปรับ Param ด้วยครับ Reference