inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

173만명의 커뮤니티!! 함께 토론해봐요.

노트 정리해보았어요. 혹시 문제 있으시면 알려주셔요!

스프링 핵심 원리 - 기본편

[문제점] - 클라이언트 (OrderServiceImpl) 고쳐야함 => OCP를 위반함 - OrderServiceImpl이 DiscountPolicy 뿐만 아니라 구현 클래스 FixDiscountPolicy에도 의존하고 있다 => DIP를 위반함 [해결 방법] - 1. DIP 해결 방법: 인터페이스만 의존 하게 한다 -- => 코드 내에서도 객체 할당 X - 객체 할당 X 에서 생기는 NullPointer Exception 문제 해결 방법: -- => 대신 주입할 얘가 필요하다 [강의 느낀점] - 실제 의존 관계 다이어그램에서 화살표를 보니 의존 관계가 확 와닿는다

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 231

AppConfig의 역할이 너무 광범위 하지는 않을까요?

스프링 핵심 원리 - 기본편

질문: - AppConfig의 역할이 너무 광범위 하지는 않을까요? - member service impl 에 주입하는 구체 클래스는 동적으로 runtime 시 정하는 방법도 있을까요? 깨달음: - final 변수를 만들면 기본 할당 또는 생성자를 통해서 할당 되어야 함 - Command + E: 과거 했던 파일들 다보는 방법 => vim: ls [관심사의 분리] - 공연 => 역할의 구현을 누가 정하는가: 기획자 - 기획자 => AppConfig [AppConfig] - 역할 => 구현 생성 => 역할에 설정 => 기획자로서 역할을 갖는 ROLE에 맞는 구현 ACTOR를 배정함 - 역할에 설정 방법: -- 생성자 주입 [Injection] - Injection => 역할에 구체화를 부여 - DIP를 지킨다 => 구현 클래스를 몰라도 된다. ==> 역할인 인터페이스만 의존한다. - OCP를 지킨다 => (closed) 역할을 사용하는 클라이언트가 구현 클래스를 의지 않해서 구현이 바뀔 때마다 수정할 필요가 없다 => (open) 클라이언트 수정 없이 언제든지 추가 구현 클래스를 만들어서 클라이언트에 적용 할 수 있다 - Dependency Injection => 의존 관계 주입 ==> 클라이언트가 의존하는 것을 클라이언트 외부에서 주입

  • spring
  • 객체지향
Tai Sun Park 댓글 0 좋아요 0 조회수 240

순진한 개발자 여기 있어요

스프링 핵심 원리 - 기본편

아래와 같이 정리해보았습니다. 혹시 더 필요한 부분이 있을까요? [agile manifesto] 느낀점: - 기준을 제시해주어서 좋다 - 개발 할 때 고려 할 기준: -- 개인의 생각을 중요시하고 상호 교류가 잘 일어나는 것이 중요 -- 문서화 할 시간에 더 나은 제품 -- 고객과 협력에 집중하고 계약 협상에 대한 생각은 나중에 -- 필요에 따른 변화를 우선. 계획에 집착하기보다 [test] 깨달은점: - test 코드 파일 작성 쉽게 가능하다 느낀점: - 아직 SOLID가 안되는 문제점은 말씀해주시지 않았다

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 1 조회수 234

MemberRepository 공유가 되나요?

스프링 핵심 원리 - 기본편

질문: - Member Repository가 OrderService와 MemberService 사이에 어떻게 공유 될 수 있을지 => 내 생각: final이 영향을 준다? => 실제 답: repository 내 store가 static으로 선언되어서 그렇다 느낀점: - 단위테스트가 중요하다 => 단위테스트로 점점 쌓아 점점 더 크게 테스트하는 것이다 - 이렇게 역할과 구현을 나눠서 개발만 한 것도 잘한 것이다 => 실무에서 이렇게만 해주는 것을 1차 단계로 해보자

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 367

discountPrice가 최종 할인된 가격 맞을까요?

스프링 핵심 원리 - 기본편

[수업 노트 공유] 깨달음: 1. 단일 설계 원칙을 잘 지켰다: - "Order 생성 시 DiscountPolicy는 나는 모르겠고~ 할 수 있다. 질문: 1. discountPrice가 최종 할인된 가격 맞을까요? - discount 함수는 얼마나 할인 되는지를 알려주는 함수 아닌가요?

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 332

여러분은 어떤 깨달음이 있으셨나요?

스프링 핵심 원리 - 기본편

< 노트 > 깨달음: 주문 서비스를 하나 둔다 => 주문 생성 서비스 제공하고 => 결과로 주문 결과를 반영 => 주문 결과에는 회원 등급 별 할인 정책에 의한 가격이 들어감 ==> 회원 등급 조회하기 위한 회원 서비스 ==> 할인 정책 적용하기 위한 할인 정책 서비스가 필요함 할인 정책이 하나의 역할이 될 수 있다 => 구현은 정액, 정률. 협력 관계: 역할을 통한 체계 => 재사용: 구현 바꿔서 체계 세부 내용을 바꿀 수 있다

  • spring
  • 객체지향
Tai Sun Park 댓글 0 좋아요 0 조회수 219

한번 정리해보았어요! 어떠신가요?

스프링 핵심 원리 - 기본편

[리뷰] 클래스 다이어그램 => 정적 객체 다이어그램 => 동적 [JUNIT] 배운점: - 사용시 given, when, then 적기 검증: - org.assertj.core.api 쓰기 이제 테스트: - 눈으로 검증 하는 테스트 => 테스트 코드를 통한 검증 [DIP] DIP 위반: => 한개의 클래스 내에서 인터페이스와 구현체 두가지를 의존함

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 208

배운점 어떤가요?

스프링 핵심 원리 - 기본편

< 느낌점 > - 동시성 이슈가 있을때? => Concurrent Hashmap 사용! - 구현체 하나 있을때? => 이름 뒤 Impl 이라고 많이 쓰임!

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 230

클래스 다이어그램에 추가적으로 객체 다이어그램이 필요하군요

스프링 핵심 원리 - 기본편

아래 처럼 이해했는데 맞을까요? < 클래스 그림> => 점선: 상속, 실선: 뭔가 사용하는 인터페이스? - 회원 서비스에 하나의 인터페이스 MemberService - 이것의 구현체 MemberServiceImpl 이 있다 - 회원 저장소에 대한 인터페이스 MemberRepository 를 두고 - MemberServiceImpl 은 인터페이스 MemberRepository 를 조작 < 객체 그림> => "new 한 인스턴스 끼리의 참조" - 어떤 MemberRepository 를 쓸지를 나타냄 => 회원 서비스 (impl) 은 메모리 회원 저장소 사용 (MemoryMemberRepository)

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 208

다음 강의 듣기 전 설계해봤어요. 어떤 점을 개선해야 할까요?

스프링 핵심 원리 - 기본편

설계: < 미확정 부분에 대한 설계 > 회원 역할: DB 클래스를 추상화 구현: 자체 DB인지 외부 시스템 인지에 따라 달라짐 주문과 할인 정책 역할: 할인 정책 구현: VIP의 할인 정책, 나중에 정할 할인 정책 감사드립니다.

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 310

강의 정리 해보았는데요. 어떤가요?

스프링 핵심 원리 - 기본편

깨달음 - OCP, DIP를 지키면 => 스프링 프레임워크를 만들게 됨 정리 - 설계 핵심: 역할과 구현 분리 -- 모든 설계에 인터페이스를 부여하자 --- 추상화란 비용 => 장점 보다 단점이 클 때 ---- 변화 할 것 같다 => 인터페이스. 안변한다 => 구현클래스.

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 449

스프링 넘어가기 전에 들어야할 로드맵 질문

김영한의 실전 자바 - 기본편

원래는 실전편 듣고 스프링을 수강하려고 했는데요 최근에 선생님께서 중급편 강좌도 업로드하셨던데, 그것까지 마치고 넘어가는게 맞을까요?

  • java
  • 객체지향
디와이 댓글 1 좋아요 0 조회수 276

강의 자료에 사용하시는 그림

스프링 핵심 원리 - 기본편

안녕하세요! 강의 자료에 사용하시는 그림 만드실 때 따로 사용하시는 도구가 있는지 궁금합니다.

  • spring
  • 객체지향
김학준 댓글 1 좋아요 0 조회수 237

이해 잘한 것일까요?

스프링 핵심 원리 - 기본편

SRP 단일 책임 원칙 - 하나의 책임이라는 것은 모호하다. => 문맥과 상황에 따라 다르다 ==> 책임을 잘 조절하는 것이 묘미 - 기준이란 것은 변경 => 변경이 있을 때 파급 효과가 적도록 OCP 개방-폐쇄 원칙 - 확장: O, 변경: X => 별도의 뭔가가 필요하다 - 핵심: 별도의 뭔가 - 스프링 컨테이너 LSP 리스코프 치환 원칙 - 핵심: 인터페이스 규약을 맞춰야 한다 ISP 인터페이스 분리 원칙 - 핵심: 인터페이스는 잘게 나눠라 => 물론 이것도 너무 잘게 말고. 잘 조절하는 것이 묘미 DIP 의존관계 역전 원칙 - 핵심: (역할) 기능은 인터페이스의 역할 안에서 모두 설명되어야 한다. => 클라이언트는 (구현) 을 모르고 (역할) 만 가지고 해야 한다. ==> 근데, 다형성을 쓰더라도 parent = child 를 대입하여, child 에 의존한다. - 어떻게 해야 해? => spring

  • spring
  • 객체지향
Tai Sun Park 댓글 1 좋아요 0 조회수 193

OpenJDK 버전 업데이트에 대한 문의 드립니다.

김영한의 실전 자바 - 중급 1편

영한님 안녕하세요! 입문, 기본편에 이어 따끈따끈한 중급편을 수강중인 수강생입니다. https://openjdk.org/projects/jdk/22/ 위 링크에서 보면 OpenJDK 22버전이 2024. 03. 19에 출시되었습니다. 그래서 IntelliJ 에서도 OpenJDK 22 버전이 기본으로 선택되도록 변경되었더라구요. 정확한 이유는 모르겠지만 OpenJDK 구버전은 UI에서 제공하지 않는 것 같습니다. 강의를 수강하는데 버전업에 따른 문제는 크지 않을 것 같지만, 강의에서는 특정 버전이 명시되어 있어서.. 최신 버전 호환에 대한 말씀은 따로 없으셔서 한번 언급해주시면 좋을 것 같아서 문의 남깁니다! [2024. 03. 28 - 기본 버전이 22] [21버전 선택해도 Oracle OpenJDK 21은 없음]

  • java
  • 객체지향
  • openjdk
  • intellij
JJK 댓글 1 좋아요 2 조회수 1055

비전공자 고민입니다ㅠㅠ

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

안녕하세요 선생님 진로 고민과 궁금증이 있습니다. 우선 저는 비전공자입니다ㅠㅠ 백엔드 개발자가 되고싶은데 인터넷에 검색하고 찾아봐도 어떤 순서로 공부를 해야할지 잘 모르겠습니다.. 독학으로 할 생각입니다.. 우선 java를 듣고 spring를 순서로 듣는다고 하는데 python도 들어야한다고 하고 api랑 jpa, DB도 있다고 알아봤습니다. 또 찾아보니 c언어를 먼저 공부하라고 나와있기도 하고.. 오히려 너무 많은 정보로 혼란스럽습니다ㅠㅠ 어떤 걸 먼저 공부하고 순차적으로 어떤 언어와 커리큘럼으로 해야하는지 알려주세요ㅠㅠ 너무 복잡해서 api랑 jpa도 자바랑 같은 언어인건지.. 너무 헷갈립니다. 가야할 길을 알고 갈 수 있게 도와주세요ㅠㅠ

  • java
  • 객체지향
권정익 댓글 2 좋아요 0 조회수 624

대학교 휴학생 고민이 있어요

김영한의 실전 자바 - 기본편

안녕하세요, 대학교 4학년 휴학생입니다. 현재 저의 상태는 프로그래밍 언어로 자바와 mysql db만 조금 다룰줄 아는 상태입니다. 졸업을 하기 위해선 졸작을 준비해야하는데 저의 개인 능력 부족으로 휴학을 한 상태고 휴학하면서 공부를 어떻게 해야할까 하다가 김영한선생님의 강의를 접하게 되었습니다. 그런데 자바 공부만 해봤지 아직 스프링을 해보진 않았지만 졸업작품을 해야하는데 감이 잘 안잡힙니다. 저에겐 6개월이라는 시간이 있는데 개발자님이 만드신 로드맵을 천천히 해보면 졸업작품주제, 졸업작품을 만들수있는 개발 실력이 될까요? 구글이나 네이버 자료를 찾아봐도 잘모르겠고 조금 답답한 마음에 고민을 풀어봅니다.

  • java
  • 객체지향
김병곤 댓글 2 좋아요 0 조회수 628

진로적 고민입니다. 선생님 ㅠ 조언 부탁드립니다.

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

선생님 안녕하십니까 현직 프론트엔드 개발자로 2년차인 개발자입니다. 선생님 제가 백엔드로 전향하고자 하는 의지가 있어 고민되어 글을 남기게 되었습니다... 현실적으로 공부만 하기엔 돈이 좀 문제이 이기도 해서 선생님 강의로 준비를 해보려고합니다. 부트캠프같은 곳도 좋겠지만 시간 할당을 할수는 없고 일을 쉬는것도 부담인지라 ㅠㅠ 의지는 충만한데 이게 선생님 강의를 가지고 제가 취업을 할 수 있을지 앞으로의 조언이나 그런 방향성에 대해서 듣고싶어 이렇게 글을 남깁니다. 현재 비공자 출신이여서 cs적 공부를 더하고싶어서 현재 방송대 컴퓨터 공학과에도 진학해서 학업 병행중인데 조언 부탁드리겠습니다 ㅠ

  • java
  • 객체지향
uphoon 댓글 1 좋아요 0 조회수 420

안녕하세요 고민좀 들어주십쇼 ㅠ

김영한의 실전 자바 - 기본편

일단 저는 안드로이드 앱 개발자를 목표로 하고있어요. 강의 내용에서 자바 스프링이란것이 중요하게 언급되던데 안드로이드 앱개발에도 쓰이는지 궁금합니다. 그리고 이제 무엇을 해야 할지 길을 잃었습니다 ㅠㅠ. 안드로이드 스튜디오로 간단한 앱 만드는 걸 무작정 따라해 보는게 좋을지 ..

  • java
  • 객체지향
준호 댓글 1 좋아요 0 조회수 520

혹시 냅색문제의 경우 dp를 1차원으로 해결 할 수 있는 방법은 없을까요?

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

public class BOJ_12865 { static int N; static int K; static int[][] merchandise; // 0 : 무게, 1 : 가치 static int[][] dp; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); K = sc.nextInt(); merchandise = new int[N][2]; dp = new int[10000000][N]; for (int i = 0; i < 10000000; i++) { for (int j = 0; j < N; j++) { dp[i][j] = -1; } } for (int i = 0; i < N; i++) { merchandise[i][0] = sc.nextInt(); merchandise[i][1] = sc.nextInt(); } int max = recursion(0, 0); System.out.println(max); } private static int recursion(int index, int weight) { if (weight > K) { return Integer.MIN_VALUE; } if (index == N) { return 0; } if (dp[weight][index] != -1) { return dp[weight][index]; } dp[weight][index] = Math.max(recursion(index + 1, weight), recursion(index + 1, weight + merchandise[index][0]) + merchandise[index][1]); return dp[weight][index]; } 안녕하세요 덕분에 강의 잘 듣고 있는 수강생입니다. 냅색 문제를 풀고 있는데, 최대 가능한 무게의 경우 100 (배낭 물품의 최대 개수) * 100,000(각 물건의 최대 무게) 로 생각보다 생성해줘야하는 배열의 크기가 크더라구요. 그래서 혹시 dp를 1차원 배열로 생성하면 어떻게 되는 지 궁금하여 1차원 배열로 해본 결과, 무게를 고려하지 않고 dp의 무게 갱신을 하게 되어 답이랑은 다르게 나오네요. 혹시 1차원 배열을 시도하려고 할 때 제가 놓치고 있는 부분이 있을까요?감사합니다.

  • 코딩-테스트
  • 알고리즘
  • java
Tommy 댓글 1 좋아요 0 조회수 376

인기 태그

인프런 TOP Writers

주간 인기글