묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
버전 정보가 안떠요.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, VSCODE 설치 후 interpreter도 모두 설치했는데, 왼쪽하단에 버전 정보가 뜨지 않는데 괜찮은 건가요? 여러번 반복하며 설치 했지만 같은 현상입니다.
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
라이브러리 불러오기 등
안녕하세요! 강의 넘 잘 듣고 있습니다. 지금까지 잘 따라오다가 DQN 실습 1 강의에서 막혀서 질문드려요. 라이브러리 불러오기 설명하실 때(아래 이미지 첨부) 해당 파일을 어디에서 찾을 수 있을까요? 혹시 직접 작성해야하는 거라면 어떤 파일명과 형식으로 어느 폴더에 저장해야하는지... 잘 모르겠어요. 머신러닝은 완전 처음이라서요. ^^; 마찬가지로 파라미터 값 설정도 어떤 파일을 말씀하시는건지 모르겠습니다. ㅠ yaml 파일을 말씀하시는 건가요? 지금까지 쭉 따라오다가 파워포인트에 캡쳐한 것으로 설명해주시니 파일명, 파일 위치도 모르겠고 직접 작성하라는 뜻인지..사실 좀 헷갈립니다. 이 분야는 처음이라 더 이해하기 어려운 것 같습니다. 답 기다릴게요. 감사합니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
[#타입스크립트-노드버드] 해당 강좌를 타입스크립트 버전으로 작성하려고 하는데, 강의영상이랑 코드내용이 많이 차이 있을까요?
안녕하세요! 리액트-노드버드를 타입스크립트 버전으로 해보려고 하는데요, 타입스크립트로 진행하는데 강좌의 코드화면을 참고하는데 어려움이 있을까요,, 타입스크립트 버전의 넥스트 설치방법을 보니 npx create-next-app@latest --ts 라고 하는데요. @latest 부분을 @9라고 하면 될까요? 타입스크립트로 진행하는데 해당 강좌를 어떻게 활용하면 좋을지 의견을 듣고 싶습니다!
-
해결됨실전! 스프링 데이터 JPA
Page 인터페이스로 실제 웹에 적용할때..
안녕하세요 영한님 질문드립니다. 현재 Page<T> 로 값을 반환받았을때 여러가지 메서드를 사용할수있는것을 확인했습니다. 그런데 실제 웹의 페이징을 보면 << < 1 2 3 4 5 > >> << < 6 7 8 9 > >> 이런식으로 전체페이지가 9까지 있을경우 페이지를 5개씩 나눠지는데요. 1.Page의 메서드 결과값으로 따로 계산식 없이는 표현하는게 불가능해 보입니다. 저런식으로 나타내고 싶을때는 현재페이지,마지막페이지, 노출페이지갯수 를 이용하여 계산식을 따로 적용하는게 맞는건가요? 2.Slice를 이용해 모바일의 더보기에 보통 적용한다고 하셨는데요. 그럼 offset값은 0을 고정하고 limit값을 더보기 버튼을 클릭했을때 숨겨진 page번호가 limit * page번호 = limit 값이 되어 매개변수에 넣어주면 되는건가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
import {Icon} 에러 나시는 분
직접 공식문서 찾아드리려 했지만 이분께서 정리를 잘 해주셨습니다. ant design업그레이드 되면서 바뀐 문제입니다. 참고: https://shinye0213.tistory.com/317
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
경고메세지 질문있습니다.
처음 게시글을 작성하면 사진과 같은 경고 메세지가 나옵니다. postCard.js에 있는 propTypes에는 id가 number로 되어있는데 왜 이런 메세지가 나오는지 궁금합니다.
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
servletContext에 setServletContext(servletContext)
제가 따로 공부하다 @EnableWebmvc를 붙이면 servletContext 에다가.setServletContext(servletContext)를 추가해야 된다고들었는데 따로 추가를 안해도 괜찮나요?
-
미해결Svelte.js 입문 가이드
스토어객체를 왜 굳이 props로 쓰는건가용
그냥 궁금합니당..
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
-- 한 줄 주석처리 적용 안되는 문제 질문드려요~!
SELECT CASE WHEN (A + B <= C) OR (B + C <= A) OR (C + A <= B) THEN 'Not A Triangle' WHEN (A = B AND B <> C) OR (B = C AND C <> A) OR (C = A AND A <> B)THEN 'Isosceles' WHEN A = B AND B = C THEN 'Equilateral' --WHEN (A <> B) AND (B <> C) AND (C <> A) THEN 'Scalene' ELSE 'Scalene' END FROM triangles; 질문1) 빨간색 부분이 제가 원래 작성했었던 WHEN THEN 구문인데요, else로 처리 하는 게 간명하다고 생각되어, 주석처리 한 후 ELSE 문으로 작성하였는데, 계속 오류가 뜨더라구요. 주석 처리된 부분을 지우면 정답처리 되었습니다. 주석처리한 줄은 결과에 영향을 안미쳐야하는데, 어떻게 된 것일까요...? 질문2) 밑줄친 부분처럼 조건을 작성할 경우, 정삼각형 조건과 순서에 상관 없이 적용이 잘 되는데요, 이렇게 작성해도 되겠죠?혹시 조건이 길어져서 더 안좋다던가 하는 게 있나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest실행시 성공으로 뜨나 로그에 select, insert문이 뜨지 않습니다.
테스트는 성공했으나 로그에 17:03처럼 hibernate : select~ hibernate : create~ 가 뜨지 않습니다. 이래도 문제가 없는건가요?? package com.example.domain; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity //jpa가 관리하는 엔티티 public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) //데이터베이스에 값을 넣으면 데이터베이스가 자동으로 ID를 생성해주는것을 IDENTITY라고 한다 private Long id; //@generatedValue는 PK의 값을 위한 자동생성전략을 명시하는데 사용된다.얘룰 들어 name이라는 column에 새로운 데이터(value)가 들어오면 여기에 대해 Id를 부여 //해줘야하는데 이때 사용되는게 @generatedValue @Column(name = "name") private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } package com.example.repository; import java.util.List; import java.util.Optional; import javax.persistence.EntityManager; import com.example.domain.Member; public class JpaMemberRepository implements MemberRepository{ private final EntityManager em;//jpa를 돌아가게 해줌 public JpaMemberRepository(EntityManager em) { this.em = em; }// ->이것들로 인젝션 받으면 됨 @Override public Member save(Member member) { em.persist(member); //persist()는 영속적으로 저장해줌 return member; //끗 (뭐가지나간거죠) } @Override public Optional<Member> findById(Long id) { Member member = em.find(Member.class, id); return Optional.ofNullable(member); } @Override public Optional<Member> findByName(String name) { List<Member> result = em.createQuery("select m from Member m where m.name = :name", Member.class) .setParameter("name", name) .getResultList(); return result.stream().findAny(); } @Override public List<Member> findAll() { return em.createQuery("select m from Member m", Member.class) .getResultList(); } } package com.example.service; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.example.repository.JdbcTemplateMemberRepository; import com.example.repository.JpaMemberRepository; import com.example.repository.MemberRepository; import com.example.repository.MemoryMemberRepository; @Configuration public class SpringConfig { @PersistenceContext private EntityManager em; @Autowired public SpringConfig(EntityManager em) { this.em = em; } @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository() { return new JpaMemberRepository(em); } } 2022-03-12 00:47:47.668 INFO 16852 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2022-03-12 00:47:48.425 INFO 16852 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2022-03-12 00:47:48.984 INFO 16852 --- [ main] c.e.repository.MemberRepoServiceTest : Started MemberRepoServiceTest in 4.447 seconds (JVM running for 5.606) 2022-03-12 00:47:49.100 INFO 16852 --- [ main] o.s.t.c.transaction.TransactionContext : Began transaction (1) for test context [DefaultTestContext@7d42c224 testClass = MemberRepoServiceTest, testInstance = com.example.repository.MemberRepoServiceTest@6787bd41, testMethod = 회원가입@MemberRepoServiceTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@56aaaecd testClass = MemberRepoServiceTest, locations = '{}', classes = '{class com.example.InflearnApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@3e62d773, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@638ef7ed, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@7de62196, org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7b50df34, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@4bbf6d0e, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@7fc2413d], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]; transaction manager [org.springframework.orm.jpa.JpaTransactionManager@3dec769]; rollback [true] 2022-03-12 00:47:49.507 INFO 16852 --- [ main] o.s.t.c.transaction.TransactionContext : Rolled back transaction for test: [DefaultTestContext@7d42c224 testClass = MemberRepoServiceTest, testInstance = com.example.repository.MemberRepoServiceTest@6787bd41, testMethod = 회원가입@MemberRepoServiceTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@56aaaecd testClass = MemberRepoServiceTest, locations = '{}', classes = '{class com.example.InflearnApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@3e62d773, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@638ef7ed, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@7de62196, org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7b50df34, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@4bbf6d0e, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@7fc2413d], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
네트워크 설정
VMware환경이 아닌 baremetal 환경에서 정적 주소를 받아 사용하고 있습니다. DHCP로 eth0 IP를 받아오지 못하는 경우에는 어떻게 네트워크를 구성해야 하나요...?
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
음...passport를 사용하는 이유...?
일단 제목만 보고 상당히 "어...?"하셨겠지만, 정말 궁금했던 것 중에 하나입니다. 일단 저는 nodejs교과서를 책으로 읽고, express로 토이프로젝트를 2번 정도 진행을 해본 경험이 있으며, 그 중 한번만 jwt를 이용하여 auth를 구현하였습니다.(passport 없이) [제가 구현한 방식은]: ID,PW를 받아서 PW를 bcrypt로 암호화하여서 DB에 넣고, 후에 로그인 요청이 오면 ID,PW가 맞는지 확인한 후, 맞으면 jwt 토큰을 쿠키 형식으로 부여. 후에 요청하면 token을 verify하여 회원인지 확인. 이었습니다. 개인적으로 토이프로젝트를 제 개인 서버에 올려 24시간 가동되게 하는 것을 선호해서, 트래픽도 없지만 굳이 세션으로 무리를 주고 싶지 않았고, 또한, 굳이 세션이 필요한 서비스가 아니여서 jwt만으로 하였습니다. nodejs 교과서에서는 세션과 쿠키 처리 등 복잡한 작업을 쉽게 처리해줄 검증된 모듈로 passport를 소개하였는데, 만약에 위와 같은 정도의 작업만을 하게되는 경우, passport를 쓰는 것의 이점이 있나요? 제가 passport의 장점을 크게 느끼지 못하고 있는 것이, session을 사용하지 않으면 굳이 passport를 사용해야 하나 라는 생각이 들어서 질문드립니다. 아 그리고, 저 정도의 기능을 구현한다고 하면 passport를 사용하는 것보다 직접 코드를 짜는것이 더 짧아서 passport를 사용하는 것의 장점이 더욱더 궁금하였습니다... session을 이용하지 않는, passport-local의 경우이겠네요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
w로 나눠 주는건 그냥 규칙인 건가요?
좌표가 (x,y,z,w)가 있다고 했을 때 나중에 다음 단계로 넘어가게 될 때, 즉 rasterizer 단계로 넘어가게 될 때 (x/w, y/w, z/w, w/w) 이런식으로 다 w값으로 나눠주고 있다고 하셨는데 w값으로 나눠주는 건 그냥 규칙인 건가요? 변환행렬 시간에 z값이 깊이 값이 되는 건 행렬에서 배웠는데 w로 나눠주는건 생소한 부분인거 같아서요.
-
해결됨스프링 핵심 원리 - 기본편
SOLID관련 질문 드립니다
질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]SOLID 원칙 중에서 SRP(단일 책임 원칙)이 하나의 책임만 주고 변경에 대해 다른 객체들에게 영향을 미치지 않는다라고 이해를 했습니다. 그리고 ISP(인터페이스 분리 원칙)는 클라이언트가 의존을 하지 않도록 중간에 인터페이스를 두어서 분리를 시킨다라고 이해를 했습니다. 그런데 이 두개가 책임을 나눈다라는 같은 문제에 대해 제시하는 해결책이라고 생각이 드는데 구현 시에 어느 원칙을 준수하는게 더 우선시 되는 건가요?
-
미해결업무가 100배 빨라지는 엑셀 데이터 활용과 분석 노하우
파워쿼리_필드명변경
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요?파워쿼리 업무에 잘 이용하고 있습니다. 그런데 문의 드립니다. 테이블 범위내에 필드명이 변경되는 경우 새로고침을 하면 로드가 되지않아서요즉, 쿼리의 원본인 테이블의 필드명이 바뀌는 경우 쿼리가 실행이 안되나요 그리고 쿼리 편집기에서 이름을 변경하는 경우도요그리고 질문드립니다. 원본데이터는 1,2,3, 이렇게 연속하는 순번입니다. 그런데 로드되는 시트내에함수를 이용하여 row()-7이렇게설정하였습니다. 이 경우 새로고침하면 함수가 없어져서요그래서 쿼리편집기에서사용자 지정열을 추가하여 row 함수를 이용하려고 하는데 잘 되지 않습니다. 200개 이상 되는 데이터 인데요예를 들어 거래처 별로 나누다 보면 중간에 있는 거래처가 그 시트내에서는 무조건 1로 시작하는 순번을 줄려고 합니다. 이 경우 해결 방법이 있을 까요?!
-
미해결자바스크립트 어나더레벨_temp
사운드가 작게들려요
이번 강의 사운드가 작게 들려요 전부터 점점 작게 들리는데 체크좀 해주셨으면 좋겠어요
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
4장 5장 수업에서의 질문
안녕하세요 맛비님 제가 수업 들으면서 공부하던 도중 궁금한 점이 생겼습니다 4장 5장에서 PS와 PL 영역을 사용하는 모습을 보여주십니다 여기서 궁금한 점이 1. FPGA에 있는 PS 영역을 사용하기 위해서는 반드시 Vivado의 바이티스를 통해야만 하는 건가요? 예를 들어 우리가 .v 파일안에 약속된 명령어?? 이런 것을 넣어서 generate bitstream 하는 방식으로는 FPGA의 PS 영역을 사용할 수는 없는 건가요? 1-1) 질문을 하면서 떠오른 생각인데, 하드웨어를 SW적으로 조작하기 위해 탑재하는 것을 펌웨어라고 알고 있습니다 Vivado의 바이티스는 보드에 맞는 펌웨어를 자동적으로 만들어주는 그런 역할인건가요??? 2. PS 영역을 사용하기 위해서는 반드시 IP Integrator안의 block diagram 기능을 이용해야 하는 것인가요? 3. 하드웨어를 만들 때 시즌 1에서는 .v 파일에 verilog 만으로도 만들었던 것 같은데 4장 5장에서는 주로 block diagram을 이용해서 만드시는 것 같습니다. .v 파일을 통해 verilog로 기술하는 경우와 block diagram을 쓰는 경우가 어떻게 차이가 있는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build 실패
./gradlew build 를 해야하는데 ./gradlew 만 입력하여 BUILD FAILED 1 actionable task: 1 executed 라고 나오는데 어떻게 해야 하나요 ??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequestParam 어노테이션이 required=false인 경우, 쿼리파라미터 이름만 있고 값이 없는 경우
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. Q1. 예를 들어 @RequestParam(required=false) Integer age 로 매개변수를 선언한 경우, 요청시 쿼리파라미터 정보 중 age라는 이름의 데이터는 있지만 값이 없으면, (?age=) username과 같이 빈문자가 들어올 것이라고 생각하였지만, null이 들어왔습니다. 이를 통해 쿼리파라미터의 값을 넘길 때 이름만 있고 값이 없는 경우 String으로 받으면 빈문자가 들어오고, 그외의 타입으로 받으면 null이 들어오는 것이 맞는지 궁금합니다. Q2. 또한 @RequestParam(required=false) int age 로 매개변수를 선언한 경우, 요청시 age라는 이름의 데이터 자체가 없다면 설명해주신 것 처럼 null이 들어가는데, int형 변수에 null을 넣을 수는 없으므로 이는 서버측 오류인 500대 오류라는것을 확인하였습니다. 그런데 동일 상황에서 age라는 이름의 쿼리파라미터만 있고 값이 없는 경우(?age=), Q1과 같이 null이 넘어가고 이 null값은 int형 변수에 대입이 안되므로, 이 또한500대 오류가 날 것 같았는데 400대 오류가 나왔습니다. 왜 400대 오류가 나는지를 잘 모르겠습니다. 항상 좋은 강의 및 답변 감사합니다!!
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
seo를 위한 google search console 질문이 있습니다.
안녕하세요 제로초님 리액트 노드 버드 강의를 통해 배운 내용을 통해 응용하여 개인 프로젝트를 진행해서 알려주신 배포 방법으로 배포까지 진행하였습니다. seo 최적화를 위해 이것저것 알아보다가 google search console을 알게 되었는데 혹시 제로초님께서 사용해보셨을까 해서 질문을 작성하게 되었습니다. 제 사이트를 등록하려고 2번 방법인 meta 태그를 통해 소유권을 확인하려고 _app.tsx에서 next의 Head를 이용해서 그 안에 주어진 meta 태그를 추가하였습니다. 하지만 아래와 같이 계속 실패가 나와서 혹시 방법을 아시나요? ㅠㅠ 제가 의심가는 부분은 next의 Head를 이용해 meta태그를 추가하면 실제 페이지 개발자 도구에서는 html의 head 태그가 아닌 body태그 안에 script NEXT_DATA라는 부분 안에 meta 태그가 들어있어서 그런건가 싶긴 합니다 ㅠ