Tech

Tech127

บทความและประสบการณ์จากงานพัฒนาซอฟต์แวร์ ตั้งแต่ Programming, DevOps, CI/CD และ Docker ไปจนถึงการออกแบบ API, ไล่ปัญหาจาก Log และปรับ Workflow ให้ทีมทำงานได้ลื่นขึ้น

Check out the latest posts

Semver การกำหนดเลขเวอร์ชั่นของ npm

เวลาที่เราติดตั้งโมดูลใหม่ด้วยคำสั่ง npm i --save มันก็จะไปทำการเขียนข้อมูลลงใน package.json ให้โดยมีชื่อโมดูลและเลขเวอร์ชั่นกำกับประมาณนี้ "dependencies": { "lodash": "^3.9.2" } เคยสงสัยไหมว่าไอ้ตัว ^ ภาษาอังกฤษเรียกว่า "caret"...

Git: วิธีเปลี่ยนตัวอักษรจากพิมพ์เล็กไปใหญ่ของไฟล์

สิ่งที่ผมพบเจอในการใช้ Git คือ การเปลี่ยนแค่ชื่อไฟล์จากตัวพิมพ์เล็กไปใหญ่ หรือพิมพ์ใหญ่ไปเล็ก (Capitalization) ถ้าเราทำการเปลี่ยนชื่อไฟล์ตามปกติ มันจะไม่คิดว่ามีการเปลี่ยนแปลงเกิดขึ้น เราก็เลยไม่สามารถ Commit ไฟล์นั้นได้ เช่น ไฟล์เดิมคือ readme....

Shell script สำหรับรวม dotenv files

พอดีผมอยากได้ script ที่รวมไฟล์ .env จากหลายไฟล์มาเป็นไฟล์เดียว แล้วก็ทำการรวม value ข้างในที่ซ้ำกันให้ด้วย ก็ได้คำสั่งออกมาแบบนี้ $ sort -u -t '=' -k 1,1 .env1 .env2 > .env3 นำไปปรับใช้งานกันตามสะดวก :)...

Gitlab-ci กล้วยๆ: การดึง image จาก private registry

โดยทั่วไปการเขียน gitlab-ci จะมีคำสั่ง image: ให้เราสามารถดึง image มาใช้งานใน Pipeline ได้ แต่มันจะเรียกได้เฉพาะ image ที่ถูกเก็บไว้ใน Publish registry เท่านั้น ถ้าเราจะเรียกจาก Private registry มันจะดึงลงมาใช้งานไม่ได้ เพราะติดสิทธิ์ในการเข้าถึง และเราก็...

Gitlab-ci กล้วยๆ: การใช้งาน extends กำหนดค่าซ้ำ

หากเรามีชุดคำสั่งที่ต้องใช้งานเรียกซ้ำใน Gitlab-ci เราสามารถใช้ extends เพื่อใช้ส่วนการกำหนดค่าซ้ำ ซึ่งมันมีความยืดหยุ่น และทำให้เราอ่านโค็ดง่ายขึ้นด้วย extends นั้นรองรับการเรียกซ้ำได้หลายระดับ แต่เราควรหลีกเลี่ยงการใช้มากกว่า 3 ระดับ เนื...

คำสั่งสุ่มตัวอักษรไว้สำหรับ JWT, session, cookie ขึ้นมาเองง่ายๆ

สำหรับใครที่ต้องการสุ่มอักษรเพื่อไปใช้งานสำหรับ JWT หรือ session หรือ cookie เพื่อไว้ใช้งานสามารถทำได้ดังนี้ NodeJs $ node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" Openssl $ openssl rand -hex 32 ซึ่งจากโค็ดด้านบนเราจะได้ชุดตั...

You’ve successfully subscribed to SnappyTux: Technology, Health & Mindful Living
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.