inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

코틀린에서 상속 시, 주의점에 대한 질문

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

태현님, 안녕하세요. 뭔가 하나 더 궁금해져서 질문을 드리게 되었습니다! 아래의 두 클래스가 있다고 가정해보겠습니다. package me.sungbin.lec10 open class Base( open number: String = "100", ) { init { println("Base Class") println(number) } } package me.sungbin.lec10 class Derived( override val number: String, ) : Base() { init { println("Derived Class") } } 그리고 실제로 아래와 같이 Derived 클래스의 생성자를 호출하면 number값으로는 null이 출력됩니다. 여기서 궁금한 것은 number는 non-nullable한 타입인데 null이 왜 출력이 될까? 라는 궁금증이 생겼는데요.. 그래서 GPT한테 물어보니 아래와 같은 답변을 얻을 수 있었습니다. 레퍼런스 타입(예: String ) → JVM 기본값 null 이 출력됩니다. (Kotlin의 Non-null 보장도 생성 중(super 생성자 실행 중) 에는 예외적으로 깨질 수 있습니다.) 이렇게 들으니 뭔가 이해가 된 듯 보이는데 이게 GPT 피셜이다보니 태현님의 의견이 듣고 싶어져서 질문을 남깁니다!

  • java
  • kotlin
  • 객체지향
양성빈(Robert) 댓글 3 좋아요 1 조회수 137

flex를 grid 처럼 만들기 질문드립니다.

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

css 04-2-2 반응형과 grid 조합 - 플렉스박스와 그리드 비교 수업 12분 15초 내용을 감싸는 div를 만들어서 어떻게 해야 grid 와 같이 만들 수가 있는 건지 궁금합니다.

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
robotics 댓글 2 좋아요 0 조회수 130

6-2 강의 노션 코드 오타인거죠? 2

해결됨

React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!

위치: SingleTopic/Chart/ChartCanvas.jsx (39번 라인) 문제: stroke={colors[i].bg} // ❌ 현재 코드 원인: voteColors.js 의 실제 구조는 문자열 배열입니다 예: 2: ["#10B981", "#F43F5E"] .bg 프로퍼티가 존재하지 않아 undefined 반환 해결: stroke={colors[i]} // ✅ 수정 코드 결과: 수정 후 차트 선 색상이 정상적으로 표시됩니다. 제안: 후속 수강생들을 위해 강의 자료 업데이트 부탁드립니다. 강의 노션 코드에 오타가 너무 많아서 도움을 주는 자료인지 강의 진행을 방해하는 자료인지 모를 정도입니다. 솔직히 좀 심각합니다. 감사합니다.

  • react
  • mysql
  • docker
  • rest-api
  • FastAPI
고리오영감 댓글 3 좋아요 0 조회수 120

멀티모듈에서 DB 커넥션 풀 분리

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

DataSource에 대한 질문 배치를 적용중인데, 멀티모듈에서 배치용 Application을 따로두고, 배치용 yaml에서 datasource를 두었고, api쪽도 yaml에서 datasource를 보고 있다. 이때 , 아래와 같이 Config에서 Bean을 통해 Datasource을 생성, JobRepository에 전달해주지 "않아도" 커넥션이 분리가 되는가? API 쪽 디비와, 배치 디비의 커넥션풀을 따로 쓰고싶은데 아래와 같이 별도 세팅 없이 yaml만으로 분리는 안되는지 궁금하다... @Configuration class JpaConfig { @Bean @ConfigurationProperties("spring.datasource") fun batchDataSource(): DataSource { return HikariDataSource() } @Bean fun jobRepository( batchDataSource: DataSource, transactionManager: PlatformTransactionManager, ): JobRepository { return JobRepositoryFactoryBean().apply { setDataSource(batchDataSource) setDatabaseType(DatabaseType.POSTGRES.name) setTransactionManager(transactionManager) afterPropertiesSet() }object } }

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
tjrwn0716 댓글 2 좋아요 1 조회수 95

스프링 DB연결

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 자바부터 강의를 듣고있는데 언어가 이해가 되는부분이 있고 안되는 부분이있는데 이거는 앞에가서 다시 학습을 하고와야하나요!? 지금 스프링입문은 여기서 다이해하고 다음 강의로 넘어가야 하는 건가요!?

  • java
  • spring
  • mvc
  • spring-boot
선일 댓글 1 좋아요 0 조회수 168

내용 이해 질문

해결됨

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

태현님 안녕하세요, 간만에 강의를 듣던 중 해당 개념에 대해 제가 잘 이해하고 있는지에 대해 여쭤보고자 질문을 드립니다. 제가 헷갈리는 부분은 open 에 대한 것과 상속에 대한 주의점인데요. package me.sungbin.lec10 open class Base( open val number: Int = 100, ) { init { println("Base Class") println(number) } } package me.sungbin.lec10 class Derived( override val number: Int, ) : Base() { init { println("Derived Class") } } open 키워드는 기본적으로 상속을 받을 클래스에 붙여주며, abstract 과 같이 반드시 구현해야 하는 클래스에는 따로 명시적으로 붙여주지 않는 것으로 이해가 되었습니다. 예시의 Base 클래스와 Derived 클래스에서 getMember() 호출 시, 초기 값이 나온 부분은 실제 Derived 클래스에서 생성자를 호출하고 그 생성자가 상위 클래스 생성자를 호출하고 그 생성자에서 number를 출력하려고 하는데 해당 number는 오버라이딩 되었으니, 하위 클래스의 number를 출력해야 하나, 해당 하위 클래스 생성자 호출 전이므로 초기 값 0이 나온다?라고 이해하면 좋을까요? 제가 이해한게 잘 맞는지 혹은 잘못되게 생각한 부분이 있는지 확인해주시면 감사드리겠습니다! 🙂 실무에서 이런 케이스를 겪어본 적이 없어서 헷갈리는 것 같아서 이번 기회에 제대로 알아가보려구요!

  • java
  • kotlin
  • 객체지향
양성빈(Robert) 댓글 1 좋아요 0 조회수 77

super.show() 호출하는 이유가 궁금합니다.

미해결

[React 1부] 만들고 비교하며 학습하는 React

안녕하세요, 강의 잘 듣고 있습니다. 23강에서 SearchFormView 클래스의 show 메서드 오버라이딩과 관련하여 궁금한 점이 생겨서 질문드립니다. // SearchFormView.js show(searchKeyword = "") { this.inputElement.value = searchKeyword; this.showResetButton(this.inputElement.value.length > 0); } super.show() 를 호출하지 않아도 화면이 의도대로 동작하는 것을 확인했는데요. super.show() 호출이 단순히 체이닝을 위한 호출인지 아니면 제가 놓친 다른 의도가 있는 것인지 궁금합니다.

  • javascript
  • react
  • 웹앱
  • mvc
leeebug 댓글 2 좋아요 1 조회수 118

*가 아니가 article_id로 count를 뽑아줘야 할까요?

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

@Query( value ="select count(t.article_id) from ( " + " select article_id from article where board_id = :boardId " + "limit :limit " + ") t", nativeQuery = true ) Long count(@Param("boardId") Long boardId, @Param("limit") Long limit); 위와 같이 count(*) 가 아니라 count(t.article_id) 처럼 alias도 붙여야 하고, 모든 걸 뽑는 게 아니라 딱 서브쿼리 안에서 추출한 article_id만 count로 뽑아줘야 테스트가 통과되더라고요. 이유가 있을까요...?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
Bruce Han 댓글 3 좋아요 0 조회수 117

오타 발견

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

SimpleStepHandler - Step 실행의 관리자 Step의 실행은 StepHandler에 의해 의해 통제된다. Spring Batch는 기본 구현체로 SimpleStepHandler를 사용하는데, 이 컴포넌트가 Step 실행의 전체 라이프사이클을 관리한다. 의해 의해 <- 그리고 Step Squad 핵심 요약 있으니까 너무좋은데 Job Squad 에서도 핵심요약이 있었으면 더 좋았을거같음 뭐 스탭이나 잡이나 내용이 거의 비슷비슷하긴한데(Execution 반드시 새거만들고,상태변경시 즉시 메타데이터저장소에 저장하고) 그래도 실제 실행 따라가는 느낌이라 정리가 잘 안되는느낌이긴해서 마지막에 방점찍으면 보기 더 편할거같은느낌

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
qwerty jon 댓글 3 좋아요 1 조회수 67

질문

해결됨

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

24:54에 i값이 1일때 "참"이 되는게 이해가 잘 안갑니다.. 1 나누기 2는 0.5인데 정수형이라 0이되니까 "거짓"이 되야할것같은데 나머지가 어떻게 1이 되는지 문과생은 이해가 안갑니다..

  • python
  • java
  • c
  • 정보처리기사
이진우 댓글 2 좋아요 0 조회수 64

김영한 java 입문 설치 질문

미해결

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

1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] openJDK21이 없어서 25로 다운로드 받아서 설치했는데 수업듣는데 지장이 없을까요?

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

원자적 연산이 멀티스레드 상황에서 안전한 이유를 제대로 이해했는지 확인 부탁드립니다

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요! 강의 교안에 따르면 원자적 연산은 '멀티스레드 상황에서 다른 스레드의 간섭 없이 안전하게 처리되는 연산이라는 뜻이다' 라고 하는데요 그렇다면 동일 객체에 대한 원자적 연산들이 여러 CPU 코어에 나뉘어 동시에 실행하려고 해도 동시에 수행할 수 없기 때문에 원자적 연산은 멀티스레드 환경에서 안전하다고 이해해도 될까요? 그렇게 해야 멀티 스레드 상황에서 원자적 연산들이 다른 스레드의 간섭없이 처리될 수 있을 것 같아서요.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
happyrichman 댓글 2 좋아요 0 조회수 93

선생님 상태변경할때 질문

미해결

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

그 선생님은 지금 문제에서 상태 변경할떄 setCount((count) => count +1); 로 해주셨는데 지금 상황에서는 그냥 setCount((count+1)) 로 해도 문제 없지않나용? 버튼 한번 눌렀을때 count+1 되는건 한번이니깐..? 연속으로 +1 증가하는 로직이 아니라서 이렇게 생각되는데 혹시 제가 뭘 놓치고있는건가요?

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
jyl08840 댓글 2 좋아요 0 조회수 59

[강의 오류 리포트] React Router Outlet 사용 오류

해결됨

React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!

문제 발생 섹션: 4-1. Footer 제작 문제 내용: 강의 자료에서 제공된 App.jsx 코드에 구조적 오류가 있습니다. 문제점: 1. RootLayout 컴포넌트 내부에서 <Outlet /> 컴포넌트를 사용하고 있으나, 라우터 설정에 자식 라우트(children routes)가 정의되어 있지 않습니다. 2.현재 라우터 구조: ``` const router = createBrowserRouter([ { path: "/", element: <LootLayout />, // children이 없음 - Outlet이 렌더링할 내용이 없음 }, ]); ``` 발생한 에러: Outlet 컴포넌트 관련 에러 발생 해당 코드 제거 시 정상 동작 제안 사항: 아래 두 가지 중 하나로 수정이 필요합니다: 방법 1) 자식 라우트가 없다면 Outlet 제거 ``` <main className="flex-grow container mx-auto px-4 py-8"> {/* <Outlet /> 제거 */} </main> 추가 의견: 해당 강의를 수강하면서 이번 건 외에도 여러 오류를 발견했습니다. 학습에 상당한 지장이 있는 상황이므로, 강의 전체에 대한 코드 검수 및 업데이트를 요청드립니다. 특히 React Router v6의 최신 문법과 개념(Outlet, createBrowserRouter 등)이 정확히 반영되었는지 재확인이 필요해 보입니다. 수강생들이 불필요한 디버깅 시간을 소비하지 않도록 조속한 개선 부탁드립니다.

  • react
  • mysql
  • docker
  • rest-api
  • FastAPI
고리오영감 댓글 1 좋아요 0 조회수 93

해시 알고리즘 관련으로 질문이 있습니다.

해결됨

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

안녕하세요. 현재 cs 강의부터 c/c++/시스템.네트워크,tcp/ip 등 백엔드에 도움되는 강의를 듣고 현재 자바강의를 듣고 있습니다. 자료구조와 알고리즘을 공부할 때 저의 공부방법이 왜 사용하는지, 어떨 때 사용할지, 어떻게 작성하는지, 이럴 때엔 어떻게 대응 할 지를 중심으로 공부를 하고 있습니다. 배열, 스택, 큐, 연결리스트는 코드를 보지 않고 작성할 수 있도록 미리 훈련을 해놓았었지만 최근에 트리 / 해시로 넘어가면서부터 '이걸 안 보고 쓸 정도로 외우려면 시간 소요가 심할 것 같은데?' 생각이 들었습니다. 이러한 고민을 하게 된 건 전에 경쟁력 있는 백엔드 개발자가 되려면 홈페이지 하나는 코드를 보지 않고 써야한다 라는 얘기를 들었기 때문입니다. (다만 공부하고 있는 학생으로 홈페이지 만드는 코드가 무엇인지를 모르기에 이러한 고민을 하게 되는 것도 있습니다.) 13년 전에 C/C++ 개발 회사에서 일을 했을 때 코드를 외우는 게 아니라 어떠한 코드가 필요할 때 책을 펼쳐서 보고 직접 타이핑을 쳤었는데, 안 보고 쓸 정도로 외우기가 어려운 알고리즘들도 마찬가지 아닐까 하는 의구심이 들어 질문 드려봅니다. (현재는 바이브 코딩이겠지만요)

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

WebApiExRateProvider 템플릿 콜백 패턴을 적용하면서 테스트 코드를 만들어보았습니다.

미해결

토비의 스프링 6 - 이해와 원리

안녕하세요. 우선 한푼도 아깝지 않은 명강의를 만들어주심에 진심으로 감사드립니다. WebApiExRateProvider를 템플릿 콜백 패턴을 적용한 구조로 변경하면서, 토비님께서는 실제 API를 호출하고 콘솔에 찍힌 결과를 보며 진행한 테스트 방식에 의문이 들어 한번 테스트 코드를 만들어보았는데요. 피드백을 받아보고 싶습니다. 코드는 GitHub Repository에 Commit 내역에서 확인하실 수 있습니다. ( Commit 내역 링크 ) 의도에 대해 간단히 설명드리면 반드시 지정된 URL로 API 호출을 보내야 한다는 동작 과 특정 스펙의 JSON을 파싱해서 환율 정보를 반환하는 동작 을 테스트했습니다. 이때 ApiExecutor 의 경우 단순히 API를 호출하고 그 응답을 반환하는 역할이므로 테스트 할 가치가 없다고 판단하여 배제 했습니다. 주로 궁금한 것은 다음과 같습니다. 테스트하려는 기능에 대해 부족하거나 과함은 없는지? Mock을 활용한 테스트 방식에 대해서는 아쉬움이 없는지? 아무래도 Mock을 활용한 테스트에는 찝찝함이 남아있는데, 어떻게 해소할 수 있을지? 토비님이라면 어떤 식으로 테스트를 진행하셨을 지? 다시 한번 좋은 강의 제공해주셔서 진심으로 감사합니다.

  • java
  • spring
생마차라거 댓글 2 좋아요 0 조회수 90

[강의 오류 제보] Navbar 컴포넌트 코드 오류 발견

해결됨

React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!

안녕하세요, '리액트 + FastAPI로 투표 커뮤니티 플랫폼' 강의를 수강 중인 학습자입니다. 강의 자료의 코드를 그대로 따라했을 때 에러가 발생하여 제보드립니다. --- 📍 발생 위치: - 강의 섹션: [섹션 3/ch2. 메뉴바 제작] - 파일: src/Components/Navbar/index.jsx ❌ 발생한 에러: ReferenceError: logout is not defined 🔍 문제 원인: 강의 자료 코드에서 함수는 onLogoutClick , onLoginClick , onSignupClick 으로 정의했으나, 자식 컴포넌트에 전달할 때는 정의되지 않은 logout 변수를 사용하고 있습니다. 현재 강의 자료 코드: ``` javascript const onLogoutClick = () => { ... }; <AuthButtons logout={logout} /> // ❌ logout 미정의 <MobileMenu logout={logout} /> // ❌ logout 미정의 ``` 수정방법: <AuthButtons isAuthenticated={isAuthenticated} isOpen={isOpen} setIsOpen={setIsOpen} onLogoutClick={onLogoutClick} // ✅ 수정 onLoginClick={onLoginClick} // ✅ 추가 onSignupClick={onSignupClick} // ✅ 추가 /> <MobileMenu isOpen={isOpen} setIsOpen={setIsOpen} isAuthenticated={isAuthenticated} onLogoutClick={onLogoutClick} // ✅ 수정 onLoginClick={onLoginClick} // ✅ 추가 onSignupClick={onSignupClick} // ✅ 추가 /> 💡 제안: 이전 강의 자료에서는 올바르게 onLogoutClick 등을 전달하고 있었는데, 특정 시점부터 logout 으로 변경되면서 함수명과 불일치가 발생한 것으로 보입니다. 강의 자료 업데이트 부탁드립니다. 감사합니다.

  • react
  • mysql
  • docker
  • rest-api
  • FastAPI
고리오영감 댓글 2 좋아요 0 조회수 109

13분쯤 테스트하다가 안 된다면?

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

저도 13분쯤에 create 테스트를 하다가 안 되어서 삽질했는데, 드디어 됐습니다. 원인은 createdAt, updatedAt에 값을 설정하지 않고 넣으려다 보니, null로 들어가서 에러가 발생했던 것이었습니다. 그리고 mysql에 접속했을 때는 use article; 로 DB에 접근해야 합니다. 저는 use database; 로 접근하고 있었네요. 이 과정에서 GPT의 도움을 많이 받았습니다. 13분쯤 진행다가 나오던 그 500 에러 로그는 애플리케이션을 확인해 봐야 하고요. 테스트 코드의 create 메서드에는 IDE의 설명도 같이 참고했습니다. 왜 오류가 떴는지 알려주더군요.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
Bruce Han 댓글 2 좋아요 0 조회수 92

bfs 풀이

미해결

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

제 자력으로는 bfs로 풀어봤는데 정답이 뜨긴 했습니다. 그리고 선생님이 푸신 기법으로도 제출해보았더니 실행시간은 비슷하더라구요. 이 문제에서만은 bfs로 해결해도 되지만 뒤에 있는 문제를 풀기 전에 알아야할 코드이기에 선수학습 코드로 알고 있으면 될까요? 최소 스패닝 트리 문제는 bfs만으로는 풀 수가 없는걸까요...? 한 집합에서 노드들이 응축이 되지 않고 계속 연결만 되고 있는 상태에서 마지막으로 입력된(연결된) fb가 이 집합의 배열의 값이 되는건가요? 입력 예시로 보면 (1,2), (2,3), (3,4), (1,5)는 결국 하나의 집합인거잖아요? 여기서 5(fb)가 이 집합의 배열값으로 무조건 고정이 되는건지 궁금합니다.

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

writer retry 관련해서 궁금한 점이 있습니다.

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

반말은 조금 부끄러워서.. 존댓말로 질문드리겠습니다. ItemWriter에서 예외 발생 시 재시도 - 청크 단위로 재시도 관리 1. ItemWriter에서 예외 발생 시 ItemProcessor부터 처리가 재개된다. 2. ItemProcessor에서와 달리, ItemWriter에서의 재시도 횟수는 청크 단위로 관리된다. 요 부분에서 실제로 배치를 돌려보니 writer부터 재시작하는 것을 확인 가능했습니다.. 관련해서 원인을 분석해보니, 아래 결론에 도달했는데 맞을까요? processorNonTransactional() 설정이 켜져있으면 Item 단위로 처리 결과를 캐시에 저장하기때문에 processor는 모두 완료 처리 -> writer부터 시작 processorNonTransactional() 설정이 꺼져있으면 청크 단위로 완료 처리하기때문에 processor부터 다시 시작

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
박정선 댓글 2 좋아요 1 조회수 82

인기 태그

인프런 TOP Writers

주간 인기글