묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨
스프링 용어 질문드립니다.
김영한 강사님의 스프링 강의 듣다가 궁금한 것이 생겼습니다.타임리프와 템플릿엔진을 인터넷에 검색해봐도 제대로 된 정의 설명이 없는데, 이 2개의 단어는 정확히 무슨 뜻인가요?
-
미해결Practical Testing: 실용적인 테스트 가이드
강사님 유효성 검증의 분리에 대해 궁금한점이 있습니다.
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 저희만의 서비스에 특화된 비즈니스 검증로직은 따로 서비스나 도메인에서 분리해서 검증하라고 하셨는데, 정확히 이해가 가지 않아서 좀더 질문 드립니다.예를 들어, 패스워드 검증 로직이 있다고 하면, 저희만의 서비스는 패스워드 검증을( 영문,특문 혼합 8자이상)이라고 정했을때, 컨트롤러의 요청 부분에서는 @NotBlank를 처리하고, 서비스나 도메인에서 위의 패스워드 검증 로직을 진행하라는 말씀인가요??
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
hasRole 과 hasAuthority 의 차이
안녕하세요 hasRole 과 hasAuthority 의 차이가 없는 거 같아서 질문 드립니다.기능 상 차이가 없다면 용도의 차이가 있는지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
git허브 비밀번호 맞게해도 안되시는 분들
출처 : https://velog.io/@rxdryd/git-clone-%EC%98%A4%EB%A5%98 2021/08/13일부터 비밀번호 가아닌 git tokken입력 방식으로 변경된다고 하네요 출처:https://hoohaha.tistory.com/37참고하셔서 깃 토큰 생성 후아이디는 기존과 동일하게 입력하시구 비밀번호에서 git tokken입력하시면 됩니다.
-
미해결스프링 핵심 원리 - 기본편
@Configuration이 없을때의 싱글톤 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. @Configuration을 붙이지 않으면 TestConfig 자체와 @Bean 메서드들의 반환 객체를 싱글톤 빈으로 등록하지만 의존 관계에서의 객체 호출은 일반 객체를 생성한다.2. 한 @Bean의 일부가 return new Component2(component1()) 라면 Component2는 싱글톤 빈으로 등록되지만 의존 관계에서의 호출인 componenet1은 빈으로 등록이 안되고 일반객체가 생성된다.3. https://www.inflearn.com/questions/475367여기 답변에서 David님께서 "TestConfig 내 객체 생성 메서드의 경우 호출시 싱글톤을 보장하지 않고 매번 새로운 객체를 생성합니다." 라고 하셨는데 의존 관계 주입일때는 1,2번의 이해를 바탕으로 해결했습니다. 그런데 의존 관계 주입이 아닌 객체를 생성해 싱글톤 빈으로 등록하는 경우에도 싱글톤을 보장하지 않는다는게 말이 헷갈려서 질문드립니다. 아래 코드의 경우에서 component2 component2_2가 각각 싱글톤 빈으로 등록된다는 뜻인가요? public class Config { @Bean public Component2 component2() { return new Component2(componenet1()); } @Bean public Component2 component2_2() { return component2(); } @Bean public Component1 component1() { return new Component1(); } 1,2번은 해주신 답변으로부터 이해를 했는데 3번을 잘모르겠습니다.
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
변경데이터 저장 방법 질문 있습니다!
안녕하세요 쥬쥬님testEntity를 리포지토리에서 조회에서 가져온 다음에change 메서드로 수정을 한 후에리포지토리의 save 메서드를 사용하셨는데dirty checking을 사용하지 않고 save를 사용하신 이유가 있을까요?
-
미해결스프링 핵심 원리 - 기본편
인텔리제이 콘솔창
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 보면 콘솔창에 config 정보등 상세하게 출력되는데 제 인텔리제이 콘솔창에는 출력이 괴지 않습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
파일업로드,다운로드 궁금한게 있습니다.
mvc2편 마지막 강의에서아래 컨드롤러를 추가했다고 화면에 이미지 파일이 나타나는 이유를 정확히 모르겠습니다./images/{filename} 디렉토리가 호출된 적이 없잔아요? @ResponseBody @GetMapping("/images/{filename}") public Resource downloadImage(@PathVariable String filename) throws MalformedURLException { return new UrlResource("file:" + fileStore.getFullPath(filename)); }
-
미해결스프링 핵심 원리 - 고급편
controller나 service나 repository나 어노테이션 하나 붙이면 자동으로 빈 등록되지 않나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]OrderServiceV1, OrderControllerV1, OrderRepositoryV1, AppV1Config각각@Service@Controller@Repository@Configuration이렇게 각각 어노테이션만으로 스프링 빈 자동 등록이 되는걸로 알고있는데, (혹시나 제가 미처 고려하지 못한 이유가 있다면) 수동등록을 선택하신 이유를 알고 싶습니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인 세션에 대한 고찰
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 현재 스프링mvc와 jpa를 활용해서 게시판 프로젝트를 만들고있습니다.로그인 처리는 세션으로 구현했습니다.한 유저가 로그인을 해서 게시글을 작성했을때,그 게시글은 작성한 해당 유저만이 수정 및 삭제를 할수있게 구현을 하는 중입니다. @GetMapping("/{boardId}/edit") public String editForm(@PathVariable("boardId") Long boardId, Model model, HttpServletRequest request, HttpServletResponse response) throws IOException { Optional<Board> findBoardOptional = boardRepository.findByIdJoinFetchMember(boardId); if (findBoardOptional.isEmpty()) { response.sendError(HttpServletResponse.SC_NOT_FOUND); return null; } MemberSessionDto memberSessionDto = getMemberSessionDto(request); Board findBoard = findBoardOptional.get(); if (!memberSessionDto.getId().equals(findBoard.getMember().getId())) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return null; } model.addAttribute("board", findBoard); return "boards/editForm"; } 현재 이런식으로 해당 게시글의 번호(boardId)로 해당 게시글이 있는지 먼저 검증을 한 후, 세션에 담아둔 유저의 정보를 가져와 해당 게시글을 작성한 유저의 id와 세션의 유저 정보의 id를 비교를 해서 다 검증이 끝나면은 로직이 정상 수행이 되게 만들었는데 막상 이렇게 만드니 수정 페이지이동, 수정, 삭제 에서도 검증하는 로직이 계속 중복됩니다.@PostMapping("/{boardId}/delete") public String deleteBoard(@PathVariable("boardId") Long boardId, HttpServletRequest request, HttpServletResponse response) throws IOException { Optional<Board> findBoardOptional = boardRepository.findByIdJoinFetchMember(boardId); if (findBoardOptional.isEmpty()) { response.sendError(HttpServletResponse.SC_NOT_FOUND); return null; } MemberSessionDto memberSessionDto = getMemberSessionDto(request); Board findBoard = findBoardOptional.get(); if (!memberSessionDto.getId().equals(findBoard.getMember().getId())) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return null; } boardRepository.deleteById(boardId); return "redirect:/boards"; }이렇게 똑같이 중복이 됩니다. 이렇게 구현을 하는게 맞는건지, 혹은 더 추천하는 방법이 잇는지, 실무에서는 어떻게 검증을 하는지 여쭈어보고싶습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
파일 업로드 다운로드 오류입니다. 빠른 답변바랍니다.
실행 결과과 강의 내용과 다르게 나옵니다.진도 나가야 되니 빠른 답변 바랍니다.https://drive.google.com/file/d/18G2rJDiA_FpbU226rO0Ck0-xmi-6fa-6/view?usp=sharing
-
미해결스프링 핵심 원리 - 고급편
도대체 동적 프록시란 ㅠㅠㅠㅠ
스프링이 제공하는 빈 후처리기1 강의를 듣고 있습니다..implementation 'org.springframework.boot:spring-boot-starter-aop 추가하고AnnotationAwareAspectJAutoProxyCreator빈 후처리기가 스프링 빈에 자동등록되는데요 궁금한게..동적 프록시라는게 계속 이해가 안갑니다ㅠㅠ인터페이스 기반이나, 구체클래스 기반이나실제 객체말고, 프록시 객체는 언제?어느 시점에 생성이 되는건가요?스프링 실행하면 처음에 로딩 쫙 할때 그때 프록시 객체가 만들어져서 빈으로 주입되는건가요?로딩할때 만들어지는건데 런타임에 만들어진다고하나요..? api 콜 할때 만들어지는게 아닌거죠?ㅠ왜 도대체 동적이라하나요..?ㅠㅠ동적이라는 의미가 생겨나는 코드는 어디부분인가요..?jdk 동적프록시랑 cglib의 프록시 생성차이점은 뭔가요..jdk는 바이트코드 조작이 아니라 리플렉션으로 프록시 객체를 생성하나요?cglib는 리플렉션이 아니라 컴파일된 바이트 코드를 조작해서 프록시객체를 생성하는건가요..?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
DB 관련 질문
실행 코드 :show table user;결과 : [2024-04-14 23:34:52] [42000][1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user' at line 1[2024-04-14 23:34:52] [42000][1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user' at line 1왜 안되는지 모르겠습니다.실행 코드 :show tables;결과 :2. 저는 저런 테이블을 만든 적이 없는데 왜 저렇게 많이 나오는지 모르겠습니다.지금 같은 상황에 어떻게 질문을 드려야할지 몰라서 이렇게 질문을 드립니다...
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DB관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요여기서 import org.springframework.jdbc.datasource.DataSourceUtils; jdbc부분에 빨간줄이 생겨서 다른질문자분들이 올려주신걸 보고 어찌어찌 해결했습니다. 그런데 HelloSpringApplication을 실행할때마다 회원목록이 비어있습니다. 그리고 회원등록을 하고나서 sql문을 날리면 DB에 들어간 회원이 없습니다..어디가 연결이 잘못된건지 잘 모르겠네요.. 그리고 H2 실행할때 다음실행부터는 저 url부분에jdbc:h2:tcp://localhost/~/test 이런식으로 넣어서 들어가라고 하셨는데 그러면 오류가 납니다.. 저 스크린샷처럼 들어가야 연결이 되는데 application.properties에 어떤 url을 써야 하나요?
-
미해결스프링 핵심 원리 - 기본편
@configuration과 싱글톤 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://www.inflearn.com/questions/475367 답변해주신 내용에서 "TestConfig 자체는 싱글톤 스코프 빈으로 컨테이너에 등록됩니다."이 부분이 이해가 가지 않습니다. 스프링 빈으로 등록되기는 하지만 결국 @Configuration 이 없으면 단순히 빈으로 등록하는거뿐 아닌가요? 클래스 내부 @Bean 들과 다르게 TestConfig만 싱글톤으로 빈 등록이 되는건가요?CGLIB없이 어떻게 싱글톤인지 모르겠습니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Whitelabel Error Page
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.패키지 위치 및 코드도 알맞게 작성한 듯 한데 Error page가 뜨는 이유가 있을까요? index.html에 보면 빨간줄과 HelloController.java 파일을 보면 'HelloController' is never used 라는 문구가 뜨는데 제가 누락한 게 있다면 알려주세요...
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
====================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.open-Session-in-view에서 false 설정하라고 하던데 찾아봐도 어디서 설정 해야 하는지 모르겠습니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.코드를 수정하지도 않았는데 프로젝트 삭제했다가 다시 설정해야할까요... 코드가 복잡해서 어디부터 수정해야할지 모르겠습니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 해당 warning이 왜 발생하는지 알고싶습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
최종적인 스프링 사용 내용만 정리된 강의는 없을까요?
스프링 입문, 스프링 핵심원리 기본편, 스프링 MVC 1편, 스프링 MV2편을 1번씩 수강했습니다.많은걸 가르쳐 주시니 이해하는데 도움은 많이 됬는데, 결론적으로 알고 있어야 되는게 뭔지 헷갈립니다. 너무 많은걸 배워서 정신도 없고.....다시 한번 더 봐야 할 거 같은데 막막하기도 하고 ㅎ ~~과거 개념이나 기본 개념은 다 빼고, 최종적인 스프링 사용 내용만 정리된 강의는 없을까요?