inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

콘솔창

미해결

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

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

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

기존 풀이와 다른 예외에 의한 탈출 기저 조건

미해결

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

안녕하세요 강사님! 문제와 풀이2 의 문제에 있어서 저는 이렇게 풀었습니다. 영한선생님도 if else 보다 탈출 조건을 통해서 하신다고 하셔서 같은 접근을 했음에 기뻤는데 풀이 중 for (Book book : books) 의 foreach 문 사용에 있어서 count 를 따로 빼시고 일반 for 문을 사용하셨는데 2가지 질문이 있습니다. Book 객체 배열을 n의 크기로 생성자에서 입력받아 배열을 생성한다면 cnt++을 통해 배열의 인덱스를 초과할경우도 고려해야 되지 않나요? Book b : books 의 foreach 문은 당연히 n 개로 구성되어있기에 foreach문을 사용할 수 있을거라고 생각했습니다. 강사님은 사용할 시 주의하라하셨는데 ArraryList도 아닌 일반 배열을 생성했을 때 값이 추가해서 들어갈 수 없지 않나요?

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

h2 DB연결 오류

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

이 상황에서 연결 누르면 에러가 뜨는데 어떻게 해야될까요...

  • java
  • jpa
최기훈 댓글 2 좋아요 0 조회수 190

강의에 Ip주소 구하는법 다뤄주시는 강좌도 있나요?

해결됨

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

최근 기출에 한문제씩 나오고 있는 것 같은데 강의 아직 다 시청하진 않았지만 목차와 강의들 제목에서 ip관련은 안보여서 혹시 없나해서요!

  • python
  • java
  • c
  • 정보처리기사
이재윤 댓글 2 좋아요 0 조회수 105

생성자 탐색과 객체 생성 - ConstructV1 코드질문

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 또 이해가 안되서 질문 을 올립니다. 영한님 ConstructV1코드를 보면 declaredMethods()를 쓰면 모든 메서드 들을 보여주신다고 하였는데.. 다시 확인해보니 디폴트 메서드 및 프로텍티트 메서드가 출력이 안된것을 확인을 할 수가 있었습니다. 그래서 전에 학습했던 코드 MethodV1 코드를 돌려본 결과 여기에서는 프로텍티드 및 디폴트 메서드도 보여주는것을 확인을 햇습니다. getConstructors()는 부모꺼 뺀 public 메서드만 호출 가능, getDeclaredConstructors()는 모든 메서드를 호출하다고 했는데 디폴트및 프로텍트 메서드가 안나오니 의문점이 생기네요. 이것도 알려주시면 감사하겠습니다. 답변 부탁 드립니다.

  • java
  • 네트워크
  • 객체지향
생각하는자 댓글 1 좋아요 0 조회수 127

필드 탐색과 값 변경 - 리플렉션 코드 질문

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 세션13 - '필드 탐색과 값 변경' 복습을 하다가 의문점이 생겨서 질문을 드립니다. 영한 님이 리플렉션을 이용해서 name의 filed 값을 변경 하는 것을 보고 'final로 변경하면 안되겠지.'라는 생각을 하게 되었습니다. 그래서 userTest를 만들어서 name을 final로 변경해 보고 실험해보았습니다.(당연히 예외 터질 것을 예상 하고요) 근데 왠걸? 저의 예상과는 다르게 결과가 나오는 것을 보고, "......" 밖에 말이 안나 옵니다. 이게 코드 결과입니다. 왜 이렇게 나오는지 설명해 주실 수 있으신가요? (내용 수정) 답변 부탁 드립니다.

  • java
  • 네트워크
  • 객체지향
생각하는자 댓글 1 좋아요 0 조회수 191

9분 질문

해결됨

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

9분12초에서 왜 스타트엔진만 호출했는데 부모 클래스에 있는 거부터 다 호출이 되나요?

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

[오타 제보] 3. 함수형 인터페이스.pdf - p.23

해결됨

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

[오타 제보] 대상 강의록: 3. 함수형 인터페이스.pdf 대상 위치: #특화 함수형 인터페이스 - ##Operator를 제공하는 이유 - 1. 의도(목적)의 명시성 중 세 번째 글머리 대상 페이지: p.23 오타 내용 수정 전: 만약 모두 Function <T, R> 나 BiFunction<T, T, T>만으로 처리한다면, ... 수정 후: 만약 모두 Function <T, T> 나 BiFunction<T, T, T>만으로 처리한다면, ... 입력과 리턴이 같은 XxxOperator 와 비교하는 문장이기 때문에 BiFunction<T, U, R> 을 BiFunction<T, T, T> 으로 표현했으니 Function<T, R> 도 Function<T, T> 으로 표현해야 될 것 같아서 제보합니다! 앞서 배웠던 제네릭이랑 연관된 부분을 배우니 특히 더 재밌습니다!!

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
dev.rudevico 댓글 2 좋아요 0 조회수 125

이론파트 데이터베이스

해결됨

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

단원 2.데이터 입출력 구현 12번 데이터베이스 클러스터와 데이터베이스 클러스터링의 개념과 관련하여 질문드립니다. 12번 데이터베이스 클러스터를 설명하시오에서 동일한 성격의 데이터를 동일한 데이터블럭에 저장하는 물리적인 방법은 클러스터링이라는 개념인거 같습니다. 그렇다면 클러스터는 '서버'에 관한 것이고 클러스터링은 '데이터'에 관한것으로 이해하면될까요? 만약 문제가 나온다면 데이터베이스 클러스터라고 해도 정답으로 인정해주나요?

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

데이터 조회 후 변경 시 쿼리 시점이 어떻게 되나요?

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 선생님 질문이 있습니다. 강의 22:00 쯤 변경 감지 듣다가 궁금증이 생겼습니다. 질문은 영속 컨텍스트에 넣지 않은 상태로 DB에서 바로 가져올 땐 커밋 시점 보다 먼저 쿼리가 발생하나요? package hellojpa; import jakarta.persistence.*; import java.util.List; public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try { Member member = em.find(Member.class, 450L); member.setName("XXXX"); // em.persist(member); System.out.println("=================="); tx.commit(); } catch (Exception e) { tx.rollback(); } finally { em.close(); } emf.close(); } } 출력결과 Hibernate: select m1_ 0.id , m1_ 0.name from Member m1_0 where m1_ 0.id =? ================== Hibernate: /* update for hellojpa.Member */update Member set name=? where id=? 예상 출력 결과는 === select ... update ... 이렇게 나올 줄 알았는데요 왜 이렇게 나오지 않을까요?

  • java
  • jpa
문주영 댓글 1 좋아요 0 조회수 100

whitelabel error page 500

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 회원목록 화면 들어가면 저렇게 Whitelabel Error Page가 뜹니다. properties에 username도 추가했고, localhost로도 바꿨는데 계속 안되네요 ㅠ 조언 부탁드립니다ㅠ!

  • java
  • spring
  • mvc
  • spring-boot
Youjin 댓글 3 좋아요 0 조회수 386

빈 문자열과 빈 문자 조건문 참거짓

해결됨

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

#include <stdio.h> int main() { char str[] = ""; if (str[0]) { printf("빈 문자열은 참입니다.\n"); } else { printf("빈 문자열은 거짓입니다.\n"); } if ("") { printf("빈 문자는 참입니다.\n"); } else { printf("빈 문자는 거짓입니다.\n"); } return 0; } 온라인 컴파일러에서 이렇게 출력을 해봤을 때 if(str[0]) 이 조건문은 거짓이라 나오고 if("") 이 조건문은 참이라고 나오는데 빈 문자열은 거짓이지만 빈 문자는 참인건가요?

  • python
  • java
  • c
  • 정보처리기사
김령현 댓글 2 좋아요 0 조회수 89

반복문 버전 2 에서 46분대

해결됨

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

한번 while문을 돌고 나서 표를 그린다고 생각하면, 답이 틀린건 아니지만 num이 3이 찍힐때 count는 1이 찍혀야 맞는것 같습니다. 또는 표 위치를 count가 0일때, num은 3이찍힌다. 식으로 count 위 num 아래로 순서를 바꿔야 할것 같습니다.

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

org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing 오류

미해결

스프링부트에서 Thymeleaf를 이용해 회원가입 폼을 만들고 있는데 폼에 입력을 제대로 하면 의도한대로 회원가입이 잘 됩니다. 하지만 폼에 아무것도 입력하지 않으면 유효성 검사에서 @NotBlank를 만나서 그에 맞는 에러 메시지를 출력해야 하는데 저렇게 오류가 뜨네요... 대체 이유가 뭘까요 ㅠㅠ 제 회원가입 코드는 다음과 같습니다. User.java (Entity) @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor @Entity(name="users") //테이블 이름 public class User { @Id //기본키 = userid @GeneratedValue(strategy = GenerationType.IDENTITY) private long userid; @Column(unique = true) //아이디 중복 방지 private String username; private String password; @Column(unique = true) //이메일 중복 방지 private String email; } RegisterDTO.java (DTO) @Getter @Setter @Builder @AllArgsConstructor @NoArgsConstructor public class RegisterDTO { @NotBlank(message = "아이디를 입력하세요.") private String username; @NotBlank(message = "비밀번호를 입력하세요.") private String password; @NotBlank(message = "이메일을 입력하세요.") private String email; } UserController.java (컨트롤러) @Controller @RequiredArgsConstructor public class UserController { private final UserService UserService; @GetMapping("/register") // 유저 등록 창 불러오기 public String ShowRegister(Model model) { model.addAttribute("userDTO", new RegisterDTO()); return "register"; } @PostMapping("/register") // 유저 등록 public String Register(@Valid RegisterDTO userDTO, BindingResult result, Model model) { if (result.hasErrors()) { // 유효성 오류 발견 System.out.println("유효성 오류"); return "register"; } try { UserService.saveDTOUser(userDTO); // 유저 등록 } catch (IllegalArgumentException e) { // 중복된 사용자 발견 System.out.println("예외 처리"); model.addAttribute("error", e.getMessage()); return "register"; } return "redirect:/userlist"; } } UserService.java (서비스) @Service @RequiredArgsConstructor public class UserService { private final UserRepository userRepository; public void saveDTOUser(RegisterDTO userDTO) { if (userRepository.existsByUsername(userDTO.getUsername())) { throw new IllegalArgumentException("이미 등록된 아이디입니다."); } if (userRepository.existsByEmail(userDTO.getEmail())) { throw new IllegalArgumentException("이미 등록된 이메일입니다."); } User user = User.builder() .username(userDTO.getUsername()) .email(userDTO.getEmail()) .password(userDTO.getPassword()) .build(); userRepository.save(user); } } register.html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Register User</title> </head> <body> <h1>Register User</h1> <form th:action="@{/register}" method="post" th:object="${userDTO}"> <label for="username">username:</label> <input type="text" id="username" name="username" th:field="*{username}" /> <div th:if="${#fields.hasErrors('username')}" th:errors="*{username}"></div> <br> <label for="password">Password:</label> <input type="password" id="password" name="password" th:field="*{password}" /> <div th:if="${#fields.hasErrors('password')}" th:errors="*{password}"></div> <br> <label for="email">email:</label> <input type="text" id="email" name="email" th:field="*{email}" /> <div th:if="${#fields.hasErrors('email')}" th:errors="*{email}"></div> <br> <div th:if="${error}" class="error"> <p th:text="${error}"></p> </div> <button type="submit">Register</button> </form> <br> <a th:href="@{/userlist}">Back to User List</a> </body> </html> 컨트롤러에서 작성한 "유효성 오류", "예외 처리" 구문은 잘 나오더라구요. 그러면 유효성 검사는 잘 수행하는거 아닌가요?

  • java
  • spring
  • spring-boot
  • jpa
  • thymeleaf
과넌 댓글 1 좋아요 0 조회수 83

패키지 구조에 대한 질문

미해결

Java/Spring 주니어 개발자를 위한 오답노트

요즘 가장 많이 쓰는 패키지 구조가 있죠. 아래와 같이 레이어끼리만 모아둔 과연 이것이 좋은 패키지 구조일까요? 더 좋은 코드를 위해 추천하는 패키지 구조나 레퍼런스가 있는지 여쭤보고 싶습니다.

  • java
  • spring
  • 객체지향
  • 소프트웨어-테스트
댓글 1 좋아요 0 조회수 152

예외 처리 블록의 역할에서 divide(10, 2)의 결과

해결됨

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

예외 처리 블록의 역할에서 divide(10, 2)의 출력값이 Result is: 5.0 Executing finally block 이렇게 나왔는데 왜 float형식으로 출력되나요?

  • python
  • java
  • c
  • 정보처리기사
피로한 염소 댓글 2 좋아요 0 조회수 97

[오타 제보] 2. 람다.pdf p.40

해결됨

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

[오타 제보] 대상 강의록: 2. 람다.pdf 대상 페이지: p.40 의 main() 코드 블록 오타 내용 변경 전(1): // 1. 합 구하기 ( 초기값 0, 덧셈 로직) 변경 후(1): // 1. 합 구하기 ( 초깃값 0, 덧셈 로직) 변경 전(2): // 2. 곱 구하기 ( 초기값 0, 곱셈 로직) 변경 후(2): // 2. 곱 구하기 ( 초깃값 0, 곱셈 로직) 코드 블록 에서는 초기값 이라고 되어 있고, 바로 밑에 용어 - reduce, fold 부분에서는 초깃값 이라고 되어 있어서 저도 궁금해서 검색해봤는데 초깃값 으로 표기하는 것으로 확인됩니다. 이런 맞춤법은 명확한 기준이 없이 국립국어원 마음대로 정하기는 하던데 혹시 강의록에서 단어를 통일하실 때 도움이 될까 해서 제보합니다. 출처1: IT 글쓰기와 번역 노트 - 5.1. 맞춤법 - 값 <- 여기서 페이지 조금 내리다 보면 d. 사전에 ‘-값’으로 등재된 단어 부분에 있습니다. 출처2: 초기값 - TTA 정보통신 용어사전 - "초기값은 ... => 규범 표기는 '초깃값'이다." 출처3: 국립국어원 답변 - "'최댓값', '최솟값', '초깃값'이 표준어입니다 ..."

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
dev.rudevico 댓글 1 좋아요 0 조회수 106

파이썬에서의 if문 사용 질문

해결됨

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

for i in range ( 5 ): if i == 3 : pass else : print (i) 이 예제에서 3일 경우 말고는 print를 사용했는데 c나 java에서는 나머지 출력의 경우 else는 사용 안해도 돌아가는데 파이썬은 else를 꼭 사용해야하나요?

  • python
  • java
  • c
  • 정보처리기사
피로한 염소 댓글 1 좋아요 0 조회수 103

3:16 파이썬은 string을 변수로 사용할수 있나요?

해결됨

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

C나 Java는 따로 의미 지정되어있는 단어는 변수 사용이 안되는걸로 알고있는데 string = "Hello,World!"라고 적혀있어서요 파이썬은 string을 변수로 사용할수 있나요?

  • python
  • java
  • c
  • 정보처리기사
피로한 염소 댓글 2 좋아요 0 조회수 96

비관적 락 1에 대해서 질문입니다.

해결됨

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

안녕하세요 비관적 락에 대해서 잘 배우고 있습니다. 비관적 락1이 단순히 네이티브 쿼리를 이용하여 update 문 해서 바로 count를 수정하는건데 초반에 알려주신 조회할 때, 조회 락이 안 걸려서 데이터 일관성이 깨지는 거 알려주셨는데 비관적 락 1은 조회 자체를 생각하고 바로 갱신만해서 좋아요 수 카운트를 하는 건가요? 만약에 그렇다면 업데이트 시 락이 걸려 다른 트랜잭션 접근이 안되어 일관성이 유지가 되는 것은 이해가 갑니다. 테스트시 100번 동시 접근할 때 비관적 락2처럼 정합성이 보장되는거면 굳이 1이 더 빠르고 정확할텐데 비관적 락2를 쓰는 이유가 궁금합니다. 그리고 챗gpt한테 물어보니 단순히 update문하여 수정하는 것은 동시성 접근에 해결책이 안된다고 비관적 락 2쓰라고 하는데 테스트에서는 동시 100개가 접근해도 일관성이 충족이 되는거 보니 어느쪽이 맞는건지 모르겠습니다

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
DongA Shin 댓글 2 좋아요 1 조회수 243

인기 태그

인프런 TOP Writers

주간 인기글