안녕하세요 강사님!! 강의 정말 잘 듣고있습니다, 강의를 다 들은 후 전체적으로 흐름을 따라가면서 확인을 해보고 있는데요, SocialLoginApiServiceFactory 클래스에서 이해가 잘 가지 않는 부분이 있어 질의드리고자 합니다. 먼저 SocialLoginApiServiceFactory에서는socialLoginApiServices 이라는 map 자료구조에 키 값으로 빈 이름이, value 값에는 SocialLoginApiService를 구현한 impl(ex, KakaoLoginApiServiceImpl) 클래스가 들어가는 것으로 이해했습니다. 현재는 map에 value가 KakaoLoginApiServiceImpl 1개만 저장이 되어있고, 만약 네이버나 구글 등 다른 impl을 구현하면 갯수가 늘어나는 것으로 이해했는데 제가 이해한게 맞을까요?? 만약 제가 이해한 것이 맞다면, socialLoginApiServices에 key와 value가 어떤 방식으로 저장되는지 궁금합니다. 상속관계의 Bean에 대해서 Springboot에서 알아서 세팅을 해주는 것인가요?? 관련 코드 첨부하겠습니다 @Service public class SocialLoginApiServiceFactory { private static Map<String, SocialLoginApiService> socialLoginApiServices; // map에는 SocialLoginApiService 구현체가 각각 들어갈 것임 public SocialLoginApiServiceFactory(Map<String, SocialLoginApiService> socialLoginApiServices) { this.socialLoginApiServices = socialLoginApiServices; } public static SocialLoginApiService getSocialLoginApiService(MemberType memberType) { String socialLoginApiServiceBeanName = ""; if(MemberType.KAKAO.equals(memberType)) { //멤버 타입이 카카오면 socialLoginApiServiceBeanName = "kakaoLoginApiServiceImpl"; //빈 이름에 카카오 서비스 구현체 저장 } return socialLoginApiServices.get(socialLoginApiServiceBeanName); // 빈 이름을 키 값으로 활용하여 구현체(KakaoLoginApiServiceImpl) 반환 } }
교수님께서는 const int& getDay(){ return m_day;} 로 멤버변수인 m_day를 리턴하셨는데, main함수에서 출력할 때는 그냥 void getDay(){ cout<<day<<endl;}로 public함수를 만들고, 메인에서 today.getDay();로 해줘도 되지 않나요? 가령, getDate()같이 멤버변수들을 모두 출력한다고 하였을 때는 cout<<month<<" "<<day<<" '<<year<<endl;로 하는 것이 편리하지 않나요??
23:00 과정 진행 중 static ConstructorHelpers::FClassFinder<ACharacter> BP_Char(TEXT("/Script/Engine.Blueprint'/Game/BluePrints/BP_MyCharacter.BP_MyCharacter_C'")); if (BP_Char.Succeeded()) { DefaultPawnClass = BP_Char.Class; } 이 부분에서 실패해서 캐릭터가 뜨지 않습니다. 블루프린트 클릭 후 ctrl + c로 경로 복사 붙혀넣기까지 했는데 안되네요. 그리고 해당 강의를 UE 5.1로 진행 중인데 문제 될게 있을까요
선생님께서 s_gets라는 함수를 만들어서 사용하고 계신데요, 해당 함수의 내용을 보면 if 문의 조건 안에 ret_val, find 가 들어가 있음을 볼 수 있습니다. 제가 알고 있는 조건으로는 부등호나 ==등을 통한 조건식, 그리고 0이나 1을 써 줌으로써 성립되는 것 정도인데요, ret_val, find 등이 어떻게 조건식이 될 수 있는 건가요?
처음에 자바버전 여러개있어서 다 삭제하고 11로 다운받았습니다 cmd창에서도 java -version 검색하면 java version "11.0.17" 2022-10-18 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.17+10-LTS-269) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.17+10-LTS-269, mixed mode) 이렇게 나옵니다. 제가 처음에 spring initializer에서 버전을 3.xx로 다운 받아서 buildgradle에 여러가지 오류가 떴는데 다시 2.xx로 다운 받아서했는데 오류는 안뜹니다. 근데 sourcecompatibiloty가 11이 아닌 17로 나오는 이유가 먼가요?
메인 메소드에서 부모클래스 객체이름 = new 부모클래스 이런식으로 메모리가 형성되었는데 ex) Camera camera = new Camera(); Camera factorycamera = new Camera(); Camera speedcam = new Camera(); 다형성이기에 부모클래스 객체이름 = new 부모클래스or자식클래스 이런식으로 쓸수도있다 ex) Camera camera = new Camera(); Camera factorycamera = new Factorycamera(); Camera speedcam = new Speedcam(); 라고 강의에서 말씀하셨는데요. 둘의 차이가 그냥 뒤에 자식클래스 이름을 쓸수있다는건데 이게 무슨 변화가 있는건가요?
마지막 오토스케일링부분을 지금 현재 진행중인데 기존에 설정해놓은 인스턴스를 모두 중지나 삭제하고나서 오토스켈링 프라이빗 AMI로 인스턴스 올려서 진행하는건 지금 현재 아키텍처의 구성을 중간에 날려버리는게 아닌가 싶어서요 강의듣는게 좋앗던건 아키텍처를 구성하는것에 실습과 이론을 배우고싶어서 진행했는데 내용은 전반적으로 너무 좋은데 기존에것이 없어져서 실제로 처음에 보여진 아키텍처에서 프라이빗 서브넷 부분만 남아 있는데 기존 퍼블릭 부분도 다시 살려서 연동 할수 있는 부분 가이드 부탁 드립니다.
이전에 웹소켓 동작방식에 대해 남겨주신 답변 덕에 기본적인 동작방식은 이해했습니다. 다만 이번 예제에서 Layer가 개입되니 다시 헷갈리기 시작하네요 ㅠ Post 인스턴스는 Mixin을 통해 상속받은 CHANNEL_LAYER_GROUP_NAME를 가지고 있고 시그널을 통해 channel_layer_group_send를 호출하여 자신이 속한 그룹으로 메세지를 보내는 것 까지는 이해했습니다. 그렇다면 channel_layer_group_send를 통해 보내는 메세지는 어떻게 LivingblogConsumer로 전송되어 처리되는 건가요? 단순히 Post모델이 가지는 group이름과 Consumer에 명시해놓은 group이름이 같기 때문에 내부적으로 알아서 LivingblogConsumer를 호출하여 처리하는것이 맞나요? Layer는 서버와 클라이언트(Consumer) 중간 과정에 존재하며, 그룹명으로 구별하여 메세지 전송 대상을 구별하는 용도이고(즉 서로 다른 Consumer instance들을 묶어주는 역할), 이번 예제에서는 Redis가 그 역할을 수행하고 있다고 생각하면 될까요? 뭔가 알듯 말듯하긴 한데 확신이 안 서네요
안녕하세요. 현업을 경험하지 않고 1인 개발을 진행중인데, 강의에서 클래스 하나하나 구현하는 것을 보고 많이 배웠습니다. 좋은 강의 만들어주셔서 감사합니다. 강의 다보고 이것저것 테스트하면서 질문이 생겼는데, Packed Asset이라는 번들을 이미 다운받은 상황에서 새로 PackedAsset에 에셋을 추가한 상태로 Update a Previous Build 빌드를 하고 서버에 새로 빌드된 파일을 교체하면 다운받을 사이즈가 Packed Asset의 전체 사이즈가 되더라구요. 제가 원하는 건 새로 추가된 에셋만 다시 다운받도록 하는건데, bundle파일을 그대로 통으로 받는 것 같더라구요. 실제 서비스시 유저가 이미 다운받은 리소스는 다운받지않고 추가된 에셋만 다운받게 만들고 싶은데 해당 기능 구현하려면 따로 설정해야하는 부분이 있는지 궁금합니다.
연관관계 편의 메서드가 아래와 같은 상황에서 사용되는 것이 맞는지 궁금해서 질문드립니다. Project, Client 클래스가 서로 1 대 다 , 다 대 1 관계라고 했을 때 Project를 등록할 때 Client가 필요하기 때문에 Project 쪽에 이런 식으로 연관관계 편의 메서드를 작성해 주고 아래와 같이 Project의 createProject2 메서드를 이용하여 등록해준다고 하면 Project 쪽에서 작성해둔 연관관계 편의 메서드를 아래와 같이 사용하는 게 맞는 사용 방법인가요?
안녕하세요. 맥북에서 세팅이 잘 안돼서 문의드립니다 sudo까지 해도 잘 안되네요;; (bits 디렉토리에 대한 권한은 Read Write 모두 가능한 상태입니다.) 그리고 앞으로 계속 이 디렉토리에서 진행하면 되는건가요? 뭐가 문제일까요? 찾아도 잘 안나와서 질문드립니다 ㅠㅠ 감사합니다. 추가) 경로를 bits/stdc++ 가 아닌 /Library/Developer/CommandLineTools/usr/include/bits/stdc++.h 으로 전체 경로를 넣으니깐 실행되긴하는데 그러면 상관없나요?
react 기능 중 useEffect 사용을 언제 해야 하는지 잘 판단이 안될때가 많습니다. 강의 듣는중에 화면 rendering과 관련된 곳에 useEffect를 사용한다고 말씀하신것 같습니다. 그럼 입력박스에 텍스트가 입력되면서 onChange 이벤트로 인해 화면 rendering이 발생하여 useEffect를 적용하고, 넷플릭스 Navigation bar의 스크롤시 화면 rendering으로 인해 window.addEventListener 를 useEffect로 감쌌다고 이해하면 맞는건지 문의 드립니다.
저는 이차원 배열 사용을 할 때 거의 항상 vector<vector<int>> vec 이런식으로 사용했는데 vector<int> adj[10]; 이런식으로 하면 vector라는 자료형이 10개가 있다는 말인데 위의 이차원 vector와 같은 거 같기는 한데 adj같은 경우는 vector라는 컨테이너 자체의 갯수는 못늘리고 vec은 계속해서 동적할 당이 가능한데 왜 adj는 vector<int> adj[10];이런식으로 사용하시는 지 궁금합니다!