[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
player.cpp의 AStar 함수 내에서 //초기값 { int32 g = 0; int32 h = 10 * (abs(dest.y - start.y) + abs(dest.x - start.x)); pq.push(PQNode{ g + h, g, start }); best[start.y][start.x] = g + h; parent[start] = start; } 이렇게 { } 블록을 설정하고 그 안에서 초기화를 한 이유가 궁금합니다.
가입은 되는데 가입버튼을 누를 때 처음엔 실패나 성공 메세지가 생성이 안됩니다. 그리고 가입을 3~4번하고 난 후에 다시 가입버튼 누를 때 실패나 성공 메세지가 생성됩니다. 2023-03-10 03:55:08.889 7397-7482/com.example.myapplication666 W/System: Ignoring header X-Firebase-Locale because its value was null. 이런 로그가 띄어집니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 체크 예외를 런타임 예외로 변환하는 과정에서 강의의 예시에서는 ConnectException을 RuntimeConnectException으로, SQLException은 RuntimeSQLException으로 변경해서 throws가 전파되는 것을 막는 모습을 볼 수 있었는데요. 이런 상황에 있을 때, SQLException이나, ConnectException같은 경우는 예외가 발생했을 때 애플리케이션 단에서 처리를 못하니, 예외 문서에 작성해두고, 예외를 잡지 말고 발생하게두나요? Controller 사용중이라면 ControllerAdvice를 통해서 해결을 하면 될텐데, Rest API를 사용중이라면 RestControllerAdvice에서 ExceptionHandler를 통해 예외를 잡지 않고 강의에서 말씀하신 것처럼 500으로 던지는 지가 궁금합니다. 강의의 초점이 막을 수 없는 체크 예외가 발생했을 때 이를 throws를 통해 전파하기보다 런타임 예외로 바꿔서 예외 문서를 잘 처리해서 깔끔한 코드를 만들자로 이해하면 되는 걸까요?
function solution(n, m) { let answer = []; let tmp = Array.from({ len function DFS(L, s) { if (L === m) { answer.push(tmp.slice( } else { for (let i = s; i <= n tmp[L] = i; console.log(tmp); DFS(L + 1, s + tmp[L]); } } } DFS(0, 1); return answer; } console.log(solution(4, 2)); 강사님 저는 강의 보기전에 i + 1이 아닌 s + tmp[L]로 하니까 정답이 나오더라구요, 이렇게 해도 문제가 없 는 코드인가요?
안녕하세요. 궁금한 부분이 있어 질문 올립니다. 여러 개의 데이터베이스와 연동할 경우, 각각의 DataSource에 대한 트랜잭션 매니저를 만들어줘야 하나요 아니면 하나의 트랜잭션 매니저를 사용해야 하나요? 사용하는 데이터 접근 기술은 마이바티스이며, 데이터베이스는 모두 SQL SERVER를 사용합니다
안녕하세요 강사님! 강의 너무 잘 듣고 있습니다! 다름이 아니라 채점프로그램을 실행하면 위와 같은 오류가 발생하는데 원인을 모르겠습니다.. 파이썬도 ORG에서 최신버전으로 PATH와 설정 체크까지 해서 설치하였고 해당 폴더에 AA.py로 만들고 프로그램을 실행시켜도 위와 같은 오류가 발생합니다..ㅠㅠ 해결방법이 있을까요? k번째 큰 수 문제 코드입니다! import sys sys.stdin=open("input.txt", "rt") n, k = map(int,input().split()) a = list(map(int,input().split())) res=set() # set()=> 같은 값을 여러번 넣어도 한번만 들어감. for i in range(n): for j in range(i+1,n): for m in range(j+1, n): res.add(a[i]+a[j]+a[m]) res=list(res) res.sort(reverse=True) # 내림차순 print(res[k-1])
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 위와 같이 build.gradle에 underlined가 쳐지면서 에러메시지가 뜹니다. 구글링하니 reload gradle project후 restart하라고 해서 여러번 따라해봤는데도 여전히 저 에러 메시지가 뜹니다. 저 메시지가 뜨는 원인과 해결 방법에 대해 알려주시면 감사하겠습니다.
컨트롤러 클래스에 여러 개의 컨트롤러가 있을 수 있는데 예를 들어, 한 곳에 몰아놓는다면 이런 형태로.. class controller { public String controller1 () { ...... } public String controller2 () { ...... } } 실무에서는 분명 특정 기준을 가지고 나눠서 정리해 놓을텐데 어떤 기준으로 나누나요?
실전 프로젝트 보고 있습니다. DB 연동 인증 처리(2) : CustomAuthenticationProvider 학습 중인데요. 스프링 버전이 2.7x 이라서 SecurityConfig.java 설정이 맞지를 않네요. 검색하니깐 아래 코드 처럼 설정하면 된다고 하던데 근데 아래 코드, authenticationManager 메서드 부분이 없어도 CustomAuthenticationProvider 클래스에 @Component 어노테이션 넣으니깐 사용되더라구요... 로그인도 잘되구요. CustomUserDetailsService 클래스도 마찬가지인데, 아래 authenticationManager 메서드가 없어도 되는건지 궁금합니다. 혹시 나중에 문제가 생기지 않을까 불안하기도 하네요. 답변 부탁드리겠습니다.~ @Bean public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception { ProviderManager authenticationManager = (ProviderManager) authenticationConfiguration.getAuthenticationManager(); authenticationManager.getProviders().add(customAuthenticationProvider()); return authenticationManager; }
궁금증이 생겨 한가지 질문할게요. 만약 Service 계층에서 validate(), update()라는 메소드가 있을 때 두 메소드 모두 로직 시작부분에 엔티티를 조회한다고 하면 두 메소드에서 모두 select 쿼리가 나갑니다. OSIV 설정을 true로 하면 Controller 영역까지 트랜잭션이 유지 되기 때문에 컨트롤러 안에 xxxService.validate(); xxxService.update(); 이렇게 해도 같은 트랜잭션 안에 있었기 때문에 select 쿼리는 한번만 나갑니다. 하지만 OSIV 설정을 false로 하면 Controller 영역까지 트랜잭션이 유지 되지 않기 때문에 위와 같이 작성하면 select 쿼리가 두번 나갑니다. 이를 해결하기 위해 두가지 메소드를 하나로 합쳐 Controller 영역에서 사용할 수 있습니다. xxxService.updateSet(); 하지만 이때는 입력 받아야 하는 인자 수가 많을 경우 3, 4개 넘게 받는 경우가 생겨 질문드립니다... 쿼리 성능으로는 합치는게 맞지만 구조적으로 이러한 설계가 맞는지 궁금합니다. 감사합니다~!
안녕하세요 ! 강의 완강하고 문득 든 궁금증이 있어 질문 작성하게 되었습니다. 궁금한 부분은 'Pessimistic Lock 사용 시 스케일 아웃이 어렵다' 라는 부분인데요, 만약 모든 서버가 공유하는 외부 DB 스토리지가 있다고 가정했을 때, 서버 1 에서 1번 row 에 Lock 을 걸었다면 서버 2번에서는 어짜피 같은 DB 를 공유하기 때문에 해당 row 에 접근이 불가한 것이 아닌지 ? 라는 의문이 들었습니다. 제 생각이 어떻게 틀린건지 알려주시면 감사하겠습니다. 좋은 강의 감사합니다 ^^