inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

메서드의 메모리 상 위치

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 상속 강의를 듣던 중 궁금증이 생겨 남깁니다. 상속 관계에 있는 두 클래스가 있을 때, 자식 클래스의 인스턴스를 생성하면 부모 클래스의 인스턴스가 같이 메모리 상에 생성된다고 하셨습니다. 그런데 이전에 자바 메모리 구조 강의에서는 메서드는 Heap 영역이 아닌 클래스 영역에 존재하는 것이고 메서드 호출 시 클래스 영역으로 찾아가 메서드를 호출한다고 이해했습니다. 상속 관계에 있는 두 클래스의 메서드가 메모리 상에서 어떤 방식으로 호출되는 것인지 궁금합니다.

  • java
  • 객체지향
dlfmadjqtek 댓글 2 좋아요 0 조회수 301

middleware NextRequest 에 대한 궁금증이 풀리지 않습니다

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 제로초님! 제로초님의 강의를 듣고 난 이후로 여러가지 프로젝트를 진행하다가 middleware.ts 와 NextRequest 에 대해 궁금한게 생겼고 공식문서를 찾아봐도 관련 내용을 제가 못 찾는 것 같아서 이렇게 질문드리게 되었습니다. NextRequest NextRequest는 제가 보내는 요청(페이지에 대한 요청, api에 대한 요청 등)의 정보를 가지고 있는 것으로 알고 있습니다. 만약 클라이언트 컴포넌트 에서 (route handler가 아닌)외부 백엔드 api 로 요청을 보냈을 때, 그 "요청의 헤더에 담긴 쿠키를 제거하고 싶다 " 라는 요구사항이 있을 때 다음과 같이 구현을 했습니다. import { NextRequest, NextResponse } from 'next/server'; export async function middleware(request: NextRequest) { request.cookies.delete('accessToken'); request.cookies.delete('refreshToken'); console.log(request.cookies.getAll()); // 쿠키가 삭제된게 확인됨 } 이렇게 한다면 요청을 보내고 -> middleware에서 받은 뒤, 쿠키를 지우고 -> 이어서 요청을 진행 이렇게 되는 것으로 알고 있는데, 실제로는 401이 발생하지 않고 브라우저 network탭을 보면 헤더에 여전히 쿠키가 담겨 있습니다. 이걸 보고 NextRequest에서 삭제 및 수정한 쿠키는, 그 요청이 처리되는 동안만 (=Next.js 서버 내에서 처리될 때만) 유효하고 외부 백엔드 api로 나가는 요청엔 적용되지 않는건가? 라는 생각이 드는데 이게 맞는건가요? middleware 정확히 middleware가 동작하는 시점이 궁금합니다. 저는 웹에서 진행되는 모든 요청 ( '페이지가 요청될 때' , 'api가 호출될 때' 등) 마다 미들웨어가 작동하는 것으로 알고 있습니다. 근데, 서버 컴포넌트(page.tsx)를 실행했을 경우에 다음과 같은 순서로 진행됩니다. page.tsx에 해당하는 URL 요청 - middleware 실행 이후, page.tsx에 존재하는 데이터 패칭 진행 - middleware 실행 x 클라이언트 컴포넌트에서는 url요청과 데이터 패칭 2가지 경우 모두 middleware가 실행 됐었는데, 왜 서버 컴포넌트에서의 데이터 패칭을 할 때는 middleware가 실행 되지 않는건가요..?

  • next.js
  • approuter
  • middleware
kraf 댓글 1 좋아요 0 조회수 257

h2 데이터베이스 설정 질문 드립니다.

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요 다른 강의랑 병행하며 들으려고 하는중입니다! 다른 강의도 h2 데이터베이스를 사용하는데 , h2 데이터베이스를 두 강의에서 각각 사용하려면 어떻게 설정해야할지 모르겠습니다. 알려주시면 감사드리겠습니다.

  • java
  • jpa
s2사랑해요s2김영한s2 댓글 1 좋아요 0 조회수 174

빌드 안돼요,,,ㅠ

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이건 오류인가요,,,? 자바도 17버전인데,,,잘 모르겠어요 ㅠ

  • java
  • spring
  • mvc
  • spring-boot
hyun 댓글 3 좋아요 0 조회수 701

Try-with-resources 질문

미해결

김영한의 실전 자바 - 중급 1편

안녕하세요. Try-with-resource 질문 있습니다. 강의에서는 disconnect() 메서드에서 예외가 발생하지 않도록 하여서 @Override close()에서 throws Exception 구문을 지웠는데요. 만약에 disconnect()메서드에서 예외가 발생하도록 작성했다면 close() throws Exception으로 예외를 던졌을 때 try-with-resource 쪽(호출한 쪽)에서는 sendMessage() 메서드에서 throws Exception으로 처리를 따로 해야 하나 ? 그리고 직접 예외를 잡으려면 어떻게 해야 하나요 ? 왠지 try 구문 안에서 발생한 거니 자연스레 catch 구문으로 넘어갈거 같기도 해서요. 확인 부탁드립니다. @Override public void close() throws Exception { System.out.println("NetworkClientV5.cloase"); disconnect(); //만약 예외 발생시, try-catch로 여기서 직접 잡아주지 않으면 } public void sendMessage(String data){ String address = "http://example.com"; try (NetworkClientV5 client = new NetworkClientV5(address)){ client.initError(data); client.connect(); client.send(data); //AutoClosable 이니 여기서 나갈 때 예외가 발생 -> 이럴 떈 sendMessage 쪽에서 sendMessage(String data) throws Exception 처리 해야 하나 ? 만약 그 에러를 직접 잡으려고 try catch 구문을 쓰려면 어떻게 해야 하나 } catch(Exception e){ System.out.println("예외 확인 = " + e.getMessage()); throw e; }

  • java
  • 객체지향
인프린 댓글 1 좋아요 0 조회수 331

localhost연결이 안됩니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] HelloSpringApplication.java 의 main 실행 했을 때 사진과 같은 화면이 뜹니다. locallhot는 연결이안됩니다. JDK는 17.0.11.9 버전으로 다운받았습니다. 어디가 잘못된걸까요..

  • java
  • spring
  • mvc
  • spring-boot
박희영 댓글 2 좋아요 0 조회수 1611

hibernate가 select를 두번 하는 이유

해결됨

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

안녕하세요 강사님 강의를 들으면서 이번에 처음 JPA를 알아가고 있는 중입니다. 헌데 궁금한점이 JPA 특성인것인지 아니면 H2 DB 문제인지 그것도 아니면 제 Intellij 설정 문제인지 모르겠지만 select가 두번이 되는 이유가 무엇때문이지 궁금해서 질문 드립니다. 실질적인 동작에 문제가 생기지는 않겠지만 N+1 관련 강의를 듣다보니 불필요하게 쿼리가 호출되면 안좋은것 같아 여쭈어 봅니다. @Test @DisplayName("대출 기록이 없는 유저도 응답에 포함") fun getUserLoanHistoriesTest() { //given userRepository.save(User("A",null)) //when val results = userService.getUserLoanHistories() //then assertThat(results).hasSize(1) assertThat(results[0].name).isEqualTo("A") assertThat(results[0].books).isEmpty() } 위의 코드를 동작시켰을때 Hibernate: insert into user (id, age, name) values (default, ?, ?) Hibernate: select user0_.id as id1_1_, user0_.age as age2_1_, user0_.name as name3_1_ from user user0_ Hibernate: select userloanhi0_.user_id as user_id4_2_0_, userloanhi0_.id as id1_2_0_, userloanhi0_.id as id1_2_1_, userloanhi0_.book_name as book_nam2_2_1_, userloanhi0_.status as status3_2_1_, userloanhi0_.user_id as user_id4_2_1_ from user_loan_history userloanhi0_ where userloanhi0_.user_id=? Hibernate: select user0_.id as id1_1_, user0_.age as age2_1_, user0_.name as name3_1_ from user user0_ Hibernate: select userloanhi0_.user_id as user_id4_2_0_, userloanhi0_.id as id1_2_0_, userloanhi0_.id as id1_2_1_, userloanhi0_.book_name as book_nam2_2_1_, userloanhi0_.status as status3_2_1_, userloanhi0_.user_id as user_id4_2_1_ from user_loan_history userloanhi0_ where userloanhi0_.user_id=? Hibernate: delete from user where id=? 출력 부분에 위에 처럼 뜨는데요 제가 이해한 바로는 insert는 save 때문에 한번인 반면에 getUserLoanHistoreies 부분에 findAll로 한번의 쿼리를 불러오는 거라서 user와 와 userloanhistory 테이블을 각각 한번 씩 조회 해야 하지 않는가 싶어서 질문 드립니다. 추가로 확인해 보보니 LEFT join에 fetch를 추가했을때 위의 select user와 user_loan_history는 left join 쿼리문으로 변한는 반면 아래의 select user와 user_loan_history는 남아 있습니다. 따로 user를 find 하는 곳이 없는 것 같은데 이런 현상이 나오는 이유가 뭘까요?.... 추측 하기로는 AfterEach로 clear할때 deleteAll을 사용해서 사용했던 테이블을 모두 select 하는건가 싶긴 한데... 제가 이해를 잘 못해서 그런건지 이부분이 어렵네요....

  • java
  • spring
  • kotlin
  • spring-boot
  • 리팩토링
김민승 댓글 1 좋아요 0 조회수 259

유저정보 수정 후 서버세션 업데이트할 수 있는 방법이 있을까요?

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 선생님 여쭤보고 싶은 부분이 있습니다. 유저정보 수정 후 서버세션을 업데이트하려는데 검색해도 생각처럼 잘 되지 않더라구요. 혹시 업데이트 방법을 아실까해서 문의드립니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
챠챠_ 댓글 1 좋아요 0 조회수 236

Caw -> Cow 오타 안 고치신 건가요??

미해결

김영한의 실전 자바 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] PDF 교안 최신버전(20240411 ver)으로 다시 확인해봤는데 Caw 오타 그대로인거 같아서 문의드립니다.

  • java
  • 객체지향
lgh8079 댓글 2 좋아요 -2 조회수 589

jsp) 자바빈으로 값 전달이 안 되고 null로 뜨는 문제

미해결

이런 식으로 됩니다. join.jsp에서 회원가입 정보를 작성하고 등록 버튼을 누르면 join_process.jsp로 이동하는 방식입니다. joinBean.java와 joinBean.class 파일은 [톰캣경로/webapps/java_web_last/WEB-INF/classes/com/test]에 있고 다른 jsp 파일은 [톰캣경로/webapps/java_web_last]에 있습니다. vscode로 작업하고 있구요, 위치가 잘못된 걸까요? 뤼튼에 물어볼 때마다 코드는 문제가 없다고 뜨거든요. 코드도 함께 첨부합니다. 잘 아시는 분들 도움 부탁드립니다. ㅠㅠ join.jsp join_process.jsp <%@ page contentType="text/html; charset=UTF-8"%> <%@ page import="com.test.joinBean" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <jsp:useBean id="joinBean" class="com.test.joinBean" scope="request" /> <jsp:setProperty name="joinBean" property="*" /> <html> <head> <title>회원 가입 확인</title> <link rel="stylesheet" href="bootstrap.min.css" /> </head> <body> <div class="container py-4"> <jsp:include page="/menu.jsp" /> <div class="p-5 mb-4 bg-body-tertiary rounded-3"> <div class="container-fluid py-5"> <h1 class="display-5 fw-bold">회원 가입 확인</h1> <p class="col-md-8 fs-4">Please confirm your registration information.</p> </div> </div> <div class="row align-items-md-stretch text-center"> <table class="table table-striped"> <tr> <th>아이디</th> <td><jsp:getProperty name="joinBean" property="id" /></td> </tr> <tr> <th>비밀번호</th> <td><jsp:getProperty name="joinBean" property="password" /></td> </tr> <tr> <th>성명</th> <td><jsp:getProperty name="joinBean" property="name" /></td> </tr> <tr> <th>성별</th> <td><jsp:getProperty name="joinBean" property="gender" /></td> </tr> <tr> <th>생일</th> <td><jsp:getProperty name="joinBean" property="birthyy" />년 <jsp:getProperty name="joinBean" property="birthmm" />월 <jsp:getProperty name="joinBean" property="birthdd" />일</td> </tr> <tr> <th>이메일</th> <td><jsp:getProperty name="joinBean" property="mail1" />@<jsp:getProperty name="joinBean" property="mail2" /></td> </tr> <tr> <th>전화번호</th> <td><jsp:getProperty name="joinBean" property="phone" /></td> </tr> <tr> <th>주소</th> <td><jsp:getProperty name="joinBean" property="postcode" /> <jsp:getProperty name="joinBean" property="addr1" /> <jsp:getProperty name="joinBean" property="addr2" /></td> </tr> </table> <div class="mb-3 row"> <div class="col-sm-12"> <div class="d-flex justify-content-center"> <form action="join_complete.jsp" method="post"> <input type="hidden" name="id" value="<jsp:getProperty name="joinBean" property="id" />"> <input type="hidden" name="password" value="<jsp:getProperty name="joinBean" property="password" />"> <input type="hidden" name="name" value="<jsp:getProperty name="joinBean" property="name" />"> <input type="hidden" name="gender" value="<jsp:getProperty name="joinBean" property="gender" />"> <input type="hidden" name="birthyy" value="<jsp:getProperty name="joinBean" property="birthyy" />"> <input type="hidden" name="birthmm" value="<jsp:getProperty name="joinBean" property="birthmm" />"> <input type="hidden" name="birthdd" value="<jsp:getProperty name="joinBean" property="birthdd" />"> <input type="hidden" name="mail1" value="<jsp:getProperty name="joinBean" property="mail1" />"> <input type="hidden" name="mail2" value="<jsp:getProperty name="joinBean" property="mail2" />"> <input type="hidden" name="phone" value="<jsp:getProperty name="joinBean" property="phone" />"> <input type="hidden" name="postcode" value="<jsp:getProperty name="joinBean" property="postcode" />"> <input type="hidden" name="addr1" value="<jsp:getProperty name="joinBean" property="addr1" />"> <input type="hidden" name="addr2" value="<jsp:getProperty name="joinBean" property="addr2" />"> <button type="submit" class="btn btn-primary me-2"> <span class="d-flex justify-content-center align-items-center"> 이대로 회원가입 </span> </button> </form> <a href="join.jsp" class="btn btn-primary"> <span class="d-flex justify-content-center align-items-center"> 돌아가기 </span> </a> </div> </div> </div> </div> <jsp:include page="/footer.inc.jsp" /> </div> </body> </html> joinBean.java package com.test; public class joinBean { private String id; private String password; private String name; private String gender; private String birthyy; private String birthmm; private String birthdd; private String mail1; private String mail2; private String phone; private String postcode; private String addr1; private String addr2; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getBirthyy() { return birthyy; } public void setBirthyy(String birthyy) { this.birthyy = birthyy; } public String getBirthmm() { return birthmm; } public void setBirthmm(String birthmm) { this.birthmm = birthmm; } public String getBirthdd() { return birthdd; } public void setBirthdd(String birthdd) { this.birthdd = birthdd; } public String getMail1() { return mail1; } public void setMail1(String mail1) { this.mail1 = mail1; } public String getMail2() { return mail2; } public void setMail2(String mail2) { this.mail2 = mail2; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getPostcode() { return postcode; } public void setPostcode(String postcode) { this.postcode = postcode; } public String getAddr1() { return addr1; } public void setAddr1(String addr1) { this.addr1 = addr1; } public String getAddr2() { return addr2; } public void setAddr2(String addr2) { this.addr2 = addr2; } } null로 표시되는 것 말고 따로 오류 뜨는 건 없습니다. 자바빈 파일이 연결이 안 되는 것 같은데...

  • jsp
  • java
  • javabean
임서하 댓글 2 좋아요 0 조회수 390

@BatchSize 적용 시 로그

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 정말 JPA를 제대로 배우며 유익한 시간을 보내고 있는 수강생입니다. 질문 1. 페치조인2 - 한계 강의를 듣던 중 @BatchSize 를 조절하여 N+1 문제를 해결하는 예시를 보여주시는데 보여주신 예시의 로그와 제가 테스트 해봤을 때의 로그가 좀 다르게 나와 질문드립니다. 인강에서 보여주실 때에는 load one-to-many 라고 주석이 달리면서 실제 조건문에서는 ? 가 2개만 찍혀있는데 제가 테스트 해보니 BatchSize에 지정해준 숫자 만큼 로그에 ? 가 찍히는것을 확인 할 수 있었습니다. 혹시 제가 잘 못 테스트 한 것 일까요? 질문 2. 또한 강의에서 일반적으로 BatchSize 를 전역 설정으로 해놓고 100~1000 사이의 크기를 지정하여 사용하신다고 말씀하셨는데 이는 DB 조회 쿼리 횟수는 줄어들어 N+1 문제는 완화할수 있지만 지연 로딩 시 내가 접근한 객체의 수 만큼만 로드하는 것이 아닌 무조건 배치 사이즈 만큼 로드되기 때문에 그 간격이 크면 메모리적인 낭비가 되는거 아닌가요?

  • java
  • jpa
JJ L 댓글 1 좋아요 0 조회수 339

문제와풀이1 문제2번 질문

해결됨

김영한의 실전 자바 - 중급 2편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. for (int i = 0; i < numbers.size(); i++) { System.out.print(numbers.get(i)); if(i<numbers.size()-1){ System.out.print(", "); } } i < number.size()-1 쪽이 제대로 이해가 안되는거같아서 질문합니다. 정수 입력을 1,2,3 입력했으면 numbers.size() = 3 i값 = 0 , numbers.size =3 i값 = 1 , numbers.size = 3 마지막 반복인 i값 = 2 , numbers.size = 3 을 할때는 2<3-1 은 맞지않으니 마지막 3뒤에 " , " 출력안됨 제가 이해한게 맞을까요 ?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
deoksam 댓글 1 좋아요 0 조회수 247

TABLE_PER_CLASS 전략 단점관련 질문있습니다

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강의 정말 잘 듣고있습니다 !! 강의 30:00 부근에서 TABLE_PER_CLASS 전략이 왜 안좋냐면 조회시 부모 클래스로 조회를 할 수도 있는데 그런경우에 UNION 쿼리가 나가는 단점이 있다고 하셨습니다. 그래서 전략을 JOINED로 바꾸고 실행해봤는데 이런식으로 LEFT JOIN을 여러번 하게 되고 SINGLE TABLE 전략은 예상한대로 이런 결과가 나오더라구요. 이 결과들만 보면 SINGLE TABLE이 말씀하신것처럼 심플하게 조회가 되고, JOINED와 TABLE PER CLASS 는 사실 성능상 비슷해보이는데 TABLE PER CLASS 전략만 단점을 소개해주셔서 질문드렸습니다. 질문은 한마디로, JOINED도 성능이 그렇게 좋진 않은것 아닌가?? 입니다!! 읽어주셔서 감사합니다.

  • java
  • jpa
김경현 댓글 2 좋아요 0 조회수 238

특정날 이벤트 오픈되는 서비스 구현 조언

미해결

현재 특정날에 (예: 2024.06.20 11:00) 에 쿠폰을 배포하는 서비스를 구현하려고 합니다. 흔히 배민에서도 이런 이벤트를 진행하는 걸로 알고 있고, 쿠폰은 아니지만, 인강 사이트 등에서 프리패스 상품을 오픈할 때 특정 날에 활성화돼서 해당 상품을 구매할 수 있도록 하는 것으로 알고 있습니다. 이외에도 콘서트 티케팅 오픈, 수강신청 오픈 등등 이러한 서비스를 구현하고자 하는데, 어떤 키워드로 검색을 하여 접근할지 감이 안옵니다.... 이것과 관련하여 어떤 키워드로 접근하면 좋을지 조언을 부탁드립니다.

  • spring
  • java
  • trigger
  • event
오세창 댓글 2 좋아요 1 조회수 447

08-01-map-fruits 실무 효율적인 렌더링 예제

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

데이터를 bbb 같은 데이터에 담고 그걸 presenter에 담으면 presenter에서 데이터를 알아보기 어려우니까 3번과 같이 map 자체를 <div> 에 담아서 렌더링 한다고 말씀하셨는데요, 그렇다면 3번과 같은 렌더링은 컨테이너의 return에 적는걸까요 아니면 presneter의 return에 적는걸까요?

  • react
  • node.js
  • seo
  • graphql
  • next.js
minwoo 댓글 2 좋아요 0 조회수 190

root layout 질문

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요. beforeLogin과 afterLogin 둘다 layout.tsx를 가지고 있는데, localhost:3000 에서 beforeLogin의 layout.tsx를 렌더하는 이유가 궁금합니다. page.tsx가 있으면 그쪽을 인식하는 건가요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
안혜원 댓글 1 좋아요 0 조회수 278

조건문 강의 예시문제 질문있습니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

조건문 강의 5:46초 에 나오는 조건문 예시문제에서 출력값이 5보다 크네요 라고 하셨는데 5보다 크지 않아요 가 맞지 않나요 ? number = 3 3 > 5 니깐 else 문이 출력될 것 같습니다

  • python
  • java
  • c
  • 정보처리기사
kimjg308 댓글 2 좋아요 2 조회수 433

강의 내용에 기출문제도 포함되어 있나요 ?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요. 강의 잘 듣고 있습니다. 아직 다 듣지 않았지만 궁금한 사항이 있어서 여쭤봅니다. 현재 올라와있는 동영상 강의는 완성본인가요, 아니면 계속 업데이트 될 예정인가요 ? 강의 내용에 기출문제도 포함되어 있나요 ? PDF 파일은 어디에 있을까요 ? 감사합니다.

  • python
  • java
  • c
  • 정보처리기사
kimjg308 댓글 1 좋아요 0 조회수 293

자바 복습 질문

해결됨

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 질문이 생겨서 글을 남깁니다. 저가 이것저것(아픔 + 번아웃..등)이 있어서 한 2주 정도 인가요? 코딩하는데 거의 손을 놓고 있엇습니다.(해 봐야 30분에서 2시간이하 정확히는 기억이 안남 ,아니면 아에 안함 ) 그리고 나서 날짜와 시간 사이에서 너무 막혀서(캘린더 는 정말 싫네요.. 하신 분들 존경 합니다.) 에라이 전에 있던 문제 풀이나 복습 해보자 하고 하였는데.. String챕터 문제 풀이 부터 막히더라고요.(문제와 풀이만 보고서여.pdf파일에 있는 내용 참조 안함) 그래서 다시 보고 있긴 한데, 시간이 지나고 나서( ex)예외처리까지 챕터 까지했을때 - 7월달까지 중급2편을 끝내고 싶었는데.. 역시 계획 대로는 안되네요...), 저가 이것들을 할 수 있을까 하는 의문이 들더라고요. 이럴 때에는 어떻게 해야 하는지 궁금합니다. 지금은 저가 중요하다고 생각하는 것을 손코딩 + 동영상 보면서 코드 를 지우고 다시 침, 이렇게 하고 있긴 한데 더욱 좋은 방법이 있을까요? 아니면 지금 이대로 계속 하는 게 맞는 방법인가요? 답변 부탁드립니다.

  • java
  • 객체지향
생각하는자 댓글 1 좋아요 -1 조회수 380

피그마 회원가입 만들기

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

회원가입 css까지 다 완성했는데 비교해보니 비슷한 느낌은 나는것 같습니다. 혹시 코드 예제? 라던지 대표적인 완성코드를 볼 수 있는건 없나요?? 한번 비교해보고 싶어서요.. 추가로 남성/여성 부분 radio 동그라미가 피그마 원본? 상에는 크고 회색으로 칠해져 있는데 저건 어떻게 적용하나요?? 가입하기 버튼 위 구분선도 제게 사라졌는데 원인을 알수있을까요? <!DOCTYPE html> <html lang="ko"> <head> <title>회원가입</title> <link href="./02-signup.css" rel = "stylesheet"> </head> <body> <div id="tBox"> <h2 id="title">회원 가입을 위해 <br/> 정보를 입력해주세요</h2> <input class = "underline" type="text" placeholder="*이메일"><br><br> <input class = "underline" type="text" placeholder="*이름"><br><br> <input class = "underline" type="pw" placeholder="*비밀번호"><br><br> <input class = "underline" type="pw" placeholder="*비밀번호 확인"><br><br> <!-- <select> <option disabled="true" selected="true">지역을 선택하세요</option> <option>서울</option> <option>경기</option> <option>인천</option> <option>부산</option> <option>울산</option> <option>김해</option> </select> --> <div id = "gender"> <input type="radio" name="gender">여성 <input type="radio" name="gender">남성 </div> <br><br> <div class="checkbox-container"> <input type="checkbox" id="terms"> <label for="terms">이용약관 개인정보 수집 및 이용, 마케팅 활용 선택에 모두 동의합니다.</label> </div> <br> <div class = "register"> <button class = "button">가입하기</button> </div> <!-- <input type="button" value="가입하기"> --> </div> </body> </html> * { box-sizing: border-box; } #title { width: 466px; height: 94px; color: #0068ff; font-size: 32px; font-family: Noto Sans CJK KR; text-align: justify; } #tBox { width: 670px; height: 960px; border: 1px solid #aacdff; margin-top: 60px; margin-left: 625px; padding: 100px; box-shadow: 7px 7px 39px 0px #0068ff; border-radius: 20px; display: flex; flex-direction: column; align-items: center; } input[type="text"]{ width: 466px; height: 80px; padding: 10px; margin: 10px 0; border: 1px solid #797979; } input[type="pw"]{ width: 466px; height: 80px; padding: 10px; margin: 10px 0; border: 1px solid #797979; } button { padding: 10px 20px; color: #fff; background-color: #0068ff; border: none; border-radius: 5px; cursor: pointer; } input.underline { border-left-width: 0; border-right-width: 0; border-top-width: 0; border-bottom-width: 1px; } #gender { width : 140px; height: 23.94px; border : 1px solid #fff; display: flex; justify-content: space-between; } .checkbox-container { width: 466px; height: 21.06px; border: 1px solid #fff; border-radius: 3px; align-items: center; display : flex; } .checkbox-container input[type="checkbox"] { margin-right: 10px; } .register { border-top : 1px solid #e6e6e6; width: 470px; height: 1px; } .button { background-color: #FFFFFF; border :1px solid #0068FF; width: 470px; height: 75px; border-radius: 10px; font-size : 18px; color : #0068FF; text-align: center; font-weight: 400; line-height: 26.64px; font-family: Noto Sans CJK KR; }

  • react
  • node.js
  • seo
  • graphql
  • next.js
민선 댓글 2 좋아요 0 조회수 308

인기 태그

인프런 TOP Writers

주간 인기글