이야기를 나눠요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
혹시 아직 스프링 강의를 들을 때가 아닌걸까요?
자바입문~자바 중급 1차 강의까지 듣고 프레임워크,제네릭은 스스로 공부한 다음코테 문제들 풀어보면서 자바에 조금 익숙해진 다음 영한님 스프링 강의 막 듣기 시작했습니다.근데 코드 분석의 거의 안되더라구요. 분석이 안되니 들었던 내용도 까먹은 것 같은 느낌이 들고혹시 먼저 들어야 할 강의를 놓친것 아닐까 아직 스프링 강의를 들을때가 아닌가 이런 생각이 들더라구요jdbcTemplate.query("select * from member where id = ?", memberRowMapper());같은 곳에서는 query가 뭐지?"select * from member where id = ?"은 뭐지 물음표가 왜 나온거지?memberRowMapper는 왜 만들어진거지?public Member save(Member member) { SimpleJdbcInsert jdbcInsert = new SimpleJdbcInsert(jdbcTemplate); jdbcInsert.withTableName("member").usingGeneratedKeyColumns("id"); Map<String, Object> parameters = new HashMap<>(); parameters.put("name", member.getName()); Number key = jdbcInsert.executeAndReturnKey(new MapSqlParameterSource(parameters)); member.setId(key.longValue()); return member; }jdbcInsert는 갑자기 뭐지?등등 이런 코드에 대한 분석이 안되니까 먼저 들어야할 강의가 있는 데 안들어서 코드에 대한 분석이 안되는건지 혹시 뒤에 기본편 강의에서 자세히 설명해주시니 그냥 이런게 있구나 듣고 뒤에 강의로 넘어가는 게 맞을지 막 생각이 뒤죽박죽해지네요. 혹시 방향성을 잡아주실 수 있을까요?
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프로젝트 하려면..
현재 스프링 핵심원리와 mvc1편 완강했습니다! 이제 프로젝트를 해보고 싶은데기존 멤버리포지토리 방식말고 계속 저장되는 로그인기능(회원마다 데이터를 따로 관리하는 기술) 을 만들어 배포해보고 싶고 open api를 적용시키는 기술도 배우고 싶은데 강의를 어디까지 들어야 할까요? 또, 프로젝트를 제작하면서 강의를 들어도 될까요? 아니면 필요한 강의를 다 듣고 프로젝트를 진행하는게 좋을까요? 얼른 생각해놓은 프로젝트를 제작해보고 싶은데 제 실력이 어느정도인지 가늠이 안가고 기술도 어떻게 적용시켜야 할지 몰라 질문 남깁니다
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
앱 개발 프로젝트에 대한 고민이 있습니다.
앱 개발 프로젝트로 flutter랑 백엔드 spring 연동해서 앱을 만들고 싶은데, 어디 정도 까진 들어야 하거나 또는 어디 부분을 들어야, 조금 급하더라도 프로젝트를 진행할 때 응용을 할 수 있을까요? (로드맵 mvc 1편까지는 완강했습니다.)
-
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증 관련해서 질문드립니다.
안녕하세요 . 검증관련 질문드립니다! 폼에서 올바른 데이터가 들어오지 않으면, 컨트롤러에서 Bean Validation을 동작시켜 에러를 타임리프에 넘기어 사용자에게 보여주는 부분에서,만약에 템플릿 엔진으로 타임리프를 사용하지 않고, 뷰를 리액트나 다른 프론트앤드 기술로 사용한다면 어떤식으로 이용 할 수 있을까요..?타임리프에서만 특화된 기능인가요 ??
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
V3부터 내용이 어려워 지는거 같은데
다음 내용인 스프링 mvc내용을 이해 하려면 다시 복습을 하고 넘어가는것이 좋은지 아니면 일단 이해하지 못한상태로 넘어가서 다음 내용을 습득하는것이 좋은지 고민입니다.지금 내용을 이해하지 못하면 다음 내용(웹 mvc2탄)을하나도 이해할 수 없나요?그리고 지금 내용은 다음 강의인 웹 mvc 2탄에서 사용하지 않는 내용인가요?
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 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강까지 잘되었습니다..