학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강사님 강의를 따라 가던 중에 컨텐트 타입을 바꾸려고 했는데 한글만 입력이 되고 영어는 입력도 안되고 따로 지워지거나 하지도 않습니다. 혹시, 다른 설정이 필요한건가요?
안녕하세요. 강의 잘 듣고 있습니다. 코드 작성하다가 예외처리에 대한 궁금증이 있어 질문드립니다. 제가 알고있는 스프링 예외처리 정책은 Unchecked Exception은 같은 트랜잭션 내에서 Rollback 되고 Checked Exception은 필수로 try catch로 예외처리를 해서 Rollback이 안되는 것으로 알고 있습니다. Unchecked Exception도 try-catch로 잡아서 예외를 처리하려고 하는데 Unchecked Exception은 Checked Exception과는 다르게 중간에서 예외를 잡아도 가장 상위 메소드로 올라가서 예외가 발생되더라구요. 때문에 최상위 메소드에서 try-catch로 잡아줘야지만 예외가 잡히고 다음 스텝으로 넘어가던데 왜 중간에서 try - catch로 잡히지 않는 것인지 궁금합니다. 간단한 코드 첨부하겠습니다. class A { @Autowired private B b; @Transactional void aMethod(){ for(int i=0; i<10; i++){ b.bMethod(i); } } } class B { @Autowired private C c; @Transactional void bMethod(int i){ try{ c.cMethod(i); }catch(RuntimeException e){ //예외처리로직 } } } class C { @Autowired private CRepository cRepository; @Transactional void cMethod(int i){ if(i==5){ throw new RuntimeException(); }else{ cRepository.save(i); } } } 위의 코드를 실행하면 B class의 try catch가 C에서 발생한 RuntimeException을 잡아서 계속 직행하지 못하고 A까지 예외가 올라가서 예외가 발생됩니다. try catch 블록을 A class로 옮기면 예외를 잡아서 console에 예외가 터지지 않고 정상 작동됩니다. Checked Exception은 저렇게 중간에 예외를 잡아도 예외가 상위 메소드로 올라가지 않고 처리되던데 Unchecked Exception은 왜 최상위 메소드까지 올라가서 처리를 해줘야하는지 궁금합니다.
안녕하세요. 좋은 강의 잘 보고 있습니다. 컨슈머 랙 모니터링 아키텍처 관련 질문이 있습니다. 카프카 버로우, 텔레그래프 application에 대해서 각각의 노드에서 구성하는 것이 일반적인지 아니면 카프카 버로우, 텔레그래프를 하나의 노드에서 동작시켜도 무방한 건지에 대한 부분이 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이름을 등록하면 홈화면으로 돌아가지 않고 등록화면에 계속 있습니다.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
객체지향 개론에서 설명하신 Knight 와 같은 개념들은 게임이라는 환경이 너무 익숙하다 보니 어떠한 기능들을 수행할 수 있고 거기에 필요한 데이터가 어떤 것이다.라는 형식으로 대략적인 추상화가 가능하지만, 만약에 특정 기능을 구현해야 되는데 이 기능을 둘러싼 객체가 추상화가 잘 안되는 경우에 기능과 연관된 이름으로 객체를 만들어도 괜찮은 방법인지요 ? 제가 이러한 질문을 드리는 이유는 프로그래밍을 하다보면 특정 기능을 구현할 때, 몬스터라던지 상품이라던지 이런 개념들은 추상화가 가능하지만 기능 구현이 중심인 요구사항을 만들다보면 기능을 수행할 객체가 마땅히 떠오르지 않을 때가 많은거 같아서요.
앞선 강의들에서 driverManager는 라이브러리에 등록된 DB 드라이버들을 관리하고 커넥션을 획득하는 기능을 제공한다고 배웠습니다. 하지만 여러 요청이 동시에 왔을 때 DriverManager는 커넥션이 하나 뿐이라 여러 요청을 병렬처리를 할 수 없다는 단점이 있어 커넥션 풀 이라는 개념을 도입하여 여러 요청을 풀 내의 여러개의 커넥션을 통해 병렬 처리가 가능하도록 하는 것이고, 이러한 커넥션을 획득하는 방법이 DriverManager, Hikari, DBCP2 등 여러 커넥션 획득 방법이 존재하기 때문에 이들을 추상화해둔 것이 DataSource interface이고, DataSource 구현체로 DriverManager를 통한 커넥션 획득 방법은 DriverManagerDataSource, Hikari를 통한 커넥션 획득 방법은 HikariDataSource이다. 제가 이해한 것은 이정도 인데 맞는지 모르겠습니다..
이번 강의에서 Pipeline클래스를 따로 만든다음에 공통적이고 필수적인 부분들은 _pipeline클래스의 Update가 담당하여 렌더링 파이프 라인을 진행하고 일단은 그 밑에 다시 IA - VS - RS - PS - OM단계를 진행하던데 rendering pipeline도식화 해놓은것을 보면(구글링하여 나온 이미지들) IA - VS - RS -PS -OM 단계인데 RenderBegin()이 호출되면 무조건 바로다음에 IA단계들이 다 붙어서 와야하고 그다음에 VS단계에 오는 것들이 다 순서대로 오는식이 아니라 그냥 RenderBegin()이 시작하여 화면을 초기화하고나서 SwapChain을 통해 Present하기 전에만 그냥 순서상관없이 IA 단계부터 OM단계까지의 함수호출들이 오면 되는 것인가요? 렌더링 파이프라인 도식화 한 이미지들은 렌더링 할 버퍼 이미지를 초기화하고 이것을 Swap하여 Present하기 전까지의 렌더링 과정을 이해하기 쉽게 그냥 도식화 해놓은 개념에 불과한가요?