이야기를 나눠요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
질문드립니다
안녕하세요! 스프링 입문편 듣고 있습니다 들으면서 이해가 가는 부분도 있고 어렵게 느껴지는 부분들이 있는데 이해갈때까지 입문을 돌려보는게 나을까요? 기본편을 결제해서 듣는게 나을까요? 기본편이 더 세세한 설명이 있는지도 궁금합니다
-
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
영한님! 질문있습니다
안녕하세요 영한님 강의를 듣고있는 컴퓨터공학과 학생입니다. 스프링 입문부터 기본강의, HTTP 강의, MVC 1,2편을 모두 수강완료하고 이를 바탕으로 혼자서 간단한 홈페이지도 구현해본 상태입니다. 이번에 2학년으로 복학하는데 2-1 목표가 프론트엔드 친구와 함께 간단한 프로젝트를 하는게 목표입니다. 그런데 지금까지 들어본 강의를 보면 프론트엔드와의 협업보다는 백엔드 혼자서 로직도 구현하고, 뷰 템플릿도 작성하는 형태인거 같습니다. 최근에는 RestFul Api 기반으로 백엔드는 api만 작성하고, 프론트에서 뷰 템플릿까지 처리해주는걸로 알고 있습니다. 지금 가지고 있는 백엔드 지식은 영한님 강의를 통해 배운 내용정도입니다. DB나 API 설계방법, 배포 방법, 시큐리티 등등에 대해서는 모르는 상태입니다. 프론트엔드와 협업하기 위해서 어떤 강의를 듣는게 나을까요?
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
java 중급강의 언제나오나요?!
김영한님 java 중급강의가 24년 초에 나온다고 알고 있는데 3,4월쯤에 나올나요??
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP 수강 중 에러.
질문탭으로 가야하는데 고민으로 작성했네요... 수정으로는 이동이 안되는데 이동 가능하다면 부탁드립니다.ㅠㅠ===========================================AOP 수강 중 에러가 발생했는데 어디를 건드려야할지 잘 모르겠어서 문의 남깁니다.우선 강의와 다른 환경으로 실습해보고 있어 조금씩 코드가 다릅니다.먼저 에러 메세지는 아래 2개입니다.org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberController' defined in file [D:\dev\java\hello-spring\out\production\classes\hello\hellospring\controller\MemberController.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.hellospring.service.MemberService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.hellospring.service.MemberService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}2번 메세지를 보게 되면 MemberService타입의 Qualifying 한 bean이 존재하지 않아 wiring 할수 없다는 에러인데. 스프링을 처음 해보는 입장에서는 그대로 따라 쳤는데 되지 않아 어떻게 더 수정해야할지 고민입니다.관련된 코드 블럭을 첨부 드립니다.SpringConfig.Javapackage hello.hellospring; import hello.hellospring.repository.*; import hello.hellospring.service.MemberService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class SpringConfig { // private EntityManager em; private final MemberRepository memberRepository; public SpringConfig(MemberRepository memberRepository) { this.memberRepository = memberRepository; } // public SpringConfig(EntityManager em) { // this.em = em; // } @Bean public MemberService memberService(){ return new MemberService(memberRepository); } // @Bean // public MemberRepository memberRepository(){ //// return new MemoryMemberRepository(); //// return new JdbcMemberRepository(dataSource); //// return new JdbcTemplateMemberRepository(dataSource); //// return new JpaMemberRepository(em); // } }MemberService.Javapackage hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.JdbcMemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; @Component public class MemberService { private final MemberRepository memberRepository; @Autowired public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } /* * 회원가입 */ public Long join(Member member){ //같은 이름이 있느 중복 회원X validatedDuplicateMember(member); memberRepository.save(member); return member.getId(); } private void validatedDuplicateMember(Member member) { memberRepository.findByName(member.getName()) .ifPresent(m -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); } public List<Member> findMembers(){ return memberRepository.findAll(); } public Optional<Member> findOne(Long memberId){ return memberRepository.findById(memberId); } } application.propertiesspring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=none spring.datasource.username=sagradleplugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '21' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' // implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' } tasks.named('test') { useJUnitPlatform() }MemberController.javapackage hello.hellospring.controller; import hello.hellospring.domain.Member; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @Controller public class MemberController { private final MemberService memberService; @Autowired public MemberController(MemberService memberService) { this.memberService = memberService; } @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } @PostMapping("/members/new") public String create(MemberForm form){ Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } @GetMapping("members") public String list(Model model){ List<Member> members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; } } 감사합니다.
-
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
프로젝트 설계
안녕하세요 프로젝트 관련해서 몇가지 조언을 얻고 싶어서 글을 작성하게 되었습니다.현재 mvc2강의를 듣고 있고 해당 강의를 모두 수강하면 배웠던 것을 간단한 프로젝트를 통해 복습할 생각입니다.저는 지금까지 프로젝트 경험이 없는 상태라 어떻게 설계를 해야할지 감이 잘 잡히지 않습니다. 강의를 들을 때는 이해가 잘 가지만 막상 만들려 하니 어려움이 생기네요.. 패키지 구조, 요청의 흐름, url 등 전체적인 설계를 할 때 도움을 받을 수 있는 책이 있을까요? (여러 권이어도 괜찮습니다.)+영한님 강의 잘 듣고 있습니다, 좋은 강의 만들어 주셔서 감사합니다!
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
공부 방식 질문입니다.
안녕하세요일단 지금 현재 MVC패턴에서 view 분리 하는 과정을 듣고 있는데요, 이 과정들은 결국 spring MVC가 되는 과정을 배우고 있는거잖아요?강의를 보면서 과정도 대략 이해가 되고 코드작성도 잘 따라서 하지만, 강의를 보지 않고 다시 해보라고 하면 하지 못할 것 같습니다. 스스로 구현할 수 있을 만큼 완벽히 외우고 공부를 해야하는 건가요? 아니면 스프링MVC의 내부 그림을 이해하기 위한 정도의 흐름만 알면 되는건가요?
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 소스 코드
현재 자바 기본편까지 듣고 스프링 입문 강의 수강 중입니다. 학업에 있어 건의드릴 사항이 있는데 강의 소스코드가 있었으면 좋겠습니다. 스프링 로드맵을 따라 쭉 공부할 예정인데 이 강의의 다음 강의인 스프링 핵심원리 기본편에도 강의 소스코드가 없는 것 같아 말씀드립니다.감사합니다.
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요. 대용량 트래픽 경험을 쌓고 싶습니다.
안녕하세요. 현재 스타트업에서 근무하고 있는 개발자입니다. 백엔드로 포지션을 변경하고 JAVA 를 공부하기 시작했는데, 기존에 Javascript 와 Python 을 배워서, 백엔드 웹 개발 기술 강의부터 듣게 되었는데, 정말 잘한 선택같습니다. 제가 강의 커리큘럼에 대해서 질문 드리고 싶은 것은 2가지 인데, Javascript 의 비동기 처리 같은 기술은 몇 번째 강의에서 배울 수 있는지??그리고 대용량 트래픽을 직접 만들어보면서, 제가 만든 백엔드의 성능을 테스트 해보고 직접 튜닝도 해보고 싶은데, 이럴 땐 어떤 강의를 들으면 될까요?? 강의나 책 모두 추천 해주시면 감사하겠습니다.
-
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프 공부
삭제된 글입니다
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
로드맵에서 알려준 첫 챕터강의를 보고있습니다.
그런데 정말 무슨 내용인지 잘 모르겠습니다. 자바 입문 교제 공부 를 끝내고 자바 웹 백엔드 공부를 하고 싶어서 찾아 보았는데 자바 웹 백엔드 공부를 하려면 스프링은 필수라고 하여서 수강 중인데 내용 이해가 잘 안됩니다. 이럴땐 일단 완강부터 한 후 에 다시 들어봐야 하나요 너무 힘듭니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요. 고민이있습니다.
자바 언어 공부 문법 전체적인 공부를 한번 마친 학생입니다. 스프링을 해야겠다 싶어 스프링 입문을 듣는데 듣는 도중 뭐지? 문법도 그렇고 잘 이해가 안가는 부분이 많습니다. 코드가 이해가 안가는 부분이 많기도 합니다. 이럴 경우 자바를 다시 한번 듣고 스프링으로 넘어 와서 들어야할까요?
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이클립스와 메이븐..
국비교육으로 현재 학원에서 수강중입니다.이제 곧 스프링을 배우게 되는데 학원에서는 이클립스 사용중이고빌드툴은 메이븐으로 사용한다고 하네요 미리 강의 듣고 공부를 좀 하려고 했는데학원 환경에 맞춰서 이클립스 메이븐으로 설정 맞추고 강의를 들으려고 보니까 패키지 구조도 약간 다르고처음에 환경 설정하면서 오류잡는데만 이틀을 보냈습니다. 그리고 스프링부트 없이 하다보니계속 조금씩 차이가 생기기도 하구요 그래서 그냥 혼자 공부할때만 인텔리제이+그래들로강의랑 똑같이 맞추려고 하는데 괜찮을지 모르겠네요. 가능하면 학원환경에 우선적으로 맞추고강의를 듣고싶었는데 생각보다 다른부분이 많아 고민입니다..타임리프 대신 jsp사용중이기도 하고이렇게 해도 이클립스+메이븐사용하는 학원수업에 지장 없을까요?아니면 어떻게든 이클립스+메이븐으로 가능한한 강의를 따라가는게 맞는지..
-
[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)
자바스크립트 부분 수강 후 공부 문의 드립니다.
저번에 질문 드린 내용에 대해 답변해 주신 상속에 대해서 공부를 하고 나니 코드들이 훨씬 더 이해가 잘 가게 되었습니다 감사합니다!! 그런데 제가 또 고민되는 것이 있어서 질문 드리고 싶은데요보통 제가 지금까지 다른 강의들은 강의를 듣고나서 그 강의에서 사용했던 코드를 가지고 비슷한 기능을 하는 다른 코드를 짜본다던가 작은 미니프로젝트를 만들어 본다던가 했었는데요리액트 1부 강의의 커뮤니티에서 자바스크립트 파트 부분에 대한 질문과 선생님의 답변을 읽어 보았는데 앞부분은 리액트 사용 이유를 깨닫기 위한 목적이고 자바스크립트 부분에 너무 매몰되지 않았으면 하신다는 답변을 보았습니다.제가 이제 리액트 부분을 수강하기 직전인데 자바스크립트 부분에서 사용한 코드를 가지고 다른 코드를 만들어 보고 리액트 부분을 수강해야할지 바로 리액트 부분을 수강하고 리액트 부분에서 사용한 코드를 가지고 리액트로 애플리케이션을 만들어 보는 미니 프로젝트를 해보는게 좋을지가 고민입니다... 자바스크립트 강의를 너무 꼼꼼하게 보려다보니 계획보다 시간이 엄청 오래 걸려서 또 그걸로 뭘 만들어 보려고 하면 리액트 파트가 더 늦어질것 같기도 하다는 생각도 들고 그래도 중요하면 해보는게 낫지 않겠나 하는 생각도 들어서 고민이 됩니다 자바스크립트 부분 강의가 제가 들었던 다른 자바스크립트 강의와는 다른 방식의 코드도 볼 수 있었고 얕게 알고 있었던 개념도 짚고 넘어갈 수 있어서 어렵긴했어도 재밌었고 유익했습니다!! 좋은 강의 감사드립니다
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바 스프링 공부 방향과 로드맵
안녕하세요. 자바를 공부하고 있고 스프링 공부를 준비중인 대학 휴학생입니다.제 수준은 대학에 들어와 처음으로 컴퓨터공학이란 학문과 코딩에 입문하였으며 C언어와 자바를 배워 별찍기와 정말 간단한 예제를 풀었던 수준입니다. 아는 것도 별로 없고 궁금증도 많지만 조언을 구하거나 상담을 하며 도움을 받을 방법이 안 보여 인터넷에서 찾아보기를 반복했습니다. 계속해서 많은 정보만 쌓이다보니 길을 잃게 되었습니다.최근에 자바를 다시 공부하기 시작했습니다. 자바를 다시 공부를 하면 김영한님의 스프링 강의를 통해 공부를 해야지 하고 있었는데, 다시금 막힌 부분이 생겼습니다. 자바 ORM 표준 JPA 프로그래밍 - 기본편스프링 부트와 JPA 활용 1,2스프링 데이터 JPAQuery DSL위 5개의 강의들을 스프링 완전 정복 로드맵에서 어느 강의들 사이에 듣는게 좋은지 궁금합니다. 가장 궁금한 부분은 스프링 완전 정복 로드맵을 시작하기 전 JPA를 먼저 공부해야하는지입니다.추가적으로 지금 목표하는 부분은 스스로 JAVA와 스프링으로 무언가를 할 수 있으면 좋겠습니다. 후에 대학생 수준으로 교내외에서 IT협업활동을 진행하고 싶은데 이때 자바와 스프링으로 백엔드, 서버, 웹 부분을 맡을 수 있는지 아니라면 어떤 부분을 할 수 있는지 또 이런 활동이나 동아리, 단체에서 위와 같은 부분을 담당할 수 있다면 김영한님의 로드맵 기준으로 어느 강의까지 들으면 가능할지 궁금합니다.수준 낮은 질문에 부끄럽고 죄송합니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
저번질문에 글올렸는데코드가더꼬인것같아요..
https://drive.google.com/file/d/19EdcpxnIZQKKAeCSlucWIrX8HVv4bCtf/view?usp=drive_link 머리아프네요..17강까지 잘되었습니다..
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DB를 제외한 로드맵
안녕하세요, 현재 사지방에서 스프링을 공부하고있는 군인입니다.스프링 입문 편을 보면서 다른건 다 문제 없이 진행됐는데 h2 database를 활용하는 부분에서부터 막히게 됐습니다. 계속해서 방법을 검색하고 적용해봤지만 결국에 DB관련 파트는 포기하게됐습니다.앞으로 '스프링 완전 정복' 로드맵을 따라가고싶은데 DB이후의 강의인 '스프링 핵심 원리-고급편', '스프링 부트 -핵심 원리와 활용' 강의를 들을 때 DB를 활용하지 못하면 제약이 있거나 진행이 불가하게 되는지 궁금합니다!
-
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
백엔드 개발자는 언제 화면을 그리나요??
제가 취준생이라서 실무개발환경에 대해서 잘 알지 못해서 상상의 나래를 펼쳐봤습니다. 요즘은 웹개발에서 보통 프론트엔드랑 백엔드로 나누잖아요 프론트엔드가 화면을 그리는 부분이고 백엔드가 서버에서 데이터를 뿌려준다고 알고있는데, 데이터를 뿌려주는건 api로 뿌려주면 되는 것이 아닌지 의문이 들어서요 서버사이드렌더링은 언제 왜 하는것인지 궁금합니다.그리고 취준생이라서 드는 고민도 있는데, 프로젝트를 만들었다고 함은 어느정도까지 구현을 해놔야하는 것인지 궁금합니다. 지금은 mvc 강의를 보면서 코드를 따라치기만 하는 단계이지만나중에 만약 어떤 프로젝트를 만들어서 서버를 배포하는데까지 어떻게 저떻게 했다고 하더라도 이용자가 저만 있다면 그게 의미가 있는걸까요?? 저만 사용하는 어플리케이션 혹은 웹은 실제 서비스가 되지 않다고 해도 무방할것 같은데 이런 개발은 결국엔 무의미 한게 아닌가 하는 생각도 들고... 잡생각이 참 머리가 너무 번잡해지네요
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
spring 공부방법 질문
현재 스프링 완전정복로드맵을 들어가기전 스프링 입문 강의를 듣고있는 수강생입니다. 수업하나하나 들을때마다 코드하나하나 따라치는거밖에 못하고 실제로 강의끝나고 이걸복습하자니 어디서부터 해야할지도 모르겠습니다. 제가 spring을 처음접해서 그런거일수도있는데 이렇게 코드만 따라치는게 맞는지 공부하는 느낌이 안들고 의구심이 들어서 질문해봅니다 ㅠㅠㅠ 처음 말씀해주신 목표는 전체적으로 어떻게 돌아가는지, 동작하는지를 이해하는게 포인트라고 하셨는데 다행히 이부분에서는 구글링으로 부족한개념들을 메꾸면서 도달할수는 있을거같습니다. 하지만 위에서 적었다싶이 코드를 하나하나 이해하고 따라치는데는 한강의를 듣는데 4~5시간이 소요되어 실제로 완강을 하기에는 2주가 넘는시간이 소요됩니다.. 그래서 조언을듣고싶습니다
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
상품 주문, 수정 같은 DB 데이터에 접근할 때 유저 정보 노출 여부
현재 예제에는 로그인을 하지 않지만 만약 로그인 기능이 추가된다고 하면 로그인을 성공했는지 여부를 판단하는 정보는 어떤 식으로 유지하나요? 인프런의 경우에도 로그인에 한번 성공하면 로그아웃을 하지 않는 이상 사이트에 들어오게 되면 자동으로 로그인이 되는데 어떻게 로그인 정보를 안전하게 유지하는지 궁금합니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
로드맵 이수 이후 공부 방향성
안녕하세요. 현재 자바 공부 중이고, 이후 김영한 강사님의 자바 스프링 완전 정복 시리즈 로드맵을 이수할 계획입니다.개인적으로 공부하다보니 공부 계획을 정할때 공부할 과목과 순서도 잘 모르겠고, 얼마나 깊이 공부해야 할지도 감이 안와 고민이 많습니다.일단 저의 1차적인 공부 목표는 다른 분들처럼 개인 또는 팀 프로젝트에 백엔드 개발자로 참여할 수 있는 수준의 지식을 쌓는 것입니다.해당 스프링 로드맵 이수를 하고 나면 프로젝트에 지원해도 될까요? 만약 아니라면 이후에 무엇을 공부해야 할까요?데이터베이스, API 등은 로드맵에 포함이 안되어있나요? 개인적으로 찾아보고 알아보기도 했지만, 용어들이 대체로 생소하다보니 어렵습니다.. 쓰고 보니 질문에 무지함이 드러나는 것 같아 부끄럽고 죄송하지만 막막한 마음에 일단 여쭤봅니다. 읽어주셔서 감사합니다.