묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
깃허브에 올려봐도 괜찮을까요?
안녕하세요 선생님!깃허브 경험을 쌓고 싶어서 배운 내용을 출처를 남기고 깃허브에 올리면서 해봐도 괜찮을까요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Valid , bindingResult
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]memberController의 create 부분의 로직을 저는 아래처럼 이해했는데 맞게 이해한게 맞을까요 ?@Valid 어노테이션이 있어서 MemberForm의 @NotEmpty 조건을 validation하고 이 단계에서 NotEmpty 조건을 충족시키지 못했을 때 에러가 나는데 그 에러에 대한 내용을 bindingResult로 인해서 에러 정보를 result란 값에 저장한 뒤 result에 에러 정보가 있을 시에 members/createMemberForm으로 페이지 이동 후 createMemberForm html 파일에서 result에 name 에 대한 에러 값이 있을 때 에러메시지를 바인딩하는데 그게 NotEmpty 어노테이션 적용 시 적어뒀던 메시지를 띄우는 걸까요 .. ?전체적인 로직을 제가 맞게 이해한건지 잘 모르겠어서요 ..
-
해결됨Spring Boot JWT Tutorial
requestMatchers 관련 에러 뜨시는 분들 참고하세요
@Bean public WebSecurityCustomizer configure(){ return (web) -> web.ignoring() .requestMatchers(new AntPathRequestMatcher("/h2-console/**")) .requestMatchers(new AntPathRequestMatcher("/favicon.ico")); } @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http .authorizeRequests() .requestMatchers(new AntPathRequestMatcher("/api/hello")).permitAll() .anyRequest().authenticated(); return http.build(); }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Gradle - Groovy, Kotlin 고민
Spring initializr에서 현재 버전으로는 Gradle - Groovy와 Gradle - Kotlin 중 선택을 할 수 있게 되어 있는데요.강의를 들을 때는 어떤 버전이든 상관이 없을까요? 아니면 Groovy를 선택하는 것이 나을까요?
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
feignClient의 consumes와 @RequestHeader는 같은 역할인가요?
카카오 토큰 발급 구현(2) 5:27 부분feignClient의 PostMapping에consumes = "application/json"이 있는데이 부분이 외부 api 요청시 헤더 지정 역할인 것으로 알고 있습니다. 그런데 카카오에서는 x-form-urlencoded로 요청하라고 해서 @RequestHEader("Content-Type)을 따로 지정해주는 것으로 이해했느데요 consumes="x-form-urlencoded"로 하고 파라미터에서 contentType을 제거해도 되나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
instanceId
instanceId 설정할때${spring.application.instanc_id:${random.value}}로 들여쓰는 이유가 뭔가요?그냥 ${random.value}로도 생성이 되는것은 확인을 했는데요.. 이유를 모르겠습니다.
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
강사님 디버깅시 중단점 안 찍어도 자동으로 찍히는거 어떻게 하나요?
안녕하세요 Spring Cloud OpenFeign(2) 강의 4:59 지점 학습중에 강사님의 경우 breaking point를 설정하지 않았음에도 자동으로 오류 지점에서 프로그램이 중단되는 이유가 궁금합니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
WebSecurityCustomizer 와 SecurityFilterChain 차이점에 대해 여쭙고싶어요
@Configuration @EnableWebSecurity(debug = true) // 운용환경에서는 꼭 꺼야한다. public class SecurityConfig { @Bean // Spring Security 무시시키기 public WebSecurityCustomizer webSecurityCustomizer() { return new WebSecurityCustomizer() { @Override public void customize(WebSecurity web) { // /error -> spring에서 기본제공하는 것 web.ignoring().requestMatchers("/favicon.ico", "/error") // .requestMatchers(new AntPathRequestMatcher("/h2-console/**")); // 멍청한 우리들을 위해 스프링이 제공해주신 위으 코드를 대신하는 메서드 .requestMatchers(toH2Console()); } }; } @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { // and() 메서드가 deprecated되어 람다식으로 사용하라고 한다. return http.authorizeHttpRequests(authorizeHttpRequests -> { authorizeHttpRequests .requestMatchers("/auth/login").permitAll() .anyRequest().authenticated(); }).csrf(AbstractHttpConfigurer::disable).build(); } }안녕하세요 호돌맨님 위의 WebSecurityCustomizer에서 하는 일을 밑의 SecurityFilterChain에서도 할 수 있을것 같은데요 둘을 어떻게 사용방법을 구분해야할지 여쭙고 싶어요 30년차사수(ChatGPT) 에 물어보니 차이점:WebSecurityCustomizer는 주로 보안 구성을 조정하고 보안 설정을 사용자 정의하는 데 사용됩니다. 이를 통해 더 세부적인 보안 요구 사항을 처리할 수 있습니다.SecurityFilterChain은 주로 실제 보안 필터 체인을 구성하는 데 사용됩니다. 여러 보안 필터가 어떤 순서로 실행될지를 결정하며, 보안 관련한 요청 처리를 담당합니다.둘 다 Spring Security의 핵심 요소이며 보안 구성과 필터 체인의 다른 측면을 다룹니다. 일반적으로 SecurityFilterChain을 사용하여 필터 체인을 정의하고, 필요에 따라 WebSecurityCustomizer를 사용하여 더 많은 세부 설정을 적용할 수 있습니다.라는데.. 처음 Security를 접하다보니 감이 안잡히네용..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA의 엔티티와 값타입 구분.
안녕하세요. JPA를 수강하고 '도메인 주도 개발 시작하기'라는 책을 읽었는데요.궁금한 점이 생겨 글을 남기게 되었습니다.JPA의 엔티티와 값 타입에 대해 읽게 되었는데요.애그리거트[루트 앤테티]를 뺀 나머지는 구성 요서는 대부분 밸류이다. 라고 하여 라이프 사이클이 다르면 루트 엔티티로 해야 되고, 같으면 @Embeddable 애너 테이션을 사용하여 값 타입으로 구현해야 된다고 보았습니다. 강의에서는 주소를 구현할 때 잠시 사용하였던 걸로 기억하는데, 어떤 게 맞는지 궁금하여 글을 남기게 되었습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
저도 회원조회에서 막히네요ㅠㅠ
잘되다가 등록 후 조회에서 막히네요ㅠㅠ부탁드립니다...!!https://drive.google.com/drive/folders/1_dcicJUyawOjH4ZO4kd7Tq8REtaDwU6O?usp=drive_link
-
미해결스프링 시큐리티
SecurityContext 의 clear시점이 궁금합니다.
강의를 듣다가 궁금한점이 생겨 이렇게 질문 드립니다.SecurityContextPersistenceFilter에서 클라이언트의 최종 요청이 끝나면 SecurityContext를 클리어한다고 알고 있습니다.거기서 클라이언트의 최종요청 이라는것이 SecurityContext는 세션에 저장되어 있으니 세션만료 될때까지는 존재 하는것인지 아니면 요청이다보니 하나의 컨트롤러에서 하나의 작업을 수행 후 리턴해주고 끝났을때 마다 SecurityContext 를 클리어해주고 새로운 요청이오면 다시 만드는 것인지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MySql 대신 오라클로 연동 시 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]순수JDBC 강의 15분~16분 실행(등록) 시 오류 발생.(이름 입력 - 등록 - 에러발생)*DB에는 insert 되어있음**페이지 에러명 : Whitelabel Error Page , (type=Internal Server Error, status=500). 영한님 강의에서는 id를 Long 타입으로 하시고create table을 bigint로 하셨어요. 저는 오라클DB를 쓰기 때문에Long 타입을 모두 int 타입으로 변환하였고,create table 또한 id필드를 number로 생성하였습니다.회원가입(등록) 시, DB에 insert는 되나에러가 뜨면서 콘솔창에 아래와 같은 오류가 뜹니다. java.sql.SQLException: 부적합한 열 유형: getInt not implemented for class oracle.jdbc.driver.T4CRowidAccessor 오류발생 지점을 보면,@Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getInt(1)); } else { throw new SQLException("id 조회 실패"); } return member; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); }member.setId(rs.getInt(1));위 행에서 오류가 발생하는 것으로 확인됩니다. DB에는 insert 되어있는데무엇이 문제인지 모르겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPQL로 엔티티를 조회해오는 경우에는 준영속 상태인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.EntityManager의 em.find() 메서드로 조회해온 엔티티는 영속 상태의 엔티티이고, 이것이 아닌 em.createQuery()로 조회해 오는 경우는 준영속 상태인가요? 보니까 JPQL로 조회해온 엔티티의 경우에는 더티 체킹이 일어나지 않는 것 같습니다. 혹시 제가 제대로 이해한 것이 맞을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
webapps 폴더의 html 파일을 인식하지 못하는것 같습니다.
server 프로젝트 톰켓 연결해서 실행하니깐 서블릿은 동작하는데 index.html 파일은 "HTTP 상태 404 – 찾을 수 없음" 이라고 뜨네요.webapps 폴더에 다른 html 파일을 만들어 넣어도 동작하지 않아요..별도의 설정이 필요한 부분이 있을까요?
-
미해결스프링 시큐리티
CustomAuthenticationProvider 질문
CustomAuthenticationProvider를 작성한 이후, SecurityConfig를 등록할 때 Adapter를 쓰지 않았을 경우 어떻게 등록하는지 알고 싶습니다.Adapter를 찾아보니 deprecated되어서 사용하지 않고 filterChain을 사용했을 때 어떻게 등록해야한다 이런 정보가 없어서요.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 db 연결 후 spring boot 에러
spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driverpackage hello.hellospring; import hello.hellospring.repository.JdbcMemberRepository; import hello.hellospring.repository.MemberRepository; import hello.hellospring.service.MemberService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; @Configuration public class SpringConfig { private final DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository() { // return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); } }h2 db에 잘 들어가지고, 코드도 강의 보면서 따라 작성하였는데회원 목록을 들어가거나 회원 등록을 하려고 하면 웹 페이지가 에러 뜹니다왜 이러는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원서비스 테스트 clearStore()관련 질문입니다
안녕하세요 회원 서비스 테스트 강의 듣다가 이해 안가는 부분이 있어서 질문드립니다12:11 에서MemoryMemberRepository memberRepository = new MemoryMemberReposiory(); 이 코드를 왜 작성해야하는지 이해가 안갑니다. clearStore()를 할거면 그냥 위에 적힌 memberService.memberRepository.clearStore(); 로 해도 같은 기능을 하는 코드가 아닌가요? 그리고 memberService.memberRepository를 사용하면 하나의 회원repository instance만 사용하므로 회원 서비스 코드를public class MemberService{ private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; } }위와 같이 작성하지 않아도 되는거 아닌지 궁금합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
쿼리쪽 색상 변경
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]선생님처럼 이렇게 색상하려면 어떻게 해야하나요?폰트는 intellij darcula 사용중입니다 쿼리쪽 색상 따라하고 싶어요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Slf4j 모듈 찾기 오류
[질문 내용]여기에 질문 내용을 남겨주세요.이번에 인텔리제이를 처음 사용합니다.모듈안에서 찾을 수 없다고 해서 pom.xml에서 의존성을 선언하였습니다. 의존성을 선언해도 오류가 발생됩니다...(구글링을 통해 버전 확인을 해봤지만 찾지 못함)<질문 요약>1) Slf4j 버전 확인하는 법2) pom.xml 에서 dependcy가 밑줄 이유, 해결방법3) 의존성 선언을 하였지만 선언 실패감사합니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
카프카 네트워크 관련 에러
org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Error connecting to node f9ffc2ed14a4:9092 (id: 1001 rack: null)에러 메시지는 위와 같습니다.현재 m2 노트북을 사용하고 있어 호스트가 arm64 플랫폼입니다. arm64를 지원하는 주키퍼, 카프카 이미지를 설치하였습니다.도커 컴포즈 파일입니다.version: '2'services:zookeeper:image: docker.io/bitnami/zookeeper:3.8container_name: zookeeperports:- "2181:2181"environment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000ALLOW_ANONYMOUS_LOGIN: yeskafka:image: docker.io/bitnami/kafka:3.4container_name: kafkaports:- "9092:9092"environment:KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181volumes:- /var/run/docker.sock:/var/run/docker.sock 나머지 코드는 동일합니다.