목록전체 글 (15)
공부 기록

✅ 들어가며 Git과 Github를 사용할 때 branch를 생성하여 프로젝트를 진행한 적이 없다. 이번 프로젝트에서는 branch를 생성하여 작업해보려고 하는데 그전에 branch의 개념과 사용방법에 대해 먼저 공부해보려고 한다. ✅ 브랜치 📌 브랜치(branch)란? 브랜치(branch)는 개발을 할 때 코드를 통째로 복사한 후 원래 코드와는 상관없이 독립적으로 개발을 진행하는 것을 말한다. 📌 브랜치 사용의 장점 한 소스코드에서 동시에 다양한 작업을 할 수 있다. 소스코드의 한 시점과 동일한 상태를 만들고, 브랜치를 넘나들며 작업을 수행할 수 있다. 각각의 브랜치에서 생긴 변화가 다른 브랜치에 영향을 주지 않고 독립적으로 코딩할 수 있다. 즉, 브랜치를 생성하여 작업하게 되면 편리하게 협업할 수 있..

✅들어가며 도메인 중심 설계를 포스팅하면서 공부했을 때, 데이터 중심 개발은 getter와 setter사용으로 캡슐화가 되지 않는 점을 단점으로 꼽으면서 도메인 중심 개발이 이를 보완할 수 있다고 하였다. 그런데 나는 배달 어플 프로젝트를 시작하며 객체 생성을 위한 클래스를 만들면서 Getter와 Setter를 이용하였다. (이 방법dl 이 아닌 다른 방법으로 클래스를 만들어 본 적이 없기도 하다;;) 그렇다면 도메인 중심 개발에서 클래스를 만들기 위해서는 어떻게 해야할까? 이를 알아보기 위해 Entity, DTO, VO에 대해 정리해 보았다. ✅DTO(Data Transfer Object) 계층(Layer) 간 데이터를 서로 주고받을 때 사용하는 객체이다. 로직을 가지고 있지 않으며, getter와 s..
소프트웨어 설계(Software Design) 소프트웨어 설계는 소프트웨어 해결책을 찾기 위한 계획과 문제해결 과정을 말한다. 객체 지향 설계 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동을 말한다. 좋은 객체지향 설계를 위해서는 협력하는 객체들 사이의 의존성을 적절하게 조절함으로써 변경이 용이한 설계를 만들어야 한다. 좋은 설계의 판단 척도 : 캡슐화, 응집도, 결합도 캡슐화 : 변경 가능성이 높은 부분을 객체 내부로 숨기는 추상화 기법이다. 응집도: 모듈에 포함된 내부 요소들이 연관되어 있는 정도로, 객체지향의 관점에서는 객체 또는 클래스에 얼마나 관련 높은 책임들을 할당했는지를 나타낸다. 응집도가 높은 설계에서는 하나의 요구사항 변경..

들어가며 오늘은 프로그래밍을 배우기 시작한 후로 수없이 들어봤지만 한번도 공부해보지 않았던 API와 REST API에 대해서 정리해보는 시간을 가졌다. API란? 개념 API(Application Programming Interface)는 컴퓨터나 컴퓨터 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다. (위키백과) 좀 더 쉽게 정리하자면, API는 식당의 점원과 같은 역할로 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)을 정리하고, 주문(명령)을 받으면 요리사(응용프로그램) 상의하여 음식(명령에 대한 값) 전달한다. 즉, 프로그램들이 서로 상호작용하는 것을 도와주는 매개체이다. 역할 서버와 데이터베이스에 대한 출입구 역할을 해서 허용된 사람에게..