전체 글 213

스프링 컨테이너

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/lecture/55353?tab=curriculum 스프링 핵심 원리 - 기본편 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 스프링 컨테이너 구조 직접 구성해보기 스프링은 AppConfig의 구성 정보를 이용해 스프링 컨테이너를 구성한다. @Bean 어노테이션이 달려 있는 객체들을 등록하고 이후 각각 객체의 의존 관계를 설정해준다. 그림으로 나타내면 아래와 같다. bean이 잘 ..

Java/Spring 2021.09.07

백엔드 공부 참고 자료들

https://github.com/Lob-dev/Junior-Back-end-Developer-Concepts GitHub - Lob-dev/Junior-Back-end-Developer-Concepts: Java, Spring 위주의 Back-end 신입 개발자를 위한 저장소입니 Java, Spring 위주의 Back-end 신입 개발자를 위한 저장소입니다. 지속적인 개선, 업데이트를 진행하고 있습니다. - GitHub - Lob-dev/Junior-Back-end-Developer-Concepts: Java, Spring 위주의 Back-end 신입 개발자를 위한 github.com

참고 사이트 2021.09.07

의존성관계 주입

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/lecture/55344?tab=curriculum 스프링 핵심 원리 - 기본편 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 위 예시는 오더 서비스 구현 객체 안에서 MemoryMemberRepository와 RateDiscountPolicy 둘을 직접 생성해 사용하고 있기 때문에 DIP, OCP 위반이다. 이를 해결하기 위해선 외부에서 MemoryMemberRepository와..

Java/Spring 2021.09.06

첫 출근 전까지 공부 계획 (~9/22)

1. 스프링 인프런 김영한님 강의 완강 및 블로그에 정리 스프링 핵심 원리 기본편 (인프런) 완강 스프링 MVC 1편 (인프런) 완강 최소 기본편은 완강하고 MVC 1편까지도 노려보자 2. 앵귤러 JS 앵귤러 강의 듣기 인프런 앵귤러 강의 하나 완강 3. SQL SQL 연습 문제 풀어보기 백문이불여일타 sql 중급 강의 완강 (진행중) 4. 네트워크 네트워크 강의 듣기 뉴렉처 리눅스 강의 따라해보기 모든 개발자를 위한 HTTP 웹 기본 지식 (인프런) 완강

객체지향의 사실과 오해 C3

http://www.yes24.com/Product/Goods/18249021?pid=136927&ReturnURL=http://www.yes24.com& 객체지향의 사실과 오해 - YES24 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 www.yes24.com https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=60550259 객체지향의 사실과 오해 위키북스 IT Leaders 시리즈 23권. 객체지향이란 무엇인가? 이 책은 이 질문에 대한 답을 찾기 위해 노력하고 있는 모든 개발자를 위한 책이다. www.aladin.co.kr 추..

OCP, DIP 위반

DIP 위반 (클라이언트 클래스는 인터페이스에만 의존해야함, 역할과 구현을 철저히 분리) OrderServiceImpl가 인터페이스인 MemberRepository와 DiscountPolicy에만 의존되있는 거처럼 보이지만 실제론 구현체인 MemoryMemberRepository, RateDiscountPolicy에도 의존하고 있음 * new를 통해 넣어주고 있기 때문 OCP 위반 (확장을 자유롭게 할 수 있어야하지만 변경시 클라이언트 클래스의 로직에 영향이 가면 X) 할인 정책을 바꿀 때 OrderServiceImpl 내에서 코드 변경이 이루어짐 FixDiscountPolicy -> RateDiscountPolicy

Java/Spring 2021.09.03

단일 책임 원칙 예시

VIP는 무조건 1000원을 할인 해주는 정액 할인 정책 FixDiscountPolicy 객체가 DiscountPolicy 인터페이스에 끼워져있다. 여기서 OrderServiceImpl 입장에선 할인에 대해 전혀 몰라도 됨 할인 정책에 대해선 DiscountPolicy가 알아서 자율적으로 동작 만약 DiscountPolicy가 없다면 할인 정책에 대한 변경이 들어왔을 때 OrderServiceImpl의 로직을 변경해야함 OrderServiceImpl는 주문을 생성하는 하나의 책임, DiscountPolicy는 할인 가격을 알려주는 하나의 책임만 있기 때문에 단일 책임 원칙을 잘 지킨 코드이다.

Java/Spring 2021.08.31

파일 관리 명령어

디렉토리 생성 명령어 : mkdir 파일명 디렉토리 이름 변경 명령어 : mv (이전 디렉토리 이름) (새 디렉토리 이름)d 파일 생성 touch 명령어를 통해 파일을 만들 수 있다. 맨 앞을 보면 d로 시작하는 건 디렉토리, d로 시작하지 않는 건 파일이다. 파일 이동 mv 명령어를 통해 test.txt 파일을 workspace 디렉토리로 이동시켰다. * 여기서 workspace 뒤에 있는 /는 디렉토리를 의미하며 생략해도 문제 없다. ls 디렉토리/ 명령어는 해당 디렉토리 안에 있는 리스트를 출력할 수 있다. 디렉토리, 파일 삭제 rm 명령어는 기본적으로 파일 삭제에 사용, rmdir은 디렉토리를 삭제하는데 사용한다. * rmdir은 디렉토리 안이 비어 있어야 삭제할 수 있다는 단점이 있다. rm 이..

운영체제/Linux 2021.08.30