이야기를 나눠요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
스프링 핵심 원리 - 기본편
여러분은 어떤 깨달음이 있으셨나요?
< 노트 >깨달음:주문 서비스를 하나 둔다=> 주문 생성 서비스 제공하고=> 결과로 주문 결과를 반영=> 주문 결과에는 회원 등급 별 할인 정책에 의한 가격이 들어감==> 회원 등급 조회하기 위한 회원 서비스==> 할인 정책 적용하기 위한 할인 정책 서비스가 필요함할인 정책이 하나의 역할이 될 수 있다=> 구현은 정액, 정률.협력 관계: 역할을 통한 체계=> 재사용: 구현 바꿔서 체계 세부 내용을 바꿀 수 있다
-
스프링 핵심 원리 - 기본편
한번 정리해보았어요! 어떠신가요?
[리뷰]클래스 다이어그램=> 정적객체 다이어그램=> 동적[JUNIT]배운점:- 사용시 given, when, then 적기검증:- org.assertj.core.api 쓰기이제 테스트:- 눈으로 검증 하는 테스트 => 테스트 코드를 통한 검증[DIP]DIP 위반:=> 한개의 클래스 내에서 인터페이스와 구현체 두가지를 의존함
-
스프링 핵심 원리 - 기본편
배운점 어떤가요?
< 느낌점 >- 동시성 이슈가 있을때?=> Concurrent Hashmap 사용!- 구현체 하나 있을때?=> 이름 뒤 Impl 이라고 많이 쓰임!
-
스프링 핵심 원리 - 기본편
클래스 다이어그램에 추가적으로 객체 다이어그램이 필요하군요
아래 처럼 이해했는데 맞을까요? < 클래스 그림>=> 점선: 상속, 실선: 뭔가 사용하는 인터페이스?- 회원 서비스에 하나의 인터페이스 MemberService- 이것의 구현체 MemberServiceImpl 이 있다- 회원 저장소에 대한 인터페이스 MemberRepository 를 두고- MemberServiceImpl 은 인터페이스 MemberRepository 를 조작 < 객체 그림>=> "new 한 인스턴스 끼리의 참조"- 어떤 MemberRepository 를 쓸지를 나타냄=> 회원 서비스 (impl) 은 메모리 회원 저장소 사용 (MemoryMemberRepository)
-
스프링 핵심 원리 - 기본편
다음 강의 듣기 전 설계해봤어요. 어떤 점을 개선해야 할까요?
설계:< 미확정 부분에 대한 설계 >회원역할: DB 클래스를 추상화구현: 자체 DB인지 외부 시스템 인지에 따라 달라짐 주문과 할인 정책역할: 할인 정책구현: VIP의 할인 정책, 나중에 정할 할인 정책감사드립니다.
-
스프링 핵심 원리 - 기본편
강의 정리 해보았는데요. 어떤가요?
깨달음- OCP, DIP를 지키면 => 스프링 프레임워크를 만들게 됨정리- 설계 핵심: 역할과 구현 분리-- 모든 설계에 인터페이스를 부여하자--- 추상화란 비용 => 장점 보다 단점이 클 때---- 변화 할 것 같다 => 인터페이스. 안변한다 => 구현클래스.
-
김영한의 실전 자바 - 기본편
스프링 넘어가기 전에 들어야할 로드맵 질문
원래는 실전편 듣고 스프링을 수강하려고 했는데요최근에 선생님께서 중급편 강좌도 업로드하셨던데, 그것까지 마치고 넘어가는게 맞을까요?
-
스프링 핵심 원리 - 기본편
강의 자료에 사용하시는 그림
안녕하세요! 강의 자료에 사용하시는 그림 만드실 때 따로 사용하시는 도구가 있는지 궁금합니다.
-
스프링 핵심 원리 - 기본편
이해 잘한 것일까요?
SRP 단일 책임 원칙- 하나의 책임이라는 것은 모호하다.=> 문맥과 상황에 따라 다르다==> 책임을 잘 조절하는 것이 묘미- 기준이란 것은 변경=> 변경이 있을 때 파급 효과가 적도록OCP 개방-폐쇄 원칙- 확장: O, 변경: X=> 별도의 뭔가가 필요하다- 핵심: 별도의 뭔가 - 스프링 컨테이너LSP 리스코프 치환 원칙- 핵심: 인터페이스 규약을 맞춰야 한다ISP 인터페이스 분리 원칙- 핵심: 인터페이스는 잘게 나눠라=> 물론 이것도 너무 잘게 말고. 잘 조절하는 것이 묘미DIP 의존관계 역전 원칙- 핵심: (역할) 기능은 인터페이스의 역할 안에서 모두 설명되어야 한다.=> 클라이언트는 (구현) 을 모르고 (역할) 만 가지고 해야 한다.==> 근데, 다형성을 쓰더라도 parent = child 를 대입하여, child 에 의존한다.- 어떻게 해야 해?=> spring
-
김영한의 실전 자바 - 중급 1편
OpenJDK 버전 업데이트에 대한 문의 드립니다.
영한님 안녕하세요!입문, 기본편에 이어 따끈따끈한 중급편을 수강중인 수강생입니다. 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를 듣고 spring를 순서로 듣는다고 하는데 python도 들어야한다고 하고 api랑 jpa, DB도 있다고 알아봤습니다.또 찾아보니 c언어를 먼저 공부하라고 나와있기도 하고..오히려 너무 많은 정보로 혼란스럽습니다ㅠㅠ어떤 걸 먼저 공부하고 순차적으로 어떤 언어와 커리큘럼으로 해야하는지 알려주세요ㅠㅠ너무 복잡해서 api랑 jpa도 자바랑 같은 언어인건지.. 너무 헷갈립니다.가야할 길을 알고 갈 수 있게 도와주세요ㅠㅠ
-
김영한의 실전 자바 - 기본편
대학교 휴학생 고민이 있어요
안녕하세요, 대학교 4학년 휴학생입니다. 현재 저의 상태는 프로그래밍 언어로 자바와 mysql db만 조금 다룰줄 아는 상태입니다. 졸업을 하기 위해선 졸작을 준비해야하는데 저의 개인 능력 부족으로 휴학을 한 상태고휴학하면서 공부를 어떻게 해야할까 하다가 김영한선생님의 강의를 접하게 되었습니다.그런데 자바 공부만 해봤지 아직 스프링을 해보진 않았지만 졸업작품을 해야하는데 감이 잘 안잡힙니다. 저에겐 6개월이라는 시간이 있는데 개발자님이 만드신 로드맵을 천천히 해보면 졸업작품주제, 졸업작품을 만들수있는 개발 실력이 될까요?구글이나 네이버 자료를 찾아봐도 잘모르겠고 조금 답답한 마음에 고민을 풀어봅니다.
-
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
진로적 고민입니다. 선생님 ㅠ 조언 부탁드립니다.
선생님 안녕하십니까 현직 프론트엔드 개발자로 2년차인 개발자입니다. 선생님 제가 백엔드로 전향하고자 하는 의지가 있어 고민되어 글을 남기게 되었습니다...현실적으로 공부만 하기엔 돈이 좀 문제이 이기도 해서선생님 강의로 준비를 해보려고합니다. 부트캠프같은 곳도 좋겠지만 시간 할당을 할수는 없고 일을 쉬는것도 부담인지라 ㅠㅠ 의지는 충만한데 이게 선생님 강의를 가지고 제가 취업을 할 수 있을지 앞으로의 조언이나 그런 방향성에 대해서 듣고싶어 이렇게 글을 남깁니다.현재 비공자 출신이여서 cs적 공부를 더하고싶어서 현재 방송대 컴퓨터 공학과에도 진학해서 학업 병행중인데 조언 부탁드리겠습니다 ㅠ
-
김영한의 실전 자바 - 기본편
안녕하세요 고민좀 들어주십쇼 ㅠ
일단 저는 안드로이드 앱 개발자를 목표로 하고있어요. 강의 내용에서 자바 스프링이란것이 중요하게 언급되던데 안드로이드 앱개발에도 쓰이는지 궁금합니다. 그리고 이제 무엇을 해야 할지 길을 잃었습니다 ㅠㅠ. 안드로이드 스튜디오로 간단한 앱 만드는 걸 무작정 따라해 보는게 좋을지 ..
-
스프링 핵심 원리 - 기본편
현재 강의를 듣고 다음 강의를 어떤걸 수강해야 할지 고민입니다
현재 강의 에선 야생형 코스를 추천 해주시는데 저는 강의를 로드맵으로 구매하여 수강중 입니다. 현재 로드맵은 http mvc db 접근 순으로 짜여져 있는것으로 알고 있습니다.지듬 다음으로 강의에서 추천해주신 커리큘럼 방향의 강의는 다른 로드맵에 있는 강의인것으로 알고 있는데 현재 로드맵에 해당하는 Http강의를 수강후 Mac강의를 이어서 수강하는것은 추천해주시는 방법이 아닌지 고민입니다. 웹 백엔드 개발자 취업을 위해 수강중인데 현재시점에서는 어느 강의를 이어나가는 것이 더 좋을지 방향을 잡아주시면 감사하겠습니다.
-
김영한의 실전 자바 - 기본편
강의 수강 질문
안녕하세요 현재 김영한님 자바 강의까지 다 수강하였고 spring 강의를 들을 예정입니다. 김영한님 스프링을 db관련 강의가 있는데 이 강의를 수강 하기전에 mysql과 같은 강의를 수강하고 기본적인 쿼리를 짤 수있는 상태에서 spring db강의를 들어야 하나요??김영한님 강의중에 db(mysql,MongoDB)자체에 대한 강의는 없는 것 같아서 따로 다른걸 수강해야하는지 알고싶어서 질문합니다.
-
스프링 핵심 원리 - 기본편
9분 13초 코드 실행 하면 객체 주소가 다 다른값이 나와요
강의에서는 다 같은 값으로 나오는데, 저는 왜 다른값으로 나올까요? ㅠ package hello.core.member; public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository; public MemberServiceImpl(MemoryMemberRepository memoryMemberRepository) { this.memberRepository = memoryMemberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } //테스트용도 public MemberRepository getMemberRepository(){ return memberRepository; } } package hello.core.member; public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository; public MemberServiceImpl(MemoryMemberRepository memoryMemberRepository) { this.memberRepository = memoryMemberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } //테스트용도 public MemberRepository getMemberRepository(){ return memberRepository; } }package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); int discountPrice = discountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } public MemberRepository getMemberRepositoryO() { return memberRepository; } } 강의코드
-
김영한의 실전 자바 - 기본편
스프링 입문 강의 듣기 전 어디까지 들어놔야 하나요?
스프링 입문 강의 시작 전에 김영한 님의 자바 문법 강의 중급, 고급까지 다 듣고 나서 들어아하나요? 아니면 이 실전 자바 기본편 학습 후에 바로 넘어가도 무방한가요?
-
김영한의 실전 자바 - 기본편
감이 없는 개발자의 진로
김영한 선생님의 자바 기본까지 수강했습니다. 백문이 불여일타 무한 반복하며 공부하고 있으나부끄럽지만, 냉정하게 따졌을 때 개발자로 감이 없다고 결론이 섰습니다. 그럼에도 현재 행정직으로 근무하며 열악한 대우(상승률 없는 급여) 등희망이 없다고 판단해, 개발자로 직종을 전환할 예정입니다. 선생님께서 동기부여 1~3탄, 주니어 개발자 관련 인프런 특강 등을 통해개발 자체를 즐기고, 자발적으로 공부를 계속 해야하는 영역이라고 하셨는데요. 저의 고민은추후 자녀 양육 등 개인적인 상황으로 인해퇴근 후 고정적으로 기술 향상에 시간을 투자가 어렵다는 점입니다. 감이 없는 개발자이면서, 실력 향상을 위한 시간투자에 제약이 있는 경우장기적으로 어떤 개발 분야의 진로와 회사가 현명할지 조언 구하고 싶습니다. 크게는 사기업(si, sm 등) 또는 공기업부터 고민입니다.현재 공공기관에서 n년차로 재직 하며같은 회사 전산직렬을 보며, 행정직도 할 수 있는 일이라는 카더라를 듣곤 하는데요. 공기업 it직렬은 어떤 기술적 강점을 가지고 있어야 하는지사기업이 원하는 개발 자체 실력에 비해서는 공기업은 개발 외 부수적인 능력이 더 강조되는지 궁금합니다. 또 백엔드 개발자를 준비하면서, 안정적인 회사 생활을 위해서는어떤 기업 분야 또는 세부 포지션이 적합할지 조언을 구할 수 있을까요? 최근 찾아본 회사 중 1개를 언급하자면 XX의 경우 너무 안정적여서 성장(이직)을 위해서는 사이드 프로젝트를 따로 해야한다고 하는데저는 성장이 다소 정체되더라도 안정적인 환경의 회사를 원하는 거같습니다. 저는 만 나이로 20대 후반 기혼 여성이고, 비전공자로 작년 it분야에 입문하여한해 동안 정처기, sqld, adsp를 취득했고, 학은제로 컴공학사를 취득했습니다. 퇴근 후, 김영한 선생님 강의로 공부하고 있으며안정적으로 자기계발에 활용 가능한 기간은 약 3년 매일 3시간 가량입니다.
-
스프링 핵심 원리 - 기본편
학습 로드맵 추천을 받고 싶습니다
스프링과 JPA 를 합쳐서는 어떤 로드맵을 추천하시나요? 지금 핵심 원리를 거의 다 듣고 있으니 빨리 무엇가를 만들고 싶다는 생각이 들어 JPA 로드맵을 들을 생각인데 혹시 김영한님 께서 추천하는 2024버전 야생형 로드맵이 있을까요?