inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

ScannerWhile3 예제 코드 질문

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] ScannerWhile3 예제 코드 문의 안녕하세요. 출력 결과는 똑같이 나오는데 강사님이 작성한 코드랑 제가 작성한 코드가 좀 다르더라구요.. 모든 정수의 합을 출력하는 부분의 코드가 서로 위치가 다른데 이 경우 제가 작성한 코드는 틀렸다고 볼 수 있을까요? [강사님의 코드] [제가 작성한 코드]

  • java
  • 객체지향
dbsdbs21 댓글 1 좋아요 0 조회수 96

tailwind 1279부터 768까지 모바일형과 컴퓨터형의 컴포넌트가 같이 보임

해결됨

React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드

노션에 올려주신 8-1의 AdminPost.jsx를 복붙하면 가로화면 1279부터 768까지 모바일형 컴포넌트와 컴퓨터형 컴포넌트가 같이 보입니다

  • HTML/CSS
  • javascript
  • react
  • node.js
  • mongodb
kindjin12 댓글 3 좋아요 0 조회수 99

notion 수정

해결됨

React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드

notion 링크로 들어가면, 직접 수정할 수 있던데 맞나요? 제가수정하면 수정이되서요 제 노션 페이지에 https://trusting-apparel-eb8.notion.site/MERN-165aac19ed70801dadd3cb7b34dad16f 링크를 복사해서 자주 들어가고 있는데 제가 해당 링크에 들어가면 수정이 가능해서요

  • HTML/CSS
  • javascript
  • react
  • node.js
  • mongodb
kindjin12 댓글 1 좋아요 1 조회수 94

스프링부트 버전

해결됨

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요. 선생님. 선생님 강의를 들으면서 하고 있는데 스트링 부트 어떤 버전을 받으면 될지 질의 드립니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
초심이 댓글 2 좋아요 0 조회수 134

8번 빈칸채우기 문제

해결됨

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

안녕하세요 선생님 30:18 초 문제 답 관련 질문 드립니다. (가) ++start (나) --end 이렇게는 답이 안되는 걸까요?

  • python
  • java
  • c
  • 정보처리기사
안채원 댓글 2 좋아요 0 조회수 69

교육기간을 연장할 수 있는지 문의드립니다.

미해결

풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]

교육기간을 5월까지 연장이 가능할지 문의드립니다. 3월안에 다 들을 수 있을것 같긴한데 실제 실습을하면서 일부 부족하다고 생각되는 내용들은 다시 공부하고 싶어 교육이용 가능기간 연장이 가능할지 문의드립니다.

  • HTML/CSS
  • javascript
  • es6
정윤정 댓글 1 좋아요 0 조회수 68

JAVA 상속 관련

해결됨

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

상속과 생성자 호출순서 강의 6분 18초 해당 영상 시간의 "생성자가 있으면 어떻게 될까?"의 문제와 바로 직전 문제와의 차이점을 모르겠습니다. 생성자가 있으면 무모 클래스에서 기본 생성자를 우선 탄생시킨다(출력) 라고 했는데, 바로 직전 문제에서는 생성자가 없었나요? 있지 않나요? 이해가 가지 않습니다.

  • python
  • java
  • c
  • 정보처리기사
kn_horizon 댓글 3 좋아요 0 조회수 108

JAVA- 같아보이지만 다른 객체 질의

해결됨

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

같지만 다른 것들 강의 6분29초 Double 사용시 d1==d2는 false이 나옵니다. 그리고 역시 d4==d5도 false이 나옵니다. 그런데, 설명에는 integer와 다르게 캐싱을 사용하지 않아서 라고 말씀주셨는데, 정수, 실수들은 캐싱을 사용하지 않고, 캐싱을 사용하지 않으면 같은 곳에 저장하는 것이 아니라서 false 나온다고 이해하면 되는건가요? 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁 드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.

  • python
  • java
  • c
  • 정보처리기사
kn_horizon 댓글 3 좋아요 0 조회수 102

자료파일 압축이 안풀립니다

해결됨

Next.js 마스터 클래스: Part 2 - 풀스택 아키텍처와 프레임워크 심화 (Server Actions, 캐시 혁명, 고급 라우팅)

확인부탁드립니다

  • javascript
  • react
  • next.js
  • frontend
  • backend
노재능 댓글 2 좋아요 0 조회수 106

짝수 출력 문제 질문

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 짝수 출력 문제 안녕하세요. 답은 동일하게 나오는데 저는 아래와 같이 풀어봤습니다.. 이렇게 풀면 정답이 안되는 건지 문의 드립니다. [WhileEx2.java] [ ForEx2.java ]

  • java
  • 객체지향
dbsdbs21 댓글 1 좋아요 0 조회수 84

querydsl 오픈소스에 대한 질문

미해결

실전! Querydsl

안녕하세요, 김영한 선생님. 강의 정말 잘 듣고 있습니다. 항상 좋은 강의 감사합니다. QueryDSL 관련해서 한 가지 궁금한 점이 있어 질문드립니다. QueryDSL이 특정 재단이나 기업이 아닌 오픈소스 프로젝트로 알고 있는데, 실무 엔터프라이즈 환경에서도 안정적으로 사용되는지 궁금합니다. 또 최근에 릴리스나 유지보수 활동이 예전보다 활발하지 않은 것처럼 보이는데, 신규 프로젝트에서 QueryDSL을 선택하는 것이 여전히 좋은 선택인지도 궁금합니다. 실무에서는 보통 QueryDSL을 어떤 방식으로 활용하는지도 함께 여쭤보고 싶습니다. 감사합니다!

  • java
  • jpa
bbosioy 댓글 1 좋아요 1 조회수 135

추상화

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

현재 인프런 [코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core강의를 수강 중 입니다. 초반부를 듣고 있는 와중에 @Get() @Get(':id') 이런 데코레이터들의 내부로직에 대한 이해 없이 강의를 따라가는게 맞는건지가 궁금합니다.. 예를 들자면 파람, 바디 등 url에 담긴 데이터들은 파싱을 해줘야하고 http모듈을 쓴다면 직접 로직까지 구현을 했어야했고 express는 미들웨어로 처리를 해줘야 했었는데 nest에선 데코레이터만으로 모든게 알아서 처리 되는 느낌인것 같습니다. 또한 클라이언트로 보내는 응답 또한 return문으로 보내지는 것 또한 너무 추상적으로 느껴집니다.. nest 강의전에 http모듈 및 express를 공부 했던지라 추상화된 코드가 더욱 낯선 것 같습니다. 아직 강의초반이라 데코레이터의 내부로직을 아직 배우지 않는 것인지 아님 배울 필요가 없어서 설명이 없는 것인지 궁금합니다 강사님

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
감코 댓글 1 좋아요 0 조회수 77

AvailableUsers

미해결

실무에 바로 적용하는 프런트엔드 테스트 - 2부. 테스트 심화: 시각적 회귀・E2E 테스트

시각적 회귀 테스트 강의의 Storybook 코드에서 play 함수 안에 matcher를 넣지 않고 userEvent.click(...)만 사용한 이유가 궁금합니다. import { userEvent, within } from '@storybook/testing-library'; import AvailableUsers from '@/pages/login/components/AvailableUsers'; export default { component: AvailableUsers, title: '로그인/사용자 리스트', }; export const Folded = { name: '접힌 상태', }; export const Expanded = { name: '펼친 상태', play: async ({ canvasElement }) => { const canvas = within(canvasElement); await userEvent.click(canvas.getByText('⚠️ 사용 가능한 유저 리스트')); }, }; 제가 이해한 바로는, 이 스토리는 storybook에서 아코디언이 펼쳐진 시각적 상태 변화를 보여주기 위한 용도이고, 실제 기능 로직 검증은 Vitest에서 별도의 테스트 코드로 작성하는 방향이라고 생각했습니다. 1. 여기서 play 안에 matcher를 넣지 않은 것은 Storybook을 시각적 상태 확인용으로 사용하려는 의도인가요? 2. 그리고 이 컴포넌트의 동작 검증은 Storybook이 아니라 Vitest에서 담당하도록 역할을 나눈 것으로 이해하면 될까요? 3. 실무에서는 보통 storybook을 어디까지 작성하는지 궁금합니다. - 물론 회사마다 다르겠지만, 강의해주시는 강사님 기준으로 의견을 듣고 싶습니다.

  • javascript
  • tdd
  • 소프트웨어-테스트
  • vitest
  • e2e
  • chromatic
Coi 댓글 1 좋아요 0 조회수 69

노션 링크 질문드립니다!

미해결

2026 코딩테스트 올인원 [JAVA]

학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ 안녕하세요 강사님 유익한 강의 잘 듣고 있습니다! 구글폼을 통한 노션 링크를 24시간 후에도 못 받았는데 따로 이메일을 통해 직접 전달주시는건가요?

  • java
  • 코딩-테스트
  • 알고리즘
  • data-structure
초보안 댓글 3 좋아요 0 조회수 127

[실습] MyString에 복사 생성자 추가

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM

import java.lang.reflect.Field; class MyString { private byte[] sdata = null; MyString(MyString s) { this.sdata = s.sdata; } // 생성자 1: 문자열을 받을 때 MyString(String param) { this.setString(param); } // 생성자 2: 정수를 받을 때 MyString(int param) { setString(String.format("%d", param)); } // 데이터를 문자열로 반환 (null 체크 포함) public String getString() { if (sdata == null || sdata.length <= 0) { return "(null)"; } return new String(sdata); } // 데이터를 안전하게 복사해서 저장 (Deep Copy) public void setString(String param) { sdata = param.getBytes(); } } public class Main { public static void main(String[] args) throws Exception { MyString src = new MyString("Hello"); MyString dst = new MyString(src); Field field = MyString.class.getDeclaredField("sdata"); field.setAccessible(true); byte[] srcSdata = (byte[]) field.get(src); byte[] dstSdata = (byte[]) field.get(dst); System.out.println("src.sdata 주소: " + System.identityHashCode(srcSdata)); System.out.println("dst.sdata 주소: " + System.identityHashCode(dstSdata)); // 둘이 같은 숫자 → 같은 배열 가리킴 (얕은 복사 증명!) src.setString("world"); byte[] srcSdata2 = (byte[]) field.get(src); byte[] dstSdata2 = (byte[]) field.get(dst); System.out.println("--- setString 후 ---"); System.out.println("src.sdata 주소: " + System.identityHashCode(srcSdata2)); System.out.println("dst.sdata 주소: " + System.identityHashCode(dstSdata2)); // src는 새 주소, dst는 그대로 → 분리됨 확인! } } 원래 의도가 얕은 복사를 먼저 해봄으로서 사이드 이팩트 문제를 일으킨 다음, 깊은 복사를 시도해볼려고 했는데 위 코드를 실행해보시면 깊은 복사가 되는 것 처럼보이더군요. 그런데 알고보니, 의도대로 dst.sdata 배열의 주소값이 src.sdata 배열의 주소값으로 얕은 복사가 이뤄졌으며, getBytes() 함수 자체가 원래 String 객체의 데이터를 byte 배열로 새로 만들어서 해당 배열에 대한 주소값을 반환하는 함수다 보니, src.sdata 변수의 대상 인스턴스 주소 값이 새로운 바이트 배열에대한 주소값으로 바뀌어 버렸고, 기존 배열은 원래 gc에 의해 사라져야하는게 맞는데, dst.sdata에 src.sdata 배열의 주소값이 얕은 복사가 이뤄졌다보니, 기존 참조된 배열은 계속 참조되어 메모리 상에 남아있더라구요. 그렇다보니, src.sdata가 참조한 실질 배열 데이터는 dst.sdata에 얕은 복사해버리고, src.sdata 배열 본인은 새로운 배열 데이터로 갈아타다보니, 실질적으로는 src 객체의 문자열을 바뀌었다기 보단, 참조한 대상 자체가 바뀌다 보닌까 실질적으로는 처음 의도한 얕은 복사로 인한 사이트 이팩트 문제는 애초부터 발생하지 않는다 라는게 결론입니다. 따라서 주어진 실습 예제가 적절한지에 대해 한 번 고민해보았습니다. 혹시라도 제가 부족하거나 다르게 이해한 부분이 있을 시 지적해주시면 감사하겠습니다.

  • java
  • 객체지향
  • jvm
  • data-structure
sjn0125 댓글 2 좋아요 0 조회수 93

storybook/ addon react-router-dom

미해결

실무에 바로 적용하는 프런트엔드 테스트 - 2부. 테스트 심화: 시각적 회귀・E2E 테스트

// package.json npm list로 확인 결과 react-router@7.13.1 storybook-addon-remix-react-router@6.1.0 react@19.2.4 storybook@10.2.17 강의에 있는 내용을 토대로 typescript로 쇼핑몰 storybook 테스트를 진행 중에 React Router pannel에 로깅이 찍히지 않습니다. github, storybook docs 참고하면서 해봐도 해결이 되지를 않는데... 제 코드는 아래와 같습니다. .storybook/main.ts // .storybook/main.ts import type { StorybookConfig } from "@storybook/react-vite"; const config: StorybookConfig = { stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"], addons: [ "@chromatic-com/storybook", "@storybook/addon-vitest", "@storybook/addon-a11y", "@storybook/addon-docs", "storybook-addon-remix-react-router", ], framework: "@storybook/react-vite", }; export default config; .storybook/preview.tsx import type { Preview } from "@storybook/react-vite"; import { withRouter } from "storybook-addon-remix-react-router"; const preview: Preview = { tags: ["autodocs"], parameters: { controls: { matchers: { color: /(background|color)$/i, date: /Date$/i, }, }, a11y: { // 'todo' - show a11y violations in the test UI only // 'error' - fail CI on a11y violations // 'off' - skip a11y checks entirely test: "todo", }, }, decorators: [withRouter], }; export default preview; EmptyNotice.tsx import type { MouseEvent } from "react"; import { useNavigate } from "react-router"; const EmptyNotice = () => { const navigate = useNavigate(); const handleClickBack = (event: MouseEvent<HTMLButtonElement>) => { event.preventDefault(); navigate("/"); }; return ( <div style={{ display: "flex", justifyContent: "center", height: 400, alignItems: "center", flexDirection: "column", }} > <p style={{ fontSize: "50px", fontWeight: 300 }}>텅~</p> <button onClick={handleClickBack} style={{ cursor: "pointer" }}> 홈으로 가기 </button> </div> ); }; export default EmptyNotice; EmptyNotice.stories.tsx import type { Meta, StoryObj } from "@storybook/react-vite"; import EmptyNotice from "./EmptyNotice"; const meta = { title: "장바구니/EmptyNotice", component: EmptyNotice, } satisfies Meta<typeof EmptyNotice>; export default meta; type Story = StoryObj<typeof meta>; export const Default: Story = { name: "장바구니가 빈 경우", }; AI하고 문답하면서 디버깅 하는데 좀처럼 원인을 못찾겠어서 질문올립니다.

  • javascript
  • tdd
  • 소프트웨어-테스트
  • vitest
  • e2e
  • chromatic
Coi 댓글 1 좋아요 0 조회수 77

7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

6강까지 강의를 들으면서 서버가 켜지고 POSTMAN으로 동작하는걸 확인했었는데 다음날부터 서버가 실행이 안되더라고요. 그래서 gpt한테 물어보니 resources 파일 안에 application.yml 폴더를 만들고 그 안에 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 이걸 쳐서 넣으니까 되더라고요. 오류는 2026-03-13 15:22:27.732 ERROR 7960 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : APPLICATION FAILED TO START Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). 종료 코드 1(으)로 완료된 프로세스 이렇게 떴습니다. 제가 뭐 건드린게 없었는데 다음날 서버가 안켜지기도 하나요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
박성준 댓글 2 좋아요 0 조회수 113

[문제풀이] network delay time

해결됨

2026 코딩테스트 올인원 [JAVA]

학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ 정답 풀이 코드가 이상한거 같아요 ,,! e1[2] - e2[2] 로 코드를 구성하면 OutOfBound에러가 발생해요~ e1[0] - e2[0] 이렇게 구성해야하는게 아닌가요 ? curCost + edge[0] 에서 edge[0] 가중치가 아니라 출발 노드 이므로 edge[2] 을 더 하는게 맞지 않나요? curCost + edge[2] new int[]{curNode, nextCost} 큐에 {curNode, nextCost} 추가 → 배열 형식이 {cost, node} 여야 하는데 순서와 값이 모두 잘못된거같은데 맞을까요 ? public class NetworkDelayTime { public int solution(int[][] times, int n, int k) { // 그래프 구현 Map<Integer, List<int[]>> graph = Arrays.stream(times) .collect(Collectors.groupingBy(t -> t[0])); // 다익스트라 알고리즘 Map<Integer, Integer> costs = new HashMap<>(); Queue<int[]> pq = new PriorityQueue<>((e1, e2) -> e1[0] - e2[0]); pq.add(new int[]{0, k}); while (!pq.isEmpty()) { int[] cur = pq.remove(); int curCost = cur[0]; int curNode = cur[1]; if (!costs.containsKey(curNode)) { costs.put(curNode, curCost); if (!graph.containsKey(curNode)) continue; for (int[] edge : graph.get(curNode)) { int nextCost = curCost + edge[2]; pq.add(new int[]{nextCost, edge[1]}); } } } // 방문 못한 노드 찾기 for (int node = 1; node < n + 1; node++) { if (!costs.containsKey(node)) { return -1; } } // 최소값중에서 최대값 구하기 return costs.values().stream() .mapToInt(Integer::intValue).max().getAsInt(); } public static void main(String[] args) { NetworkDelayTime solution = new NetworkDelayTime(); int[][] times = { {2, 1, 2}, {2, 3, 5}, {2, 4, 1}, {4, 3, 3} }; int result = solution.solution(times, 4, 2); System.out.println(result); } } 이렇게 구현하니 제대로 돌아가서 문의드립니다

  • java
  • 코딩-테스트
  • 알고리즘
  • data-structure
라뗴 댓글 2 좋아요 0 조회수 102

인기 태그

인프런 TOP Writers

주간 인기글