이야기를 나눠요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
스프링 DB 2편 - 데이터 접근 활용 기술
스프링 완전정복 로드맵을 수강중 JPA책공부
안녕하세요. 김영한 강사님의 Spring 완전 정복 로드맵을 수강중인 학생입니다. 지금 DB 2편까지 수강을 마쳤는데 여기서 다음으로 바로넘어갈지 아니면 JPA책을 읽어볼지 고민중인데요. 이미책은 구입해놔서 실행에만 옮기면되서 조언구하고싶습니다. 시간은 굉장히여유로워서 순서가중요할것 같습니다!
-
스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션 격리 수준, 낙관적 락, 비관적 락, 2차 캐시
안녕하세요 영한님.항상 좋은 강의들 정말 열심히 곱씹으며 재밌게 공부 중입니다.아직 Spring DB 1, 2편을 안본 상태여서 확실하진 않지만, 커리큘럼 상으로 봤을 때는트랜잭션 격리 수준, 낙관적 락, 비관적 락, 2차 캐시(영한님의 자바 ORM 표준 프로그래밍 16장)와 같은 내용들은 spring db 1,2 편에서는 다루지 않는 건가요?다루지 않는다면 이후의 다른 강의에서 다루실 예정이 있으실까요?항상 감사드립니다.
-
스프링 DB 2편 - 데이터 접근 활용 기술
DB섹션 강의를 들으면서 궁금한 점이 생겨 질문을 남깁니다.외래키를 설정하는 방법과 조인검색결과를 json으로 어떻게 반환하나요?
어느 강의영상에 질문을 남겨야할지 감이 안잡혀 여기에 질문 남깁니다….웹 개발을 할 때 DDL을 통해 생성되는 테이블들은 모두 서비스에서 사용되는 객체들을 보고 만드는것 같은데 (예를 들면 Member 클래스, Item클레스들을 생각했습니다)만약 어떤 회원 A가 아이템A를 등록하였으면 데이터 베이스의 회원과 아이템 사이에는 등록이라는 관계가 생성이 되고 회원 1명은 아이템을 여러개 등록이 가능하다면 Member 테이블의 PK를 Item 테이블의 FK로 등록되며 Item 테이블의 속성들은 (id, item_name, price, quantity, member_id)로 설정이 될것 같은데 이런 경우 Item 클레스의 멤버변수로Member member_id; 를 생성해주어야 할것 같은데 이런 외래키 값은 도메인을 설계할때 어떻게 처리해야 하나요?그리고 api로 통신할 때 클라이언트 에게 데이터를 넘겨줄 때 스프링 입문 강의에서 hello 객체자체를 return 하면 스프링의 잭슨라이브러리가 json포멧으로 변환해서 넘겨준다고 해주셨는데 여러개의 테이블이 조인된 결과를 json으로 반환 해주려면(예를 들어서 멤버 A가 등록한 아이템의 이름과 가격, 멤버의 이름을 요청한다면 반환되는 튜플이 item_name, price, member_name) 이것들은 하나의 객체가 아닌 Member클래스와 Item클래스의 일부 변수들을 사용한 새로운 값들인데 이럴때는 어떤 방법으로 return해주어야 하나요? 클라이언트측과 조율을 하여 검색되는 조건을 설정하여 조인검색의 제약을 설정하나요? 제약을 설정한다면 반환할 때 (item_name, price, member_name)이 3개의 속성들을 멤버변수로 사용하는 새로운 클래스를 생성하여 반환해 주어야 하나요?항상 질문글에 상세한 답글 남겨주셔서 열심히 공부할 수 있습니다. 감사합니다.
-
[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)
교수님 로그인 페이지를 만들고 싶은데 만들지 못하겠습니다.
제가 로그인 페이지를 같이 만들어보고 싶은데 id와 password를 지정하고 그거만 맞으면 메인 페이지인 검색창으로 넘어가는걸 한번 교수님 강의를 듣고 만들고 있는데 도무지 만들어지지가 않습니다. 혹시 어떻게 하면 좋을지 알려주시면 안될까요? app과 loginform 사진입니다. 알려주세요 ㅠㅠ
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 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 접근 기술
안녕하세요. 고민이있습니다.
자바 언어 공부 문법 전체적인 공부를 한번 마친 학생입니다. 스프링을 해야겠다 싶어 스프링 입문을 듣는데 듣는 도중 뭐지? 문법도 그렇고 잘 이해가 안가는 부분이 많습니다. 코드가 이해가 안가는 부분이 많기도 합니다. 이럴 경우 자바를 다시 한번 듣고 스프링으로 넘어 와서 들어야할까요?
주간 인기글
순위 정보를
불러오고 있어요