학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 스프링이 제공하는 트렌잭션 AOP를 사용하면 스프링 부트에서 관련된 로직을 자동으로 스프링 빈으로 등록한다는 설명에서 궁금한 점이 생겼습니다. 개발자들이 직접 컴포넌트 스캔이나 @Controller 와 같은 애너테이션을 사용해서 등록하는 빈들과 별개로 트렌젝션과 같은 부가 가능또한 빈으로서 관리가 되어야 사용할 수 있는 것인 걸까요? 어떻게 보면 당연히 등록되어야지! 라는 생각도 들지만, 스프링 빈으로 등록이 되어야하는 객체에 기준이 있는건지 궁금합니다. 예상하는 기준은 다음과 같습니다. 1. 개발자가 서비스 로직을 만들기 위해 개발되는 모든 것은 스프링 빈으로 등록하여 싱글톤으로 용이하게 관리하며 자동의존 주입을 받는다. 2. 데이터 접근 기술이나 트랜잭션 같이 스프링에서 편리하게 관리할 수 있게 만들어 놓은 것을 사용하려면 스프링 빈으로 등록해서 사용해야한다. 2-1. 다만 스프링에서 제공하는 기능적인 기술은 스프링 부트를 사용시 자동으로 등록해준다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] log에 빨간줄이 그어지고 test를 돌려도 log 기록이 남지 않는데 무엇이 문제일까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 제목과 같습니다. Mybatis에서의 Connection 생명주기와 커넥션풀을 연동했을때의 Connection 생명주기가 궁금합니다. Mybatis에서 커넥션풀을 적용한다고 가정합니다. 만약 하나의 기능 즉, 하나의 쓰레드 단위로 쿼리를 호출하는 매퍼 메소드를 4번 호출한다면 이때 커넥션은 Mapper를 통해 호출하는 DAO 메소드 단위로 Pool에서 4번 꺼내는것인지? 만약 그렇다면, 4번 꺼내는 객체들이 앞서 배운 내용처럼 처음 Pool에서 꺼내서 사용하고 반환한 동일한 Connection 객체를 다시 꺼내어 재사용 하는건지 궁금합니다! 또한 Transcation Rollback 되는것도 동일한 Connection, 동일한 Session에 의한것과 연관성이 있는건지도 궁금합니다. 제가 이해한 부분은 아래와 같습니다. 커넥션풀을 사용하면 커넥션풀에 각각 다른 커넥션이 생성됨(10개) 하나의 커넥션당 하나의 세션이 생성되며, 커넥션의 생명주기에 종속되어 있다. 세션은 트랜잭션을 시작하고 커밋을 관리한다. 커넥션 풀을 사용하면 하나의 스레드내에 각각의 쿼리에 대한 작업 단위가 동일한 커넥션을 반환받는다. 커넥션이 동일하다면 세션도 동일하므로 하나의 트랜잭션으로 관리된다? 이게 맞을까요?
안녕하세요, 수강중인 학생입니다. 3.upload.py 부터 코드가 제대로 동작하지 않습니다. raise RemoteDisconnected("Remote end closed connection without" http.client.RemoteDisconnected: Remote end closed connection without response 이런 내용으로 인해 글이 올라가지 않는데 원인이 무엇일까요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예 [질문 내용] 강의 잘 듣고 있습니다. 현재는 h2 database를 사용해서 구현하는 테스트인데 실제로 테스트 할 때 데이터베이스를 건들면 문제가 생길 것같습니다. 그럴 때에는 어떤 방식으로 테스트를 진행하나요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 해당 강의를 들으면서 DataSource 와 트랜잭션 매니저의 역할이 좀 헷갈립니다. 강의 중에는 트랜잭션 매니저는 데이터소스를 통해 커넥션을 생성하므로 DataSource가 필요하다는 말씀과 PDF에도 그렇게 적혀있는데요. DataSource는 커넥션 풀이나 DriverManagerDataSource 같은 구현체를 다루기 위한 인터페이스로 이전 강의들로 통해 알고 있었습니다. 그리고 실제 구현체는 이 인터페이스를 통해 구현체가 들어오는 것이고요. [질문 내용] 근데 왜 트랜잭션 매니저를 사용하면서 한번 더 인자를 트랜잭션 매니저로 넘겨주어야 하는 것일까요..? 아래 코드입니다. PlatformTransactionManager transactionManager = new DataSourceTransactionManager(dataSource); 그리고 트랜잭션 매니저는 추상화와 동기화를 진행한다고 했는데 이미 추상화는 DataSource도 되고 있는 것 같은데 파라미터를 통한 동일한 커넥션 넘겨주는 부분 때문에 트랜잭션 매니저를 사용하는 것일까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 1-1. 선생님 방식 코드 (MemberRepositoryV4_2) private final DataSource dataSource; private final SQLExceptionTranslator exTranslator; @Autowired public MemberRepositoryV4_2(DataSource dataSource){ this.dataSource = dataSource; this.exTranslator = new SQLErrorCodeSQLExceptionTranslator(dataSource); } 1-2. 선생님 방식 코드 (MemberServiceV4Test) @TestConfiguration static class TestConfig{ @Bean public MemberRepository memberRepository(){ return new MemberRepositoryV4_2(dataSource) } } 2-1.제가 생각한 방식 코드 (MemberRepositoryV4_2) private final DataSource dataSource; private final SQLExceptionTranslator exTranslator; @Autowired public MemberRepositoryV4_2(DataSource dataSource, SQLExceptionTranslator exTranslator) { this.dataSource = dataSource; this.exTranslator = exTranslator; } 2-2.제가 생각한 방식 코드(MemberServiceV4Test) @TestConfiguration static class TestConfig{ @Bean public SQLExceptionTranslator sqlExceptionTranslator(){ return new SQLErrorCodeSQLExceptionTranslator(dataSource); } @Bean public MemberRepository memberRepository(){ return new MemberRepositoryV4_2(dataSource , sqlExceptionTranslator()); } } 안녕하세요 "스프링 예외 추상화 적용" 관련 강의보다 궁금한 점이 생겨 질문드립니다. 지금까지 코드 설계 시에 수동 빈 등록을 하는 경우 해당 영역은 설정 영역으로 간주되어, @Configuration을 사용하는 설정 영역 / 애플리케이션 영역 으로 나누어서 설계하는 것이 객체지향적인 관점에서 훨씬 좋은 코드라고 이해하고 설계해왔습니다. 즉 TestConfig와 같이 수동 빈 등록을 해주는 설정 영역 코드가 테스트 상황이 아닌 실제 상황이라고 가정하였을 때, 저는 2-2. 제가 구현한 코드 처럼 SQLErrorCodeSQLExceptionTranslator을 설정 영역(TestConfig)에서 수동 빈 등록을 해주고 2-1.제가 구현한 코드 처럼 리포지토리(MemberRepositoryV4_2) 에서 해당 객체를 생성자의 파라메터로 DI 받는 형태로 구현하였습니다. 하지만 1-1. 선생님 코드 에선 SQLErrorCodeSQLExceptionTranslator 객체를 직접 리포지토리에서 생성하여 변수에 주입하고 1-2. 선생님 코드 처럼 설정 영역에선 파라메터의 변경 없이 그저 구현체만 MemberRepositoryV4_1 에서 MemberRepositoryV4_2로 갈아끼우는 것을 확인할 수 있었습니다. [핵심 질문] 선생님께서 1-1 및 1-2 와 같이 코드를 구현하신 이유가 1-2의 설정 영역 코드(TestConfig)에서 서비스에선 MemberRepository라는 인터페이스를 구현하니, 파라메터의 변경 없이 그냥 구현체를 MemberRepositoryV4_1 => MemberRepositoryV4_2 로 갈아끼울 수 있다는 것을 보여주시기 위해 하신 건지 아니면 SQLErrorCodeSQLExceptionTranslator 객체의 의존관계 주입은 선생님 방식대로 하는 게 맞는 건지 궁금해서 여쭤봅니다 !
cmd에서 import pygame했을 때는 오류없이 제대로 됐는데 Vs code에서 import pygame을 하면 이런 오류가 계속해서 발생합니다. 어떻게 해야되나요? Exception has occurred: ModuleNotFoundError No module named 'pygame' File " C:\Users\User\Desktop\PythonWorkspace\pygame_basic\1_create_ frame.py ", line 1, in <module> import pygame ModuleNotFoundError: No module named 'pygame'
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 리포지토리에선 체크예외(Exception)를 언체크예외(RuntimeException)로 변환함으로써 서비스 계층에선 더 이상 throws SQLException을 할 의무가 사라져 더 이상 JDBC 기술에 종속적이지 않을 수 있으며 순수 비즈니스 로직만 남길 수 있었습니다. 여기서 RuntimeException으로 직접 변환하지 않고, 그를 상속받은 MyDuplicateKeyException , MyDbException 예외를 만들어서 해당 예외로 변환한 이유는 명시적으로 어디서 어떤 예외가 터졌는지 알기 위함이라고 이해해도 괜찮을까요?
안녕하세요. 이전강의들을 포함해서, "파이썬 기본 환경 설정(2-1) : 개발 환경 설정(Vscode) - Windows" 강의 내용을 그대로 따라서 했습니다. 그런데 해당 강의 동영상의 25:33에서처럼 Ctrl+F5 단축키를 누르거나 Run 메뉴에서 Run Without Debugging을 직접 선택해도, 강의에서처럼 Hello python!이 출력되지 않고 이렇게 Select debugger라고 나옵니다. 이때 무엇을 선택해야 하나요? 어떻게 하면 강사선생님처럼 Run Without Debugging을 실행할 수 있나요? 참고로 오른쪽 상단의 오른쪽 방향 세모 아이콘을 클릭하면 문제없이 실행하고 Hello python!이 출력됩니다. (저는 단축키 설정에 대해서 질문을 드린 게 아닙니다.)
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 테스트 코드를 작성하다가 궁금한점입니다! assertion을 사용할 때 JUnit이 아닌 AssertJ 를 추천하는 이유가 있을까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 연결 시험 에서 실패하시는 분들은 바로 연결 을 누르시면 됩니다. 저는 연결 시험 에서 실패하길래 뭐가 문제인지 찾다가 연결 을 누르니 db 가 정상적으로 생성되네요. 참고 하세요!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. JDBC 개발에 있어 제일 핵심이 되는 내용은 JDBC는 인터페이스이고 각각의 데이터베이스는 이 JDBC인터페이스를 구현하여 제공하고 있기에, 개발자들은 JDBC를 통해 다양한 데이터베이스를 용이하게 사용할 수 있는 점인 것 같습니다. preparedStatement는 JDBC 의 3가지 기능인 1. Connection 획득 SQL 전달 결과 조회 중 두 번째 SQL 전달과 관련된 기능이라 생각되는데요. 그런 prepareStatement는 Connection 인터페이스 안에 있는 메서드였고, Statement를 상속하고 있는 또 다른 인터페이스인 PreparedStatement 타입인 것을 알게 되었습니다. 1) 그렇다면 Preparedstatement 또한 JDBC의 일부분이고, h2데이터베이스는 이 PreparedStatement에서 지정해놓은 메서드들을 구현하고 있다고 생각해도 되는지 궁금합니다. 2) Connection 인터페이스든 Statement 인터페이스이든 package를 보면 java.sql 에 속해 있는데, java.sql 패키지 자체가 jdbc라고 생각해도 되는지 궁금합니다.
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 포스트맨 구성이 달라져서 블로그 보고 따라해봐서 성공했습니다 업데이트 되어 달라진 것 같아서, 다른 분들도 참고하실 수 있게 강의 내용도 업데이트 되거나 게시판에 업로드 해주시면 좋을 거 같습니다-