묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
초기화 위치 관련 질문입니다
[질문 내용]여기에 질문 내용을 남겨주세요.저는 필드변수 선언하면서 "" 로 초기화해줬고샘은 기본생성자에서 ""로 초기화 해주셨는데둘의 차이가 어떤걸까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
이론강의
이론강의는 자료만 있고 조금만 있는데이론강의 전체적으로 다뤄주시면감사하겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 테이블 생성 안됌
1. 강의 내용과 관련된 질문인가요?네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네프로젝트 파일https://drive.google.com/file/d/1CzJgYLZqQ724aJMnYqODWUG6MK9h1K72/view?usp=sharing로그에 테이블 생성 쿼리와 insert 쿼리까지 나갔는데도 불구하고 h2 데이터 베이스에 테이블이 보이지 않습니다.[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결Java/Spring 주니어 개발자를 위한 오답노트
의존성 주입에서 파라미터 주입과 필드 주입 관련 질문 드립니다.
안녕하세요 강사님 좋은 강의 감사드립니다.의존성 주입의 예시가 Chef의 멤버 변수에 대한 의존성 주입 예시라고 이해했는데 파라미터 주입 예시 코드에서 Chef의 멤버변수에 값을 넣어주는 코드가 없는거 같아서 잘 이해가 되지 않아 질문드립니다. 강사님께서 7분 34초에 setter와 멤버 변수를 이용해서 받는 필드 주입이 있다고 하셨는데 제가 다른 래퍼런스를 찾아본 결과 강사님께서 설명해주신 부분을 setter 주입이라고 하고 필드 주입은 @Autowired 어노테이션을 통한 주입이라고 설명하더라고요 그래서 이 부분에서 혼동이 생겨 질문 드립니다.
-
미해결김영한의 실전 자바 - 기본편
수업내용 질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]코드 부분에서 private K3 k3부분이 this를 통해서 참조값을 저장하기 위해 사용하는 것으로 이해를 했는데 맞게 이해한 건지 궁금해서 질문드립니다. 정확히 어떤 의미인지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
자식 태어나면 부모 호출
A s2 = new B('Y')에서B(char x) 가기 전에 자식 태어나면 부모 호출해야 해서 A()로 가서 A실행,다음 this() 가서 B() 실행하는 순으로 안 가나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
return 0 에 대한 의미
각종 C언어 예시 문제들에 나오는 "return 0"에 대한 의미가 궁금합니다!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
Static
Static 에서 if(!intialize)어떻게해석해야되나여. 0이 아닝경우인가요?
-
미해결스프링 기반 REST API 개발
java.lang.AssertionError: Status
안녕하세요 기선님의 강의를 보면서 스프링부트 3.x버전때로하고있는데 에러 발생되어서 문의드립니다..답글에 소스코드 올렸습니다..첫번째는 메이븐에서 <version>2.3.1</version> 을 입력 하는 경우 해당 지원 라이브러리가 지원이 안되는 경우가발생하는데 왜그러는걸까요?..두번째는 예제보고 따라하는데..아래와 같은 오류가 발생합니다..이건 왜그러는것일까요??<오류>MockHttpServletRequest:HTTP Method = POSTRequest URI = /api/events/Parameters = {}Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/hal+json", Content-Length:"403"]Body = {"id":10,"offline":false,"free":false,"eventStatus":null,"name":"Spring","description":"REST API Development with Spring","beginEnrollmentDateTime":"2018-11-23T14:21:00","closeEnrollmentDateTime":"2018-11-24T14:21:00","beginEventDateTime":"2018-11-25T14:21:00","endEventDateTime":"2018-11-26T14:21:00","location":"강남역 D2 스타텁 팩토리","basePrice":100,"maxPrice":200,"limitOfEnrollment":100}Session Attrs = {}Handler:Type = org.springframework.web.servlet.resource.ResourceHttpRequestHandlerAsync:Async started = falseAsync result = nullResolved Exception:Type = org.springframework.web.servlet.resource.NoResourceFoundExceptionModelAndView:View name = nullView = nullModel = nullFlashMap:Attributes = nullMockHttpServletResponse:Status = 404Error message = No static resource api/events.Headers = [Vary:"Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers"]Content type = nullBody =Forwarded URL = nullRedirected URL = nullCookies = []MockHttpServletRequest:HTTP Method = POSTRequest URI = /api/events/Parameters = {}Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/hal+json", Content-Length:"403"]Body = {"id":10,"offline":false,"free":false,"eventStatus":null,"name":"Spring","description":"REST API Development with Spring","beginEnrollmentDateTime":"2018-11-23T14:21:00","closeEnrollmentDateTime":"2018-11-24T14:21:00","beginEventDateTime":"2018-11-25T14:21:00","endEventDateTime":"2018-11-26T14:21:00","location":"강남역 D2 스타텁 팩토리","basePrice":100,"maxPrice":200,"limitOfEnrollment":100}Session Attrs = {}Handler:Type = org.springframework.web.servlet.resource.ResourceHttpRequestHandlerAsync:Async started = falseAsync result = nullResolved Exception:Type = org.springframework.web.servlet.resource.NoResourceFoundExceptionModelAndView:View name = nullView = nullModel = nullFlashMap:Attributes = nullMockHttpServletResponse:Status = 404Error message = No static resource api/events.Headers = [Vary:"Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers"]Content type = nullBody =Forwarded URL = nullRedirected URL = nullCookies = []java.lang.AssertionError: StatusExpected :201Actual :404<Click to see difference>at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:59)at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:122)at org.springframework.test.web.servlet.result.StatusResultMatchers.lambda$matcher$9(StatusResultMatchers.java:637)at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214)at com.example.wrpi.global.events.EventControllerTest.createEvent(EventControllerTest.java:59)at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)at java.base/java.lang.reflect.Method.invoke(Method.java:578)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:76)at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)at org.junit.runners.ParentRunner.run(ParentRunner.java:413)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)at org.junit.runner.JUnitCore.run(JUnitCore.java:137)at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)Process finished with exit code -1
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
쉬프트 연산자 질문드립니다.
안녕하세요 정보처리기사 실기 2회차 준비 중인 학생입니다.강의 꼼꼼하게 해주셔서 많은 도움 받고 있습니다.코딩 부분은 제가 파이썬 부분은 알고 있는데 다른 부분이 약하다보니C언어나, Java 쪽에선 많은 도움 받고 있습니다.다른게 아니라 쉬프트 연산자 강의록에서 오타를 본거 같아서요>> 부분에서 왼쪽이 아니라 오른쪽으로 수정이 이루어져야 될 것 같아서 말씀드립니다.이외에도 하나 요청사항이 있습니다.다른건 아니고 제가 아직 섹션5까지만 들어서 그런건지 잘 모르겠지만전 항상 증감연산자 부분이 헷갈리더라구요.증감연산자에 반복문까지 들어가게 되면 너무 헷갈리고,Java에서 상속 전 예제를 볼 때에도 너무 헷갈리더라구요그래서 혹시 시험 전에 여유가 되신다면 증감연산자 부분도 한번 정리해서 헷갈리는 챕터에 정리를해주실수 있나 해서 문의드립니다.좋은 답변 기다리겠습니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
A is c
16분 49초A b c 모두[1,2,3] 인데왜A is c는 False 인가요?
-
미해결토비의 스프링 6 - 이해와 원리
섹션3 학습테스트 시간 비교테스트 질문입니다.
섹션3의 학습테스트 과정 중 서로 다른 시간에 생성된 두 개의 Clock systemDefaultZone() 값을 isAfter() 로 비교 테스트 하는 중 아래와 같은 오류가 발생됩니다.검색해보니 같은 문제를 겪고 있는 분들께서 WorkAround로 테스트 안정성을 높이기 위해 ChronoUnit.SECONDS 형태와 같이 초 단위까지만 비교하여 같은지 여부를 확인하거나,Fixed Clock으로 시간을 수동으로 지정하여 검증하는 테스트 방법을 권장하고 있었습니다.참고 사이트 :https://velog.io/@weightle55/%ED%85%8C%EC%8A%A4%ED%8A%B8%ED%95%98%EA%B8%B0-%EC%96%B4%EB%A0%A4%EC%9A%B4-%EC%98%81%EC%97%AD%EC%9D%84-%EA%B5%AC%EB%B6%84%ED%95%98%EA%B3%A0-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B8%B0강사님께서는 테스트를 바로 통과하셨는데, 차이가 무엇인지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
C언어 while문 질문드립니다.
19:30초 쯤에 나오는 while에서if( i >= 4) {break;}일 때 i의 값이 4까지만 나온다고 되어있는데if( 4 >= 4) {break;}하면 true라서 i의 값이 5까지 나와야 하는 것 같은데4까지만 나오게 되어있는 것 같아서 헷갈립니다..ㅠㅠ
-
미해결토비의 스프링 6 - 이해와 원리
공부한 내용을 개인 블로그에 정리해서 올려도 될까요?
안녕하세요 토비님. 우선 좋은 강의 부탁드립니다. 토비의 스프링 3.1 책으로 처음 토비님 알게되었는데, 강의도 찍으신 줄 모르고있다가 오늘 바로 구매하고 듣기 시작했습니다.다름이 아니라, 강의 내용을 개인 블로그 등에 정리해서 올려도 될까요? 일부 강의 내용 스크린샷 찍어서 올리는 건 허용되는지 궁금합니다.좋은 강의 해주셔서 감사합니다! 개인적으로 스프링에 국한되지 않은 강의도 찍어서 올려주시길 희망합니다! 경험하신 서비스들의 시스템 디자인이나, MSA 구조나, 대규모 트래픽을 받을 때 캐시나 DB설계 등등.. 토비님의 짱짱한 경력과 경험에서 오는 내용이라면, 도움이 정말 많이 될 것 같아요. 앞으로도 많은 강의활동 부탁드립니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
type=Internal Server Error, status=500
error 500이면 코드가 잘못된 거 같은데 어디가 잘못 됐는지 봐주실 수 있을까요🥺HelloControllerpackage com.example.hello_spring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HelloController { @GetMapping("hello") public String hello(Model model){ model.addAttribute("data", "hello!"); return "hello"; } @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name){ return "hello" + name; } jdbcMemberRepositorypackage com.example.hello_spring.repository; import com.example.hello_spring.domain.Member; import org.springframework.jdbc.datasource.DataSourceUtils; import javax.sql.DataSource; import java.sql.*; import java.util.ArrayList; import java.util.List; import java.util.Optional; public class jdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public jdbcMemberRepository(DataSource dataSource) { this.dataSource = dataSource; } @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getLong(1)); } else { throw new SQLException("id 조회 실패"); } return member; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findById(Long id) { String sql = "select * from member where id = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setLong(1, id); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } else { return Optional.empty(); } } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public List<Member> findAll() { String sql = "select * from member"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); List<Member> members = new ArrayList<>(); while(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); members.add(member); } return members; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findByName(String name) { String sql = "select * from member where name = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } return Optional.empty(); } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); } }콘솔창 오류메시지 2024-07-20T10:30:05.545+09:00 ERROR 17396 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection] with root cause
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
기본생성자
자식클래스 메서드 실행 시 부모 호출 후 메서드 실행된다고 하셨습니다.10:32에 super가 없기 때문에 기본인 Car()이 실행되는데,무조건 위치 상 맨 위에 있는 것이 기본인 것인가요?예를들어 맨위에 Car(String model) 밑에 Car(String model, int year)가 있으면Car(Stirng model)이 호출되는 것인가요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
같지만 다른것들
java에서string " " 에 들어가는 문자열이 같을 경우에같은 메모리에 들어가기 때문에str1 = "a", str2 = "a" 의 a 값이 같은 거라고 하셨습니다.그리고 int의 경우 -128~127까지의 경우도 동일하고요.그런데 같지만 다른 것들 8:37에서 문제풀이 하실 때person1 == person.2 : false인 이유를 모르겠습니다.따옴표안의 stirng인 "John"이고, 25의 int형 변수인데요.true가 나와야 하지 않나요?
-
미해결토비의 스프링 6 - 이해와 원리
스프링 순서 질문드려요,,
안녕하세요 토비님!! 라이브 영상이 너무 좋아서 바로 스프링 6 구매했는데요! 제가 궁금한 게 저는 자바만 열심히 판 상태이고 스프링이 처음이며 내년 상반기에는 토이프로젝트를 시도해야하는 상황입니다. 혹시 스프링 6 듣고 스프링 부트 원리를 들어야 할까요? 아니면 바로 스프링부트로 직접 프로젝트 만들어보면 될까요? 제일 좋은 건 둘 다..이겠지만 혹시라도 필수인지 궁금해서 여쭤봅니다. 그리고 번외로 강의가 진짜 몰입력 있어요!! 감사하게 보겠습니다!! ㅎㅎ
-
미해결김영한의 실전 자바 - 기본편
질문있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.객체지향에서 이렇게 2개 클래스로 나눠서 풀었는데,출력할때 처음 0,0, false 가 왜 출력이 되는지, 저는 for문을 돌린적이 없는데 왜 2번 출력되는지 잘 모르겠습니다..각자의 함수에서 계산하기 전이라 0,0,false를 출력하고 그 후에 함수 내부를 실행하고 리턴값을 다시 출력해주는건가요? 제가 리턴값 후에 sout를 다시 한적이 없어서..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
aop 실행에 대한 이해가 안됩니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.MemberService에서 try/finally및 변수만 설정 해줬을 뿐인데왜 실행은 test->MemberServiceIntegration이 아니라HelloSpringApplication으로 실행을 해야 결과가 나타나게 되나요? 굳이 차이를 못느끼겠는데 왜 그런지 이해가 안가네요