inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

[기본형과 참조형 문제풀이] 코드에 관한 질문이 있습니다.

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요! 항상 선생님께서 진행하시는 문제 풀이를 수강한 이후에, 혼자 좀 더 나은 방식으로 만들 수는 없을까 고민을 하는데요, Method를 배우고 난 이후로, 코드를 대부분 Method로 넘겨서 작성하다 보니 '기능을 전부 Method로 넘겨서 작성하는 것이 진짜 잘 작성한 코드가 맞을까?' 하는 의문이 들었습니다. 아래는 마지막 문제를 제가 코딩한 내용인데요, 두 가지 질문이 있습니다. 실무적인 관점과 비교해서 아래의 코드처럼 작성하는 방식(모든 기능을 Method에 집약한 방식)이 괜찮은 방식인가요? 코드의 개선점이 있다면 어떤 점을 개선하면 좋을까요? 항상 좋은 강의 해주셔서 감사합니다! package ref.ex; import java.util.Scanner; public class ProductOrderMain2 { public static void main(String[] args) { int num = orderCount(); ProductOrder[] orders = new ProductOrder[num]; createOrder(orders); orderPrint(orders); } static int orderCount() { Scanner scan = new Scanner(System.in); System.out.println("-----------------------------------"); System.out.println(" 상품 등록 시스템 "); System.out.println("-----------------------------------"); System.out.print("입력할 주문의 개수를 입력하세요: "); int num = scan.nextInt(); System.out.println(); return num; } static void createOrder(ProductOrder[] orders) { Scanner scan = new Scanner(System.in); for(int i = 0; i < orders.length; i++) { orders[i] = new ProductOrder(); System.out.println((i+1) + "번째 주문 정보를 입력하세요"); System.out.print("상품명: "); orders[i].productName = scan.nextLine(); System.out.print("가격: "); orders[i].price = scan.nextInt(); System.out.print("수량: "); orders[i].quantity = scan.nextInt(); scan.nextLine(); System.out.println(); } } static void orderPrint(ProductOrder[] orders) { int total = 0; for(ProductOrder P : orders) { System.out.println("상품명: " + P.productName + ", 가격: " + P.price + ", 수량: " + P.quantity); total += (P.price * P.quantity); } System.out.println("총 결제금액: " + total); } }

  • java
  • 객체지향
jonghyeok097 댓글 1 좋아요 1 조회수 164

Section 10. 동전교환 반례

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

3 2 3 5 1 테스트케이스를 위와 같이 입력할 경우 정답 코드대로 하면 Intger.MAX_VALUE인 2147483647이 답으로 나올 것 같아서요. 이렇게 추가코드를 넣어야 하는것 아닌지 궁금합니다. import java.util.*; class Main{ static int n, m; static int[] dy; public int solution(int[] coin){ Arrays.fill(dy, Integer.MAX_VALUE); dy[0]=0; for(int i=0; i<n; i++){ for(int j=coin[i]; j<=m; j++){ dy[j]=Math.min(dy[j], dy[j-coin[i]]+1); } } /* 추가코드 for (int i = 0; i <= m; i++) { if (dy[i] == Integer.MAX_VALUE) { dy[i] = 0; } } */ return dy[m]; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); n=kb.nextInt(); int[] arr=new int[n]; for(int i=0; i<n; i++){ arr[i]=kb.nextInt(); } m=kb.nextInt(); dy=new int[m+1]; System.out.print(T.solution(arr)); } }

  • java
  • 코딩-테스트
donny9292 댓글 1 좋아요 0 조회수 119

LocalDateFormatter에 대해서 궁금한 점이 있습니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

public ResponseEntity searchLinkOrderNumberOutput( @ApiParam("주문 번호") @RequestParam(required = false) List<String> orderNumbers, @ApiParam(name = "startDate", value = "yyyyMMdd", required = true) @RequestParam String startDate, @ApiParam(name = "endDate", value = "yyyyMMdd", required = true) @RequestParam String endDate, @ApiParam(name ="confirmationStatus", value="확정여부(Y/N)") @RequestParam String confirmationStatus, @ApiParam(name = "pageSize", value = "한 페이지에 보여줄 주문 개수 (미 입력시 기본값 20)") @RequestParam(defaultValue = "20") int pageSize, @ApiParam(name = "pageNumber", value = "데이터를 조회 할 페이지 숫자 (미 입력시 기본값 1)") @RequestParam(defaultValue = "1") int pageNumber) { 궁금한 점이 있습니다 선생님 만일 controller에서 string으로 날짜값을 받으면 이제 별도의 파싱작업을 거쳐서 LocalDateTime 형식으로 변환해 줘야하는데 LocalDateFormatter을 사용하면 해당 작업을 생략할 수 있는건가요???

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
hk.moon 댓글 1 좋아요 0 조회수 111

강의에서의 회원가입 테스트를 JUnit5 방식으로 바꾸면 이게 맞을까요?

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

@ExtendWith(SpringExtension.class) @SpringBootTest @Transactional class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test void 회원가입() throws Exception { //given Member member = new Member(); member.setName("kim"); //when Long savedId = memberService.join(member); Member joinedMember = memberRepository.findOne(savedId); //then assertThat(member).isEqualTo(joinedMember); } 이렇게 진행하면 될까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
댓글 2 좋아요 0 조회수 657

ProductSearchImpl 관련 질문드립니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

@Override public PageResponseDTO<ProductDTO> searchList(PageRequestDTO pageRequestDTO) { log.info("----------------------searchList-------------------------"); Pageable pageable = PageRequest.of( pageRequestDTO.getPage() -1, pageRequestDTO.getSize(), Sort.by("pno").descending()); QProduct product = QProduct.product; QProductImage productImage = QProductImage.productImage; // from 절 JPQLQuery<Product> query = from(product); // join // @ElementCollection을 join 할때는 아래와 같이 사용해야합니다. // product.imageList를 productImage로 사용하겠다. query.leftJoin(product.imageList, productImage); query.where(productImage.ord.eq(0)); Objects.requireNonNull(getQuerydsl()).applyPagination(pageable,query); List<Tuple> productList = query.select(product,productImage).fetch(); // 쿼리를 실행시키기 위함. long count = query.fetchCount(); log.info("======================="); log.info(productList); return null; } 이 코드에서 return 값을 넘기고 싶어서 수정하는데 어떻게 해야 값이 넘어가는지를 잘 모르겠습니다... TodoSearchImpl에서는 new PageImpl<>() 사용하셔서 넘기셨는데 여기서는 어떻게 처리해야 될까요?? 2. ProductServiceImpl의 getList() 메서드와 동일한 역할인거같은데, ProductSearchImpl 에서는 querydsl을 사용하셔서 보여주신거고 ProductServiceImpl에서는 jpa를 사용하는 방법을 보여주신게 맞는지 궁금합니다!

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
hk.moon 댓글 2 좋아요 0 조회수 113

Context 분리 질문

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

Context를 이용하여 props를 분리하고, onUpdate, onCreate같이 한번만 수행되는 함수들은 useMemo를 이용하여 메모이제이션을 한다고 했습니다. 아래 코드처럼요 const memoDispatch = useMemo(() => { return { onCreate, onUpdate, onDelete, }; }, []); 그런데 이전 시간에 각각의 함수를 useCallback를 통해 메모이제이션 했는데 한번 더 하는 이유가 이해 가지 않아 질문 드립니다. 아래 코드처럼 useCallback를 통해 처음 렌더링 될 때만 실행되고 이후에는 실행되지 않도록 코드를 작성 했는데 맨 위의 코드처럼 한번 더 감싼? 이유가 잘 이해가 되지 않습니다. const onCreate = useCallback((content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }, []); const onUpdate = useCallback((targetId) => { dispatch({ type: "UPDATE", targetId: targetId, }); }, []); const onDelete = useCallback((targetId) => { dispatch({ type: "DELETE", targetId: targetId, }); }, []);

  • javascript
  • react
  • node.js
강두희 댓글 2 좋아요 1 조회수 287

GenerationType.IDENTITY 의문점

미해결

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

[질문 내용] Long 으로 잡았을땐 db에 데이터가 들어가지는데 왜 String으로 하면 오히려 테이블이 사라지나요?

  • java
  • jpa
형종 댓글 2 좋아요 0 조회수 246

c언어 기출문제변형

해결됨

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

36분45초. 출력값작성하는 문제입니다. X를 먼저 출력하면 기존의 20값이 출력되는게 아닌가요?? 순서상에서도 그렇구요.. 반영이 다된후에 X,Y값을 출력하는지 모르겠습니다.

  • python
  • java
  • c
  • 정보처리기사
고은채 댓글 1 좋아요 0 조회수 124

자식 컴포넌트 리렌더링

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

자식 컴포넌트 Bulb와 Counter를 해당 강의에서 분리했는데 다음과 같은 의문이 생겼습니다. 이렇게 분리했더라도 결국 Counter의 state가 변경되면서 Counter가 리렌더링 되는 걸로 알고 있습니다. 이러한 경우 부모 컴포넌트인 App도 리렌더링되면서 Bulb 컴포넌트도 리렌더링되는 것 아닌가요?

  • javascript
  • react
  • node.js
김학준 댓글 1 좋아요 0 조회수 195

expo로 설치해도 되나요?

미해결

[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스

npx create-expo-app@latest 이렇게 설치했는데 강의랑 설치하는게 다르고 폴더구성도 다르더라구요

  • javascript
  • react
  • node.js
  • react-native
  • typescript
yho79555 댓글 1 좋아요 0 조회수 261

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 링크 : https://drive.google.com/drive/folders/1VfZnK2GoZrg7pMOsahW0ERZVXFL_w_6X?usp=drive_link 강의를 듣다가 의문이 생겨서 질문 드립니다. 코드를 작성하여 table에 값들을 저장하고 이후에 update를 em.find()를 통해 하려하거나 그동안 저장했던 member값들을 em.createQuery하려할 때 모두 테이블 값이 초기화되면서 아무것도 값을 가져오지 못하는 상황이 발생하는데 설정 문제인지 계속 롤백이 되도록 되어있는 것인지 궁금하여 질문드립니다. 링크도 첨부하겠습니다

  • java
  • jpa
염경호 댓글 1 좋아요 1 조회수 326

yield()를 추가해도 무한반복은 계속해서 발생하지 않을까요?

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

안녕하세요. 강의 수강 중 궁금한 것이 있어 질문드립니다. MyPrinterV4에서 yield() 를 추가해도 인터럽트 되지 않은 상태에서 while문에서 무한 반복이 발생(성능저하의 근본 원인)하는 것은 V3와 동일하기 때문에 때문에 성능 향상이 있을까 싶습니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
Jaesang Yoon 댓글 2 좋아요 1 조회수 253

address 질문

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 내용] 안녕하세요 영한님 질문이 있어서 올리게되었습니다. 다름이 아니라 address는 엔티티가 아닌 값타입이라고 하셨는데 주소를 수정하는개념이 아닌 회원 하나당 주소를 여러개를 가져야 할 경우 주소를 entity로 사용해도 되나요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
해톨 댓글 1 좋아요 0 조회수 133

연관관계 편의 메소드 사용 이후

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 연관 관계 편의 메소드 team의 addMember 혹은 member의 changeTeam 메소드를 사용한 이후로는 em.flsush와 em.clear 따로 호출하지 않아도 정상작동한다고 이해햇는데 맞을까요?

  • java
  • jpa
만릭 댓글 1 좋아요 0 조회수 183

최초 프로젝트 만들떄 질문드립니다.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

1. npm create vite@latest 2. 프로젝트 이름 입력 3.react 선택 4. javascript 선택 5.패스 이동후 npm i 6.npm run dev 로 했을떄 import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import App from './App.jsx' import './index.css' createRoot(document.getElementById('root')).render( <StrictMode> <App /> </StrictMode>, ) 이런식으로 나오네요 .. 일가장 프로젝트는 import React from "react"; import ReactDOM from "react-dom/client"; import App from "./App.jsx"; import "./index.css"; import { BrowserRouter } from "react-router-dom"; ReactDOM.createRoot(document.getElementById("root")).render( <BrowserRouter> <App /> </BrowserRouter> ); { "name": "webproject", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "lint": "eslint .", "preview": "vite preview" }, "dependencies": { "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { "@eslint/js": "^9.9.0", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "eslint": "^9.9.0", "eslint-plugin-react": "^7.35.0", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.9", "globals": "^15.9.0", "vite": "^5.4.1" } } 현재 설정파일은 이렇습니다. 이렇게 되어있는데 두개 차이가 뭐때문에 생기는건지 궁금합니다.

  • javascript
  • react
  • node.js
blossom_mind 댓글 2 좋아요 0 조회수 333

엔티티를 외부에 노출하면 안 된다는 의미

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요. 엔티티를 파라미터로 받으면 안 되는 이유에 대해서는 말씀해주셔서 이해하였습니다. 엔티티에 화면 검증 로직이 들어가는 문제 엔티티를 변경하면 API 스펙이 변경되는 문제 그리고 엔티티를 외부에 노출하면 안 된다고 말씀하셨습니다. 엔티티에서 필요한 변수만 사용하거나, 추가 변수를 사용하고자 해서 DTO로 반환하는 걸로 추측했습니다. 그런데 뭔가 더 구체적이고 다양한 이유가 있을 것 같아 직접 설명을 듣고 싶어 질문 드립니다. 감사합니다.

  • java
  • spring
  • spring-boot
  • jpa
저스트 댓글 1 좋아요 0 조회수 225

5.5 클라이언트 라우터 캐시 관련 질문입니다

해결됨

한 입 크기로 잘라먹는 Next.js

예를들면 헤더컴포넌트에서 실시간으로 현재 시간을 보여주고싶은 경우가 있다면 헤더 컴포넌트는 모든 페이지에서 보여지는 레이아웃이기때문에 클라이언트 라우터 캐시가 되어서 제가 새로고침을 하는게 아니라면 모든 페이지에서 시간이 멈춰있다는건데 해당 기능을 구현하기 위해서 클라이언트 라우터 캐시를 사용안할수는없나요?

  • react
  • typescript
  • next.js
eko09 댓글 1 좋아요 0 조회수 303

중첩 내부 클래스 문제풀이2 - 코드 리뷰 좀 해주세요.

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 중첩 내부 클래스 문제풀이2 풀긴 했는데 좀 부분들이 좀 달려서 이것도 괜찮은가? 싶은 게 있습니다. 이 코드를 보고 좀 고쳐야 할게 있을까요? 참조는 inner클래스 car클래스를 참조했습니다. addBook() 메서드에서 new book(내용) 이게 더 낳은것 같으니 이거 빼고요. 추가1. 문제풀이1 문제4 AnonymousMain을 인텔리제이 자동완성으로 풀게 되었는데 이것은 괜찮은지 묻고싶습니다. 답변 부탁드립니다.

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

이벤트헨들러)화살표함수 안에 함수를 넣는 이유가 어렵습니다 ㅠㅠ

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

onClick에 onClickButton(-10) 이 아닌 화살표 함수를 이벤트 핸들러로 설정하고 그 안에 호출하는 이유가 어렵습니다 ㅜㅜ 5.5)이벤트처리하기, 6.3) 기능구현하기 강의에서 함수호출의 결과를 넣으면 안되고 인수를 넘기기 위해서 라고 하셨는데 바로 onClickButton(1)를 왜 넣으면 안되는지 모르겠어요,, 자바스크립트만 하다 리액트 하려니 헷깔리네여 ㅜㅜ <button onClick={() => { onClickButton(-10); }} > 🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢 ) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • javascript
  • react
  • node.js
dlrkxks1028 댓글 2 좋아요 0 조회수 335

db순서가 이상해요

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] db순서가 영어 알파벳 순서대로 바뀌네요 왜 그러는건지 이해가 안됩니다,

  • java
  • jpa
형종 댓글 1 좋아요 0 조회수 213

인기 태그

인프런 TOP Writers

주간 인기글