PlayerController와 HUD위젯 초기화 순서가 먼저 진행했던 캐릭터의 HP위젯이랑 어떻게 다른지 볼려고 중단점찍고 확인해봤는데요. PlayerController 액터에 PostInitializeComponents()도 한번 그냥 재정의 해서 이것도 확인해 보니, CharacterBase 액터의 생성자가 호출되기전에 PlayerController의 PostInitializeComponents()가 호출되었습니다. 이 경우, 제가 뭔가 잘못한 걸까요?? Initialize 함수가 다른 액터의 생성자보다 먼저 실행되는게 이해가 가질 않습니다....
마지막 배포 강의가 현재 CMake 설치 강의랑 동일한 파일이 재생이 됩니다 하지만, 강의 파일을 받아보면, Cpack 등 다른 강의 파일이라 현재 동영상 강의가 다른 것이 올라와 있는 것 같은데 확인 부탁드립니다. 쉽게 설명해주시는 강의를 해줘서 강의는 잘 듣고 있습니다
이번엔 제가 스스로 해보고 싶었는데 안되서 질문드립니다 죄송합니다 ㅜㅜ redis 서버를 추가하는 도중에 이런창이떠서 이렇게 추가를 했더니....redis 서버가 추가가안되서 다시 요청하려고했더니 Only one open service quota increase request is allowed per quota 라고 뜨네요 ㅜㅜ 혹시 redis 서버를 추가할 수 있는 방법이 있을까요?
@Setter에 왠만하면 private로 해두고 필요할 때만 그 개개별만 열어두고 싶었는데, @Setter(AccessLevel.PRIVATE) 이렇게 클래스레벨에 넣어두면 다 private로 생성되는 듯 해요. 만약 따로 @Setter를 열어두고 싶은 필드가 있다면 @Setter(AccessLevel.PUBLIC) private String username; 그 필드에 이렇게.. 자세할 수록 우선 반영이니..
처음 최단 거리를 구하는 문제여서 bfs로 접근했습니다. 하지만 bfs로 최단거리를 구할 경우 방문한 알파벳을 다시 방문하면 안된다는 조건 때문에 최댓값이 이상하게 나와서 dfs로도 시도해봤습니다. dfs가 정답과 좀 더 가깝게 잘 짠 것 같은데 마지막 테스트 케이스를 통과하지 못하네요ㅜㅜ 뭔가 둘 다 visited 원복과 초기화가 잘 안되어서 그런 것 같은데 어떻게 해야할지 모르겠습니다 ㅠㅠ 이 코드를 어떻게 수정하면 좋을까요? ㅠㅠ 1. bfs http://boj.kr/eab39a3f2732430eaa02117bc49541f6 dfs http://boj.kr/cf22ef7e2cab42b491ce50258f795253
질문 1. 아래코드에서 ClientBean 이 내부 메서드에서 prototypeBean 을 사용할 수 있는 이유? static class ClientBean{ ... } 의 코드에서는 스프링 빈으로 prototypeBean 을 등록하는 부분이 없는데 어떻게 logic() 메소드에서 prototypeBean.addCount(); 를 사용할 수 있는 것인가요? 🤔 제 생각에는 void singletonClientUsePrototype() 의 코드인 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); 으로 빈으로 등록이 되는 것 같아서 코드를 다음과 같이 수정 후 실행해 보았습니다. AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class); 👉 그러자 실행이 안되는 것을 확인 할 수 있었습니다. 질문 2. singletonClientUsePrototype() 메소드에서 등록된 빈이 ClientBean에 어떻게 영향을 주는 것인가요? 🤔 ClientBean 코드의 ApplicationContext applicationContext; 의 의존성 주입을 통해 이루어지는 것 같은데 이 코드에서는 어떤 것이 applicationContext 에 해당되는 것인가요..? 따로 해당 인스턴스타입으로 등록된 빈이 없는 것 같은데 헷갈립니다ㅜㅜ public class SingletonWithPrototypeTest1 { @Test void singletonClientUsePrototype(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); ClientBean client1 = ac.getBean(ClientBean.class); int count1 = client1.logic(); assertThat(count1).isEqualTo(1); System.out.println("count1 = " + count1); ClientBean client2 = ac.getBean(ClientBean.class); int count2 = client2.logic(); System.out.println("count2 = " + count2); assertThat(count2).isEqualTo(1); } @Scope("singleton") static class ClientBean { @Autowired ApplicationContext applicationContext; public int logic() { PrototypeBean prototypeBean = applicationContext.getBean(PrototypeBean.class); prototypeBean.addCount(); return prototypeBean.getCount(); } } @Scope("prototype") static class PrototypeBean { private int count = 0; public void addCount() { count++; } public int getCount() { return count; } @PostConstruct public void init() { System.out.println("PrototypeBean.init" + this); } @PreDestroy public void destroy() { System.out.println("PrototypeBean.destroy"); } } }
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
좋은 강의 올려주셔서 감사합니다! 다름이 아니라 스케쥴 생성 및 수정하는 과정에서 startTime 이 endTime 보다 클 경우 create나 update를 방지하는 기능을 추가 하고 싶습니다. 클라이언트에서는( schedule_bottom_sheet.dart ) onSavePressed 에서 검증처리를 추가하면 될거 같은데, 만약 서버에서도( drift_database.dart ) 이중으로 create나 update가 되는걸 방지할려면은 createSchedule 및 updateScheduleById 내부 로직에서 검증 처리를 별도로 하면 되는지 궁금합니다.
입력 "A 3 3 "에 대해 입력 버퍼에 저장된 값은 "A 3 3 \n"이며 "A 3 3" 까지만 읽고 AAA AAA AAA 를 출력한다는 것은 알겠습니다. 그 다음 입력 "B 1 2 "에 대해 입력 버퍼에 " \n"이 남아있으므로 입력 버퍼에 저장된 값은 " \nB 1 2\n"이며 입력 버퍼에서 개행 문자(\n) 앞의 공백(" ")만 읽어오고 나머지 rows나 cols는 이전에 저장된 값을 재사용해서 3개씩 3줄의 공백을 출력하는 것 같습니다. 여기서 궁금한 점이.. scanf의 첫 번째 인수로 공백(" ")을 읽고 나머지 rows와 cols는 읽지 못했는데 왜 그대로 진행되어 9개의 공백(붉은색 부분)이 출력되는건가요?? 링크의 문서에는 입력 스트림에 저장된 값이 형식 지정자와 다를 경우 scanf를 종료한다고 되어있습니다. 그러면 첫 번째 인수로 공백(" ")을 읽고 한 줄에 3개씩 3줄의 공백(" ")를 출력하고 난 뒤에는 개행 문자 ("\n")를 읽어서 9개의 줄 바꿈이 출력 되어야 할 것 같은데 왜 바로 BB가 출력되었는지 잘 모르겠습니다.. [입력과 그에 대한 예상 출력 콘솔 화면] A 3 3 // 첫 번째 입력 : A 3 3 AAA AAA AAA // 한 줄당 3개의 'A'를 3줄 출력 B 1 2 // 두 번째 입력 : B 1 2 // 한 줄당 3개의 공백을 3줄 출력 // 9번 + 3번 총 12번의 줄바꿈 BB https://learn.microsoft.com/en-us/cpp/c-runtime-library/format-specification-fields-scanf-and-wscanf-functions?view=msvc-170 scanf를 실행시켜서 입력 버퍼의 값을 읽고 각각의 인수에 저장한 후에는 입력 버퍼에서 읽은 값을 제거 하나요? 아니면 getchar처럼 스트림의 위치를 마지막으로 읽었던 값의 다음 위치로 이동시키나요?? 첫 번째 입력이 "A 3 3"이고 두 번째 입력이 두 번째 입력이 "B 1 2"일 때 첫 번째 출력을 한 후 입력 버퍼에 저장된 값이 "\nB 1 2\n"인데 scanf가 첫 번째 \n만 읽어서 12번 줄 바꿈 출력 후 종료되는건가요? 계속 구글링 해보고 있지만 답을 찾지 못해서 질문드립니다..
안녕하세요 큰돌님 항상 좋은 강의 감사합니다. 비트 마스킹 문제가 너무 어렵네요...ㅎㅎ 열심히 연습해야겠습니다. 질문은 다름이 아니라 간선 정보를 입력 받을 때 1차원 벡터 adj를 선언하셨는데 adj[i].push_back(temp); 이런 형태로 push 하면 2차원 벡터로 되는 것 아닌가요? 부분 코드 vector<int> adj[11]; ... int main{ for(int i=1; i<=n; i++){ cin >> m; for(int j=0; j<m; j++){ cin >>temp; adj[i].push_back(temp); // <- 여기 이 부분 2차원 벡터여야 가능한거 아닌가요? adj[temp].push_back(i); } } ... 제가 생각한 1차원 벡터 2차원 벡터는 아래 그림과 같습니다. 아 그리고 제 그림 좋게 봐주셔서 감사합니다.ㅎㅎ 이해하는데에는 큰돌님 말씀처럼 직접 그리는 것 만큼 좋은게 없더라구요 혹시 몰라 전체 코드도 남깁니다! http://boj.kr/9fea383a1aba4c2ca268cf51acc08257
안녕하세요. 수업 잘 듣고 있습니다! 컨슈머 관련해서 궁금한 점이 생겨 질문드립니다. 제가 지금까지 이해한 내용으로는 하나의 토픽에 대해서 이벤트를 발생하면 key 값을 통해 파티션으로 분배되는 걸로 이해하고 있습니다. 그리고 하나의 토픽에 대해서 여러 컨슈머 그룹이 운영될 수 있고 별도 offset으로 관리되어 각 컨슈머 그룹에서는 이벤트에 대해서 원하는 용도로 처리될 수 있다고 하셨습니다. 이부분에서 궁금한 점이 생겼는데요. 하나의 이벤트에 대해서는 한개의 파티션에 하나의 레코드만 생성되는데, 여러 컨슈머 그룹에서 해당 이벤트를 다 가져가는 경우는 발생할 수 없는 거 같아서 헷갈리는 거 같습니다. 이벤트 -> 토픽에서 특정 파티션 선정 -> 파티션에 레코드 등록 -> 컨슈머 이런 형태로 진행되면 한개의 이벤트는 어떻게 여러 컨슈머 그룹에서 독립적으로 처리할 수 있지라는 의문이 생기게 되었습니다. 혹시 하나의 이벤트에 대해서 레코드가 여러개 생성될 수 있는 걸까요?? 아니면 하나의 컨슈머 그룹에서는 하나의 파티션만 할당될 수 잇지만 여러 컨슈머 그룹인 경우에는 하나의 파티션에 대해서 그룹 당 하나의 컨슈머가 할당이 가능한것일까요??