inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

equals - 구현(2)에서 자동 완성으로 코드 한줄이 없이 나오는데 제가 생각한게 맞나요?

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 주석처리한 부분이 영상때와 지금 인텔리제 버전이 달라선지 저 코드는 없이 만들어지더라구요 저코드는 '자기 자신이면 바로 true 리턴해줘' 라는 코드가 맞나요?(if 부분이 같은 참조값일때 return true) 위 코드가 없어도 밑에 다운캐스팅한 부분에서 비교하면 true가 나올거니까 이젠 안쓰는거라 지운건지 없어도 돌아갈 거 같은데 저부분이 제가 생각하는 것과 같은지 궁금합니다.

  • java
  • 객체지향
박혁진 댓글 2 좋아요 0 조회수 108

OrderItems hibernate.default_batch_fetch_size 관련한 질문입니다!

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Order <-> Member 는 N:1 Order <-> Delivery 는 1:1 관계이며, proxy 객체로 들고오는 것이 목적이 아니기 때문에 fetch join 을 이용하여 바로 데이터를 DB에서 들고 온 거고 OrderItems 는 조회문에서 뺀 다음 Order <-> OrderItmes 1:N Lazy 를 이용하여 proxy 상태로 들고 온 상태에서 .get() 과 같은 함수를 이용해서 그때 데이터를 채워놓은거라고 이해하면 될까요? OrderItems에 데이터가 DB데이터가 채워질 때 N+1 과 같은 문제가 발생하지 않은 건 hibernate.default_batch_fetch_size 또는 @BatchSize 이용하기에 그런 거구요. 그럼 만약에 Order 주문 조회 후 Controller 에서 해당 OrderItems 의 Class 를 확인하면 proxy로 나오게 되고, order.getOrderItems() 와 같이 호출을 하게 되면 OrderItems는 proxy 객체가 아닌 실제 DB조회데이터가 나오게 되는 걸까요??

  • java
  • spring
  • spring-boot
  • jpa
6udguin 댓글 1 좋아요 0 조회수 48

GC의 age와 관련하여 질문 있습니다.

해결됨

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

안녕하세요! JVM 파트를 복습하다가 궁금한 점이 생겨 질문드립니다. Young Generation(Eden → S0 ↔ S1) → Old Generation → Permanent 영역으로 객체가 이동하는 과정에서 객체의 age가 세대 간 이동(Eden → S0 ↔ S1 포함)을 거치며 증가한다고 설명해주셨습니다. 그런데 제가 알고 있기로 age는 Young Generation 내의 Survivor 영역(S0 ↔ S1)을 이동할 때에만 증가하는 것으로 알고 있습니다. age는 객체가 Minor GC를 거쳐 살아남은 횟수로 일반적으로 약 15회 생존하면 Old Generation으로 승격될 수 있는 조건이 되고, Old Generation으로 승격된 이후에는 더 이상 age가 증가하지 않는다고 알고 있습니다. 혹시 이 동작 방식이 JVM 구현체에 따라 달라질 수 있는 부분인지 아니면 제가 알고 있는 age는 다른 age인 것인지 궁금해서 질문드립니다:)

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

선생님께 질문드립니다!

미해결

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 드디어 자바 완강을 했는데 중급 1~2 와 고급 1은 두번씩 들었고 고급2도 혼자서 채팅프로그램,네트워크 이런거 다 만들어보긴 했는데 이거 공부하는동안 또 기억이 잘 안나더라구요 ㅎㅎ.. 람다도 이제 어느정도 다 읽고 쓸줄은 아는데 자세한 메서드는 기억이 안나는 것도 많고, 다운 스트림 같은 경우에도 기억이 가물가물하고요.. 일주일에 한번씩 강의 마다 요약노트 작성한거 읽고 있긴한데 이대로 한번 쭉 읽고 스프링으로 넘어가는게 나을까요 아니면 자바를 좀 더 봐야할까요??

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
eovnfjfpa 댓글 1 좋아요 0 조회수 113

objmemberrepository 예외 발생

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] package io.member.impl; import io.member.Member; import io.member.MemberRepository; import java.io .*; import java.util.ArrayList; import java.util.List; public class ObjectMemberRepository implements MemberRepository { private static final String FILE_PATH = "temp/members-obj.dat"; @Override public void add(Member member) { List<Member> members = findAll(); members.add(member); try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(FILE_PATH))){ oos.writeObject(members); } catch (IOException e) { throw new RuntimeException(e); } } @Override public List<Member> findAll() { try(ObjectInputStream ois = new ObjectInputStream(new FileInputStream(FILE_PATH))){ Object findObject = ois.readObject(); return (List<Member>) findObject; } catch (FileNotFoundException e) { return new ArrayList<>(); } catch (IOException | ClassNotFoundException e) { throw new RuntimeException(e); } } } 코드 동일하게 작성했는데 콘솔 메인에서 마지막 나이를 작성하니 Exception in thread "main" java.lang.RuntimeException: java.io .NotSerializableException: io.member.Member at io.member.impl.ObjectMemberRepository.add(ObjectMemberRepository.java:22) at io.member.MemberConsoleMain.registerMember(MemberConsoleMain.java:52) at io.member.MemberConsoleMain.main(MemberConsoleMain.java:26) Caused by: java.io .NotSerializableException: io.member.Member at java.base/ java.io .ObjectOutputStream.writeObject0(ObjectOutputStream.java:1121) at java.base/ java.io .ObjectOutputStream.writeObject(ObjectOutputStream.java:336) at java.base/java.util.ArrayList.writeObject(ArrayList.java:949) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at java.base/ java.io .ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:946) at java.base/ java.io .ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1431) at java.base/ java.io .ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1353) at java.base/ java.io .ObjectOutputStream.writeObject0(ObjectOutputStream.java:1115) at java.base/ java.io .ObjectOutputStream.writeObject(ObjectOutputStream.java:336) at io.member.impl.ObjectMemberRepository.add(ObjectMemberRepository.java:20) ... 2 more 이런 예외가 발생합니다

  • java
  • 네트워크
  • 객체지향
댓글 1 좋아요 0 조회수 68

Elastic Cloud 에서 "Logs and metrics" 기능 관련 질문 있습니다.

미해결

실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)

Elastic Cloud 에서 "Logs and metrics" 기능 활성화를 통해 나중에 문제 발생시 로그 및 매트릭 확인을 위해서 해당 기능을 활성화 하고자 하는데요. 이 기능은 좋은데 문제점이 너무 빠르게 용량을 잡아 먹는다는 것 입니다. 저 예산으로 가야 되는 상황이라 어쩔 수 없이 낮은 사양으로 할 수 밖에 없는 상황이지만 그렇다고 "Logs and metrics" 기능을 비활성화 하기에 나중에 문제 발생시 대처가 안 될 것 같아서 고민이 됩니다. 한번 여러 방면으로 대책법을 찾아보니 필수 로그 및 메트릭만 수집 (필터링) 수집 주기 조정 (Metrics 기준) 이렇게 대응 방법을 말해주고 있는데요. 지금부터 ChatGPT 가 답변해준 글을 공유 하도록 하겠습니다. ================================================== 💥 주요 성능 부하 원인 🔁 수집량 과다 수집 주기 짧음, 많은 필드 → 데이터 폭주 📥 Ingest Pipeline 부하 Elastic Agent가 사용하는 Ingest Pipeline이 CPU/RAM 자원 소비 💾 인덱싱 부하 많은 로그가 빠르게 들어오며 디스크 I/O 및 CPU 부하 증가 🔍 자동 매핑 확장 필드가 자동으로 확장되어 메모리, 클러스터 상태 불안정 🧠 ILM 미적용 / 장기 보존 오래된 데이터가 계속 쌓이며 성능 하락 및 디스크 압박 ✅ 해결책: 성능 최적화 전략 1. 필수 로그 및 메트릭만 수집 (필터링) 수집 대상 최소화: log.level: error , source: app-* 등 필요 데이터만 수집 예: Elastic Agent policy에서 수집 대상 제외 설정 processors: - drop_event: when: not: equals: log.level: "error" 2. 수집 주기 조정 (Metrics 기준) 리소스기본 주기추천 조정Metrics (System, Docker 등)10s~15s→ 30s~60s로 늘리기 Elastic Agent 정책에서 조정 가능 (Kibana → Fleet → Integration Policy → Advanced options) 3. ILM 수명주기 정책 설정 오래된 로그/메트릭 자동 삭제 또는 cold/warm tier로 이동 예: logs-* , metrics-* 인덱스 7일 후 삭제 📍 Elastic Agent Policy 설정 페이지 찾는 방법 🔹 경로: Kibana에 로그인 왼쪽 메뉴에서 "Management" → "Fleet" 클릭 → Fleet 은 Elastic Agent를 중앙에서 관리하는 UI입니다. 상단 탭에서 "Agents" 또는 "Agent policies" 클릭 원하는 정책 이름 클릭 (예: Agent policy 1 ) Integrations 리스트 가 보이면, 로그/메트릭 관련 항목 클릭 (예: System , NGINX , Kubernetes 등) Advanced Options 또는 Streams 탭에서 수집 조건/필터 조정 가능 🎯 필수 로그/메트릭만 수집하는 핵심 위치 Integrations 안의 Stream 설정 예: system.syslog → enabled ✅ / ❌ 메트릭 → 수집 주기(Collect every 10s 등) Advanced YAML (고급 설정) 예를 들어, error 레벨만 수집하도록 필터 추가: processors: - drop_event: when: not: equals: log.level: "error" 🧭 화면 예시 흐름 Kibana └─ Management └─ Fleet ├─ Agent Policies ← 여기서 정책 선택 │ └─ [Agent policy 1] │ └─ System integration 등 클릭 │ └─ Streams or Advanced options 설정 ================================================== 이렇게 필수로그 수집 기능 및 수집 주기 조정 기능으로 조금이나마 성능 부하를 줄이고자 할려고 하는데요. 말 그래도 키바나 접속 해서 Fleet 페이지로 가서 먼저 agent policy 등록를 하고 등록한 agent policy 접근 해서 system-1 클릭하면 Edit System integration 페이지 접근 할텐데요. 여기서 Collect metrics from System instances 에서 Change defaults 클릭 하고 여기서 원하는 Period 를 설정 하면 되는게 맞는 것인지 궁금 합니다... 혹시 또 추가적으로 설정 해야 하는 부분이 있을까요?

  • spring-boot
  • elasticsearch
  • devops
  • elk
  • infrastructure
리나 댓글 1 좋아요 0 조회수 132

argo image updater 이미지명 규칙 수정 문의

미해결

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

88. ArgoCD Image Updater를 이용한 이미지 자동배포 ( 💻 실습) 강의 실습 도중 발생한 문제와 해결 방법에 대해서 공유 드립니다. ArgoCD를 통해서 2232 Application을 배포할 때 values-dev.yaml 파일을 사용하여 helm chart 앱을 생성했습니다. 강사님께서 제공해주신 git 코드(fork한 코드 repo, 하기 코드 블록)를 통해서 application 생성 했을 때, 자연스럽게 1pro/api-tester:1.0.0 이미지를 가지고 와서 pod를 생성했습니다. 2232/deploy/helm/api-tester/values-dev.yaml image: repository: 1pro/api-tester pullPolicy: Always tag: 1.0.0 이후 Image-updater를 사용하여 image의 변경사항을 감지하려고 했으나 image-updater 파드에서는 감지되지 않았고, 당연히 argo cd에서도 sync 되지 않았습니다. 해당 문제를 찾아보니 regex 식의 규칙과 기존 이미지의 이미지명 형태가 동일해야 image updater가 인지를 하는 것 같아 하기 argo application과 연결된 git 디렉토리의 코드(2232/deploy/helm/api-tester/values-dev.yaml)를 같게 변경했더니 image-updater가 정상동작하면서 auto sync도 제대로 실행되었습니다. image: repository: alchdliodd/api-tester pullPolicy: Always tag: 1.1.1-250604.171111 강의 영상에서는 이렇게 맞추지 않아도 정상적으로 동작하는 것 같았는데, 이 현상이 argo image updater의 버그인지, 아니면 원래 해당 규칙을 맞추어야 하는 것인지 문의 드립니다.

  • kubernetes
  • infrastructure
  • container
  • argo
alchdli.odd 댓글 2 좋아요 1 조회수 194

강의 자료

해결됨

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 섹션 12 - HTTP 서버 만들기 강의자료 26페이지 HttpResponse코드에 setStatus() 메서드 이름이 setStatusCode()인 것 같은데 "Code"가 빠져있어요. 그래서 강의자료 30페이지에 있는 HttpRequestHandlerV4코드 notFound()메서드에서도 setStatusCode가 아닌 setStatus로 작성되어 있습니다!

  • java
  • 네트워크
  • 객체지향
dbaldpahd0216 댓글 2 좋아요 0 조회수 82

답변부탁드리겠습니다.

미해결

실전! Querydsl

(OrderSpecifier)관련 내용 어디있을가요 섹션7에서 스프링 데이터 JPA는 자신의 정렬(Sort)을 Querydsl의 정렬(OrderSpecifier)로 편리하게 변경하는 기능을 제공한 다. 이 부분은 뒤에 스프링 데이터 JPA가 제공하는 Querydsl 기능에서 살펴보겠다. 37. 스프링 데이터 페이징 활용3 - 컨트롤러 개발 -> 여기 챕터에서 뒤에 강의에서 설명하겠다하셨는데 어디 강의일까요.. 섹션8에 OrderSpecifier관련 내용은 없는거같은데요,,?

  • java
  • jpa
임다정 댓글 2 좋아요 0 조회수 102

PV/PVC (local, hostPath) 강의에 대한 질문입니다.

해결됨

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

안녕하세요 ! 강의 5분에 hostPath, local 사용 목적에 관한 질문이 있어 글을 남기게 되었습니다. 사용 목적 2번에서 노드의 디스크 공간이 한정적이라 디스크 공간이 부족해져서 노드가 죽어버리면 그 노드 위에 다른 Pod들도 함께 죽는다고 말씀해주셨습니다. 여기서 생긴 의문은 hostPath로 node의 Volume을 사용하든 PVC/PV를 이용하여 Volume을 사용하든 특정 Pod에서 사용량이 많으면 어떤 경우든 죽어버릴 것 같다는 것입니다. 아니면, hostPath는 용량을 설정하지 않는데 비해, PVC/PV에서는 용량을 설정해주는 옵션이 있어 해당하는 Pod만 죽고 다른 Pod에는 영향이 없는 걸까요?

  • kubernetes
  • infrastructure
  • container
Howon Jeong 댓글 2 좋아요 2 조회수 91

Jenkins 파일 - 파라미터 사용법 차이

미해결

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

안녕하세요 섹션 18 - 82번 강의 : 배포 파이프라인 구축 후 마주하게 되는 고민들(실습) 수강 중 Jenkins 파일에 대한 질문이 있어 문의 드립니다. Jenkins 파일을 작성할 때, parameter로 PROFILE(배포환경선택)과 DOCKERHUB_USERNAME(도커허브유저명)을 설정하셨는데 하기 코드를 보시면 parameters { // 배포 환경 선택 choice(choices: ['dev', 'qa', 'prod'], name: 'PROFILE', description: '배포 환경 선택') // DockerHub 사용자명 입력 string(name: 'DOCKERHUB_USERNAME', defaultValue: '', description: 'DockerHub 사용자명을 입력하세요.') // GitHub 사용자명 입력 string(name: 'GITHUB_USERNAME', defaultValue: '', description: 'GitHub 사용자명을 입력하세요.') } stage('헬름 배포') { steps { // helm 명령 사용 - [1] 중요 데이터 암호화 관리 withCredentials([file(credentialsId: 'k8s_master_config', variable: 'KUBECONFIG')]) { sh "helm upgrade api-tester-${CLASS_NUM} ./${CLASS_NUM}/deploy/helm/api-tester -f ./${CLASS_NUM}/deploy/helm/api-tester/values-${params.PROFILE}.yaml" + " -n anotherclass-222-${params.PROFILE} --install --kubeconfig " + '${KUBECONFIG}' + // [5] Helm 부가기능 " --wait --timeout=10m" + // 최대 10분으로 설정 // [2] 잦은 배포 - versioning 무의미, 계획된 배포 - versioning 필수 " --set image.tag=${TAG}" + " --set image.repository=${DOCKERHUB_USERNAME}/api-tester" } } } PROFILE은 앞에 "params"가 붙어있고 (${params.PROFILE}), DOCKERHUB_USERNAME은 환경변수처럼 그냥 ${DOCKERHUB_USERNAME}로 사용하신 것을 볼 수 있습니다. 혹시 choice문을 사용하여 사용자가 선택하는 prarmeter의 경우 params를 붙인다던가 하는 규칙이 있는 걸까요? 위 두 개 사용 방법이 다른 것에 원인이 있는지 궁금합니다.

  • kubernetes
  • infrastructure
  • container
  • jenkins
alchdli.odd 댓글 1 좋아요 2 조회수 138

네트워크 - 프로그램2 / ServerV6 / throws IOException 문의

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 메인에서 IOException 을 던지는 이유는 ServerSocket 때문인거 같은데 예외를 발생시키는 항목들을 try문에 넣고 throws IOException을 삭제하면 안돼나요? 아니면 다른의미가 있는건지 궁금합니다. public class ServerV6 { private static final int PORT = 12345; public static void main(String[] args) throws IOException { log("서버 시작"); SessionManagerV6 sessionManager = new SessionManagerV6(); ServerSocket serverSocket = new ServerSocket(PORT); log("서버 소켓 시작 - 리스닝 포트: " + PORT); // ShutdownHook 등록 ShutdownHook shutdownHook = new ShutdownHook(serverSocket, sessionManager); Runtime.getRuntime().addShutdownHook(new Thread(shutdownHook, "shutdown")); try { while (true) { Socket socket = serverSocket.accept(); // 블로킹 log("소켓 연결: " + socket); SessionV6 session = new SessionV6(socket, sessionManager); Thread thread = new Thread(session); thread.start(); } } } catch (IOException e) { log("서버 소캣 종료: " + e); }

  • java
  • 네트워크
  • 객체지향
nada03yo 댓글 1 좋아요 0 조회수 62

일부 강의가 재생이 되지 않습니다

미해결

마이크로서비스 디자인 패턴 완벽 가이드

48강 , 57 강 65강 이 재생이 되지 않는것 같습니다.

  • java
  • spring-cloud
  • 디자인-패턴
  • msa
  • patterns
검은흑사 댓글 2 좋아요 0 조회수 138

(OrderSpecifier)관련 내용 어디있을가요

미해결

실전! Querydsl

스프링 데이터 JPA는 자신의 정렬(Sort)을 Querydsl의 정렬(OrderSpecifier)로 편리하게 변경하는 기능을 제공한 다. 이 부분은 뒤에 스프링 데이터 JPA가 제공하는 Querydsl 기능에서 살펴보겠다. 37. 스프링 데이터 페이징 활용3 - 컨트롤러 개발 -> 여기 챕터에서 뒤에 강의에서 설명하겠다하셨는데 어디 강의일까요..답변부탁드릴게요 섹션8에 OrderSpecifier관련 내용은 없는거같은데요,,?

  • java
  • jpa
댓글 1 좋아요 0 조회수 71

[2주차] 곁다리 질문

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 2주차 성능 테스트 챕터까지 수강했습니다. 제목처럼 강의 주요 내용은 아니지만 궁금한 점이 생겨 글 작성하였습니다. 질문에 악의가 없는데, 쓰다보니 공격적인 말투로 느껴지네요... 죄송합니다. 공격이 아니고 제가 공부한 부분과 달라서 어떤 게 맞는지를 여쭙고자 작성한 질문입니다. 작성해주신 포트폴리오 코드를 보면, A Service에서 A Repository, B Repository, C Repository 등을 주입받아 사용하셨는데 이게 올바른 구조인가요?? 상황: 현재 저는 계층형 폴더 구조(Controller, Service, Repository 등)가 아닌 도메인형 폴더 구조(User, Post, Tag 등)를 가져가고 있습니다. 계층형과 도메인형 모두 자신의 도메인이 아닌 다른 도메인의 다른 레이어 파일을 주입받기 보다는 Service는 Service끼리 주입을 받는 게 결합도를 낮추고 리팩토링하기 편한 방향이라고 생각했습니다. 이러다보니 Controller에서 호출하는 함수는 DTO로 통신을 하고, Service끼리 사용하는 함수는 Entity로 통신을 하게 되었습니다. 주석으로 "Interal method"라고 명시를 하였지만, 응답 형식만 다를 뿐 같은 일을 하는 함수도 많아져서 이게 맞는건가 싶은 고민이 있었습니다. 애초에 Repository를 쓰는 것도 여러 파일에서 쉽게 불러쓰기 위해서라는 말도 봤던 것 같아서 뭐가 맞는지 정답이 궁금합니다. TPS 기준이 궁금합니다. 현재 쿠폰 시스템 비슷한 프로젝트를 하고 있는데, "우리 서비스의 TPS가 몇이다"라고 할 때는 가장 주요한 로직 기준으로 측정한 결과일까요? 아니면 모든 API 중 가장 낮은 TPS가 기준이 될까요? 또한 TPS 300이 되기 위해서, 400이 되기 위해서 이런 식으로 말씀해주셨는데, Insert 또는 Update 작업이 포함된 경우 어느정도 TPS가 나오면 적지 않은 수준일까요? 감사합니다.

  • java
  • spring
  • mysql
  • redis
  • 이력서
정수환 댓글 2 좋아요 0 조회수 88

50강 빌드파일

미해결

비전공자도 이해할 수 있는 쿠버네티스 입문/실전

지금까지는 눈으로 학습했는데, AWS ECR에 올리는 실습을 직접 하려다 보니 로컬에서 spring boot 빌드하는 환경 구성에 시간을 잡아먹고있습니다. 개발자가 아니라서 이런 개발환경은 너무 낯선데, 다른방법으로 빌드할수는 없을까요. VSCODE에서 SpringBoot Extention Pack으로 고군분투해봐도 시간만 소요될 뿐 진행되지 않아 문의드립니다.

  • docker
  • kubernetes
  • msa
  • infrastructure
  • container
댓글 2 좋아요 0 조회수 75

결과 값의 정렬

미해결

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

멀티 스레딩에서 파일에 write할 때 질문이 있습니다. thread가 chunk 단위로 파일에 입력되는것은 확인했습니다. 그런데 결과 값의 정렬은 불가능한가요???? 예를 들어 db에 1, 2, 3, 4, 5 ... 라는 데이터가 있고 FlatFileItemWriter로 파일에 쓸 경우 1,2,3,4,5 이런식으로 정렬된 값이 저장 가능한지

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
이동연 댓글 2 좋아요 1 조회수 67

Dockerfile VS githubActions

미해결

비전공자도 이해할 수 있는 CI/CD 입문·실전

안녕하세요, 강의 잘 듣고 있습니다 ! Dockerfile과 githubActions의 yml 파일의 경계를 잘 모르겠습니다. Dockerfile을 통해 jar를 만들어서 실행할 수도 있고, 강의처럼 yml 파일에서 jar파일을 만들 수도 있는데, 현업에서는 이 두 방식 중 어떤 걸 사용하는지 또, 어떤 이점 때문에 사용하는지 궁금합니다...! 추가로, mysql이나 redis 같은 경우는 따로 Dockerfile을 작성하지 않고 compose.yml 에서 바로 이미지 생성을 하고 있는데 이렇게 되는 경우, EC2에서 이미지가 만들어지니 각각의 Dockerfile을 만들어서 gitActions 단계에서 처리하는 게 좋을까요...?

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
초보 댓글 2 좋아요 0 조회수 73

JpaPagingItemReader

미해결

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

humanThreatDataReader는 스레드 안전한 JpaPagingItemReader 를 사용했다. 라는 구문에서 헷갈리는게 있는데 JpaPagingItemReader의 경우는 lock을 걸지 않는데 SynchronizedItemStreamReader 데코레이터를 적용해야하지 않나요???

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

상태 질문

미해결

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

상태(State): 작전 수행 지점들 상태(State)란 Flow 내에서 현재 실행이 머무르거나 도달할 수 있는 모든 논리적 지점 을 의미한다. 자동문의 "문 닫힘/문 열림" 에 해당한다. Flow를 구성하는 상태(State)는 크게 두 가지 주요 유형으로 분류할 수 있다. 실행 상태 (StepState 등): 실행 상태는 Flow 내에서 실제 특정 작업(로직)을 수행하는 지점을 나타낸다. 우리 강의의 예제 코드에서 사용된 analyzeContentStep , publishLectureStep , summarizeFailureStep 과 같은 Step이 대표적인 실행 상태(StepState)에 해당한다. 종료 상태 ( EndState ): 종료 상태는 Flow 실행의 최종 도착점을 나타내는 상태이다. Flow가 이 상태에 도달하면 더 이상 진행되지 않고 실행이 종료된다. Job의 최종 결과는 Flow가 어떤 EndState 로 끝났는지에 따라 결정된다. 다이어그램의 [작업 종료] 가 바로 이 종료 상태(EndState)를 가리킨다. 종료 상태(EndState): Flow 실행의 최종 도착점 이다. 이 상태에 도달하면 실행 흐름이 더 이상 진행되지 않고 Flow가 종료된다. Job의 최종 결과는 어떤 EndState로 끝났는지 에 따라 결정되며, 앞선 다이어그램의 [작업 종료] 가 바로 이 종료 상태(EndState)에 해당한다. 여기서 종료 상태가 두개인데 다른 내용인가요???

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
이동연 댓글 2 좋아요 1 조회수 61

인기 태그

인프런 TOP Writers

주간 인기글