좋은 코드란 무엇인가?
- 읽기 좋은 코드
- 중복이 없는 코드
- 테스트가 용이한 코드
등등 구글링하면 많은 검색 결과가 나온다.
객체지향프로그래밍이란?
- 객체지향 이전은 컴퓨터가 사고하는대로 프로그래밍 하는 것이었지만, 객체지향 프로그래밍은 인간 중심적 프로그래밍 패러다임이라고 할 수 있다.
즉, 현실 세계를 프로그래밍으로 옮겨와 프로그래밍하는 것을 말한다.
현실 세계의 사물들을 객체라고 보고 그 객체로부터 개발하고자 하는 애플리케이션에 필요한 특징들을 뽑아와 프로그래밍하는 것이다. 이것을 추상화라고 한다.
객체지향프로그래밍을 하면 이미 작성한 코드에 대한 재사용성이 높다. 자주 사용되는 로직을 라이브러리로 만들어두면 계속해서 사용할 수 있다. 또한 내부적으로 어떻게 동작하는지 몰라도 개발자는 라이브러리가 제공하는 기능들을 사용할 수 있기 때문에 생산성이 높아지게 된다.
RESTful API란?
- 웹상의 자원을 고유한 주소(URI)로 지정하고, HTTP 메서드(GET, POST, PUT, DELETE)를 통해 클라이언트와 서버가 데이터를 주고받는 설계 방식을 의미한다.
MVC란?
M과 V와 C가 나뉘어 서버를 구성.
- 컨트롤러
일종의 조정자. 클라이언트의 요청을 받았을 때, 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출한다. 모델이 업무를 마치면 그 결과를 뷰에게 전달.
- 모델
컨트롤러가 호출할 때, 요청에 맞는 역할을 수행한다. 비지니스 로직을 구현하는 영역으로 응용 프로그램에 데이터를 처리하는 부분. 비지니스 로직이란 업무에 필요한 데이터처리를 수행하는 응용프로그램의 일부라고 할 수 있다. DB에 연결하고 데이터를 추출하거나 저장, 삭제, 업데이트, 변환 등의 작업을 수행한다. 상태의 변화가 있을 때 컨트롤러와 뷰에 통보해 후속 조치 명령을 받을 수 있게 한다.
- 뷰
컨트롤러로부터 받은 모델의 결과값을 가지고 사용자에게 출력할 화면을 만드는 일을 한다. 만들어진 화면을 웹 브라우저에 전송하여 웹 브라우저가 출력하게 하는 것이다.
git이란?
매우 기능이 많은 버전 관리 도구로, 오픈소스에 기여를 하거나, 여러 사람과 공동 작업을 하기 위해 꼭 필요하다.
프로그램의 소스 코드 변경 이력을 관리하고, 여러 사람이 동시에 코드를 수정할 때 발생하는 충돌을 방지하여 원활한 협업을 돋는 ㅂ분산형 버전 관리 시스템(VCS)이다.
더 자세히 알고 싶다면 >> https://www.slideshare.net/slideshow/git-89251791/89251791
깃허브란?
깃으로 관리하는 코드와 기록들을 인터넷 클라우드 공간에 올려두고, 다른 사람들과 소통할 수 있게 해주는 사이트.