묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
회원가입 과제 정답지를 알고싶어여
파이널 과제말고 수업도중에 회원가입 과제가있는데 그거 정답지를 좀 알고싶어요
-
미해결실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
docker와 Django의 설치 환경에 대해
파이썬 과목을 수강하고 Django를 window 환경에서 배우려고 신청했습니다. window에서 설치 환경에 대한 설명이 따로 없어서 그런데 Django나 docker를 설치할때 따로 해줘야 할 작업이 있나요?
-
미해결스프링 기반 REST API 개발
섹션2 201응답받기 부분 테스트 404에러 질문입니다
위, 아래의 사진은 수업에서 진행한 EventConroller, EventControllerTests의 전문입니다.테스트하면 아래의 에러메세지가 나옵니다 수업과 같이 진행했는데 왜 발생하는지를 모르겠습니다 도와주세요Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appendedMockHttpServletRequest: HTTP Method = POST Request URI = /api/events/ Parameters = {} Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/hal+json"] Body = null Session Attrs = {}Handler: Type = org.springframework.web.servlet.resource.ResourceHttpRequestHandlerAsync: Async started = false Async result = nullResolved Exception: Type = nullModelAndView: View name = null View = null Model = nullFlashMap: Attributes = nullMockHttpServletResponse: Status = 404 Error message = null Headers = [Vary:"Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers"] Content type = null Body = Forwarded URL = null Redirected URL = null Cookies = []java.lang.AssertionError: Status Expected :201Actual :404<Click to see difference> at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:59) at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:122) at org.springframework.test.web.servlet.result.StatusResultMatchers.lambda$matcher$9(StatusResultMatchers.java:637) at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214) at me.gang.demorestapi.events.EventControllerTests.createEvent(EventControllerTests.java:31) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:76) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
swagger거 실행할려고 서버실행시 문제 발생
swaggerConfigpackage com.example.restfulness.config; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @OpenAPIDefinition public class SwaggerConfig { @Bean public OpenAPI api() { Info info=new Info().title("").version("v3").description("api"); // Info info=new Info().title().version("v3").description("api"); // Info info=new Info().title("").version return new OpenAPI().components(new Components()).info(info); } }gradle.buildplugins { id 'java' id 'org.springframework.boot' version '3.1.4' id 'io.spring.dependency-management' version '1.1.3' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.springframework.boot:spring-boot-starter-validation' //@XML implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml' //@헤테오스 implementation 'org.springframework.boot:spring-boot-starter-hateoas' //implementation 'org.springframework.boot:spring-boot-starter-parent' //@스웨거 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4' //implementation 'org.springdoc:springdoc-openapi-ui' } tasks.named('test') { useJUnitPlatform() } 그리고 서버를 재 구동했는데 다음과 같은 메세지가 나타났습니다. 어떻게 해야 할까요? 4:23:01 AM: Executing 'dependencies'...> Task :dependencies------------------------------------------------------------Root project 'restfulness'------------------------------------------------------------annotationProcessor - Annotation processors and their dependencies for source set 'main'.\--- org.projectlombok:lombok -> 1.18.30bootArchives - Configuration for Spring Boot archive artifacts. (n)No dependenciescompileClasspath - Compile classpath for source set 'main'.+--- org.projectlombok:lombok -> 1.18.30+--- org.springframework.boot:spring-boot-starter-data-jpa -> 3.1.4| +--- org.springframework.boot:spring-boot-starter-aop:3.1.4| | +--- org.springframework.boot:spring-boot-starter:3.1.4| | | +--- org.springframework.boot:spring-boot:3.1.4| | | | +--- org.springframework:spring-core:6.0.12| | | | | \--- org.springframework:spring-jcl:6.0.12| | | | \--- org.springframework:spring-context:6.0.12| | | | +--- org.springframework:spring-aop:6.0.12| | | | | +--- org.springframework:spring-beans:6.0.12| | | | | | \--- org.springframework:spring-core:6.0.12 (*)| | | | | \--- org.springframework:spring-core:6.0.12 (*)| | | | +--- org.springframework:spring-beans:6.0.12 (*)| | | | +--- org.springframework:spring-core:6.0.12 (*)| | | | \--- org.springframework:spring-expression:6.0.12| | | | \--- org.springframework:spring-core:6.0.12 (*)| | | +--- org.springframework.boot:spring-boot-autoconfigure:3.1.4| | | | \--- org.springframework.boot:spring-boot:3.1.4 (*)| | | +--- org.springframework.boot:spring-boot-starter-logging:3.1.4| | | | +--- ch.qos.logback:logback-classic:1.4.11| | | | | +--- ch.qos.logback:logback-core:1.4.11| | | | | \--- org.slf4j:slf4j-api:2.0.7 -> 2.0.9| | | | +--- org.apache.logging.log4j:log4j-to-slf4j:2.20.0| | | | | +--- org.apache.logging.log4j:log4j-api:2.20.0| | | | | \--- org.slf4j:slf4j-api:1.7.36 -> 2.0.9| | | | \--- org.slf4j:jul-to-slf4j:2.0.9| | | | \--- org.slf4j:slf4j-api:2.0.9| | | +--- jakarta.annotation:jakarta.annotation-api:2.1.1| | | +--- org.springframework:spring-core:6.0.12 (*)| | | \--- org.yaml:snakeyaml:1.33| | +--- org.springframework:spring-aop:6.0.12 (*)| | \--- org.aspectj:aspectjweaver:1.9.20| +--- org.springframework.boot:spring-boot-starter-jdbc:3.1.4| | +--- org.springframework.boot:spring-boot-starter:3.1.4 (*)| | +--- com.zaxxer:HikariCP:5.0.1| | | \--- org.slf4j:slf4j-api:1.7.30 -> 2.0.9| | \--- org.springframework:spring-jdbc:6.0.12| | +--- org.springframework:spring-beans:6.0.12 (*)| | +--- org.springframework:spring-core:6.0.12 (*)| | \--- org.springframework:spring-tx:6.0.12| | +--- org.springframework:spring-beans:6.0.12 (*)| | \--- org.springframework:spring-core:6.0.12 (*)| +--- org.hibernate.orm:hibernate-core:6.2.9.Final| | +--- jakarta.persistence:jakarta.persistence-api:3.1.0| | \--- jakarta.transaction:jakarta.transaction-api:2.0.1| +--- org.springframework.data:spring-data-jpa:3.1.4| | +--- org.springframework.data:spring-data-commons:3.1.4| | | +--- org.springframework:spring-core:6.0.12 (*)| | | +--- org.springframework:spring-beans:6.0.12 (*)| | | \--- org.slf4j:slf4j-api:2.0.2 -> 2.0.9| | +--- org.springframework:spring-orm:6.0.12| | | +--- org.springframework:spring-beans:6.0.12 (*)| | | +--- org.springframework:spring-core:6.0.12 (*)| | | +--- org.springframework:spring-jdbc:6.0.12 (*)| | | \--- org.springframework:spring-tx:6.0.12 (*)| | +--- org.springframework:spring-context:6.0.12 (*)| | +--- org.springframework:spring-aop:6.0.12 (*)| | +--- org.springframework:spring-tx:6.0.12 (*)| | +--- org.springframework:spring-beans:6.0.12 (*)| | +--- org.springframework:spring-core:6.0.12 (*)| | +--- org.antlr:antlr4-runtime:4.10.1| | +--- jakarta.annotation:jakarta.annotation-api:2.0.0 -> 2.1.1| | \--- org.slf4j:slf4j-api:2.0.2 -> 2.0.9| \--- org.springframework:spring-aspects:6.0.12| \--- org.aspectj:aspectjweaver:1.9.20+--- org.springframework.boot:spring-boot-starter-web -> 3.1.4| +--- org.springframework.boot:spring-boot-starter:3.1.4 (*)| +--- org.springframework.boot:spring-boot-starter-json:3.1.4| | +--- org.springframework.boot:spring-boot-starter:3.1.4 (*)| | +--- org.springframework:spring-web:6.0.12| | | +--- org.springframework:spring-beans:6.0.12 (*)| | | +--- org.springframework:spring-core:6.0.12 (*)| | | \--- io.micrometer:micrometer-observation:1.10.11 -> 1.11.4 중간생략No dependencies(c) - A dependency constraint, not a dependency. The dependency affected by the constraint occurs elsewhere in the tree.(*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation.(n) - A dependency or dependency configuration that cannot be resolved.A web-based, searchable dependency report is available by adding the --scan option.BUILD SUCCESSFUL in 825ms1 actionable task: 1 executed4:23:02 AM: Execution finished 'dependencies'. 주소창에 localhost:8088/v2/api-docs를 입력했더니 This application has no explicit mapping for /error, so you are seeing this as a fallback.Thu Oct 12 04:07:11 KST 2023There was an unexpected error (type=Not Found, status=404).No message available가 보입니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
10월 30일 이후에 html과 javascript강의도 삭제 되나요??
10월 30일 이후에 html과 javascript강의도 삭제 되나요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
post 요청시 헤더 관련 에러
post 요청시 헤더 관련 아래 에러 발생하는데, apollo-require-preflight: true등을 넣으면 정상 작동 하네요. 혹시 이 에러가 강의 중에는 안 나던데, 이유 알 수 있을까요? { "errors": [ { "message": "This operation has been blocked as a potential Cross-Site Request Forgery (CSRF). Please either specify a 'content-type' header (with a type that is not one of application/x-www-form-urlencoded, multipart/form-data, text/plain) or provide a non-empty value for one of the following headers: x-apollo-operation-name, apollo-require-preflight\n", "extensions": { "code": "BAD_REQUEST", "stacktrace": [ "BadRequestError: This operation has been blocked as a potential Cross-Site Request Forgery (CSRF). Please either specify a 'content-type' header (with a type that is not one of application/x-www-form-urlencoded, multipart/form-data, text/plain) or provide a non-empty value for one of the following headers: x-apollo-operation-name, apollo-require-preflight", "", " at new GraphQLErrorWithCode (/Users/hojeongpark/Develop/study/backend-bootcamp/class/section13/13-01-single-image-upload/node_modules/@apollo/server/src/internalErrorClasses.ts:15:5)", " at new BadRequestError (/Users/hojeongpark/Develop/study/backend-bootcamp/class/section13/13-01-single-image-upload/node_modules/@apollo/server/src/internalErrorClasses.ts:116:5)", " at preventCsrf (/Users/hojeongpark/Develop/study/backend-bootcamp/class/section13/13-01-single-image-upload/node_modules/@apollo/server/src/preventCsrf.ts:91:9)", " at ApolloServer.executeHTTPGraphQLRequest (/Users/hojeongpark/Develop/study/backend-bootcamp/class/section13/13-01-single-image-upload/node_modules/@apollo/server/src/ApolloServer.ts:1047:20)", " at processTicksAndRejections (node:internal/process/task_queues:95:5)" ] } } ] }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
queryRunner fineOne 리턴타입
queryRunner.manager.findOne의 리턴 타입이 {id: string} | null 로 추론되는데 저만 이렇게 추론되는 걸까요? (webstorm 사용 중입니다!)
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
혹시 학원 진도표 같은거좀 있으면 공유해주실수 있을까요?
그런게 있으면 계획을 세우는데 도움이 될듯합니다~감사합니다~
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
예외 통합 강의 질문
안녕하세요 import.service.ts의 checkPaid 메서드 부분입니다.axios와 http 예외를 통합하기 위해서 다음처럼 작성하였는데옵셔널 체이닝부분 관련 질문이 있습니다.throw new HttpException( error.response.data?.message || error.response.message, error.response.status || error.response.statusCode, ); 옵셔널 체이닝이 data가 있는지 여부를 보고 있으면 다음을 보내고error.response.data.message없으면 다음을 보내는데error.response.message다음처럼 옵셔널 체이닝 없이 작성한다면 오류가 발생하나요?throw new HttpException( error.response.data.message || error.response.message, error.response.status || error.response.statusCode, );
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
softdelete는 어떤 식은 test 코드를 짜야할까요?
jest 를 이용하여 테스트코드를 짜고 있는데 처음이라 너무 어렵네요. softdelete는 어떤식으로 테스트코드를 짜야될까요?그리고 조인해서 결과 값을 뽑을 때 테스트코드를 어떻게 짜야할지 감이 안옵니다.구글링해도 자료가 별로 없네여...
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nestjs+graphql로 작업할때 response도 dto로 만들어야하나요?
선생님, 질문두가지 드릴게요, 감사합니다1. nestjs+graphql로 작업할때 response도 dto로 만들어야하나요?2. class-validator를 entity에서 사용하고 dto를 pick, omit으로 상속받는게 좋나요? 아니면 dto들에서 따로 class-validator를 적용하는게 좋나요?
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
mysql 신택스 오류 질문드립니다 ㅠㅠ
강의보는중에 workbench 에서 hostname을 작성하고 나머지 정보도 작성해서 test Connection을 해줘도 비밀번호가 틀리다고 하여 노션에 있는 방법대로 비밀번호를 초기화하는 중에 사진과 같이 신택스 오류가 났다고 하는데 도저희 어디가 잘못되었는지 몰라서 남겼습니다. 비밀번호는 강의 내용 그대로 따라 했습니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
도커의 데이터베이스 컨테이너와 nestjs typeORM이 어떤 방식으로 연동되는지 궁금해요
docker-compose 에 있는 my-database의 연결app.module.ts에 있는 typeOrmModule에 있는 데이터베이스 연결이 어떤 원리로 작동되는지 궁금합니다. my-database: image: mysql:latest environment: MYSQL_DATABASE: 'mydocker' MYSQL_ROOT_PASSWORD: 'root' ports: - 3306:3306TypeOrmModule.forRoot({ //.env 파일은 모두 string 형태로 인식이 됩니다. 따라서, type과 port에 추가 설정을 해주었습니다. type: mysql, host: "localhost", port: 3306, username: "root", password: "12345678", database: practice, entities: [Board], synchronize: true, logging: true, })
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
CSS 정렬 강의 실습 중
코드 자동저장돼 있고 혹시몰라 수동저장 후 다시 라이브서버 켰는데 박스까지만 만들어지고 정렬이 전혀 되지 않으면서 아무 응답이 없는데 제가 혹시 코드를 잘못 쓴 부분이 있는걸까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
도커 컴포즈 질문드립니다
yml파일,mongo 파일,Dockerfile 만들고docker-compose builddocker-compose up 하고 다른 쉘에서docker ps했는데 아무것도 안뜹니다 파일은 제대로 따라 적었는데도 오류 뜨고 몽고 db는 삭제했고 몽고db 컴패스는 오류걸려서 그냥 삭제했습니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
로그인 프로세스 설명 중 질문
해당 장을 설명해주실 때 철수가 1050번째, 영희가 2050번째라고 가정했을때, 수직 파티셔닝 된 데이터베이스 중 어디에 있는지는 미리 알 수 있는 방법이 있을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
productsSalesLocation.service create method
create({productSalesLocation}): Promise<ProductSalesLocation>{ return this.productsSalesLocationsRepository.save({...productSalesLocation}); }강의 중 위와 같은 코드를 작성해주셨는데, create의 parameter type은 ProductSalesLocation(Entity)의 타입에서 id만 제외하고 사용하는 형태로 작성하는 것이 맞을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
product entity의 deletedAt type
다음처럼 DeletedDateColumn 데코레이터를 붙인 deletedAt은 db에서 nullable이니까 optional 타입으로 하는 것이 맞을까요? @DeleteDateColumn()deletedAt?: Date; 공식 문서에서는 optional 타입으로 되어 있지는 않네요https://orkhan.gitbook.io/typeorm/docs/decorator-reference#deletedatecolumn
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
@ApiModel 어노테이션
강의와 같이 ApiModel어노테이션을 달아보려해도 아래와 같이 어노테이션이 뜨지도 않고 다 입력을 해보아도 오류만 뜰 뿐입니다 ㅠㅠ 저 같은 분 있으신가요?
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
카카오맵 마커에 찍히는 주소 유형 변경 방법을 알고싶습니다
안녕하세요. 강의를 모두 수강하고 웹사이트를 배포한 상태입니다. 지도에 마커도 잘 찍히고인포윈도우 정보도 잘 뜨고 있는 상태입니다. 원래 강의에서는 인포윈도우에 유튜브 섬네일과 영상 링크가 올라가도록 코드를 짜주셨는데혹시 저 섬네일과 주소를 네이버 지도 상에 있는 주소와 섬네일로 고칠 수 있는지 궁금해서 질문을 남깁니다.제가 다니고 있는 학교 주변의 식당 정보들이 마커에 찍히고 그 마커를 찍었을 때 네이버 지도에 나와있는섬네일과 주소 링크를 달고 싶습니다.위 코드는 선생님께서 최종 배포하신 코드 자료에 올려주신 코드중에 인포윈도우 창에 올라가는 정보들을 설정하는 부분입니다(map.js 파일) 이 부분을 어떻게 잘 수정하면 될 거 같은데 어떻게 하면 좋을까요?네이버 지도에서 제 학교 주변의 중국집을 검색해서 식당중 하나를 클릭하면https://map.naver.com/p/search/%ED%95%9C%EA%B2%BD%EB%8C%80%20%EC%A4%91%EA%B5%AD%EC%A7%91/place/37921639?c=15.00,0,0,0,dh&placePath=%3Fentry%253Dbmp이러한 웹주소가 뜨고 그 식당옆에 있는 섬네일을 클릭하면https://map.naver.com/p/search/%ED%95%9C%EA%B2%BD%EB%8C%80%20%EC%A4%91%EA%B5%AD%EC%A7%91/place/37921639?c=15.00,0,0,0,dh&placePath=%2Fphoto%3Fentry%253Dbmp이런식의 주소가 주소창에 표시가 됩니다. 이 주소 형식을 어떻게 잘 이용해서 위에 올린 인포윈도우 코드에 적용을 하면 강의 자료처럼유튜브의 섬네일과 주소가 아닌 네이버 지도의 섬네일과 주소를 불러올 수 있을거 같은데코드를 어떤식으로 수정해야 할지 조언을 얻을 수 있을까요?