- Visual Studio Code (VS Code)
- IDE란 무엇인가요?
📌 **통합 개발 환경**(Integrated Development Environment, **IDE**)이란 여러가지의 개발자 툴을 결합하여 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리할 수 있는 환경을 제공하는 소프트웨어 입니다.
- Visual Studio Code (VS Code)
💡 **왜 VS Code를 사용할까요?**
VS Code는 Windows 운영체제를 개발한 마이크로소프트에서 개발하고 관리중인 오픈소스 [IDE](https://www.redhat.com/ko/topics/middleware/what-is-ide)입니다. 메모장처럼 아주 가볍지만 확장 프로그램을 통해 기능을 끝 없이 확장 가능한 만능 IDE입니다.
- Node.js
Node.js의 REPL 환경
- 일반적으로 "REPL 환경" 이라 함은 아래와 같이 설명할 수 있습니다.
입력 받은 코드를 읽어(Read)들여 메모리에 저장하고, 평가(Evaluate)된 값을 출력(Print)합니다.
특정 신호를 입력받기 전까지 위의 과정을 반복(Loop)합니다.
- 쉽게 말하자면, 사용자가 입력한 코드의 결과를 즉시 확인할 수 있기 때문에 간단한 코드 문법을 테스트하는데 아주 적합한 개발 환경으로 볼 수 있습니다.
- 예를 들어, Node.js REPL 환경에서
console.log("Hello World")와 같은 코드를 입력하면 즉시 “Hello World”라는 결과를 출력받을 수 있습니다.
- Node.js는 REPL 환경을 제공하고 있으며, 우리는 그것을 쉽게 이용할 수 있습니다.
- 웹 브라우저의 콘솔(Console)과의 차이 웹 브라우저의 개발자 도구 콘솔도 REPL 환경이지만 Node.js REPL 환경과는 약간의 차이가 있습니다. 웹 브라우저의 콘솔은 Node.js가 제공하는 여러 API와 라이브러리를 사용할 수 없지만, 대신 웹 브라우저의 API를 이용하여 DOM(Document Object Model)을 제어할 수 있습니다. 즉, 웹 브라우저에서 사용자가 직접 HTML 요소를 생성하거나 변경하는 등의 작업을 할 수 있습니다. Node.js REPL 환경은 백엔드 서버(Server)의 코드를 테스트하거나 실험해보는 데에 더 적합하고, 웹 브라우저 콘솔은 클라이언트(Client)의 코드를 작성하거나 테스트 하는데에 더 적합합니다.
-
Git
깃(Git)은 프로그래밍 파일의 변경 사항을 추적하고, 여러 개발자들 간의 공동 작업을 조율하는 것을 도와주는 분산 버전 관리 시스템입니다. 깃의 특징은 대표적인 두 가지로 확인할 수 있습니다.
-
버전 관리: 깃은 코드의 이전 버전을 쉽게 찾아 볼 수 있게 해주는 버전 관리 기능을 제공합니다. 이를 통해 실수로 코드를 삭제했거나 이전 상태로 되돌아가야 하는 상황에서도 손쉽게 원하는 시점으로 코드를 되돌릴 수 있습니다. 이전에 개발자들은 파일을 직접 복사/붙여넣기(Copy & Paste)하여 여러개의 파일을 .zip 파일로 압축하여 관리해야 했으나, 깃의 등장으로 훨씬 간편하게 코드의 버전 관리를 할 수 있게 되었습니다.
-
협업 도구: 여러 개발자들이 동시에 같은 코드에서 작업하는 것은 복잡한 작업일 수 있습니다. 하지만 깃은 이를 간단하게 만들어줍니다. 브랜치(Branch) 및 충돌(Conflict) 감지와 같이 여러 기능을 통해 각자의 작업 내용을 충돌 없이 병합할 수 있게 도와줍니다.
이런 문제점을 해결하기 위해 리눅스 운영체제(OS)를 개발한 리누스 토르발즈(Linus Torvalds)가 단 2주만에 완성한 프로그램 입니다.