묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Practical Testing: 실용적인 테스트 가이드
섹션 7에서 완벽하게 제어하기 파트에서 질문이 있습니다!
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.LocalDateTime. now(), 즉 현재 시간과 관련된 기능의 사용을 지양하자라고 말씀해주셨습니다!이 뜻이 현재시간과 관련된 요구사항이 넘어왔을 때 해당 요구사항을 현재시간과 관련 없이 다른 방법으로 풀어보자 라는 의미일까요?아니면 다른 기술적인 방법을 말씀하시는 걸까요~? 기술적인 방법이 있는 것이라면 어떤 방법이 있을지 궁금합니다!
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
namespaces 등록이 되지 않습니다.
<mybatis-spring:scan base-package="kr.board.mapper"/>관련하여 namespaces에서 체크하고 등록 하도록 강의에는 나와있는데 scan 관련하여 체크 할 항목이 화면상 보이지 않는데 어떻게 진행해야될까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemoryMemberRepositoryTest 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요 아래와 같이 MemberRepository repository = new MemoryMemberRepositoryTest();하는 부분부터 빨간줄이 생기고 에러가 납니다 또같이 패키지랑 설정 했는데 왜이러는건지 모르겠어요 ㅠ
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
datasource
datasource는 커넥션을 획득하는 방법을 추상화한 인터페이스라고 학습했습니다. 근데 이번 장에서 Datasource TransactionManager는 JDBC 트랜잭션 관리라고 하셨는데 datasource라는 것은 JDBC에 국한되는 것이 아니라 JPA, hibernate에서도 쓰일 수 있는 것 아닌가요? 전에는 DB마다 커넥션을 얻는 방법, sql전달 방법등이 달라서 이걸 편하게 해주기 위해 나온 것이 JDBC이고 DriverManager를 통해서 url,id,pw를 넘겨서 해당 dbDriver를 얻어서 커넥션을 얻었는데 이제는 DriverManager를 사용하지 않고 Datasource만을 사용해서 DB에 접근하는데 그렇다면 Datasource가 DriverManager가 하는 역할까지 수행하기때문에 가능한 것인가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Map errors 초기화
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]웹에 상품명을 쓰지 않고 오류를 내어 errors에 넣고 새로고침을 하면 errors 들어 있던 오류는 왜 사라지는 건가요? 객체를 새로 불러와서 그런건가요?
-
미해결스프링 시큐리티 OAuth2
oauth2Login() vs oauth2Client() 선택 고민입니다.
안녕하세요. SpringSecurity를 공식문서만으로 공부하기 벅차서 강의를 듣고있는데 도움을 많이 받고있습니다. 회사에서 인증서버를 구현하려고 하는데 요구사항이 고객사의 인가서버에서 OAuth2.0로 User정보를 회사 인증서버로 가져와서 그 User정보를 토대로 JWT토큰을 생성해서 회사 인증서버 자체에서 인증/권한 관리를 따로 하려고하는데 이런 경우 oauth2Client()를 써야하는게 맞는거죠?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
강사님! 프론트엔드 라이브러리 설정 부분에서 오류가 납니다..
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:testCompile (default-testCompile) on project studyolle: Compilation failure[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?[ERROR][ERROR] -> [Help 1][ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR][ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException ./mvnw test 명령어를 입력하면 위에 오류가 나오면서 build failure라고 뜨네요.. 오류메시지처럼 자바 버전 문젠가 해서 제 맥북 환경변수쪽도 보니까 11로 잘 들어가 있는데 왜 그럴까요.
-
미해결스프링 부트 - 핵심 원리와 활용
wls2 에서 도커로 프로메테우스 띄운것에 관하여
저는 wsl2에서 spring-actuator를 실행하고 있습니다.wsl2 ip = 192.168.31.32 라 설정을 다음과 같이 했습니다. scrape_configs: - job_name: "prometheus" static_configs: - targets: ["192.168.31.32:9090"] - job_name: "spring-actuator" metrics_path: '/actuator/prometheus' scrape_interval: 1s static_configs: - targets: ['192.168.31.32:8080'] docker run --name prometheus -p 19090:9090 -v /home/tony/vscode/boot-source-20230228/start/prometheus-grafana/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus9090이 wsl2에서 netsh interface ipv4 show excludedportrange protocol=tcp 명령어를 쳤을때 exclude 에 속한 포트라 19090으로 뚫었습니다.하지만 spring은 잘 연결되는데 prometheus 자신은 되지를 않네요 설정을 19090으로 해도 안되고 별 짓을 다해봤는데혹시 되시는 분 있으신가요?
-
미해결스프링 핵심 원리 - 기본편
@PreDestroy에 대해
@PostConstruct를 쓰면 밑에 있는 init 메소드가 자동으로 실행돼서 테스트에서 init을 따로 호출하지 않아도 connect()와 call 메소드가 불러와 실행됩니다. 반면에 close메소는 아래 두번째 사진과 같이 따로 호출하지 않으면 실행되지 않는데 원래 그런것인가요??원래 그렇다면 @PreDestory는 왜 붙인건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2드라이버 다른 컴퓨터(ip)에서 접속 여부
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]각기다른 ip를 가진 컴퓨터 두대에 설정을 똑같이 해준다면 동일한 h2드라이버를 다른 컴퓨터에서도 접속이 가능한가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 데이터베이스 연결 오류
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]맨처음 접속 시 url에 localhost를 입력하지 않은 상태입니다. 그 상태에서 연결을 하면 서버에 연결할 수 없다는 화면 으로 이동하여서 초기 진입되던 사이트의 url맨 앞부분만 local host로 바꾸어서 맨 초기 진입하는 경우 연결이 애초에 불가능하다고 나옵니다. db가 생성되었는지 확인해보았으나 c/user/사용자이름/ 해당 경로에 test.mv.db 파일이 없습니다.
-
미해결스프링 시큐리티 OAuth2
[OAuth 2.0 Social Login 연동 구현 3] 에서 계속 index 문자열만 보이고 index 페이지가 보이지 않습니다.
server: port: 8081 spring: security: oauth2: client: registration: keycloak: authorization-grant-type: authorization_code client-id: oauth2-client-app client-name: oauth2-client-app client-secret: dXf021lMWuZ9kZafqxZn230MvVEdROIo redirect-uri: http://localhost:8081/login/oauth2/code/keycloak scope: profile,email google: client-id: 발급받은ID client-secret: 발급받은비밀번호 scope: profile,email naver: client-id: 발급받은ID client-secret: 발급받은비밀번호 authorization-grant-type: authorization_code client-name: naver-client-app redirect-uri: http://localhost:8081/login/oauth2/code/naver scope: profile,email provider: keycloak: authorization-uri: http://localhost:8080/realms/oauth2/protocol/openid-connect/auth issuer-uri: http://localhost:8080/realms/oauth2 jwk-set-uri: http://localhost:8080/realms/oauth2/protocol/openid-connect/certs token-uri: http://localhost:8080/realms/oauth2/protocol/openid-connect/token user-info-uri: http://localhost:8080/realms/oauth2/protocol/openid-connect/userinfo user-name-attribute: preferred_username naver: authorization-uri: https://nid.naver.com/oauth2.0/authorize token-uri: https://nid.naver.com/oauth2.0/token user-info-uri: https://openapi.naver.com/v1/nid/me user-name-attribute: response mvc: static-path-pattern: /static/** package springsecurityoauth2.demo.controller; import org.springframework.security.core.Authentication; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken; import org.springframework.security.oauth2.core.user.OAuth2User; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; @RestController public class IndexController { @GetMapping("/") public String index(Model model, Authentication authentication, @AuthenticationPrincipal OAuth2User oAuth2User) { OAuth2AuthenticationToken oAuth2AuthenticationToken = (OAuth2AuthenticationToken) authentication; if (oAuth2AuthenticationToken != null) { Map<String, Object> attributes = oAuth2User.getAttributes(); String name = (String) attributes.get("name"); // 네이버는 response 계층이 하나 더 있으므로 별도 처리 필요 if (oAuth2AuthenticationToken.getAuthorizedClientRegistrationId().equals("naver")) { Map<String, Object> response = (Map<String, Object>) attributes.get("response"); name = (String) response.get("name"); } model.addAttribute("user", name); } return "index"; } } 안녕하세요.resource 파일들은 깃헙의 소셜로그인 브랜치에서 그대로 가져왔고, IndexController 와 application.yml 파일은 위와 같습니다. 브라우저에서 localhost:8081 로 접속하면이렇게만 나옵니다 ㅠㅠ어디가 잘못됐을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberService 호출 질문 있습니다 !
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.Test 할때 MemberService와 MemberServiceTest 가 같은 memberRepository를 쓰게 하려고 MemberServiceTest에서@BeforeEachpublic void beforeEach(){memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository);} 를 하고 MemberService에서 저렇게 해준것은 이해가 되었습니다. 그런데 테스트가 아닌 RegisterTestApplication(본 서버??)를 실행한다면 MemberController에서 MemberService를 호출할때 생성자 파라미터로 memberRepository 가 들어가있는데 인자로 memberRepository를 넣어주지 않았는데 어떻게 실행되는걸까요?? 그리고 테스트시에 MemberServiceTest에서만 인자를 넣어주는 메서드가 있는데 혹시 테스트시에만 같은 memberRepository 사용이 필요해서 그런걸까요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
프로젝트 실행하기 강의에서 compile 클릭시
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.8.0:npm (npm install) on project studyolle: Failed to run task: 'npm install' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 236 (Exit value: 236) -> [Help 1][ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR][ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException해당 오류가 찍히는데 버전 문제일까요.?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
layoutMain.html, Deprecated 이슈, 워닝 해결 공유
WARN 2620 --- [nio-8080-exec-2] actStandardFragmentInsertionTagProcessor : [THYMELEAF][http-nio-8080-exec-2][template/layout/layoutMain] Deprecated unwrapped fragment expression "template/layout/base :: common_header(~{::title},~{::link})" found in template template/layout/layoutMain, line 3, col 7. Please use the complete syntax of fragment expressions instead ("~{template/layout/base :: common_header(~{::title},~{::link})}"). The old, unwrapped syntax for fragment expressions will be removed in future versions of Thymeleaf.워닝 해결.오래된 구문:template/layout/base :: common_header(~{::title},~{::link})새 구문:~{template/layout/base :: common_header(~{::title},~{::link})}
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
게시글 포스트 기능 구현에 대한 질문
안녕하세요 수강 중에 질문이 생겼습니다. 현재게시글 포스트 기능을 구현하고 있습니다를멤버, 게시글, 댓글 이렇게 DB를 구성하고 각각 엔티티를 만들어서 구현하고 있습니다. 세션에 멤버 엔티티 자체를 저장해서 가져오는 것이 맞는 건지 궁금합니다. 혹은 멤버 엔티티의 pk만 저장하고 select를 날리는 게 맞는 건가요?댓글을 등록하려면 게시글이 실제 db에 있는지 없는지 조회해야 할 것 같은데, 이러한 게시글 존재 조회 repository로직을 컨트롤러에 놓는게 맞는지 or 서비스(read 트랜잭션이 걸린)에 놓는 것이 맞는지도 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
4분 26초의 th:onclick에서 타임리프 문법에 궁금한 것이 있습니다.
강사님께서 강의에서 타임리프에 | | 이 표시를 넣으면 리터럴이 된다고 하셨는데 그러면 4분 26초에서 강사님에 넣으신th:onclick="|location.href='@{/basic/items/{itemId}(itemId=${item.id})}'|"이 코드 부분을th:onclick="|location.href='@{/basic/items/${item.id}}'|"이런 식으로 바꿔써도 상관이 없을 것이라고 생각했는데 왜 오류가 나는지 궁금합니다!!!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
hello.html thymeleaf 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.위와 같은 오류메시지가 뜨고 localhost:8080/hello 에서 오류페이지만 뜹니다.+ localhost:8080 은 오류페이지가 뜨고 localhost:8080/index.html은 원하는 결과페이지가 뜨는 이유는 뭔가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
12:20에서
Test할때 Service인데 왜 MemberRepository로 형변환 안 하고 바로 MemoryMemberRepository로 참조변수 타입을 지정하셨는지 궁금합니다!일회용 Test라서 그런 건가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
SQL Query Log Format
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오[질문 내용]6:07에 나오는 것 처럼 SQL 로그 포맷을 설정하는 방법이 있나요? IntelliJ 에서 제공하는 soft-wrap과는 다른 것 같아서 알려주시면 감사하겠습니다!