묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberForm에 자동으로 name이 저장된 이유를 모르겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 스프링 공부하다가 궁금한 점이 생겼습니다.아래의 코드에서 MemberForm에 직접 name을 저장한 적은 없는데 form에 name이 저장된 이유는 Controller에 create 메서드가 포함되어 있고 그 메서드가 MemberForm을 매개변수로 받기 때문에 spring이 MemberForm의 name을 관리해주는 건가요? @PostMapping("/members/new") public String create(MemberForm form) { System.out.println(form.getName()); Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; }
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
부분 업데이트시 PATCH vs POST
회원 수정 API 관련해서 강의 자료 오류 정정부분에 PUT은 전체 업데이트 시 사용하는 것이고, 부분 업데이트 할 때는 PATCH나 POST를 사용하는 것이 맞다고 나와있는데 실무에서는 PATCH나 POST중에 어떤 것을 더 많이 사용하나요? 개인 프로젝트시에 참고하고 싶어 질문드립니다!
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
콘솔 한글 깨짐
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)아니요2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)아니요3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.다른 프로젝트를 실행하면 콘솔에 한글이 안 깨지는데 해당 강의 대로 진행한 프로젝트는 한글이 깨집니다.https://velog.io/@hsjung2015/Intellij-or-Eclipse%EC%BD%98%EC%86%94%EC%B0%BD%EC%97%90-%ED%95%9C%EA%B8%80%EC%9D%B4-%EA%B9%A8%EC%A0%B8%EC%84%9C-%EB%82%98%EC%98%AC%EB%95%8C-%EC%B5%9C%ED%9B%84%EC%9D%98-%EB%B0%A9%EB%B2%95해당 사이트에 있는 3번까지 진행 했는데 한글이 깨지네여 ㅠㅠ package hello.servlet.basic.request; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(name = "requestHeaderServlet", urlPatterns = "/request-header") public class RequestHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { printStartLine(request); printHeaderUtils(request); printEtc(request); response.getWriter().write("ok"); } private static void printStartLine(HttpServletRequest request) { System.out.println("--- REQUEST-LINE - start ---"); System.out.println("request.getMethod() = " + request.getMethod()); System.out.println("request.getProtocol() = " + request.getProtocol()); System.out.println("request.getScheme() = " + request.getScheme()); System.out.println("request.getRequestURL() = " + request.getRequestURL()); System.out.println("request.getRequestURI() = " + request.getRequestURI()); System.out.println("request.getQueryString() = " + request.getQueryString()); System.out.println("request.isSecure() = " + request.isSecure()); //https 사용 유뮤 System.out.println("--- REQUEST-LINE - end ---"); System.out.println(); } private void printHeaderUtils(HttpServletRequest request) { System.out.println("--- Header 편의 조회 start ---"); System.out.println("[Host 편의 조회]"); System.out.println("request.getServerName() = " + request.getServerName()); //Host 헤더 System.out.println("request.getServerPort() = " + request.getServerPort()); //Host 헤더 System.out.println(); System.out.println("[Accept-Language 편의 조회]"); request.getLocales().asIterator() .forEachRemaining(locale -> System.out.println("locale = " + locale)); System.out.println("request.getLocale() = " + request.getLocale()); System.out.println(); System.out.println("[cookie 편의 조회]"); if (request.getCookies() != null) { for (Cookie cookie : request.getCookies()) { System.out.println(cookie.getName() + ": " + cookie.getValue()); } } System.out.println(); System.out.println("[Content 편의 조회]"); System.out.println("request.getContentType() = " + request.getContentType()); System.out.println("request.getContentLength() = " + request.getContentLength()); System.out.println("request.getCharacterEncoding() = " + request.getCharacterEncoding()); System.out.println("--- Header 편의 조회 end ---"); System.out.println(); } private void printEtc(HttpServletRequest request) { System.out.println("--- 기타 조회 start ---"); System.out.println("[Remote 정보]"); System.out.println("request.getRemoteHost() = " + request.getRemoteHost()); // System.out.println("request.getRemoteAddr() = " + request.getRemoteAddr()); // System.out.println("request.getRemotePort() = " + request.getRemotePort()); // System.out.println(); System.out.println("[Local 정보]"); System.out.println("request.getLocalName() = " + request.getLocalName()); // System.out.println("request.getLocalAddr() = " + request.getLocalAddr()); // System.out.println("request.getLocalPort() = " + request.getLocalPort()); // System.out.println("--- 기타 조회 end ---"); System.out.println(); } }
-
해결됨[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Exception Class 생성 문의
안녕하세요예외 클래스 생성하는 것에 대해서 질문드립니다.일반적으로 API를 클라이언트에서 호출 했을 때Exception이 발생하면실무에서는 보통 해당 강의와 같이 Exception을 직접 만들어서 사용하는지 여쭤보고자 합니다.
-
해결됨스프링 시큐리티 OAuth2
로그아웃 시, 토큰 만료 처리
로그아웃 시, 토큰 만료 처리로그아웃 할 때, 토큰 무효화를 확실히 하기 위해 oauth2_authorization 테이블에 있는 액세스 토큰과 리프레시 토큰을 만료 시키고 싶은데 맞는 방법인지 모르겠습니다.로그아웃url 뒤에 쿼리로 액세스 토큰, 리프레시 토큰 받아와 커스텀한 logoutHandler에서 OAuth2AuthorizationService 호출하여 토큰 유효기간을 업데이트 하여 무효화하긴 했는데 위 방법처럼 DB의 oauth2_authorization 테이블을 직접 업데이트쳐서 토큰을 무효화 해도 되는것인지, Spring boot 내에서 왜 로그아웃할 때 토큰 유효기간을 만료시키지 않는 것인지 궁금합니다. 로그인 시, 세션 인증 정보 저장그리고 로그인할 때 OAuth2AuthorizationServerConfigurer내부에서 세션에 인증 정보(유저명, 인증여부 등)담고 있는데 인증서버를 여러 대 구성할 경우, 문제가 없을지? redis를 사용해야할지 궁금 합니다.oauth2는 토큰발급하여 인가하는데 왜 세션에 인증정보를 저장하여 사용하나요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
점화식을 발견하기 위해서 규칙을 찾아봐야 하나요?
안녕하세요. 이 문제를 풀려면,점화식을 유추하기 위해서 입력예제 1을 활용해서 직접 dy 배열을 그려보고 1원 2원 5원 동전들을 활용하여 최소 몇개씩 필요한지 직접 써내려가면서 규칙을 찾아내는 순서로 푸는게 맞는 방법인가요? 강의에서는 선 규칙 찾기, 후 유추의 방식으로 설명하지 않으시는 것으로 생각되어 질문드립니다.
-
미해결핸즈온 리액트 네이티브
expo프로젝트 생성후 연결하는과정
주소가 다르다, 로그인을 해야한다 등등 여러가지 해결방법을 찾아 해보았지만 여전히 문제가 해결되고 있지 않아서 질문드립니다.주소가 다르다해서 ip주소 끝자리를 다시맞춰보는 방법을 해보았고, expo에서 가입한 아이디로 로그인을 하는방법도 해보았으며 현재상태는처음엔 Uncaught Error: .java.net.SocketTimeoutException: failed to connect to /192.168.233.120(port(8081) from /192.168.233.122(port 50322) after 1000 ms이런식으로 ip주소의 끝자리만 다르게 문제가 발생하였지만 이후엔 연결표시만 계속 뜨고있습니다.무슨문제인지 정확히 해결방법을 모르겠어서 질문드립니다.
-
미해결김영한의 실전 자바 - 기본편
Student 클래스 타입 크기 질문
Student 객체의 참조값을 담는 Student 클래스 타입의 크기는 어느정도인가요? (ex. int는 4byte double은 8byte인 것처럼)
-
미해결
Caused by: org.postgresql.util.PSQLException: 오류: "zone" 이름의 릴레이션(relation)이 없습니다
Caused by: org.postgresql.util.PSQLException: 오류: "zone" 이름의 릴레이션(relation)이 없습니다org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'zoneService': Invocation of init method failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet이 에러는 어떻게 해결해야할까요?... 강의원본파일하고도 비교해보고 디비연결까지는 되는거 확인했는데..자꾸 여기서 벗어나질 못하네요...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
포인터 사이즈 관련
안녕하세요 강의 수강 중에 궁금한 점이 있어 문의 남깁니다. 6분 34초를 보면 포인터의 사이즈는 8바이트라고 나오는데, 그 전에 나온 포인터 값을 보면 16진수 12자리 값이어서 6바이트 크기인 것으로 보입니다. 이 부분에서 왜 차이가 발생하는지 궁금합니다. 추가적인 질문이 있습니다. int가 4바이트고 int *가 8바이트면 메모리 효율성에서 매우 비효율 적인 것이 맞나요?물론 포인터가 매개변수 호출 등에서 장점이 있긴 하지만, 효율성 부분에서 안좋은 것 아닌지 하는 궁금증이 생겨서 여쭤봅니다. 항상 좋은 강의 감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
freeboard_frontend 작업 중 Failed to fetch
freeboard_frontend 폴더에서 댓글 부분 만들려고 yarn dev해서 화면을 확인하려고 하는데 /boards 부분 화면은 뜨는데 글 목록은 하나도 뜨지않고 작성하기를 하려하니 alert 창으로 Failed to fetch 라는 안내가 뜹니다 혹시 뭐가 문제인지 알 수 있을까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
.
맛비님의 맛비 시계 강의를 모두 수강하였고, 해당 자료를 보고 아이디어가 떠올라 맛비시계를 응용한 프로젝트를 진행하였습니다.https://www.hackster.io/Yupabal/fpga-watch-with-button-function-on-zybo-z7-14250c맛비님이 hackster.io에 올린 코드를 가지고 "matbi_watch_top", "one_sec_gen"에 대한 코드는 제가 원하는대로 고쳤습니다. 위의 2가지 모듈에는 License를 제 github 주소로 고쳤고, 그 외에 코드들은 matbi님 주소 그대로 두고 저의 github에 올렸는데 혹시 문제가 될까요? (프로젝트를 올린 것도 문제가 될까요?) +추가로 (프로젝트를 진행하면서 생긴 문제였습니다.)하나의 always 구문안에 if~else, if~else 이런식으로 if문을 2개 이상 넣을 수 있나요?이를 시도해보았는데, testbench를 돌려보니 always 구문안에 존재하는 변수 값이 xx로 출력되면서 동작하지 않았습니다.ex)always @( ~~~) beginif(~~)elseif(~~~~)elseend
-
미해결실전! Querydsl
RequestDto에서 요청값으로 받는 Enum에 조건식 또는 정렬 기준을 포함하는거에 대해서 어떻게 생각하시나요?
안녕하세요! 저는 7월부터 스타트업에서 JAVA기반으로 Spring과 Jpa를 활용하여 백엔드 개발자를 하고 있습니다! 다름이 아니라, 조회 로직에서 다양한 필터링 조건을 걸어야 하는 요구사항을 맡게 되었습니다. 이때 결론적으로 Enum의 필드로 조건식(BooleanExpression) 또는 정렬 조건(OrderSpecifier)를 가지고 있는걸 어떻게 생각하시는지 의견을 여쭙고 싶습니다!(제가 GPT에게 물어보았을 때는, 좋은 방법이나, Enum이 데이터 접근 계층에 의존적이게 된다는 단점을 지적받았습니다.)@Getter @RequiredArgsConstructor public enum ItemSortCriteria { ITEM_PRICE_ASC("상품 가격기준 오름차순 정렬", QItem.item.price.asc()), ITEM_PRICE_DESC("상품 가격기준 내림차순 정렬", QItem.item.price.desc()); private final String description; private final Orderspecifier orderSpecifier; } 제가 예전에 접했던 코드 중 하나라 문득 생각이 들었는데요,올바른 판단인지 / 아닌지 판단하기가 어려워서 질문 드립니다! 나아가 영한님 혹은 답변해주신 분들 께서는, 이렇게 든 생각이 올바른 판단인지 아닌지를 어떤 기준을 가지고 판단하시는지 그 사고의 흐름도 궁금합니다!
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
no frameworks detected
no frameworks detected 의 문구가 뜹니다 . 아래와 같이 선택할 수 있는 창이 뜨지않습니다. 위를 무시하고 create를 누르면 아래와 같이 나옵니다 ㅜㅜ
-
미해결정보처리기사 필기 - 제1과목 소프트웨어 설계 (2020 개정)
강의 내용
혹시 전체적인 강의 내용이 계속 업데이트 되는 건가요??? 2020년도에 멈춰있는 것 같은데 24년도 시험내용이랑 동일할까요???수제비 문제집 2023년도랑 같이 보는데 빠진 부분이랑 다루지 않는 내용도 강의에 나오는 것 같아서요그리고 혹시 코스별 강의에 관한 자료를 받아 볼 수 있을까요?>
-
해결됨김영한의 실전 자바 - 기본편
인스턴스 타입을 부모로해도 자식의 오버라이드 메서드가 호출되나요?
안녕하세요! ElectricCar electricCar = new ElectricCar(); electricCar.move();이렇게 하면 호출한 electricCar의 타입은 ElectiricCar라서 인스턴스 내부의 ElectricCar 타입에서 시작한다고 하셨습니다.그래서 electricCar.move();를 실행하면 ElectricCar 의 move() 메서드가 실행돼서전기차를 빠르게 이동합니다.이렇게 전기차로 출력이 됩니다.Car electricCar = new ElectricCar(); electricCar.move();그럼 이렇게 타입이 Car타입이면 인스턴스 내부의 Car타입에서 move()메서드를 실행시켜 "차를 이동합니다."가 출력될 것이라고 생각했는데 전기차를 빠르게 이동합니다.여기서도 전기차를 빠르게 이동합니다.가 출력됩니다.어째서 Car타입에서 move()메서드를 실행하지 않고 ElectricCar의 move()메서드를 실행하게 되는건가요?감사합니다!!😊
-
해결됨스프링 부트 - 핵심 원리와 활용
@Value 검증 적용 관련 질문드립니다.
@Value를 적용한 필드에 @Min(1) 과 같은 검증을 적용할 수는 없을까요?아래 소스코드처럼 작성해 MyDataSourceValueConfig를 빈으로 등록하면 @Validated가 동작해 검증될 줄 알았는데 적용되지 않습니다. 원인이 무엇인지 궁금합니다...(코드 내 $가 포함되면 이상하게 동작해,$를 #로 변경하였습니다.)package hello.datasource; import hello.datasource.MyDataSource; import jakarta.validation.constraints.Min; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.validation.annotation.Validated; import java.time.Duration; import java.util.List; @Slf4j @Configuration @Validated public class MyDataSourceValueConfig { @Value(“#{my.datasource.url}") private String url; @Value(“#{my.datasource.username}") private String username; @Value(“#{my.datasource.password}") private String password; @Value(“#{my.datasource.etc.max-connection}") @Min(1) private int maxConnection; @Value(“#{my.datasource.etc.timeout}") private Duration timeout; @Value(“#{my.datasource.etc.options}") private List<String> options; @Bean @Validated public MyDataSource myDataSource1() { return new MyDataSource(url, username, password, maxConnection, timeout, options); } @Bean public MyDataSource myDataSource2( @Value(“#{my.datasource.url}") String url, @Value(“#{my.datasource.username}") String username, @Value(“#{my.datasource.password}") String password, @Value(“#{my.datasource.etc.max-connection}") int maxConnection, @Value(“#{my.datasource.etc.timeout}") Duration timeout, @Value(“#{my.datasource.etc.options}") List<String> options ) { return new MyDataSource(url, username, password, maxConnection, timeout, options); } }
-
미해결
QueryDsl에서 프로젝트 설정할 때 Gradle에 compileQuerydsl 자체가 안 생겨요(3버전)
compileQuerydsl이 생겨야 뭘 하는데스프링부트 3버전에 해당하는 build.gradle 설정으로 하면 없고부트 2버전에 해당하는 build.gradle로 짬뽕해서 쓰면 compileQuerydsl이 생겨요강의 교안에 나온대로 3버전대로 하는데 compileQuerydsl 이 나오게 하려면 어떻게 해야 하나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)=======================================이하 MemberServiceTest 코드입니다.이하 오류 메시지입니다.h2 실행 여부와 관계 없이 같은 오류가 뜨네요.어떻게 해결하면 좋을까요?감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
throw 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Member Service - validataDuplicateMember() 함수에서 throw 부분이 오류납니다.