inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Self-Healing 테스트 중 문의사항

미해결

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

안녕하세요 Self-Healing 테스트 중 Memory leak 을 위해서 다음 URL 호출 시 500 에러가 발생합니다. curl 192.168.56.30:31221/memory-leak <Error> {"timestamp":"2025-11-21T01:35:50.504+00:00","status":500,"error":"Internal Server Error","path":"/memory-leak"} </Error> 이후에 k8s Dashboard로 확인 시 영상과 같이 파드가 재시작 되는게 아니라 memory 사용량이 증가하고 파드가 4개까지 늘어나는데 다시 파드가 줄어들가나 메모리 사용량이 줄어들거나 하지를 않습니다.

  • kubernetes
  • devops
  • argocd
  • container
  • helm
rdd0426 댓글 2 좋아요 1 조회수 91

안녕하세요 FetchGroups에서 Multiset방식 사용하면 어떤가 해서 물어봅니다

미해결

실전 jOOQ! Type Safe SQL with Java

안녕하세요 공부하다가 보니 FetchGroups방식으로 했을때 Map으로 반환되고 DTO로 변환해야하는 오버헤드가 발생하는데요 Multiset방식으로 하면 1:N 관계에서 바로 DTO로 반환 할 수 있는데요 코드 보기가 조금은 더 복잡해 보이지만 WHERE절이 있을때 현재 테이블 데이터와 인덱스 상으로는 성능적으로 더 괜찮은거 같아서 multiset방식은 강의에 없어서 어떤지 궁금해서 여쭤봅니다 public List<ActorFilmography> findActorFilmographyWithMultiset(ActorFilmographySearchOption searchOption) { final JFilmActor FILM_ACTOR = JFilmActor.FILM_ACTOR; final JFilm FILM = JFilm.FILM; return dslContext.select( ACTOR, DSL.multiset( DSL.select(FILM.fields()) .from(FILM) .join(FILM_ACTOR) .on(FILM.FILM_ID.eq(FILM_ACTOR.FILM_ID)) .where( FILM_ACTOR.ACTOR_ID.eq(ACTOR.ACTOR_ID), containsIfNotBlank(FILM.TITLE, searchOption.getFilmTitle()) ) ).convertFrom(r -> r.into(Film.class)) ) .from(ACTOR) .where( containsIfNotBlank(ACTOR.FIRST_NAME.concat(" ").concat(ACTOR.LAST_NAME), searchOption.getActorName()) ) .fetch(record -> new ActorFilmography( record.value1().into(Actor.class), record.value2() )); } WHERE 조건 포함 시 성능 비교 fetchGroups 방식 (cost=405, rows=609) Film 필터링 먼저 → FilmActor 조인 → Actor 필터링 1. film 테이블 스캔 (1000 rows) └─ LIKE '%COMMANDMENTS EXPRESS%' → 111 rows 2. film_actor 인덱스 조회 (idx_fk_film_id) → 609 rows 3. actor PRIMARY KEY 조회 → 609 rows └─ LIKE '%LOLLOBRIGIDA%' → 1 row (최종) 특징: - Film 조건이 선택적이면 먼저 필터링하여 조인 범위 축소 - 하지만 Actor 필터링은 마지막에 수행 (비효율) - 609개 row가 네트워크 전송 → 애플리케이션에서 1개로 그룹핑 --- multiset 방식 (cost=20.2 + 13.3 × filtered_actors) Actor 필터링 먼저 → 각 Actor의 Film 서브쿼리 1. actor 테이블 스캔 (200 rows) └─ LIKE '%LOLLOBRIGIDA%' → 1 row (필터링 후) 2. 필터링된 1개 actor에 대해 서브쿼리 실행: - film_actor PRIMARY KEY 조회 (27.3 rows 추정) - film PRIMARY KEY 조회 (27.3번) - LIKE '%COMMANDMENTS EXPRESS%' → 1개 매칭 특징: - Actor 조건을 먼저 적용하여 서브쿼리 실행 횟수 최소화 - 필터링된 1개 Actor만 네트워크 전송 (JSON 포함) - Film 필터링은 각 actor 서브쿼리 내부에서 수행 --- 실제 Total Cost 계산 fetchGroups Total: 405 네트워크 전송: 609 rows (Actor + Film 중복 포함) 애플리케이션 처리: Map 생성 + Stream 변환 multiset Total: 20.2 + (13.3 × 1) = 33.5 네트워크 전송: 1 row (Actor + JSON array) 애플리케이션 처리: JSON 역직렬화 결론: WHERE 조건이 있으면 multiset이 압도적으로 유리 (405 vs 33.5) FetchGroups는 Actor를 나중에 필터링하고 multiset은 actor를 먼저 필터링해서 1개에 대한 film을 여러개 가져와서 현재 데이터에서는 더 유리한데 일반적인 사용법이 궁금합니다

  • java
  • sql
  • spring-boot
  • jooq
  • dsl
JaeWon Kim 댓글 1 좋아요 0 조회수 83

이력서 관련 궁금한 사항이 있습니다.

해결됨

백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오 - 2기

안녕하세요 딩코딩코 선생님. 다름이 아니라 궁금한 점이 있어 Q&A에다가 글을 올립니다. 6주차 까지 진행을 하며 현재 실제 업무를 하며 해결한 내역들에 대해 다시 한번 정리 해 보는 시간을 가지려고 합니다. 이러한 과정을 수행했을 때 혹시 피드백을 해 주실 수 있는지 궁금합니다.

  • java
  • spring
  • mysql
  • redis
  • 이력서
Tommy 댓글 2 좋아요 0 조회수 66

스캔대상 질문드립니다.

미해결

실전! 스프링 데이터 JPA

안녕하세요. 다른질문에도 동일하게 있는데 답변이 조금 모호한거같아서 다시 질문 드립니다. 강의 자료의 해당 강의 부분을 보면 org.springframework.data .repository.Repository 를 구현한 클래스는 스캔 대상 라고 되어있는데, 제가 이해한 바로는 이 부분이 org.springframework.data .jpa.repository.JpaRepository 를 상속받은 인터페이스 는 스캔 대상 이렇게 수정되어야 할 것 같은데 맞을까요..??

  • java
  • spring
  • spring-boot
  • jpa
오리쉐리 댓글 1 좋아요 0 조회수 67

git 연동 오류

미해결

1시간만에 Chat GPT 클론 with Cursor (원데이 클래스)

Vercel 배포를 위해 github에 레퍼지토리를 새로 형성하고 주소 복사를 한다음 터미널에 "git remote add origin (git 주소)" 명령어를 입력하니 다음과같은 오류가 납니다. 어떤 현상인지 알 수 있을까요?

  • react
  • typescript
  • tailwindcss
  • nextjs
  • chatgpt
  • git
  • github
forever1542 댓글 1 좋아요 0 조회수 136

[typo] 3장. 작전1 명령어 문의

미해결

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

킬구형 잘 지내고 있는가? 날이 차가워졌다가 말다가 뒤죽박죽 3장 작전1의 JpaCursorItemReader 를 활용한 postBlockBatchJob 에 문제가 있어 보인다. 킬구형이 해킹을 잘한다지만, 우리는 못한다!!! 명령어에 jobParameters 가 제외 되었는데 이런 좋은 해킹 공유 해주면 좋겟다! postBlockBatchJob 은 startDateTime / endDateTime 를 필요로 하는 명령어로 보인다. 아래와 같이 구동해야 정상 작동이 되는걸로 보인다 ./gradlew bootRun --args='--spring.batch.job.name=postBlockBatchJob startDateTime=2025-11-16T00:00:00,java.time.LocalDateTime endDateTime=2025-11-20T00:00:00,java.time.LocalDateTime'

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
이상민 댓글 1 좋아요 1 조회수 103

2강 작전1. csv/fixedLength 윈도우 실행 관련 유의사항 제보

미해결

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

현재 윈도우 환경에서 학습 중이어서 형님께서 싫어하실 수 있겠지만, 꽤나 흥미로운 것을 발견해서 형님께(강의내용에 도움이 되실 수도 있을까 하여) 제보드립니다! 참고로 저의 경우 IntelliJ의 powershell에서 echo를 하고 csv/txt내용수정은 IntelliJ에서 직접 하였습니다. 1) csv 실행시 오류 최초 실행시 파싱불가 오류가 발생하였는데, csv파일에서 문제점은 없을 것으로 판단하여 프로젝트의 인코딩을 utf-8에서 EUC-KR로 변경해주었습니다. 이러면 정상 작동하였습니다. 2) fixedLength 실행시 오류 역시 최초 실행시 파싱불가 오류가 발생하였습니다. 로그를 살펴보았을때 인코딩이 잘못되었을 것으로 판단하여 프로젝트의 인코딩 설정과 해당 txt파일의 인코딩 설정을 모두 utf-8로 바꿔주었습니다(utf-16/utf-16LE/utf-16BE 모두 오류 발생, 특히 저 인코딩 문제는 utf-8에서만 유일하게 발생하지 않아서 utf-8 인코딩만 가능한 것으로 보임). 이래도 파싱문제가 발생하였는데, .columns(new Range[]{ new Range(1, 8), // errorId: ERR001 + 2 new Range(9, 29), // errorDateTime: 19 + 2 new Range(30, 38), // severity: CRITICAL/FATAL + padding new Range(39, 44), // processId: 1234 + 2 new Range(45, 66) // errorMessage: msg + \n }) severity 부분을 30 ~ 39 가 아닌 30 ~ 38로 바꿔주었고 마지막 errorMessage 부분을 46 ~ 66이 아닌 45 ~ 66으로 바꿔주었습니다(21자리 -> 22자리) echo로 공백을 입력해주었지만 실제 파일을 보았을때는 공백이 먹히지 않았던 것 같습니다. 그래서 아래와 같이 공백대신 문자열 1개를 그냥 입력해주었습니다. echo를 통한 개행이 먹히지 않아 위와 같이 intellij로 txt파일을 변경해주었습니다. 마지막 문자는 DETECT + 공백 + 개행 -> DETECTS + 개행으로 공백을 제거해주었습니다. 이렇게 했을때 최종적으로 빌드성공하였습니다. 저 Range범위, 특히 severity 범위를 왜 저렇게 구성해야 하는지, 이게 윈도우 실행 환경만 이런건지, 제 환경에서만 이런 문제가 발생하는건지..아직도 모르겠지만.. 형님께 제보를 해드리면 좋을 것 같아서 남겨봅니다!

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
Hyo Kyun Lee 댓글 1 좋아요 1 조회수 125

server 배포 후 client 배포시 401 에러 발생

해결됨

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

안녕하세요 강사님~! 백엔드 서버 vercel 로 배포한 뒤 client 를 해당 백엔드 url 로 설정하여 npm run build 를 하니 401 에러가 발생을 해서요~ https://ddilys-library-server-lqprbor13-camomilekrs-projects.vercel.app/ This page requires authentication to access. Automated agents should use a Vercel authentication bypass token to access this page. build 과정에서 401 오류로 응답에 이런 내용이 포함되어 있는데, 별도의 auth token 같은 걸 설정해 줘야 할까요?? vercel --prod 로 deploy 해도 동일한 증상이 있습니다~ 답변 주시면 감사드리겠습니다~

  • react
  • typescript
  • next.js
  • 카카오공채-개발
서지석 댓글 3 좋아요 0 조회수 118

다음 강의 질문

미해결

Spring WebFlux + LLM 실전 구현

안녕하세요? 강의 정말 재밌게 잘 들었습니다. 다음 강의역시 기대가 되는데요, 혹시 예상하시는 강의 오픈일정같은 게 있을까요? 추가로 어떤 내용일지도 궁금합니다! (다른 질문에서 커리큘럼이 다 준비되었다고 말씀주셔서 같이 여쭈어봅니다)

  • java
  • spring
  • webflux
  • chatgpt
  • llm
김영빈 댓글 1 좋아요 0 조회수 81

형 JobLauncherController 구성 질문

미해결

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

킬구형 여기부분에서 사실상 JobLauncherController 에서 applicationContext 는 실제로 사용되지않는데 이전 강의에서 job이 bean으로 등록된다는걸 우리가 실제로 확인해보라고 넣은 큰 그림인거야 후훗? 😏

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
메롱시티 댓글 3 좋아요 1 조회수 106

추가 강의 업로드 계획은 어떻게 되시나요?

미해결

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

안녕하세요! 현재 강의의 80%를 수강했습니다. 노션강의자료를 보니 기능 추가예정이 적혀있어서 혹시 언제쯤 강의를 추가하실건지 아니면 추가된 부분의 코드만이라도 노션 혹은 깃허브에 업데이트가 가능한지 궁금합니다. 답변 부탁드립니다. 감사합니다.

  • react
  • mysql
  • docker
  • rest-api
  • FastAPI
JONG 댓글 2 좋아요 0 조회수 125

IO.println(String.format("Hello and welcome!"));

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 선생님 이렇게 만들어지는데 괜찮은걸까요? [질문 내용] 여기에 질문 내용을 남겨주세요.

  • java
  • 객체지향
가진빵다내놔 댓글 2 좋아요 0 조회수 194

11강 수업자료가 수업영상입니다.

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요. 11강 수업자료를 다운로드 받아보니 해당 수업영상입니다. 괜찮을까요?

  • react
  • typescript
  • react-query
  • supabase
  • zustand
hanbrang 댓글 1 좋아요 0 조회수 79

82 12.6) css설정 이미지 정렬 오류

해결됨

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

html, body { margin: 0px; width: 100px; background-color: rgb(246, 246, 246); } #root { background-color: white; max-width: 600px; width: 100%; margin: 0 auto; min-height: 100vh; height: 100%; box-shadow: rgba(100, 100, 100, 0.2) 0px 0px 29px 0px; } body * { font-family: "NanumPenScript"; } 이렇게 작성하셨는데 구현하신 화면 보면 root가 가운데 정렬 되어있지만 제가 구현하면 css는 좌측 세로 정렬 되는데 원인이 있을까요?

  • javascript
  • react
  • node.js
  • 카카오공채-개발
댓글 3 좋아요 0 조회수 94

terraform destroy 로 s3 bucket을 삭제할 경우

해결됨

실무에서 사용중인 AWS 클라우드 IAM 이해와 보안

1. 무엇을 하고 싶으신가요? 해당 실습을 조금 더 빠르고 간편하게 재현하고 싶어서 s3 bucket과 안에 오브젝트 파일을 생성하는 부분까지 테라폼 코드로 프로비저닝 하였습니다. 강의를 보며 결과까지 모두 확인을 하였고, 이제 위 리소스들을 전부 destroy 하고 싶습니다. 2. 언제, 어떤 오류가 발생하시나요? terraform apply를 할 경우, Role 3개와 버킷, 버킷 정책, 오브젝트 파일 총 6개의 리소스가 생성됩니다. terraform state list를 통해 관리 대상을 확인해보아도 6개의 리소스를 확인할 수 있습니다. 그런데 terraform destroy 명령을 수행할 경우 버킷을 제외한 5개의 리소스만 삭제 플랜에 출력되는 것을 확인하였고 이대로 진행할 경우 결국 empty한 s3 bucket만 남아 따로 cli 명령이나 콘솔에서 삭제를 해주어야합니다. 3. 어떤 시도를 해보셨나요? 내부 오브젝트 파일 때문이라는 가설을 세우고 force_destroy = true 속성을 true로 지정하였지만 버킷 내부 객체까지만 삭제되었고 버킷은 삭제되지 않습니다. 이후 권한 문제라는 가설을 세워보았지만 s3 액세스 정책을 deny 기반으로 ListBucket을 지정하였기 때문에 해당 가설도 기각하였습니다. 4. 작성한 코드를 공유해주세요. data "aws_caller_identity" "this" {} # IAM Role resource "aws_iam_role" "this" { count = 2 name = "thbins-${count.index}" path = "/dev/" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { # AWS = "${data.aws_caller_identity.this.arn}" AWS = "arn:aws:iam::${data.aws_caller_identity.this.account_id}:root" } }, ] }) managed_policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] } resource "aws_iam_role" "this2" { name = "thbins-2" path = "/" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { # AWS = "${data.aws_caller_identity.this.arn}" AWS = "arn:aws:iam::${data.aws_caller_identity.this.account_id}:root" } }, ] }) managed_policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] } # S3 variable "bucket_name" { description = "S3 bucket name (must be globally unique)" type = string } resource "aws_s3_bucket" "test" { bucket = var.bucket_name force_destroy = true # 버킷 안에 객체를 생성하기 때문에 해당 속성을 true로 지정한다. } data "aws_iam_policy_document" "test_bucket" { statement { sid = "Statement1" effect = "Deny" principals { type = "AWS" identifiers = ["*"] } actions = [ "s3:ListBucket", ] resources = [ aws_s3_bucket.test.arn, "${aws_s3_bucket.test.arn}/*", ] condition { test = "StringNotLike" variable = "aws:PrincipalArn" values = [ # 여기서 account_id를 하드코딩하지 않고 자동으로 맞춰줌 "arn:aws:iam::${data.aws_caller_identity.this.account_id}:role/dev/*", ] } } } resource "aws_s3_bucket_policy" "test" { bucket = aws_s3_bucket.test.id policy = data.aws_iam_policy_document.test_bucket.json } resource "aws_s3_object" "test_file" { bucket = aws_s3_bucket.test.id key = "test_success.txt" content = "This is a test file for IAM path-based S3 access demo.\n" # 선택: 텍스트 파일임을 명시 content_type = "text/plain" }

  • aws
  • Terraform
  • devops
  • devsecops
  • iam
taeho Kim 댓글 1 좋아요 1 조회수 78

companion object

미해결

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

안녕하세요 강사님 그 정적 팩토리 매서드는 강의에서 data class dto 측에 써 주셨는데 현업에서는 주로 dto에 쓰는 게 컨벤션인 가요?

  • java
  • spring
  • kotlin
  • spring-boot
  • 리팩터링
KMC 댓글 2 좋아요 0 조회수 103

device선택시

해결됨

누구보다 빠르게 배우는 Springboot + Flutter RestAPI 게시판 만들기

디바이스 선택시 Chrome(web)과 저의 실물 핸드폰 연결해서 했더니 안드로이드 스튜디오 코드는 잘 돌아갑니다. 하지만 BoardViewModel.dart 코드에서 설정한 url그대로 따라 쳤는데 swagger ui에서 계속 화면처럼 response body가 비어있습니다.. 계속나와서 혹시 전체 소스코드 공유 안될까요??

  • flutter
  • java
  • kotlin
  • spring-boot
  • jpa
boll1235 댓글 3 좋아요 0 조회수 113

프로필 수정시 포스트변경

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

프로필 수정시 자신이 작성한 PostItem 의 이미지, 닉네임도 같이 변경이 되어져야 하지 않을까요? 새로고침해야 변경이 되어성., 프로필 버튼은 잘 변경이 됩니다.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
억수 댓글 2 좋아요 0 조회수 76

노션에 cors 문서가 안보입니다!

해결됨

누구보다 빠르게 배우는 Springboot + Flutter RestAPI 게시판 만들기

(사진)

  • flutter
  • java
  • kotlin
  • spring-boot
  • jpa
boll1235 댓글 2 좋아요 0 조회수 78

레디스 설명시작 부분 인코딩깨짐 문제

미해결

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

오타라기 보다는 인코딩이 깨져 보여서 신경이 쓰여서 3장. 작전2: NoSQL 읽고 쓰기 (무법지대 NoSQL, 새로운 처형 방식의 시작 ☠ ) 에서 중간 레디스 설명 시작 부분이야

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

인기 태그

인프런 TOP Writers

주간 인기글