묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
mysql 연결 오류
안녕하세요 맥북을 사용 중이고 homebrew 로 mysql을 설치했습니다mysql 을 인텔리제이에 연결하려하면 DBMS: MySQL (no ver.) Case sensitivity: plain=mixed, delimited=exact Connection refused. 이러한 오류가 뜹니다. 어떤 것이 문제일까요?초기화하고 다시 sudo brew services start mysql 해도 똑같은 오류가 뜹니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
실무에서는 JWT를 사용하지않고, HttpSession을 사용하나요?
보안때문에 Spring Security의 JWT, CSRF 공부를 하려고 했는데... 실무적으로는 많이 사용하지않나요?
-
미해결스프링 핵심 원리 - 고급편
쓰레드 로컬 관련 질문 있습니다.
private void syncTraceId() { TraceId traceId = traceIdHolder.get(); if (traceId == null) { traceIdHolder.set(new TraceId()); } else { traceIdHolder.set(traceId.createNextId()); } } private void syncTraceId() { if (traceIdHolder.get() == null) { traceIdHolder.set(new TraceId()); } else { traceIdHolder.set(traceIdHolder.get().createNextId()); } }강의 중에는 위 쪽처럼 코드를 작성해주셨는데아래에 작성한 코드 처럼 TraceId 객체를 바로 get()으로 가져오지 않고, 별도의 traceId를 만들어 사용하신 이유가 궁금합니다.traceIdHolder가 ThreadLoacl<TraceId> 타입인데 traceIdHolder.set(new TraceId()); 로 값 변경은 바로 하시는데 값을 가져오는 건 다른 방식인 것 같아서 궁금합니다~
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AutoWired 오류와 Bean
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]1. 저는 MemeberService 쪽에서 @AutoWired를 해주는 부분에서 노란줄이 생기던데 생성자가 하나이기 때문에 생략가능해서 뜨는건가요?강사님이 계속 Bean이라고 언급하시는데 Bean이라는게 뭔지 궁금합니다. 이건 다음 강의에서 배울 수 있는건가요?
-
해결됨토비의 스프링 부트 - 이해와 원리
인프라 빈 구성 정보의 분리에서 EnableMyAutoConfiguration 질문드립니다.
스캐닝을하는 어노테이션으로 하위 config정보를 갖고있는@EnableMyAutoConfiguration를 갖고있는걸 알고 있는데요.이 어노테이션에는 2개의 config를 갖고있습니다.각각의 config들은 동일한 어노테이션을 지니고 있습니다.@Configuration궁금한건 스캔 하는 부분인 MySpringBootApplication에서는 직접적으로 빈을 선언하지 않더라도 @configuration를 소스상에 추가되어 있는데요. 직접빈을 주입하지 않더라도 @configuration 어노테이션을 필수로 넣어줘야하나요? 사실 여기서 어노테이션을 빼고 실행해봤는데 정상적으로 실행되는 것을 확인 했습니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
initdb오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.그냥 상품등록 버튼 눌러서 상품을 추가할때는 정상적으로 재고수량이 나오는데 initdb로 만들어지는 샘플데이터의 재고수량(stockquantiy)의 데이터가 변경됩니다 ex(100->2)로그를 보면 item을 insert후에 자동으로 update -> 데이터가 변경.. 이유를 모르겠습니다. 프로젝트 첨부합니다 ㅜㅜhttps://drive.google.com/file/d/1p_rlIECRXz4hLxr-aB3EpVSYM-jw2TIc/view?usp=sharing
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원 목록 조회시 Whitelabel Error 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.회원 목록 클릭시 Whitelabel Error가 나오는데 정확한 이유를 모르겠습니다.
-
미해결토비의 스프링 부트 - 이해와 원리
질문드립니다.
스프링부트 3.4.1 버전이 현재 25.1.13기준으로 스프링이니셜라이저에서 기본으로 선택되는데요.현 강의에서 사용하는 방식대로 강의 따라가도 될까요?이니셜라이저에서 프로젝트 생성후에 강의에서 사용된 소스 임포트 후에 javax => jakarta로 변경하고,eclipse temurin jdk23 버전을 사용해서 강의 따라가도 될런지요?혹시 build.gradle 정보가 스프링부트 3.4.1 기준으로 작성된 파일 공유 부탁드려도 될까요?
-
미해결스프링 핵심 원리 - 기본편
coreApplicationTests, contextLoads()에서 계속 오류가 납니다.
coreApplicationTests, contextLoads()에서 계속 오류가 납니다.옵션처리 4분 3초에 @Bean(name="memoryMemberRepository)까지 주석처리했는데 계속 오류가 나며Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [C:\Users\Peter\Desktop\study\core\out\production\classes\hello\core\member\MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository이렇게 나옵니다
-
미해결스프링 핵심 원리 - 기본편
지금 보시는 pdf 어디서 다운받나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)제목그대로요
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
서버 구동이 안됩니다.
1..2일차 영상 보면서...환경을 만드는데.... 서버 구동이 안됩니다.초초초보입니다....... A problem occurred configuring root project 'library-app'.> Could not resolve all files for configuration ':classpath'.> Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.1.Required by:project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.1> No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.1 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.5' but:- Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a library, packaged as a jar, and its dependencies declared externally:- Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8- Other compatible attribute:- Doesn't say anything about org.gradle.plugin.api-version (required '7.5')- Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a component, and its dependencies declared externally:- Incompatible because this component declares documentation and the consumer needed a library- Other compatible attributes:- Doesn't say anything about its target Java version (required compatibility with Java 8)- Doesn't say anything about its elements (required them packaged as a jar)- Doesn't say anything about org.gradle.plugin.api-version (required '7.5')- Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.1 declares a library, packaged as a jar, and its dependencies declared externally:- Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 8- Other compatible attribute:- Doesn't say anything about org.gradle.plugin.api-version (required '7.5')- Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.1 declares a runtime of a library, packaged as a jar, and its dependencies declared externally:- Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8- Other compatible attribute:- Doesn't say anything about org.gradle.plugin.api-version (required '7.5')- Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a library, packaged as a jar, and its dependencies declared externally:- Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 8- Other compatible attribute:- Doesn't say anything about org.gradle.plugin.api-version (required '7.5')- Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.1 declares a runtime of a component, and its dependencies declared externally:- Incompatible because this component declares documentation and the consumer needed a library- Other compatible attributes:- Doesn't say anything about its target Java version (required compatibility with Java 8)- Doesn't say anything about its elements (required them packaged as a jar)- Doesn't say anything about org.gradle.plugin.api-version (required '7.5')
-
해결됨토비의 스프링 부트 - 이해와 원리
spring boot 3.3.7로 학습중입니다.
강의상에서는 @RestController 어노테이션을 넣지 않더라도 문제없이 매핑되는걸 확인할 수 있는데요.혹시 버전이 최신버전으로 바뀌면서 이 어노테이션을 넣지 않으면 매핑이 안되고 그런걸까요??일단 3.3.7에서는 [에노테이션 매핑 정보 사용] 이 강의편에서 나온 것 처럼 @RestController를 빼고 하면 매핑정보를 못 찾는 듯 싶습니다.
-
미해결토비의 스프링 부트 - 이해와 원리
Serverproperties 객체 생성 후 @Impor 어노테이션 사용 이유 용도
과목명 : 프로퍼티 빈의 후처리기 도입 개요 : 프로퍼티를 객체로 추출하여 사용할 때 TomcatServerConfig에 @Import(ServerProseties.class)를 사용하는 이유와 이를 제거하였을 때 ServerProperties 클래스를 주입받지 못하는 이유가 궁금합니다. 세부 :ServerProperties.java의 경우 @MyConfigurationProperties 메타 어노테이션을 통해 @Component 어노테이션이 설정되어 Bean으로써 등록이 가능하다고 생각하였습니다. 그러므로 ServerProperties.java는 서비스내에서 유일하게 선언된 ServerProperties 객체이기 때문에 굳이 @import문을 별도로 선언해줄 필요 없다고 생각하였습니다. 따라서 Spring이 기동 될 때 TomcatServerConfig의 servletWebServerFactory에 자동으로 의존성이 주입 될 것이라 생각하였습니다. 그래서 실제로 @ImportServerProperties.class)를 TomcatServerConfig.java에서 지우고 서비스를 기동하였을 때 다음과 같은 에러가 발생하면서 서비스 구동에 실패 하였습니다. 2025-01-13T06:55:22.586+09:00 ERROR 1088 --- [tobySpringBoot] [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of method servletWebServerFactory in tobyspringboot.config.autoConfig.TomcatWebServerConfig required a bean of type 'tobyspringboot.config.autoConfig.ServerProperties' that could not be found. Action: Consider defining a bean of type 'tobyspringboot.config.autoConfig.ServerProperties' in your configuration. 이러하여 해당 부분에 왜 Import를 선언하는지 질문 드립니다!!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
mokito관련 주의 문구
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]섹션 2-5 듣고 있습니다 MemberRepositoryTest를 실행하면 test는 패스 되고 다른 기능들도 잘 동작하지만 주의 문구가 뜹니다 프로그램에 지장이 있는걸까요? 어떻게 해결해야 할까요? Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build what is described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3WARNING: A Java agent has been loaded dynamically (C:\Users\shina\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.15.11\a38b16385e867f59a641330f0362ebe742788ed8\byte-buddy-agent-1.15.11.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future release package jpabook.jpashop; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.annotation.Transactional; import static org.assertj.core.api.Assertions.assertThat; @ExtendWith(SpringExtension.class) @SpringBootTest class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) public void testMember() throws Exception{ //given Member member = new Member(); member.setUsername("memberA"); //when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); //then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); assertThat(findMember).isEqualTo(member); } }
-
미해결스프링 핵심 원리 - 기본편
enum의용도?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용].enum은 마이바티스 하면서도 처음보고 인프런강좌 이전강의(초급)에서도 본적없는데 무슨용도일까요? 간단하게나마 알려주실분??
-
해결됨이거 하나로 종결-스프링 기반 풀스택 웹 개발 무료 강의
자바스크립트 프로젝트 3-3
3-2에서 css코드 작성 완료후, 3-3에서 js코드 작성하시는데 js 앞부분이 잘린거 같아요.
-
미해결스프링부트 시큐리티 & JWT 강의
9분대에 질문이 있습니다 !
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 우선 강의 정말 유익하게 잘 보고 있습니다 감사합니다 !9분대에 질문이 있습니다.어떻게 A의 개인 키로 잠겨 있는 것을 A의 공개 키로 오픈 할 수 있나요? -> 공개 키로 잠궈놨다면 해커가 열 수 있다고 생각 하는데, 개인키로 잠군 것을 B나 해커가 어떻게 공개 키로 열람할 수 있는 것인가요 ? A -> B 로 "A:C:1억을 송금했다" 라는 메시지를 A의 개인키로 보낼때 해커가 가로채서 A의 공개키를 사용해 데이터를 열어볼 수 있다고 하셨는데, 그럼 해커가 저 데이터를 다시 변경하여 B로 이상한 메시지를 보낼 수 있나요? 2-1. 보낼 수 있게 된다면 해커가 다시 A의 개인 키로 데이터를 보내나요? 2-2. 그렇게 된다면 B는 해커한테 탈취를 당했었는지 어떻게 식별 하나요? 해커가 다시 A의 개인 키를 사용할 수 있나요 ? 질문이 좀 많아서 죄송합니다 ㅎㅎ ..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
viewPath설정의 오류인가?, 아니면 그저 컴퓨터 오류인가
안녕하세요 다른 질문들 보면서 저와 비슷한 것은 알겠지만 저와 다른 것 같아 여기 질문드려봅니다 제가 작성한 코드 : https://drive.google.com/file/d/1QYZwvaOXezKHGvpeHLRoYj9Z6e_OQPP1/view?usp=drive_link 여기서 http://localhost:8080/front-controller/v1/members/new-form주소로 구글크롬을 이용해 접근을 하게 되면 저는 이렇게 표시가 됩니다강의를 보면서 오류가 생겨 정말 며칠간 이것저것 코드도 다시 작성해보고 했는데 어느순간부터 이게 되질 않네요; 이부분의 1번의 FrontControllerServletV1이부분의 각 put이 제대로 동작하지 않는 것 같다고 지금 혼자 결론을 냈고, 디버깅도 해보려 노력했지만생각처럼 되질 않습니다 어지간하면 질문 안하고 혼자해보는 사람인데 너무 삽질을 많이하고 있어 질문드려봅니다 제 설명이 부족했다면 바로 추가드리겠습니다!질문 요약코드대로 스프링을 실행하고주소로 접근하면 왜 form이 안나오고 오류창이 뜨는지가 궁금+ 각 viewPath가 틀린게 아닌가 라는 gpt의 말이 있었지만 아시다시피 gpt가 헛소리를 많이하는 탓에 잘 모르겠습니다.v1, v2, v3 모두 정상작동해서 v5까지 다시 해볼 수 있도록 부탁드립니다.
-
미해결스프링 핵심 원리 - 기본편
멤버서비스 join과 맴버레퍼지토리 save 순서 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 맴버 서비스에서 우선 회원가입(join)을 하고 난 후에맴버 레파지토리에 join (회원등록..?)을 하는 순서이지 않을까 생각하는데 맞을까요..? memberServiceimpl에 조인 함수에서 사전에 등록된 레파지토리.save를 불러오는 것이 이해가 되지 않습니다..ㅠ save 와 join 함수의 의미와 순서가 궁금합니다 아직 회원 가입(join) 이 안되었는데 이미 있던 데이터(save)를 가져온다는데 혼란이 됩니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
트랜잭션과 관련된 질문입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. "JPA 사용 시 주의해야할 점은, 항상 “트랜잭션”이 있어야 한다"라고 해주셨는데, 그 말의 의미가 애플리케이션 서버가 DB 서버에 연결해서 데이터 관련 작업(쿼리를 날리는 등)시 무조건 트랜잭션이 필요하다는 말인가요?즉, JPA가 아닌 JDBC Template을 사용하더라도 무조건 DB와의 데이터 관련 작업 시 “트랜잭션”이 있어야 하나요?어떤 메서드엔 @Transactional이 없어도 되었고 어떤 메서드엔 필요했던 기억이 있어서 여쭤봅니다! 그리고, 트랜잭션이 걸려있을 때 애플리케이션에서 DB 서버로 쿼리를 날릴 때, "트랜잭션이 실행되고 DB에 쿼리가 날라가고 commit이 되서 DB에 데이터가 들어가는 순서" 일까요?