본문 바로가기

전체 글400

[Spring] 4. 스프링 빈과 의존관계 1. 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자. 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberController { private final MemberService memberService; @Autowired public Member.. 2023. 11. 9.
[스터디] 일급 컬렉션 발표 자료 일급 컬렉션이란? 규칙 8 : 일급 컬렉션 사용 이 규칙의 적용은 간단하다. 컬렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 컬렉션은 그 자체로 포장돼 있으므로 이제 콜렉션과 관련된 동작은 근거지가 마련된 셈이다. 필터가 이 새 클래스의 일부가 됨을 알 수 있다. 필터는 또한 스스로 함수 객체가 될 수 있다. 또한 새 클래스는 두 그룹을 같이 묶는다든가 그룹의 각 원소에 규칙을 적용하는 등의 동작을 처리할 수 있다. 이는 인스턴스 변에 대한 규칙의 확실한 확장이지만 그 자체를 위해서도 중요하다. 컬렉션은 실로 매우 유용한 원시 타입이다. 많은 동작이 있지만 후임 프로그래머나 유지보수 담당자에게 의미적 의도나 단초는 거의 없다. - 소트웍스 앤솔로지 객체지향 생활체조편 한 마디로 Col.. 2023. 11. 9.
[우테코] 2주차 회고 2주차 미션 2주차 미션은 자동차 경주 게임이었다! 이 또한 주제만 보면 그렇게 어려워보이지는 않았지만 나에게는 큰 산이 있었다... 바로 테스트 코드 작성이라는 산이었다ㅠ 테스트 코드에 대한 개념만 알고 있고 직접 작성해 본 경험이 많지 않은지라 겁부터 먹었던 것 같다.😢 원래 포함되어 있단 test/java/study 내 코드들을 살펴보기도 하고 따로 테스트 코드 작성법에 대해 공부도 많이 해야 했었다. 기능 목록 1주차보다 꼼꼼히 작성하려고 노력하였다. 하지만 뭔가 마음에 들지 않았는데... 이유를 다시 생각해보니 나는 클래스와 함수를 먼저 다 짜놓고 난 후에 기능 목록을 작성하려고 하였는데, 이 방법이 오히려 어려웠던 것 같다. 차라리 정리되지 않은 기능들을 먼저 쭉 적어보고 그 후에 함수나 클래.. 2023. 11. 5.
[우테코] BE 2주차 공통 피드백 README.md를 상세히 작성한다 미션 저장소의 README.md는 소스코드에 앞서 해당 프로젝트가 어떠한 프로젝트인지 마크다운으로 작성하여 소개하는 문서이다. 해당 프로젝트가 어떠한 프로젝트이며, 어떤 기능을 담고 있는지 기술하기 위해서 마크다운 문법을 검색해서 학습해 보고 적용해 본다. 기능 목록을 재검토한다 기능 목록을 클래스 설계와 구현, 함수(메서드) 설계와 구현과 같이 너무 상세하게 작성하지 않는다. 클래스 이름, 함수(메서드) 시그니처와 반환값은 언제든지 변경될 수 있기 때문이다. 너무 세세한 부분까지 정리하기보다 구현해야 할 기능 목록을 정리하는 데 집중한다. 정상적인 경우도 중요하지만, 예외적인 상황도 기능 목록에 정리한다. 특히 예외 상황은 시작 단계에서 모두 찾기 힘들기 때문에 기능.. 2023. 11. 5.
[스터디] SOLID 원칙 발표 자료 SOLID 관련 자료 https://www.nextree.co.kr/p6960/ 객체지향 개발 5대 원리: SOLID 현재를 살아가는 우리들은 모두 일정한 원리/원칙 아래에서 생활하고 있습니다. 여기서의 원칙 이라 함은 좁은 의미로는 개개인의 사고방식이나 신념, 가치관 정도가 될 수가 있겠고, 넓게는 한 www.nextree.co.kr https://mangkyu.tistory.com/194 [OOP] 객체지향 프로그래밍의 5가지 설계 원칙, 실무 코드로 살펴보는 SOLID 이번에는 객체 지향 프로그래밍의 5가지 핵심 원칙인 SOLID에 대해 알아보고자 합니다. 실제로 애플리케이션을 개발할 때 어떻게 적용할 수 있을지 구체적인 예시를 들어 살펴보고자 합니다. 아 mangkyu.tistory.com htt.. 2023. 11. 2.
[Spring] 3. 회원 관리 예제 1. 비즈니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클래스 의존관계 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 2. 회원 .. 2023. 10. 31.