inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

ReadFileV2 클래스 실행시 무한 루프 현상

미해결

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

public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream(FILE_NAME); long startTime = System.currentTimeMillis(); byte[] buffer = new byte[BUFFER_SIZE]; int fileSize = 0; int size; while ((size = fis.read(buffer)) != 1) { fileSize += size; } fis.close(); long endTime = System.currentTimeMillis(); System.out.println("File name: " + FILE_NAME); System.out.println("File size: " + fileSize / 1024 / 1024 + "MB"); System.out.println("Time token: " + (endTime - startTime) + "ms"); } } CreateFIleV1, 2, readFileV1 까지는 결과가 나오는데 readFileV2는 결과가 나오지 않습니다 인텔리J에서 뭐 설정 해야 할게 있을까요? 추가로 BUFFER_SIZE를 8192 -> 100으로 줄여봐도 결과는 결과가 나오지 않네요..ㅠ public static final int BUFFER_SIZE = 100; buffered.dat 파일에 에디터에서 설정 해라 라는거 같은데 인텔리제이 초기설정이 따로 있을까요..? This document contains very long lines Soft wraps were enabled to improve editor performance. This file explicitly re-assigned ot plain text

  • java
  • 네트워크
  • 객체지향
홍태경 댓글 1 좋아요 1 조회수 295

@Autowired 질문

미해결

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] Test 할떄 @RequiredArgsConstructor로 주입을 하면 ParameterResolutionException이 나고 필드 주입을 하면 왜 오류가 안나는지 잘모르겠어서 질문 드려요 @SpringbootTest랑 @Transactional은 둘다 있어요

  • java
  • jpa
조희제 댓글 2 좋아요 0 조회수 153

오타 제보드립니다.

미해결

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

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 단순 오타 제보드립니다. IO 기본1 pdf 에 HDD, SSD 인데, HDD, SDD 라고 되어있습니다.

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

update flush() 질문

미해결

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 1. 제가 생각 하는 것이 맞나요? JPQL의 경우 실행 시 flush()가 호출 되는데 그렇다면 이전의 변경 감지 + update 쿼리가 실행이 되는 것으로 알고 있습니다. 그뒤에 flush()를 호출을 하더 라도 이전 값은 다 DB에 반영 되어 있고 영속성 컨텍스트는 변경이 없기 때문에 변경감지 쿼리도 안나가게 되는 것으로 알고 있습니다. 2. flush()를 호출 하는 것이어떤 의미가 있는 건가요?

  • java
  • jpa
조희제 댓글 1 좋아요 0 조회수 152

static 파트의 MathArrayUtil 문제에 대해 질문있습니다

미해결

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

밑에 동일한 질문이 있긴한데 이해를 못하겠어서요 저는 이런식으로 sum이라는 private static으로 선언된 변수를 만들고 해당 변수를 사용해서 sum,average 메소드에 사용 했는데요 이렇게 비슷하게 사용하신분의 질문글의 답글을 보니까 클래스 변수를 쓰면 안되고 이유는 여러곳에서 해당 클래스를 사용하게 될 경우 sum의 값이 손상될 수 있다는 이유였는데요 private static을 쓰는데 어떻게 여러곳에서 sum 변수에 접근할 수 있는지 궁금합니다 private은 해당 클래스 내에서만 사용할 수 있는거 아닌가요? 만약 사용할 수 있다고 해도 private 이라는 접근제어자가 다른 곳에서 사용 하지 못하게 하려는 목적이라고 알고있는데 그럼 private을 이용하여야 하는 이유를 모르겠습니다 package static2.ex; public class MathArrayUtils { private MathArrayUtils(){} private static int sum; static int sum(int[] values){ for (int v : values) { sum += v; } return sum; } static double average(int[] values) { return (double)sum / values.length; }

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

@Transactional(readOnly = true) 의 트레이드 오프

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 영한님. 이 강의를 보고 질문이 생겨 남기게 되었습니다. 이전의 강의에서 @Transactional(readOnly = true)가 성능에서 최적화 해주는 부분이 있다해서 조회용 Service 레이어의 모든 조회용 메서드에 @Transactional(readOnly = true)를 붙였습니다. OSIV 라는 개념을 공부하면서 커넥션 풀이 마르지 않게 비활성화 해야된다는것을 보고 제 방식대로라면 OSIV 를 비활성화 하더라도 모든 서비스 layer의 메소드가 커넥션을 점유해야 돼서 (CUD api 에서 부르는 서비스 메소드는 @Transactional, R 에서는 @Transactional(readOnly = true)가 붙을테니) 마르지 않을까 하는 고민이 생겼습니다. 그렇다고 최소한으로 커넥션을 점유하기 위해 OSIV를 false 로 가져가면서 Repository의 조회 메소드 단위로만 @Transactional(readOnly = true)을 붙이면 영속성 컨텍스트의 범위도 그만큼만 가져가서 1차캐시나 지연로딩으로 batch size만큼 가져오는것도 사용을 못할테니 영속성 컨텍스트의 사용이 필요할때만 붙이는게 맞을지 아니면 Service layer의 조회용 메서드에 붙여도 될지 잘 모르겠습니다.

  • java
  • spring
  • spring-boot
  • jpa
말차 댓글 2 좋아요 0 조회수 388

서버 배포 후 수정하려고 하면

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

프로젝트 수정 새로운 Jar 파일 만들기 Dockerfile 실행 docker-compose.yml 실행 docker 데스크탑에서 이미지 올라갔는지 확인 후 docker hub 에 push 만들어둔 vm 인스턴스 ssh 콘솔에 docker-compose.yml 수정 및 up 명령어 사용 이렇게 하면 될까요? 방법을 잘 모르겠습니다...

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
댓글 2 좋아요 0 조회수 312

모의과제 소개

해결됨

서버개발자 과제전형 완벽가이드 - 1편

모의과제 소개 영상에서 보여주시는 모의과제 요구사항 pdf 파일은 업로드가 안 되어있는 걸까요?

  • java
  • spring
  • spring-boot
  • database
댓글 2 좋아요 0 조회수 196

백로그에 대한 질문이 있습니다.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 서버에서는 서버 소켓으로 PORT 번호 지정해서 열어놓고 클라이언트가 TCP 연결을 완료하면 서버에서 백로그큐에 연결 정보를 저장하고, 서버에서 accept()를 하면 큐에서 꺼내 소켓을 생성한다고 설명하셨습니다. 근데 GPT나 다른 사람의 내용을 종합하면 클라이언트의 TCP 연결이 요청되면 해당 연결 정보를 syn 큐에 저장하고 연결이 완료되면 os에서 백로그에 저장한 뒤, 서버에서는 accept()를 하면 단순히 백로그에 대한 정보를 꺼내서 소켓을 만든다고 합니다. 내용을 정리하던 중 헷갈려서 어떤 것이 정확히 맞을지 궁금해서 질문드립니다!

  • java
  • 네트워크
  • 객체지향
기현 댓글 1 좋아요 1 조회수 217

준영속 상태 질문

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 준영속 상태란 persist context 안에서 한번이라도 관리된 적이 있는 entity의 상태를 의미한다고 알고 있습니다. 하지만 찾아본 바에 의하면 jpa가 '한번이라도 관리된 적이 있는지' 여부를 추적하는 메커니즘을 가지고 있는 것 같지는 않고, 단순히 식별자 여부로 판단하는 것 같은데 그렇다면 Member memberA = em.find(Member.class, 1L); Member memberB = new Member("B", memberA.getId()); memberB 도 준영속 상태라고 보는 것이 맞나요? memberB 가 준영속 상태가 아니라면 사실상 준영속 상태를 만드는 방법은 detach() 를 호출하는 방법밖에 없는 건가요? 감사합니다.

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

(해결) 각 테스트가 상태를 공유하지 않습니다.

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] "회원 리포지토리 테스트 케이스 작성" 강의에서 MemoryMemberRepositoryTest 를 작성하시며 @AfterEach 를 통해 각 테스트 케이스가 끝날 때 마다 repository 필드의 상태를 초기화해야 한다고 말씀하셨습니다. 그런데 저는 별 다른 오류가 나타나진 않아서 다음과 같이 작성해봤습니다. @AfterEach void afterEach() { System.out.println(repository.hashCode()); } 그랬더니 각 repository 의 해쉬가 서로 다르더라구요. MemoryMemberRepository 구현 내부에서 상태를 출력하게 해보면, 매 테스트 케이스마다 새로운 상태가 되는 것으로 보입니다. 제가 잘못 작성한 부분이 있는 걸까요? 아니면 스프링, 라이브러리 버전의 문제인가요? 전체 코드는 다음과 같습니다. 읽어주셔서 감사합니다. // MemoryMemberRepository.java package hello.hello_spring.repository; import hello.hello_spring.domain.Member; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; public final class MemoryMemberRepository implements MemberRepository { private final Map<Long, Member> store = new HashMap<>(); private long sequence = 0; @Override public Member save(Member member) { member.setId(++sequence); store.put(member.getId(), member); return member; } @Override public Optional<Member> findById(Long id) { return Optional.ofNullable(store.get(id)); } @Override public Optional<Member> findByName(String name) { return store.values() .stream() .filter(member -> member.getName().equals(name)) .findAny(); } @Override public List<Member> findAll() { return store.values() .stream() .toList(); } public void clearStore() { store.clear(); } } // MemoryMemberRepositoryTest.java package hello.hello_spring.repository; import hello.hello_spring.domain.Member; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.*; class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @AfterEach void afterEach() { System.out.println(repository.hashCode()); } @Test void save() { var member = new Member(); member.setName("spring1"); repository.save(member); var result = repository.findById(member.getId()).get(); assertThat(member).isEqualTo(result); } @Test void findByName() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); var result = repository.findByName("spring1").get(); assertThat(result).isEqualTo(member1); } @Test void findAll() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); var result = repository.findAll(); assertThat(result).hasSize(2); } }

  • java
  • spring
  • mvc
  • spring-boot
귀여운 고양이 댓글 1 좋아요 0 조회수 260

혹시 강의에서 오토스케일링은 배울수있을까요?

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

모든강의를 구매할 예정입니다. 스프링 강의를 제외하고 구매하고싶습니다만 현재 까지 강의를 들었을때 제가 스프링 서버를 두개를 뛰운다음에 유레카로 로드밸런싱하는것 같은데 필요에따라서(서비스요청이 많아지면)자동적이게 설정한대로 확장하게 만들수 있나요? 이건 젠키스 강의로봐야하나요? - 오토스케일링 여부 또한 하나의 ec2 에 모든 로직을 넣어서 확장하는게 아니라 여려 ec2 에서 스케일링 하는 강의가있나요? 스프링 배포까지 공부해야할까요? -ec2 분산 여부

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
djsdjdyd123 댓글 2 좋아요 0 조회수 277

mallapi 와 apiserver 프로젝트

미해결

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

각각 vscode, intelliJ로 생성하였는데 다른 툴을 사용한 이유가 무엇인가요 그리고 두 프로젝트는 역할이 어떻게 다른가요

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
이서연 댓글 1 좋아요 0 조회수 202

영속성 계층과 E2E 테스트에 대해 질문이 있습니다.

미해결

Practical Testing: 실용적인 테스트 가이드

안녕하세요! 소프트웨어의 안정성과 테스트에 대해서 많은 고민을 가지고 있는 주니어 백엔드 개발자입니다. 우빈님의 강의로 실용적인 테스팅 방식에 대해서 기반을 다졌습니다. 덕분에 면접 질문에서도 우빈님의 의견과 저의 의견이 합쳐져서 좋은 답변을 할 수 있었어요! 취업 이후에도 여러가지 테스트 서적을 읽으면서 다른 관점도 많이 바라보고 있는데요. 이 과정에서 영속성 계층에서의 테스트와 E2E 테스트 부분에서 해소되지 않은 고민이 있어서 조언을 얻고자 찾아왔습니다. 먼저 영속성 테스트 관련 질문 부터 드리고자 합니다. 취업을 하기 전에 취준을 하는 상황에서는 H2 DB로만 해소 할 수 있는 상황이 많았던 것 같습니다. 하지만 실무에 들어오니 생각보다 Native Function을 사용하는 경우가 있고, 버전 문제로 각 DB에 있는 연산자가 제대로 동작하지 않는 일 (Dialect 이슈) 도 적지 않게 볼 수 있었습니다. 이전에 답변 주신 https://www.inflearn.com/community/questions/1408867/classicist-vs-mockist 해당 내용처럼 저 또한 동일하게 영속성 계층에서의 테스트를 DB 관점에서 그냥 동작하겠거니 하고 안일하게 생각하여 제대로 동작하지 않는 케이스를 봤기에 할 필요가 있다고 생각을 하는데요. 아직까지는 제 경험에서는 Test Container를 사용하여 실 상황과 유사한 DB를 사용하는 것이 그나마 합리적인 방법으로 생각 을 하고 있습니다. 하지만, 또 컨테이너가 뜨다보니 테스트하는데 걸리는 시간이 상당한 것도 단점으로 다가오기는 하더라구요. 명확한 답은 없겠지만 우빈님은 위와 같은 비슷한 상황에서 어떤 방식을 택하고 계시는지 더 좋은 방법은 없을지하여 질문을 먼저 드리게 되었습니다. 이어서, E2E 테스트 관련 질문입니다. 비즈니스 계층에서의 통합 테스트가 작성이 되었다 면 아직까지는 우빈님의 생각과 동일하게 프레젠테이션 영역에서는 통합 테스트를 하지 않아도 괜찮지 않을까? 라는 생각을 가지고 있는데요. 하지만, 종종 테스트 관련 여러 서적이나 토론등을 보면 E2E 테스트는 중요하다는 관점을 가지고 있는 글이나 영상을 종종 찾아 볼 수 있었고, 무엇보다 저희 팀원분들중에서도 "E2E 테스트를 하는게 아니라면 프레젠테이션 레이어를 테스트 할 필요가 있어?" 라는 질문을 받았을 때 다음과 같은 생각이 들었습니다. "그러네.. 지금까지는 거의 문서화를 목적으로 작성을 했었는데, 문서화를 RestDocs, RestDocs to Swagger(OpenApi Spec) 를 하는게 아니라면 작성 할 필요가 있을까?" 라는 의문이 떠올랐습니다. 혹시 이 부분에 대해서 어떻게 생각하시는지 우빈님의 소견을 듣고 싶어서 긴 글로 질문을 드리게 되었습니다. 항상 좋은 강의 좋은 인사이트 제공 해주셔서 늘 감사드립니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
종운 댓글 1 좋아요 0 조회수 208

spring security 6부터 Implicit 지원 안하네요

미해결

스프링 시큐리티 OAuth2

spring security 6부터 AuthorizationGrantType.IMPLICIT 가 제거되어서 OAuth2AuthorizationRequestException 이 발생합니다. spring security 6로 실습 따라가면서 학습하시는 분들은 참고하세요 https://github.com/spring-projects/spring-security/issues/11506

  • java
  • spring
  • spring-boot
  • oauth
시나모롤 댓글 1 좋아요 0 조회수 292

환경변수 이후 build failed

해결됨

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

환경변수 까진 다시 설정했습니다만.. build 안되네요

  • java
  • spring
  • mvc
  • spring-boot
dmlfla7520 댓글 2 좋아요 0 조회수 138

정신이 나갈것같아요

해결됨

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

ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java Please set the JAVA_HOME variable in your environment to match the location of your Java installation. C:\study\hello-spring> 환경변수에 java-home 추가해서 경로 다시쓰고 자바 23버전 설치하고 인텔리제이 자바23 통일하고 다해봤는데. 안되네요

  • java
  • spring
  • mvc
  • spring-boot
dmlfla7520 댓글 1 좋아요 0 조회수 226

[16강] 확장함수 관련 질문입니다!

미해결

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

안녕하세요 강사님 확장함수 관련하여 질문이 있습니다. 강의 중에 확장함수는 원본 클래스의 private, protected 멤버 접근이 안된다. 라고 말씀해주신 부분이 있습니다. 제가 확장함수를 이해하기로는 특정 클래스에 내가 사용할 특정 로직을 심는 함수 라고 이해를 했습니다. 이렇게 이해를 하고 나니 어짜피 외부에서는 확장함수로 추가할 원본 클래스의 private 혹은 protected 멤버에 접근이 불가능할텐데, 확장함수는 원본 클래스의 private, protected 멤버 접근이 안된다. 내용은 어디에 어떻게 적용이 되는 것인지 이해가 잘 가지 않습니다. 혹시 어떠한 경우에 적용이 되는 내용인지 조금 더 구체적인 예시를 들어주실 수 있으실까요 ?

  • java
  • kotlin
  • 객체지향
denia park 댓글 2 좋아요 1 조회수 151

22강 다차원 배열과 문자열 배열 j=0으로 선언되는 사유

해결됨

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

22강 다차원 배열과 문자열 배열 j=0으로 선언되는 사유가 궁금합니다. 04:38 에 for 문 2개인데 첫번째 for문 탈출 후에 두번째 for 문에서 j=2 상태에서 위 for문으로 올라갈때 j가 다시 j=0으로 선언되는 사유가 궁금합니다.

  • python
  • java
  • c
  • 정보처리기사
s 댓글 2 좋아요 0 조회수 186

메인 페이지로 접속해도 login url로 리다이렉트가 되지 않습니다..

미해결

스프링 시큐리티

@Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/user").hasRole("USER") .anyRequest().permitAll(); http.formLogin(); } } @RestController public class SecurityController { @GetMapping("/") public String index() { return "home"; } @GetMapping("/user") public String user() { return "user"; } }

  • java
  • spring-boot
  • spring-security
강프로그래머 댓글 1 좋아요 0 조회수 270

인기 태그

인프런 TOP Writers

주간 인기글