묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래머를 위한 강화학습(저자 직강)
episode중간에 weight나 모델을 저장하고싶습니다.
안녕하십니까 수강생입니다. 지난번 질문에 대해 답변해주셔서 정말 감사합니다. 또 매우 많은 도움이 되었습니다. 하루 하루 강의를 들으며 발전해나가고 있어 매우 뿌듯함을 느끼고 있습니다. 선생님께 감사의 말씀을 드립니다. 이번에 질문드리게 된 내용은, episode가 500번 정도인 경우에는 잠깐 기다리면 곧 끝나는 양입니다. 가끔씩 episode가 많은면 1000번 혹은 2000번까지 진행하고 있는데요, 500번 인경우에는 부족하고 한 번에 2000번의 episode를 진행하니, 1500번 정도에서 더 이상 reward가 높아지지 않고 정체되는 경우가 가끔 있었습니다. 이 경우에는 2000번을 다하고 model.save를 하기까지 기다리기가 매우 번거로웠습니다. 중간에 episode가 100번마다 model을 save하고자 합니다. if (episdoe % 100) ==0: 이런 식으로 Class Agent(object) 내 def train(self)에 코드를 짜 넣어보려고 했습니다. 아직까지 해결 방법이 잘 떠오르지가 않고있습니다ㅠ 혹시 중간 중간 모델을 세이브할 tf.keras.callback.Modelcheckpoint와 비슷한 코드를 알 수 있을까요? 보통의 일반적 딥러닝 모델은 epoch마다 업데이트하며 저장한다는 것은 알고있었습니다. 하지만 강화학습의 경우에는 다른 방법이 필요할것같다는 생각에 질문하게 되었습니다. 감사합니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
Section으로 묶여있는데 react-virtulized와 같은 가상화 라이브러리를 적용할 수 있을까요??
최근 타 프로젝트에서 무한스크롤과 렌더링 성능 이슈를 해결하면서 React.memo와 react-virtualized, react-window 등의 방법을 찾아서 해결했었는데 그 때의 상황은 노드버드와 같이 같은 컴포넌트를 무한으로 렌더하는 상황이였습니다. 해결은 react-virtualized를 이용했었습니다. 이번 슬리액트강좌에도 무한스크롤이 있길래 잘 보니 날짜별로 묶어 표시하는 기능이 구현되어 있던데 어떻게 해야 적용이 될 지 감이 잘 안잡히네요. 뷰포트의 날짜 데이터를 감지해서 화면에 강제로 뿌리는 억지?스러운 방법 밖에 생각나지 않는데단순히 같은 컴포넌트의 데이터를 렌더링 하는게 아니라 날짜별 섹션으로 묶어 표시하려고 하면react-virtulized나 react-window는 적합하지 않은 라이브러리 선택일지,깔끔한 방법이 있는데 제가 생각을 못하는 것인지 의견이 궁금해서 질문으로 남깁니다! 추가로 모바일이나 태블릿에서 사용 시 innerScroll이라고 해야하나, 화면 전체의 windowScroll?이 아닌 경우 상단을 터치하여 최상단으로 스크롤하는 기능이 먹지 않던데 엘리먼트의 스크롤을 화면 전체의 스크롤로 연동시키는 등의 방법으로 해결하신 경험이 있으시면 관련 내용도 슬쩍 공유해주시면 감사하겠습니다.,.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
실습 중 POST 의 경우에 에러 메세지가 출력됩니다
강사님 안녕하세요~~~ 다름이 아니라, 뒷 부분 실습을 따라서 진행하던 중에 첨부드린 사진과 같이 http --auth user2:1234 http://localhost:8000/post/1/ 는 잘 실행되는데 http --auth user2:1234 http://localhost:8000/post/1/ http --auth user2:1234 POST http://localhost:8000/ message="user 2가 생성하는 첫번째 포스팅" 이렇게 POST를 하면 에러가 발생을 하는 것을 볼 수 있었습니다. ...중략 (아주 긴 에러 메세지가 등장합니다.) 문제의 원인이 무엇인지 잘 모르겠어서 이렇게 질문을 남겨드립니다. ㅠㅠ !! 혹 강사님께서 보이시는 문제점을 알려주시면 감사할 것 같습니다. 그럼 정말 감사합니다.
-
미해결인공지능 기초수학
chapter10-2. 벡터와공간 질문드립니다.
안녕하세요. 문과생인데 내용 보면서 조금씩 익히고 있습니다. 해당 강의 38분 53초에 나오는 랭크 연습문제에서 왜 갑자기 선형독립인 건지 이해가 되지 않습니다.. 선형독립은 벡터에 스칼라를 곱했을 때 이 스칼라가 모두 0일 때 선형독립이다..요거였는데 왜 갑자기 이게 선형독립이 되는건가요? ㅜㅜ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
서비스 계층에서 비즈니스 로직을 넣은 이유?
안녕하세요, 몇 가지 궁금한게 있어서 질문드립니다. 1. (2:10 )서비스 계층에서 로그인 체크 비즈니스 로직을 사용한 이유가 있을까요?? 2. (8:10) 글로벌 오류로 처리하고 다시 폼으로 돌려보냈는데, 그렇다면 예외 처리는 어떤 경우에 써야하는 것인가요?? 항상 답변 감사합니다!!
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
테스트벤치 사용시
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. chapter 5 폴더 내에 새로운 모듈 d_ff 를 만들어서 새로 제작 후 tb_d_ff 의 DUT 값을 새로 제작한 모듈에 맞춰 바꾸어 주었는데 ./build 가 정상적으로 동작하지 않고 다음과 같은 에러가 나타났습니다. 새로 제작한 모듈을 찾지 못하는것같은데 어떻게 해결해야 하는지 모르겠어서 질문드립니다. 감사합니다~
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
포스팅 업로드 폼에서 Submit버튼이 작동하지 않는 이슈
강사님! 안녕하세요! 오늘 아침부터 포스팅 쓰기 화면 및 API 구현에서 폼에 막혀 스스로 풀다... 저녁이 되야 질문드립니다 ..ㅠㅠ 아래 사진과 같이 Submit버튼을 눌러도 아무런 인터렉팅이 발생하지 않는데요... PostNewForm.js 확인 부탁드릴 수 있을까요?? ㅠㅠ https://github.com/kimsk920825/django-with-react-rev5_submit_issue/blob/post_upload_issue/frontend/src/components/PostNewForm.js
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
공유하기 버튼을 눌렀을때 이미지가 안나옵니다.
결과를 공유할때 이미지가 안나옵니다. 계속 확인중인데 잘 모르겠네요 .. 어디부분을 수정해야할까요??
-
미해결Nuxt.js 시작하기
자동완성 기능 질문 드립니다.
안녕하세요 강사님 질문 좀 드릴께요. 강의 섹션 4.검색 UI 컴포넌트화를 진행하고 있습니다. <Search 타이핑하면 자동완성 기능을 사용하고 계시는데, 저는 아래처럼 자동완성 기능이 나타나지 않습니다. 제가 앞에서 놓쳤던 부분이 있을까요? 감사합니다.
-
미해결R로 배우는 통계
콘솔창에 경고메세지가 계속 뜹니다. + 테마설정x
영상 설명대로 진행하고 있는데요, 영상에서 설명해주신 부분은 전무 영문으로 작성하였는데, Warning message: In normalizePath(path.expand(path), winslash, mustWork) : path[1]="C:/Users/???/Documents": 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다 이런 경고 메세지가 계속 뒤에 이어지네요(설치는 됩니다). 처음에 윈도우 계정 이름을 한글로 해서 그런것 같은데, 계정 이름을 영문으로 바꿀경우 다른 프로그램들에 문제가 생기지 않나요? 계정이름 바꿔서 Rstudio 다시 설치하는건 크게 어렵지 않을 것 같은데, 다른 프로그램들에 문제 생길까봐 그게 걱정이네요ㅠ + 테마 설정은 안되네요 > rscodeio::install_theme() Error in value[[3L]](cond) : Unable to add the theme file "C:/R/R-4.1.2/library/rscodeio/resources/rscodeio.rstheme". file name conversion problem -- name too long? 이렇게 뜹니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
async, await 질문
제가 자바스크립트 쪽에서 promise 를 배운지 얼마 안돼 async, await 부분을 잘 모르는데요, findOne() 부분이 시퀄라이즈로 데이터를 가져오는 비동기적인 작업이라 넣어주신걸까요? 저기서 async, await 의 정확한 동작원리가 궁금한데 간략하게 설명해주실 수 있을까요..!
-
미해결실전! 스프링 데이터 JPA
커맨드와 쿼리 분리
안녕하세요 영한님 강의 후반부에 커맨드와 쿼리 분리 라고 말씀하셨는데 여기서 뜻하는 커맨드는 어떤 것을 의미하는 것일까요?
-
미해결윈도우 악성코드(malware) 분석 입문 과정
파일 다운로드
ida pro 파일 어디서 다운받나요 자료 다운로드 경로가 확인이 안되는데요 ida 무료버전 받아도 상관없을까요?
-
미해결Flutter 초급 - Http통신, 상태관리
해결이 어려운 부분이 있습니다 ㅠㅠ
test/widget_test.dart:16:35: Error: The argument type 'String' can't be assigned to the parameter type 'Uri'. - 'Uri' is from 'dart:core'. var response = await http.get('https://api.airvisual.com/v2/nearest_city?key=05dad879-fd62-46f1-bdcd-7f4e022f6b1f'); ^ Failed to load "/Users/goseung-wan/Documents/flutter_dust/test/widget_test.dart": Compilation failed for testPath=/Users/goseung-wan/Documents/flutter_dust/test/widget_test.dart 이런식으로 나오는데 어떤 부분을 수정하면 될까요?? url에 숫자가 포함되어서 그런건지..
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
나만의 train model 생성
안녕하세요. 이렇게 귀한 강의를 접하게 되어 매우 기쁩니다. 선생님 과정을 수강하고 있어 많은 도움이 되긴 합니다만, 한가지 문의드리고자 합니다. CNN(또는 여타 기술)으로 instance(또는 object) segmentation 모델을 생성할때, 보통은 pre-trained 된 모델을 이용하는데요, 저만의 독특한 개체를 사진에서 segment 해야 하는 업무가 있습니다. 예를들면, 사진속에서 제가 만든 독특한 제품을 segment 해 내는 것입니다. 사람이나 고양이나 이런게 아니어서 pre-train 된 모델이 없습니다 그렇다면, train mode을 처음부터 만들어야 할텐데.. --> 맞는지요? 맞다면, 선생님의 어떤 파트를 수강하면 hint를 얻을 수 있을지 문의드립니다. 다른 과정도 괜찮습니다. 조언을 구하고자 합니다. 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
강의중 궁금한게 있습니다.!!
++ 혹시 ... 서버 실행 중 Executing (default): SELECT 1+1 AS result db 연결 성공 ------------------------------------------------------------------------------------------------ 초기 테이블 생성 중 create 관련 메시지가 안뜨고... Executing (default): SELECT 1+1 AS result 저 메시지가 뜨는데 이유가 뭘까요 ㅠㅠ. 초기 테이블 작성하고 첫 시도 입니다.
-
미해결쉽고 빠르게 익히는 Power BI (기본편)
파워 BI 서비스에 로그인
파워서비스에 로그인 하려고 하니 선생님 처럼 그냥 로그인 되는게 아니라, Microsoft Authenticator 앱을 받고 시작하라는 말이 나옵니다. 스마트폰에 해당 앱을 다운 받은 다음부터는 뭐라 설명드리기 어려운 메시지가 계속 뜨면서 로그인이 안되고 있습니다. 참고로 파워Bi 데스크탑은 설치하였습니다. 어떻게 해결해야 할까요? 답변을 부탁드립니다.
-
미해결
인텔리제이로 crud 프로젝트 시작하려는데 빌드에서 자꾸 오류가 납니다
에러 로그는 이렇게 뜨는데 구글링을 해도 도저히 답이 안나오네요 .. Can not load tasks for root project 'mine' org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':assemble'. at org.gradle.api.internal.tasks.DefaultTaskContainer.taskCreationException(DefaultTaskContainer.java:715) at org.gradle.api.internal.tasks.DefaultTaskContainer.access$600(DefaultTaskContainer.java:76) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.domainObjectCreationException(DefaultTaskContainer.java:707) at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:948) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.access$1401(DefaultTaskContainer.java:654) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider$1.run(DefaultTaskContainer.java:680) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.tryCreate(DefaultTaskContainer.java:676) at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.calculateOwnValue(DefaultNamedDomainObjectCollection.java:929) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103) at org.gradle.api.internal.provider.Collectors$ElementFromProvider.collectEntries(Collectors.java:98) at org.gradle.api.internal.provider.Collectors$TypedCollector.collectEntries(Collectors.java:329) at org.gradle.api.internal.provider.Collectors$TypedCollector.collectInto(Collectors.java:324) at org.gradle.api.internal.collections.DefaultPendingSource.realize(DefaultPendingSource.java:61) at org.gradle.api.internal.collections.DefaultPendingSource.realizePending(DefaultPendingSource.java:39) at org.gradle.api.internal.collections.SortedSetElementSource.iterator(SortedSetElementSource.java:63) at org.gradle.api.internal.DefaultDomainObjectCollection.iterator(DefaultDomainObjectCollection.java:128) at org.gradle.api.internal.tasks.DefaultTaskContainer.iterator(DefaultTaskContainer.java:620) at java.base/java.util.AbstractCollection.addAll(AbstractCollection.java:335) at java.base/java.util.TreeSet.addAll(TreeSet.java:310) at java.base/java.util.TreeSet.<init>(TreeSet.java:160) at org.jetbrains.plugins.gradle.tooling.builder.TasksFactory$1.execute(TasksFactory.java:54) at org.jetbrains.plugins.gradle.tooling.builder.TasksFactory$1.execute(TasksFactory.java:48) at org.gradle.api.internal.DefaultMutationGuard$2.execute(DefaultMutationGuard.java:44) at org.gradle.internal.Actions.with(Actions.java:249) at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$1.run(BuildOperationCrossProjectConfigurator.java:69) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.lambda$runProjectConfigureAction$0(BuildOperationCrossProjectConfigurator.java:66) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0(DefaultProjectStateRegistry.java:360) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:378) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState(DefaultProjectStateRegistry.java:359) at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.runProjectConfigureAction(BuildOperationCrossProjectConfigurator.java:66) at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.access$100(BuildOperationCrossProjectConfigurator.java:32) at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$BlockConfigureBuildOperation.run(BuildOperationCrossProjectConfigurator.java:111) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.runBlockConfigureAction(BuildOperationCrossProjectConfigurator.java:62) at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.allprojects(BuildOperationCrossProjectConfigurator.java:53) at org.gradle.api.internal.project.DefaultProject.allprojects(DefaultProject.java:701) at org.gradle.api.internal.project.DefaultProject.allprojects(DefaultProject.java:696) at org.jetbrains.plugins.gradle.tooling.builder.TasksFactory.getAllTasks(TasksFactory.java:62) at org.jetbrains.plugins.gradle.tooling.builder.TasksFactory.collectTasks(TasksFactory.java:42) at org.jetbrains.plugins.gradle.tooling.builder.TasksFactory.getTasks(TasksFactory.java:69) at org.jetbrains.gradle.profiler.builder.JavaTaskModelBuilderImpl.buildAll(JavaTaskModelBuilderImpl.java:34) at org.jetbrains.plugins.gradle.tooling.internal.ExtraModelBuilder.buildAll(ExtraModelBuilder.java:111) at org.jetbrains.plugins.gradle.tooling.internal.ExtraModelBuilder.buildAll(ExtraModelBuilder.java:78) at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$BuilderWithParameter.build(DefaultToolingModelBuilderRegistry.java:287) at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$UserCodeAssigningBuilder.lambda$build$0(DefaultToolingModelBuilderRegistry.java:374) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext$CurrentApplication.reapply(DefaultUserCodeApplicationContext.java:109) at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$UserCodeAssigningBuilder.build(DefaultToolingModelBuilderRegistry.java:374) at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$LockSingleProjectBuilder.lambda$build$0(DefaultToolingModelBuilderRegistry.java:304) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$withProjectLock$2(DefaultProjectStateRegistry.java:408) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock(DefaultProjectStateRegistry.java:408) at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:389) at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$LockSingleProjectBuilder.build(DefaultToolingModelBuilderRegistry.java:304) at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$BuildOperationWrappingBuilder$1.call(DefaultToolingModelBuilderRegistry.java:337) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73) at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$BuildOperationWrappingBuilder.build(DefaultToolingModelBuilderRegistry.java:334) at org.gradle.internal.build.DefaultBuildToolingModelController$AbstractToolingScope.getModel(DefaultBuildToolingModelController.java:82) at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getModel(DefaultBuildController.java:106) at org.gradle.tooling.internal.consumer.connection.ParameterAwareBuildControllerAdapter.getModel(ParameterAwareBuildControllerAdapter.java:39) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.getModel(UnparameterizedBuildController.java:113) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.getModel(NestedActionAwareBuildControllerAdapter.java:31) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel(UnparameterizedBuildController.java:97) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel(NestedActionAwareBuildControllerAdapter.java:31) at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel(UnparameterizedBuildController.java:81) at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel(NestedActionAwareBuildControllerAdapter.java:31) at org.jetbrains.plugins.gradle.model.ProjectImportAction$MyBuildController.findModel(ProjectImportAction.java:581) at org.jetbrains.plugins.gradle.model.ClassSetProjectImportModelProvider.populateProjectModels(ClassSetProjectImportModelProvider.java:31) at org.jetbrains.plugins.gradle.model.ProjectImportAction.getProjectModels(ProjectImportAction.java:290) at org.jetbrains.plugins.gradle.model.ProjectImportAction.access$600(ProjectImportAction.java:42) at org.jetbrains.plugins.gradle.model.ProjectImportAction$5.execute(ProjectImportAction.java:206) at org.jetbrains.plugins.gradle.model.ProjectImportAction$5.execute(ProjectImportAction.java:203) at org.jetbrains.plugins.gradle.model.ProjectImportAction.fetchProjectBuildModels(ProjectImportAction.java:219) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute(ProjectImportAction.java:126) at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute(ProjectImportAction.java:42) at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter.execute(InternalBuildActionAdapter.java:64) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.runAction(AbstractClientProvidedBuildActionRunner.java:131) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.fromBuildModel(AbstractClientProvidedBuildActionRunner.java:104) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.fromBuildModel(AbstractClientProvidedBuildActionRunner.java:84) at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator.fromBuildModel(DefaultBuildTreeModelCreator.java:57) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$fromBuildModel$1(DefaultBuildTreeLifecycleController.java:82) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:106) at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:166) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:238) at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:166) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:166) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:103) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.fromBuildModel(DefaultBuildTreeLifecycleController.java:74) at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction(AbstractClientProvidedBuildActionRunner.java:43) at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run(ClientProvidedPhasedActionRunner.java:53) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:69) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:119) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40) at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:128) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40) at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:65) at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:65) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270) at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:119) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:103) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64) at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:100) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:88) at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:69) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:62) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:41) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:63) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:58) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75) at org.gradle.util.internal.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:832) Caused by: org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':bootJar'. at org.gradle.api.internal.tasks.DefaultTaskContainer.taskCreationException(DefaultTaskContainer.java:715) at org.gradle.api.internal.tasks.DefaultTaskContainer.access$600(DefaultTaskContainer.java:76) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.domainObjectCreationException(DefaultTaskContainer.java:707) at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:948) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.access$1401(DefaultTaskContainer.java:654) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider$1.run(DefaultTaskContainer.java:680) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.tryCreate(DefaultTaskContainer.java:676) at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.calculateOwnValue(DefaultNamedDomainObjectCollection.java:929) at org.gradle.api.internal.provider.AbstractMinimalProvider.get(AbstractMinimalProvider.java:84) at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.get(DefaultNamedDomainObjectCollection.java:915) at org.gradle.api.internal.artifacts.dsl.LazyPublishArtifact.getDelegate(LazyPublishArtifact.java:108) at org.gradle.api.internal.artifacts.dsl.LazyPublishArtifact.getType(LazyPublishArtifact.java:88) at org.gradle.api.internal.plugins.DefaultArtifactPublicationSet$DefaultArtifactProvider.calculateOwnValue(DefaultArtifactPublicationSet.java:90) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103) at org.gradle.api.internal.provider.Collectors$ElementsFromCollectionProvider.collectEntries(Collectors.java:216) at org.gradle.api.internal.provider.Collectors$TypedCollector.collectEntries(Collectors.java:329) at org.gradle.api.internal.provider.Collectors$TypedCollector.collectInto(Collectors.java:324) at org.gradle.api.internal.collections.AbstractIterationOrderRetainingElementSource$Element.realize(AbstractIterationOrderRetainingElementSource.java:316) at org.gradle.api.internal.collections.AbstractIterationOrderRetainingElementSource.realizePending(AbstractIterationOrderRetainingElementSource.java:141) at org.gradle.api.internal.DefaultDomainObjectCollection.addEagerAction(DefaultDomainObjectCollection.java:224) at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:142) at org.gradle.api.internal.CompositeDomainObjectSet.addCollection(CompositeDomainObjectSet.java:110) at org.gradle.api.internal.CompositeDomainObjectSet.create(CompositeDomainObjectSet.java:58) at org.gradle.api.internal.collections.DefaultDomainObjectCollectionFactory.newDomainObjectSet(DefaultDomainObjectCollectionFactory.java:112) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.initAllArtifacts(DefaultConfiguration.java:977) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getAllArtifacts(DefaultConfiguration.java:958) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getAllArtifacts(Unknown Source) at org.gradle.api.plugins.BasePlugin.lambda$configureAssemble$4(BasePlugin.java:117) at org.gradle.api.internal.DefaultMutationGuard$2.execute(DefaultMutationGuard.java:44) at org.gradle.api.internal.DefaultMutationGuard$2.execute(DefaultMutationGuard.java:44) at org.gradle.configuration.internal.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:123) at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:110) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:107) at org.gradle.internal.ImmutableActionSet$SetWithManyActions.execute(ImmutableActionSet.java:329) at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:262) at org.gradle.api.internal.DefaultNamedDomainObjectCollection.doAdd(DefaultNamedDomainObjectCollection.java:113) at org.gradle.api.internal.DefaultDomainObjectCollection.add(DefaultDomainObjectCollection.java:256) at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:944) ... 186 more Caused by: org.gradle.api.tasks.TaskInstantiationException: Could not create task of type 'BootJar'. at org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:95) at org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:82) at org.gradle.util.internal.GUtil.uncheckedCall(GUtil.java:458) at org.gradle.api.internal.AbstractTask.injectIntoNewInstance(AbstractTask.java:216) at org.gradle.api.internal.project.taskfactory.TaskFactory.create(TaskFactory.java:82) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory.create(AnnotationProcessingTaskFactory.java:48) at org.gradle.api.internal.tasks.DefaultTaskContainer.createTask(DefaultTaskContainer.java:322) at org.gradle.api.internal.tasks.DefaultTaskContainer.access$200(DefaultTaskContainer.java:76) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.createDomainObject(DefaultTaskContainer.java:697) at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.createDomainObject(DefaultTaskContainer.java:654) at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:941) ... 236 more Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/loader/tools/Layers at org.springframework.boot.gradle.tasks.bundling.BootJar.<init>(BootJar.java:69) at org.springframework.boot.gradle.tasks.bundling.BootJar_Decorated.<init>(Unknown Source) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) at org.gradle.internal.instantiation.generator.AsmBackedClassGenerator$InvokeConstructorStrategy.newInstance(AsmBackedClassGenerator.java:2078) at org.gradle.internal.instantiation.generator.AbstractClassGenerator$GeneratedClassImpl$GeneratedConstructorImpl.newInstance(AbstractClassGenerator.java:488) at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.doCreate(DependencyInjectingInstantiator.java:64) at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.newInstanceWithDisplayName(DependencyInjectingInstantiator.java:50) at org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:88) ... 246 more Caused by: java.lang.ClassNotFoundException: org.springframework.boot.loader.tools.Layers at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:435) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 258 more 그리고 Could not create task ':bootJar'. Could not create task of type 'BootJar'. org/springframework/boot/loader/tools/Layers org.springframework.boot.loader.tools.Layers 저 에러밑에는 이 에러가 뜨네요..
-
미해결배달앱 클론코딩 [with React Native]
안녕하세요~ typescript template 관련 질문입니다.
저번에도 typescript template를 포함한 프로젝트 생성에 관해서 질문 드렸었는데요.. 결국 해결하지 못해 manual로 생성하는 방법을 구글링을 통해 알게 되었습니다. 그 방법이 일단 react-native init 로 프로젝트를 생성 후 1. npm install typescript @types/react @types/react-native --save-dev 2.프로젝트 root 폴더에 tsconfig.json 파일 생성 후 다음과 같이 내용을 채워주는 것입니다. { "compilerOptions": { "allowJs": true, "allowSyntheticDefaultImports": true, "esModuleInterop": true, "isolatedModules": true, "jsx": "react", "lib": ["es6", "es2017"], "moduleResolution": "node", "noEmit": true, "strict": true, "target": "esnext", "skipLibCheck": true }, "exclude": ["node_modules", "babel.config.js", "metro.config.js", "jest.config.js"] } 이런식으로 typescript 프로젝트를 생성해도 native 단까지 처리 할 수 있을까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequestParam Map<String, Object> paramMap 질문입니다.
강의 및 pdf를 보면 모든 파라미터 받기에서 @RequestParam Map<String, Object> paramMap를 적으셨는데 Map<String, String> paramMap 이 아닌 이유는 뭘까요 혹시 변수명에 따라서 다른 타입을 꺼내주나 싶어서 ?username=memberA&age=30을 넣어줘 봤더니 paramMap.get("username").getClass().getName() 도 java.lang.String 이고 paramMap.get("age").getClass().getName() 역시 java.lang.String 이더라구요. String 외 다양한 형태로 받아줄 게 아니라면 Map<String, String> paramMap 으로 해도 되는 거 아닐까 궁금증이 들어서 질문 드립니다 :]