묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
RetryCount 세이브 관련 질문
안녕하세요, 강사님 세이브 파일을 구현하는 내용 중 여쭈어 볼 것이 있어 질문을 드립니다.void AABPlayerController::BeginPlay(){Super::BeginPlay();FInputModeGameOnly GameOnlyInputMode;SetInputMode(GameOnlyInputMode);SaveGameInstance = Cast<UABSaveGame>(UGameplayStatics::LoadGameFromSlot(TEXT("Player0"),0)); if (SaveGameInstance){SaveGameInstance->RetryCount++;}else{SaveGameInstance = NewObject<UABSaveGame>();SaveGameInstance->RetryCount = 0;}K2_OnGameRetryCount(SaveGameInstance->RetryCount);} 플레이어 컨트롤러의 BeginPlay 함수 부분인데요, 제가 이해한 바로는 Player0라는 세이브 파일을 불러드려서, 해당 세이브 파일이 존재한다면 세이브 파일에 기록된 RetryCount를 증가시키고 K2_OnGameRetryCount 가 실행된다 라고 이해했습니다. 그렇다면 세이브 파일이 이미 있다고 가정할 때, 게임을 처음 시작하자마자 RetryCount가 하나 증가한 상태로 HUD의 RetryCount가 업데이트 되어 보여져야 하는 것 아닌가 생각했습니다. 물론 실질적인 저장은 GameOver를 통해서 하기 때문에 게임을 단순히 켰다 끄면 증가한 RetryCount 값이 저장은 되지 않겠지만, 적어도 게임은 킨 시점에서는 세이브 파일을 통해 불러온 RetryCount 에 하나 상승한 값이 HUD에 보여져야 한다고 생각하는데 어째서 RetryCount가 증가하여 보여지지 않는지 궁금합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
강의 노트가 없습니다.
강의 수강하고 있는데 동영상 강의만 있고강의 노트를 받는 곳이 없습니다.
-
해결됨스프링 핵심 원리 - 고급편
Enhancer.setSuperclass
/** * Set the class which the generated class will extend. As a convenience, * if the supplied superclass is actually an interface, <code>setInterfaces</code> * will be called with the appropriate argument instead. * A non-interface argument must not be declared as final, and must have an * accessible constructor. * @param superclass class to extend or interface to implement * @see #setInterfaces(Class[]) */ public void setSuperclass(Class superclass) { if (superclass != null && superclass.isInterface()) { setInterfaces(new Class[]{superclass}); // SPRING PATCH BEGIN setContextClass(superclass); // SPRING PATCH END } else if (superclass != null && superclass.equals(Object.class)) { // affects choice of ClassLoader this.superclass = null; } else { this.superclass = superclass; // SPRING PATCH BEGIN setContextClass(superclass); // SPRING PATCH END } } 강사님 PDF 5.동적 프록시 기술 마지막 장인터페이스가 있는 경우에는 JDK 동적 프록시를 적용하고, 그렇지 않은 경우에는 CGLIB를 적용하려면어떻게 해야할까?두 기술을 함께 사용할 때 부가 기능을 제공하기 위해서 JDK 동적 프록시가 제공하는InvocationHandler 와 CGLIB가 제공하는 MethodInterceptor 를 각각 중복으로 만들어서 관리해야할까?라고 작성되어 있더라구요진짜 구현 클래스만 프록시를 만들어 주는지 궁금해서 찾아보니Enhancer 클래스 내부 메서드를 보면 setSuperclass 가 있는데내부에 인터페이스가 들어오던, 구체 클래스가 들어오던 알아서 구현체를 만들어준다고 되어있더라구요Enhancer 클래스 주석에도하지만 프록시가 인터페이스를 구현하는 것 외에 구체적인 기본 클래스를 확장할 수 있게 해준 것입니다.라고 작성되어 있습니다. 실제 코드로 작성해도 잘 동작합니다.package hello.proxy.my; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.cglib.proxy.Enhancer; import org.springframework.cglib.proxy.MethodInterceptor; import org.springframework.cglib.proxy.MethodProxy; import java.lang.reflect.Method; @Slf4j public class EnhancerTest { @Test void enhancerInterface() { MyInterfaceImpl myInterface = new MyInterfaceImpl(); Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(MyInterface.class); enhancer.setCallback(new MyInterceptor(myInterface)); MyInterface myInterfaceProxy = (MyInterface) enhancer.create(); myInterfaceProxy.call(); } static class MyInterceptor implements MethodInterceptor { private final MyInterface myInterface; public MyInterceptor(MyInterface myInterface) { this.myInterface = myInterface; } @Override public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable { log.info("로그 시작"); myInterface.call(); log.info("로그 종료"); return null; } } } interface MyInterface { void call(); } @Slf4j class MyInterfaceImpl implements MyInterface { @Override public void call() { log.info("나는 인터페이스를 구현한 클래스입니다."); } } //log 19:11:27.315 [Test worker] INFO hello.proxy.my.EnhancerTest - 로그 시작 19:11:27.317 [Test worker] INFO hello.proxy.my.MyInterfaceImpl - 나는 인터페이스를 구현한 클래스입니다. 19:11:27.317 [Test worker] INFO hello.proxy.my.EnhancerTest - 로그 종료Enhancer 클래스도 인터페이스나 구체 클래스를 모두 프록시로 생성할 수 있고더 향상된 호출 핸들러을 제공하는 MethodInterceptor 를 사용할 수도 있습니다.제 생각에는 MethodInterceptor 사용할 수 있는 Enhancer 프록시 객체를 디폴트로 사용할거같거든요 그런데 ProxyFactory는 false로 인터페이스랑 구체 클래스를 분리해서 생성하게 했더라구요 그 이유도 궁금합니다.제가 이해한게 맞다면 Enhancer도 인터페이스를 구현할 수 있는데 별도로 개발해야한다고 말씀하신 이유도 궁금합니다 !!
-
미해결스프링 핵심 원리 - 기본편
빈 스코프 강의에서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.빈 스코프 강의에서singtonbean.class를 통해 스프링 컨테이너를 만들었는데이 방식으로 스프링 컨테이너를 만들면 singtonbean 클래스 객체가 만들어져 스프링 컨테이너에 저장되는 건가요? 그리고 이 방식으로 스프링 컨테이너를 생성하면 해당 클래스는 componentscan의 대상이 된다고 하셨는데해당 클래스에 componentscan 애노테이션이 있는 것이랑 똑같다고 봐도 무방한가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
형 변환 질문입니다!
숫자를 문자열로 바꿀 때String.valueOf 를 사용하는 것과 Integer를 사용하는 것 2개를 알려주셨는데 String.valueOf를 사용하여 출력했을 때는 잘 출력이 되었습니다.Integer를 사용할 때도 아래 사진처럼 사용하면 안 되고 위에 String s1 = String.valueOf(93);을 함께 작성해야 하는 건가요?
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
CIFAIR10 CNN 모델 실습 중 모델 평가에 대한 질문
안녕하세요 선생님. 강의중 12분 20초쯤에 손실값과 정확도가 둘 다 높은 상태로 보이는데, 정확도가 높으면 손실값이 낮아야하는거 아닌가요? 아무리 테스트 데이터에 대한 평가라고 해도 정확도에 비해 손실값이 너무 높은게 좀 이상해보입니다. 학습할 때는 손실값을 낮게, 정확도는 높게라는 개념이 모델을 평가할 때는 조금 다른건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Cannot resolve method 'assertThat' in 'Assertions' 해결법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]testMember을 할 때 Assertion.assertThat을 하면 asserThat에서 빨간 밑줄이 뜹니다. 에러 내용은 Cannot resolve method 'assertThat' in 'Assertions'입니다. 질문들도 찾아보고 인터넷 해결법들도 시도해봤으나, 잘 맞지 않네요. 최대한 수업자료 따라가고 있는데, 하란 것들도 다 세팅했습니다. 유일하게 다른 점은 스프링부트의 버전인데, 공식 사이트에서 2.7 버전까지 밖에 안 떠서 2.7.16버전으로 시작했습니다. gradle세팅도 다 맞췄고요. 결과적으로 저는 그냥 Assertions.asserEquals를 사용하는 것으로 해결했습니다. 저랑 비슷한 문제 겪으시는 분들은 이렇게 하셔도 될 듯합니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
PutFieldText 함수 사용 관련 질문
def 필드삽입(index, value): field_list = ["이름", "성별", "생일", "취미"] for idx, field in enumerate(field_list): hwp.PutFieldText(f"{field}{{{{{index}}}}}", value[idx])이 코드에서 다음과 같이 필드 이름을 넣어야 하는 이유를 알려 주시면 감사하겠습니다. 결국 필드 이름만 필요한 것 같은데 index가 왜 필요하며 괄호의 갯수는 왜 여러개인지 잘 모르겠습니다.{field}{{{{{index}}}}}
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
버전 오류
현재 하이버네이트와 H2데이터베이스 버전 설정오류가 뜹니다.해결 방법을 알 수 있을까요?
-
미해결구글애널리틱스 실무활용
GA실무활용 강의인데 GA4로 업그레이드 안해주나요?
GA4를 실무에서 활용하고 싶어서 강의를 수강했는데 강의를 대체 몇 년 전에 찍으신건지...UA 데이터는 처리 중지됐는데 GA4에 맞춰서 강의를 올려주시던가 강의를 판매하면 안 되는거 아닌가요?아래 질문 글에도 답변 하나도 안 다시고 확인도 안 하시는거 같네요^^다른 플랫폼에서 강의한 거 그대로 판매하시는 거 같은데 강의 편집을 누가 한 건지는 모르겠지만 강의자료도 없고 다른 강의들과 커리큘럼 비교해서 구매했는데 진짜 화나네요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대다 관계의 주인
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 8분20초 다대다 관계 설명을 듣다 궁금한점이 생겨 질문 올립니다. 다대다 양방향 관계에서는 주인을 어떤 원리로 정하는 것인가요?? 강사님께서 items 를 다대다 양방향 연관관계의 주인으로 설정하셨는데 그 원리가 궁금합니다!
-
미해결차이를 만드는 AWS 클라우드 보안 첫걸음
demo에서 사용하는 json 설정파일들
강의내용에 demo에서 사용하는 json 설정파일은 어디서 찾아볼수 있는건가요?
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
너무 쉬운 질문인데 ㅠㅠ.. 답변 부탁드립니다.
이렇게 계단식으로 형성되는 이유가 무엇일까요?왜 한개씩 데이터가 빠지는지 궁금합니다 아주 단순한 이유일것 같은데.. 이해를 못하고 있어서 답답하네요... ㅠㅠㅠㅠ
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
win32 에러 관련
import win32com.client as win32 hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") 위의 코드를 실행 후 아래의 에러 메시지가 나오는데 어떻게 해결해야 할까요? hwp = win32.gencache.EnsureDTraceback (most recent call last): File "d:\GTD\02. 프로젝트\파이썬\한글\hwp_field_test.py", line 4, in <module> hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32com\client\gencache.py", line 621, in EnsureDispatch disp = win32com.client.Dispatch(prog_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32com\client\__init__.py", line 119, in Dispatch return __WrapDispatch(dispatch, userName, resultCLSID, typeinfo, clsctx=clsctx) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32com\client\__init__.py", line 47, in __WrapDispatch klass = gencache.GetClassForCLSID(resultCLSID) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32com\client\gencache.py", line 200, in GetClassForCLSID mod = GetModuleForCLSID(clsid) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32com\client\gencache.py", line 245, in GetModuleForCLSID mod = GetModuleForTypelib(typelibCLSID, lcid, major, minor) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32com\client\gencache.py", line 287, in GetModuleForTypelib AddModuleToCache(typelibCLSID, lcid, major, minor) File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32com\client\gencache.py", line 661, in AddModuleToCache SetTypelibForAllClsids(mod.CLSIDToClassMap) ^^^^^^^^^^^^^^^^^^^ AttributeError: module 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0' has no attribute 'CLSIDToClassMap'ispatch("hwpframe.hwpobject")
-
미해결스프링 시큐리티 OAuth2
AuthorizedClient를 Service를 통해서 가져올시
위에 사진으로 authorizedClient가 nullpoint 에러가 발생합니다. repository시에는 authorizedClient는 잘 가져오는데 service로 load시에 못 가져오는거 같습니다. 왜 그런건지 궁금합니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
jpa 시작하기 애플리케이션 개발 부분
제가 지금 jpamain 을 추가하고 실행을 시켰는데 해당 에러가 뜹니다
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
송아지 찾기
while (!queue.isEmpty()) {int size = queue.size(); for (int i = 0; i < size; i++) { int current = queue.poll(); if (current == E) {return jumps; for 문 돌리는 코드에서 for(int i=0; i<queue.size; )로 직접 돌리면 size값이 달라지던데 이게 왜 그런걸까요 ?이해가 잘 안가서 질문드립니다
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
local variable 'movie_ratings' referenced before assignment
안녕하세요, 사용자의 평가경향을 고려한 CF 의 강의 코드를 실습할 때 아래와 같은 에러 메시지가 발생합니다. UnboundLocalError Traceback (most recent call last) <ipython-input-4-93f75427a941> in <cell line: 1>() ----> 1 score(CF_knn_bias, 30) 2 frames<ipython-input-2-7b52bdfa2c05> in score(model, neighbor_size) 38 id_pairs = zip(x_test['user_id'], x_test['movie_id']) 39 # 모든 사용자 - 영화 쌍에 대해 주어진 예측 모델에 의해 예측값 계산 및 리스트형 데이터 생성 ---> 40 y_pred = np.array([model(user, movie, neighbor_size) for (user, movie) in id_pairs]) 41 # 실제 평점값 42 y_true = np.array(x_test['rating']) <ipython-input-2-7b52bdfa2c05> in <listcomp>(.0) 38 id_pairs = zip(x_test['user_id'], x_test['movie_id']) 39 # 모든 사용자 - 영화 쌍에 대해 주어진 예측 모델에 의해 예측값 계산 및 리스트형 데이터 생성 ---> 40 y_pred = np.array([model(user, movie, neighbor_size) for (user, movie) in id_pairs]) 41 # 실제 평점값 42 y_true = np.array(x_test['rating']) <ipython-input-3-d1a9c3391126> in CF_knn_bias(user_id, movie_id, neighbor_size) 10 sim_scores = user_similarity[user_id].copy() 11 movie_scores = rating_bias[movie_id].copy() ---> 12 none_rating_idx = movie_ratings[movie_ratings.isnull()].index 13 movie_ratings = movie_ratings.drop(none_rating_idx) 14 sim_scores = sim_scores.drop(none_rating_idx) UnboundLocalError: local variable 'movie_ratings' referenced before assignment구글링을 해보니 global 변수명을 설정해줘야 한다고 나오는데, 해결이 어려워서 질문 드립니다!강연자님께서 실행한 코드에서는 해당 오류가 발생하지 않아서.. 왜 제 환경에서는 변수명 에러가 발생하는지 알 수 있을까요?아래는 전체 코드 입니다. 감사합니다. import os import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics.pairwise import cosine_similarity ####### 데이터 불러오기 데이터 셋 만들기 ###### base_src = 'drive/MyDrive/RecoSys/Data' # user u_user_src = os.path.join(base_src, 'u.user') u_cols = ['user_id', 'age', 'sex', 'occupation', 'zip_code'] users = pd.read_csv(u_user_src, sep = '|', names = u_cols, encoding = 'latin-1') users = users.set_index('user_id') # item u_item_src = os.path.join(base_src, 'u.item') i_cols = ['movie_id', 'title', 'release date', 'video release date', 'IMDB URL', 'unknown', 'Action', 'Adventure', 'Animation', 'Children\'s', 'Comedy', 'Crime', 'Documentary', 'Drama', 'Fantasy', 'Film-Noir', 'Horror', 'Musical', 'Mystery', 'Romance', 'Sci-Fi', 'Thriller', 'War', 'Western'] movies = pd.read_csv(u_item_src, sep = '|', names = i_cols, encoding = 'latin-1') movies = movies.set_index('movie_id') # rating u_data_src = os.path.join(base_src, 'u.data') r_cols = ['user_id', 'movie_id', 'rating', 'timestamp'] ratings = pd.read_csv(u_data_src, sep = '\t', names = r_cols, encoding= 'latin-1') # rmse def RMSE(y_true, y_pred): return np.sqrt(np.mean((np.array(y_true) - np.array(y_pred))**2)) def score(model, neighbor_size = 0): # test data user_id 와 movie_id pair 맞춰 튜플원소 리스트데이터 id_pairs = zip(x_test['user_id'], x_test['movie_id']) # 모든 사용자 - 영화 쌍에 대해 주어진 예측 모델에 의해 예측값 계산 및 리스트형 데이터 생성 y_pred = np.array([model(user, movie, neighbor_size) for (user, movie) in id_pairs]) # 실제 평점값 y_true = np.array(x_test['rating']) return RMSE(y_true, y_pred) x = ratings.copy() y = ratings['user_id'] x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.25, stratify = y) rating_matrix = x_train.pivot(index = 'user_id', columns = 'movie_id', values = 'rating') matrix_dummy = rating_matrix.copy().fillna(0) user_similarity = cosine_similarity(matrix_dummy, matrix_dummy) user_similarity = pd.DataFrame(user_similarity, index = rating_matrix.index, columns = rating_matrix.index) ####### 사용자 평가 경향을 고려한 함수 ######## rating_mean = rating_matrix.mean(axis = 1) # axis=1 (columns), user의 모든 평점의 평균) rating_bias = (rating_matrix.T - rating_mean).T # 해당 유저-아이템 평점 - 사용자의 평점 평균의 편차 #print(rating_bias) #사용자 평가 경향을 고려한 함수 def CF_knn_bias (user_id, movie_id, neighbor_size = 0): if movie_id in rating_bias.columns: sim_scores = user_similarity[user_id].copy() movie_scores = rating_bias[movie_id].copy() none_rating_idx = movie_ratings[movie_ratings.isnull()].index movie_ratings = movie_ratings.drop(none_rating_idx) sim_scores = sim_scores.drop(none_rating_idx) if neighbor_size == 0: prediction = np.dot(sim_scores, movie_ratings) / sim_scores.sum() prediction = prediction + rating_mean[user_id] else: if len(sim_scores) > 1: neighbor_size = min(neighbor_size, len(sim_scores)) sim_scores = np.array(sim_scores) movie_ratings = np.array(movie_ratings) user_idx = np.argsort(sim_scores) sim_scores = sim_scores[user_idx][-neighbor_size:] movie_ratings = movie_ratings[user_idx][-neighbor_size:] prediction = np.dot(sim_scores, movie_ratings) / sim_scores.sum() prediction = prediction + rating_mean[user_id] else: prediction = rating_mean[user_id] else: prediction = rating_mean[user_id] return prediction score(CF_knn_bias, 30)
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
에러 처리 궁금한점
안녕하세요현재는 각 도메인에서 서킷브레이커를 적용했는대,api-gateaway에서는 처리를 해줄 수 없을까요?(공통적으로)현재는 도메인수가 적지만 만약에 라우팅 될 도메인들이 10개 이상 넘어가면 공통적으로 처리할 수 있는 것도 필요해보여서요. (어느 도메인으로 라우팅될조 모르지만)
-
해결됨면접관 입장에서 작성하는 합격하는 이력서와 포트폴리오
디스코드
강의 소개에 나와 있는 디스크드 링크로 접근하니 '올바르지 않은 초대장'이라고 합니다.이력서 템플릿을 받으려고 하는데 다른 방법이 있을까요?