
디버깅
- 소프트웨어에 발생하는 문제의 원인을 찾는 것
- 프로그램에 문제가 생겼을 경우에만 하는 것이 아님
컴파일러 vs 인터프리터
컴파일 언어
- 코드를 미리 번역
- 컴파일러가 코드를 번역하여 컴퓨터에게 전달
- C, C++, JAVA
인터프리터 언어
- 스크립트 언어라고도 불림
- 실행할 때마다 실시간으로 번역
- 코드 수정이 잦은 서비스의 경우 업데이트가 수월함
- 실행속도는 컴파일러 언어에 비해 느림
- 프로그래머가 짠 코드가 그대로 배포되어 사용되기 때문에 코드가 쉽게 누출됨
- 자바스크립트, 파이썬, 루비
빌드
- 작업하는 프로젝트 파일들을 출시하기 적합한 형태로 포장하는 일
배포
- 코딩해서 빌드한 결과물을 사용자에게 전달하는 과정
환경변수
- 다양한 용도로 각 환경마다의 값을 지정할 때 사용
환경 - 소프트웨어가 동작하는 공간
환경'변수' - 컴퓨터마다 지정된 값
라이브러리 vs 프레임워크

라이브러리
- 각각의 자재들
- 특정 기능들이 함수나 클래스 등의 형태로 공개돼서 이를 가져다가 내 소프트웨어에 붙여넣어 사용할 수 있는 것
- 어떤 소프트웨어에든 필요시 가져다 붙여넣을 수 있도록 모듈화된 코드, 또는 그 묶음
프레임워크
- 기본 골격을 갖춘 집 조립 키트
- 소프트웨어의 기초 설계가 프로그래밍 되어 있는 상태에서 덧붙여서 내가 원하는 프로그램을 만듦
- 스프링, 장고, .NET, 라라벨, Express, Vue