03Jan, 2024
Language blog :
Thai
Share blog : 
03 January, 2024
Thai

วิธีการ Setup an environment เบื้องต้นสำหรับการพัฒนาโปรเเกรม

By

4 mins read
วิธีการ Setup an environment เบื้องต้นสำหรับการพัฒนาโปรเเกรม

Environment ในการพัฒนาโปรเเกรมคือ ?

          ในการพัฒนาโปรเเกรมจำเป็นต้องสร้าง Environment ให้เหมาะสมสำหรับพัฒนาโปรเเกรมประเภทนั้น ๆ ซึ่งการ Setup Environment เป็นการตั้งค่าหรือติดตั้งเครื่องมือเเละโปรเเกรมที่จำเป็นต้องใช้ในการเขียน รัน เเละทดสอบโปรเเกรมที่ต้องการพัฒนา โดย Environment ที่จำเป็นต้องใช้ในการพัฒนาโปรเเกรมเบื้องต้นมีดังนี้

  •  ระบบปฎิบัติการ

การเลือกระบบปฎิบัติการที่เหมาะสมกับความต้องการเเละภาษาโปรเเกรมที่ต้องการใช้งาน เช่น macOs , Linux หรือ Windows

  • IDE (Integrated Development Environment) 

Integrated Development Environment หรือ IDE เป็นเเอปพลิเคชันซอฟต์เเวร์ที่ใช้ในการเขียนโค้ด เเก้ไข เเละทดสอบโปรเเกรมได้อย่างมีประสิทธิภาพ เช่น Visual Studio Code, IntelliJ IDEA, Eclipse

  • Version Control

Version Control หรือ Source Control เป็นโปรเเกรมที่ช่วยในการจัดการการเปลี่ยนเเปลงต่าง ๆ ของไฟล์หรือโค้ดภายในโปรเเกรมที่เราพัฒนาขึ้น เพื่อที่จะทำให้สามารถทำงานร่วมกับผู้อื่นได้อย่างราบรื่นเเละไม่มีปัญหา เช่น Git, AWS CodeCommit, Bitbucket

  • Programming Language

Programming language  นั้นขึ้นอยู่กับโปรเเกรมที่ต้องการจะพัฒนา โดย Programming Language เเต่ละภาษานั้นจำเป็นต้องติดตั้งโปรเเกรมของภาษานั้น ๆ ก่อนจึงจะสามารถใช้งานได้ เช่น ถ้าต้องการเขียน JavaScript หรือ TypeScript ก็จำเป็นต้องติดตั้ง Node.Js ก่อนเสมอ 

  • Package Managers 

Package Managers ที่จำเป็นต้องติดตั้งนั้นขึ้นอยู่กับภาษาที่ต้องการใช้ โดย Package Managers ช่วยในเรื่องการจัดการเครื่องมือหรือไลบรารี่ต่าง ๆ เช่น Package Managers ของ Node.Js คือ npm เเละในส่วน Package Managers ของ Python คือ pip

 

ทำไมต้อง Setup an environment ให้กับคอมพิวเตอร์ของเราก่อนจะเริ่มเขียนโปรเเกรม ?

ในการพัฒนาโปรเเกรม การ Setup Environment ก่อนจะเริ่มพัฒนาโปรเเกรมช่วยเพิ่มประสิทธิภาพในการทำงาน เเละเพิ่มความสอดคล้องในการทำงานมากขึ้นเมื่อเริ่มพัฒนาโปรเเกรมใหม่ เช่น เมื่อต้องการพัฒนาโปรเเกรมใหม่โดยใช้ภาษา JavaScript ก็จำเป็นต้องติดตั้ง Node.Js ก่อนพัฒนา ซึ่ง Node.Js นั้นมีหลายเวอร์ชั่นจึงทำให้จำเป็นต้องเลือกเวอร์ชั่นที่ต้องการใช้งานก่อน เพื่อลดปัญหาที่อาจเกิดขึ้นเมื่อผู้พัฒนาใช้ Node.Js เวอร์ชั่นเเตกต่างกันในการพัฒนาโปรเเกรมซึ่งปัญหาที่อาจเกิดขึ้นมีดังนี้ 

  • Compatibility Issues

เนื่องจากการใช้เวอร์ชั่นของ Node.Js ที่เเตกต่างกันอาจจะทำให้ไวยากรณ์หรือฟังก์ชันบางชนิดไม่สามารถใช้งานร่วมกันได้ 

  • Dependency Management

เนื่องจากการใช้เวอร์ชั่นของ Node.Js ที่เเตกต่างกัน ทำให้เวอร์ชั่นของเครื่องมือเเละไลบรารี่ภายนอกต่าง ๆ ที่ใช้งานในโปรเเกรมเเตกต่างกันด้วย ซึ่งทำให้ฟังก์ชันการทำงานบางชนิดของเครื่องมือเเละไลบรารี่ที่ติดตั้งไปเเล้วไม่สามารถทำงานได้

 

Dependency Management ในการพัฒนาโปรเเกรมคืออะไรเเละสำคัญอย่างไร ?

Dependency Management ช่วยในเรื่องการติดตามเวอร์ชั่นของเครื่องมือเเละไลบรารี่ภายนอกต่าง ๆ ที่ติดตั้งเข้าไปยังโปรเเกรม เพื่อช่วยในเรื่องการป้องกันการซ้อนทับกันของเครื่องมือเเละไลบรารี่ นอกจากนั้นยังช่วยในเรื่องความเข้ากันได้ของโปรเเกรมเมื่อต้องการย้ายโปรเเกรมไปยังคอมพิวเตอร์เครื่องต่าง ๆ เมื่อมี Dependency Management ทำให้มั่นใจได้ว่าเครื่องมือเเละไลบรารี่ที่ติดตั้งจะเป็นเวอร์ชั่นเดียวกันหรือใหม่กว่าเสมอโดยในปัจจุบัน Package Managers ของภาษาต่าง ๆ มีการจัดการในเรื่องของ Dependency Management ให้อยู่เเล้ว เช่น โปรเเกรมที่ใช้ Node.Js จะมีไฟล์ package.json ในการเก็บ Dependency ของโปรเเกรมนั้น ๆ ไว้ 

 

โดยเครื่องมือเเละไลบรารี่ของในโปรเเกรมอาจจะเเตกต่างกัน ไปตามขั้นตอนของการพัฒนาดังนั้น Dependency Management ยังช่วยในเรื่องการจัดการ Dependency ของขั้นตอนต่าง ๆ ด้วย เช่น Node.js เเบ่ง Dependency ออกเป็น 3 ประเภท คือ 

  • Dependencies เป็น Dependency ที่เกิดจากการใช้คำสั่ง npm install <package_name> ซึ่งเครื่องมือเเละไลบรารี่ที่อยู่ใน Dependency นี้จำเป็นต้องติดตั้งเสมอเมื่อต้องการเริ่มใช้งานโปรเเกรม

  • Dev dependencies เป็น Dependencies ที่เกิดจากการใช้คำสั่ง npm install <packaga_name> –save-dev ซึ่งเครื่องมือเเละไลบรารี่ที่อยู่ใน Dev dependencies นั้นจำเป็นเฉพาะในช่วงของการพัฒนาระบบเท่านั้น 

  • Peer dependencies เป็น Dependencies ที่จำเป็นต้องเพิ่มเองโดยตรงในไฟล์ package.json ซึ่งเครื่องมือเเละไลบรารี่ที่อยู่ในไลบรารี่นี้จะเป็นการเจาะจงเวอร์ชั่นที่ต้องการใช้งาน

 

นอกจากนั้นในการติดตั้งไลบรารี่เเละเครื่องมือโดย Package Managers จะเเบ่งออกเป็น 2 ประเภท คือ

  • ติดตั้งเเบบ Local ซึ่งทำให้เครื่องมือหรือไลบรารี่ที่เราติดตั้งนั้นสามารถใช้งานได้เฉพาะในโปรเเกรมของเราเท่านั้น เช่น โปรเเกรมที่ใช้ Node.Js เมื่อทำการติดตั้งเครื่องมือเเละไลบรารี่ตำเเหน่งที่ติดตั้งจะอยู่ในโฟลเดอร์ของ node_modules ในโฟลเดอร์ของโปรเเกรม

  • ติดตั้งเเบบ Global ซึ่งทำให้ทั้งเครื่องคอมพิวเตอร์สามารถนำเครื่องมือหรือไลบรารี่ที่เราติดตั้งไปใช้งานได้ เช่น เมื่อลงเครื่องมือเเละไลบรารี่เเบบ Global ของ Node.Js จะถูกเก็บอยู่ในโฟลเดอร์ node_modules ของ Node.js ที่ติดตั้งอยู่บนเครื่องคอมพิวเตอร์



สำหรับการใช้งาน Runtime Environment เช่น Node.Js ในการพัฒนาซอฟต์เเวร์ นอกเหนือจากการ Setup environment เพื่อใช้งานในแต่ละโปรเจกต์แล้ว เรายังสามารถเพิ่มเติมในส่วนของ Version Management Tools มาเป็นตัวกำหนด Version ของ Node.Js ที่เราจะใช้งานในแต่ละโปรเจกต์ที่เราทำงานอยู่เพื่อให้สลับ Version ของ Node.Js ไปมาได้โดยง่ายโดยไม่ต้องลงใหม่ ซึ่งในแต่ละ Programming Language หรือ Library ที่เราใช้ก็จะมีตัวเลือกที่แตกต่างกันไป เช่น Node.Js NVM, Python pyenv เป็นต้น

 

Environment Variable คืออะไร?

ในการพัฒนาซอฟแวร์แน่นอนว่าเป็นไปไม่ได้ที่เราจะใช้เพียงแค่ Environment เดียวในการทำงานออกมา อย่างน้อยเราก็ต้องมีการแบ่งระหว่าง Environment ที่ใช้ในการพัฒนาซอฟแวร์ (Develop) และตัวงานจริง (Production) ซึ่งอาจมีการใช้ข้อมูลที่เป็น Config ที่แตกต่างกัน

 

  • ตัวอย่างการ Config ค่าแบบ Static เมื่อไม่ใช้งาน Environment Variable

 

SIT (Develop Environment)

 

 

PRD (Production Environment)

 

 

จากในตัวอย่างรูปข้างต้นจะเห็นว่าจะต้องมีการ Config การเชื่อมต่อ Database ที่แตกต่างกันตาม Environment ทำให้เกิดปัญหาขึ้นเมื่อใช้ Code ชุดเดียวกัน Environment Variable จึงถูกนำมาใช้เพื่อแก้ปัญหานี้ 

 

  • การใช้งาน Environment Variable  โดยระบุผ่านไฟล์ .env

 

สร้างไฟล์ชื่อ .env ไว้ที่ Root directory ของโปรเจกต์ และระบุชื่อและค่าของ Environment Variable แต่ละตัวที่เราต้องการกำหนดเอาไว้

 

 

ติดตั้ง Package dotenv เพื่อประกอบการอ่านไฟล์ .env ด้วยคำสั่ง npm install dotenv -s

Import Package dotenv มาใช้งานด้วยการเพิ่ม require('dotenv').config(); ลงใน index ไฟล์ของโปรเจกต์

 

 

จากในตัวอย่างรูปข้างต้นจะเห็นว่า เราสามารถเข้าถึงข้อมูล Config ผ่านการเรียกใช้ Environment Variable ออกมาจากไฟล์ .env โดยเมื่อเราต้องการ Run หรือ Deploy ซอฟต์แวร์ของเราใน Environment ที่แตกต่างกันก็เพียงแค่เปลี่ยนชุดไฟล์ .env โดยไม่ต้องทำการแก้ไข Code อีกรอบ และยังครอบคลุมไปถึงการใช้ในการซ่อนข้อมูล Secret ที่เราไม่อยาก Code ลงไปตรง ๆ

 

ตัวอย่างขั้นตอนการ Setup an environment เบื้องต้นสำหรับพัฒนา Backend NestJS โดยใช้ภาษา TypeScript บน Windows 11 

 

  1. ติดตั้ง Visual Studio Code

  • ในการติดตั้ง Visual Studio Code สามารถทำได้โดยการดาวน์โหลดผ่านทางหน้าเว็บไซต์หลักของ Visual Studio Code เเละเลือกดาวน์โหลดตามระบบปฎิบัติการที่ต้องการใช้งาน

 

 

  1. ติดตั้ง Node.js

  • Node.js มีหลายเวอร์ชั่นซึ่งบนหน้าเว็บของ Node.Js จะเเบ่งออกเป็น 2 เวอร์ชั่นหลักได้เเก่ LTS เเละ Current โดย LTS ก็คือ Long Term Support เวอร์ชั่นซึ่งจะเป็นเวอร์ชั่นที่ทาง Node.Js เเนะนำให้ใช้งานเนื่องจากเป็นเวอร์ชั่นที่เสถียร เเละในส่วนของ Current เวอร์ชั่นเป็นส่วนของเวอร์ชั่นปัจจุบันโดยซึ่งเป็นเวอร์ชั่นที่การอัปเดตอยู่ตลอดซึ่งทำให้มีการเปลี่ยนเเปลงบ่อย

การติดตั้ง Node.js บน Windows 11 มี 2 วิธีหลัก ๆ ได้เเก่

  • ติดตั้งโดยตรงโดยโหลดผ่านทางเว็บไซต์หลักของ Node.Js

  • ติดตั้งโดยใช้ Node Version Control (NVM) ในการช่วยจัดการเวอร์ชั่นของ Node.Js ที่ต้องการใช้งาน เเละยังช่วยในให้เราสามารถลง Node.Js ได้หลายเวอร์ชั่นในเครื่องคอมพิวเตอร์อีกด้วย ซึ่ง NVM สามารถใช้กับระบบปฎิบัติการ หลากหลายไม่ว่าจะเป็น MacOS, Linux เเละ Windows

 

 

  • เมื่อติดตั้ง Node.js ก็จะทำการติดตั้ง Npm ด้วยซึ่ง Npm เป็น Package Managers ของ Node.Js ด้วยซึ่งสามารถตรวจสอบเวอร์ชันได้ด้วยคำสั่งดังนี้

  • node –version

  • npm –version 

 

 

  1. ติดตั้ง NestJS/CLI เเละเริ่มใช้งาน NestJS

  • เมื่อเราติดตั้ง Node.Js เรียบร้อยเเล้วจะสามารถใช้ npm ซึ่งเป็น Package Managers ของ Node.Js ซึ่งทำให้เราสามารถใช้คำสั่งในการติดตั้ง NestJS/CLI ได้เเละจำเป็นต้องติดตั้งเเบบ Global จึงใช้คำสั่ง npm install -g @nestjs/cli เมื่อติดตั้งเสร็จเรียบร้อยเเล้วจะสามารถใช้คำสั่งต่าง ๆ ของ NestJS ได้เช่น nest new <project_name> 

ในการเริ่มใช้งาน Nestjs สามารถเริ่มได้โดยการสร้างโปรเจ็คใหม่โดยใช้ cli หรือ clone โปรเจกต์มาจาก Github เมื่อสร้างหรือ clone เสร็จเเล้วจำเป็นตอนใช้คำสั่ง npm install ในการลงเครื่องมือหรือไลบรารี่ตาม Dependency ในไฟล์ package.json 

 

  • ตัวอย่างเมื่อสร้างโปรเจกต์ใหม่โดยใช้คำสั่ง nest new test_nest_project

 

  • เมื่อสร้างโปรเจกต์เสร็จเเล้วสามารถใช้คำสั่ง cd เข้าไปยังโฟลเดอร์ของโปรเจกต์ที่เราสร้างขี้นเเละใช้คำสั่ง code . ในการเปิด Visual Studio Code ในการเริ่มต้นการทำงาน 

  • สามารถทดสอบการทำงานได้โดยการใช้คำสั่ง npm run start:dev ในการเริ่มการทำงานของ NestJS เเละเข้า http://localhost:3000/ ในหน้าจอจะเเสดงข้อความ Hello World! ถ้าหน้าจอเเสดงผลดังนี้เเสดงว่า NestJS ทำงานได้ถูกต้องเเล้ว

 

References:

Written by
Aon
Aon
Totoh
Totoh

Subscribe to follow product news, latest in technology, solutions, and updates

- More than 120,000 people/day visit to read our blogs

Other articles for you

02
March, 2024
JS class syntax
2 March, 2024
JS class syntax
เชื่อว่าหลายๆคนที่เขียน javascript กันมา คงต้องเคยสงสัยกันบ้าง ว่า class ที่อยู่ใน js เนี่ย มันคืออะไร แล้วมันมีหน้าที่ต่างกับการประกาศ function อย่างไร? เรามารู้จักกับ class ให้มากขึ้นกันดีกว่า class เปรียบเสมือนกับ blueprint หรือแบบพิมพ์เขียว ที่สามารถนำไปสร้างเป็นสิ่งของ( object ) ตาม blueprint หรือแบบพิมพ์เขียว( class ) นั้นๆได้ โดยภายใน class

By

4 mins read
Thai
02
March, 2024
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G
2 March, 2024
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G
ผู้ให้บริการเครือข่ายในสหรัฐฯ ได้เปิดตัว 5G ในหลายรูปแบบ และเช่นเดียวกับผู้ให้บริการเครือข่ายในยุโรปหลายราย แต่… 5G มันคืออะไร และทำไมเราต้องให้ความสนใจ บทความนี้ได้รวบรวม 15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G เพราะเราปฏิเสธไม่ได้เลยว่ามันกำลังจะถูกใช้งานอย่างกว้างขวางขึ้น 1. 5G หรือ Fifth-Generation คือยุคใหม่ของเทคโนโลยีเครือข่ายไร้สายที่จะมาแทนที่ระบบ 4G ที่เราใช้อยู่ในปัจจุบัน ซึ่งมันไม่ได้ถูกจำกัดแค่มือถือเท่านั้น แต่รวมถึงอุปกรณ์ทุกชนิดที่เชื่อมต่ออินเตอร์เน็ตได้ 2. 5G คือการพัฒนา 3 ส่วนที่สำคัญที่จะนำมาสู่การเชื่อมต่ออุปกรณ์ไร้สายต่างๆ ขยายช่องสัญญาณขนาดใหญ่ขึ้นเพื่อเพิ่มความเร็วในการเชื่อมต่อ การตอบสนองที่รวดเร็วขึ้นในระยะเวลาที่น้อยลง ความสามารถในการเชื่อมต่ออุปกรณ์มากกว่า 1 ในเวลาเดียวกัน 3. สัญญาณ 5G นั้นแตกต่างจากระบบ

By

4 mins read
Thai
02
March, 2024
จัดการ Array ด้วย Javascript (Clone Deep)
2 March, 2024
จัดการ Array ด้วย Javascript (Clone Deep)
ในปัจจุบันนี้ ปฏิเสธไม่ได้เลยว่าภาษาที่ถูกใช้ในการเขียนเว็บต่าง ๆ นั้น คงหนีไม่พ้นภาษา Javascript ซึ่งเป็นภาษาที่ถูกนำไปพัฒนาเป็น framework หรือ library ต่าง ๆ มากมาย ผู้พัฒนาหลายคนก็มีรูปแบบการเขียนภาษา Javascript ที่แตกต่างกัน เราเลยมีแนวทางการเขียนที่หลากหลาย มาแบ่งปันเพื่อน ๆ เกี่ยวกับการจัดการ Array ด้วยภาษา Javascript กัน เรามาดูตัวอย่างกันเลยดีกว่า โดยปกติแล้วการ copy ค่าจาก value type ธรรมดา สามารถเขียนได้ดังนี้

By

4 mins read
Thai

Let’s build digital products that are
simply awesome !

We will get back to you within 24 hours!Go to contact us
Please tell us your ideas.
- Senna Labsmake it happy
Contact ball
Contact us bg 2
Contact us bg 4
Contact us bg 1
Ball leftBall rightBall leftBall right
Sennalabs gray logo28/11 Soi Ruamrudee, Lumphini, Pathumwan, Bangkok 10330+66 62 389 4599hello@sennalabs.com© 2022 Senna Labs Co., Ltd.All rights reserved.