묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
함께 아는 친구 기능 구현
다른 유저와 공통적으로 팔로잉을 하고 있는 유저 숫자를 구하고 싶은데 혹시 api를 어떤 방식으로 코딩하면 될까요? 항상 좋은강의 감사합니다
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
수업노트
강의 제목 옆의 구름모양으로 다운받는 첨부파일 말고 수업노트(수업에서 진행하시는 ppt자료)는 어디서 다운받을 수 있는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 다익스트라 코드에서 질문 사항이 있어 문의드립니다.
if (dist[here] != here_dist) continue;16 분쯤에서 말씀해주신 해당 예외처리를 위한 코드는 있으면 이미 최적의 경로로 구해진 노드를 다시 확인할 필요는 없다는 장점이 있는거죠?만약 저 위의 코드가 없다고 해서 속도 부분을 제외하고는 결과가 다르게 나타나진 않을것 같은데 맞을까요?
-
미해결[백문이불여일타] 데이터 분석을 위한 기초 SQL
weather observation 6 문제 질문입니다..!
WHERE city LIKE 'a%' OR 'e%' OR 'i%' OR 'o%' OR 'u%'로 작성하는 것은 잘못된 작성법인가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 코딩 후 컨파일 시 오류 문의드립니다 !
Description:The bean 'userRepository', defined in com.group.libraryapp.domain.user.UserRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration, could not be registered. A bean with that name has already been defined in class path resource [com/group/libraryapp/config/UserConfiguration.class] and overriding is disabled.Action:Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=truedelete 부분까지 코딩 후에 테스트 진행하려고 , 컴파일 시에 위와 같은 오류가 발생하고 있습니다. 구글링으로 아래 action 부분도 해보았으나 다른 오류들이 발생하네요 ㅜㅜ
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
네비 상단
안녕하세요 선생님:)상단 네비 전체드롭다운에사이사이 선들을 어떤방법으로 제거해야하나요? <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><link rel="stylesheet" href="css/style3.css"></head><body><div class="container"><header><div class="header-logo"><a href="#"><img src="img/logo.png" alt=""></a></div><div class="navi"><ul class="menu"><li><a href="#">탑</a><div class="sub-menu"><a href="#">블라우스</a><a href="#">티</a><a href="#">셔츠</a><a href="#">니트</a></div></li><li><a href="#">아우터</a><div class="sub-menu"><a href="#">자켓</a><a href="#">코트</a><a href="#">가디건</a><a href="#">머플러</a></div></li><li><a href="#">팬츠</a><div class="sub-menu"><a href="#">청바지</a><a href="#">짧은바지</a><a href="#">긴바지</a><a href="#">레깅스</a></div></li><li><a href="#">악세서리</a><div class="sub-menu"><a href="#">귀고리</a><a href="#">목걸이</a><a href="#">반지</a><a href="#">팔찌</a></div></li></ul></div></header><div class="slide"><div><a href="#"><img src="img/slide1.jpg" alt=""></a><a href="#"><img src="img/slide2.jpg" alt=""></a><a href="#"><img src="img/slide3.jpg" alt=""></a></div></div><div class="items"><div class="news"><div class="tab-inner"><div class="btn"><a href="#" class="actvie">공지사항</a><a href="#">갤러리</a></div><div class="tabs"><div class="tab1"><a class="open-modal" href="#">3월 재입고 품목을 알려드립니다.<b>2020.03.14</b></a><a href="#">반품/환불 규정에 대해 알려드립니다.<b>2020.03.14</b></a><a href="#">S/S 시즌 신규 의류 신상품 안내<b>2020.03.14</b></a><a href="#">신규회원 대상 할인 이벤트 안내<b>2020.03.14</b></a><a href="#">신규회원 대상 할인 이벤트 안내<b>2020.03.14</b></a></div><div class="tab2"><img src="img/gallery1.jpg" alt=""><img src="img/gallery2.jpg" alt=""><img src="img/gallery3.jpg" alt=""></div></div></div></div><div class="banner"><a href="#"><img src="img/banner_img.jpg" alt=""></a></div><div class="shortcut"><a href="#"><img src="img/shortcut_img.jpg" alt=""></a></div></div><footer><div class="footer-logo"><a href="#"><img src="img/logo2.png" alt=""></a></div><div class="copy"> COPYRIGHTⓒ by JUST Shop. ALL RIGHTS RESERVED</div><div class="sns"><a href="#"><img src="img/sns1.png" alt=""></a><a href="#"><img src="img/sns2.png" alt=""></a><a href="#"><img src="img/sns3.png" alt=""></a></div></footer></div> <div class="modal"> <div class="modal-con"> <h3>이벤트 안내</h3> <p>안녕하세요! JUST쇼핑몰입니다. 고객님들의 성원에 보답하는 JUST쇼핑몰이 되고자 신규회원 20% 할인 이벤트를 실시하고 있습니다. 웹과 모바일 가입회원 대상이며, 서비스만족을 위해 꾸준히 노력하겠습니다.</p> <a class="close-madal" href="#">x 닫기</a> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script></body></html> @charset "utf-8";body{background-color: #fff;color: #333;}a{text-decoration: none;color: #333;}.container{width: 1200px;margin: auto;}header{ height: 100px; position: relative; z-index: 1;}header>div{ height: 100px; /* border: 1px solid #000; /}.header-logo{ float: left; width: 200px; line-height: 130px;}.navi{ width: 600px; float: right;}.menu{ / border: 1px solid #000; / padding: 0; list-style: none;}.menu>li{ / border: 1px solid #000; / float: left; width: 25%; box-sizing: border-box; text-align: center; margin-top: 15px;}.menu>li>a{ border: 1px solid #000; display: block; padding: 5px; transition: 0.5s;}.menu>li>a:hover{ background-color: #000; color: #fff;}.sub-menu{ border: 1px solid #000; background-color: #fff; display: none;}.sub-menu>a{ display: block; padding: 5px; transition: 0.5s;}.sub-menu>a:hover{ background-color: #000; color: #fff;}.slide{ position: relative; height: 300px; width: 1200px; / border: 1px solid #000; / overflow: hidden;}.slide>div{ position: absolute; top: 0; left: 0; font-size: 0; animation: slide 10s linear infinite;}@keyframes slide{ 0% {top: 0;} 30% {top: 0;} 35% {top: -300px;} 65% {top: -300px;} 70% {top: -600px;} 95% {top: -600px;} 100% {top: 0;}}.items{ overflow: hidden;}.items>div{ height: 200px; / border: 1px solid #000; / float: left; width: 400px; box-sizing: border-box;}.news{}.tab-inner{ width: 95%; margin: auto; padding: 6px;}.btn{}.btn>a{ border: 1px solid #000; display: inline-block; width: 120px; padding: 5px; border-radius: 5px 5px 0 0; background-color: #ddd; margin-right: -5px; border-bottom: none; margin-bottom: -1px;}.btn>a.actvie{ background-color: #fff;}.tabs{}.tabs>div{ border: 1px solid #000; height: 160px; padding: 0 10px;}.tab1{ }.tab1 a{ border-bottom: 1px solid #000; display: block; padding: 6px;}.tab1 a:last-child{ border-bottom: none;}.tab1 a b{ float: right; font-weight: normal;}.tab2{ display: none; text-align: center;}.tab2 img{ width: 100px; padding-top: 30px;}.banner{}.shortcut{}footer{}footer>div{ height: 100px; / border: 1px solid #000; / float: left; box-sizing: border-box;}.footer-logo{ width: 200px; line-height: 130px;}.copy{ width: 800px; line-height: 100px; text-align: center;}.sns{ width: 200px; line-height: 140px; text-align: center;}.modal{ background-color: #000; position: absolute; / 너비값 잃음 */ top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.2); display: none;}.modal-con{ background-color: #fff; width: 400px; padding: 20px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 15px;}.modal-con h3{ background-color: #000; color: #fff; padding: 5px;}.modal-con p{ line-height: 1.6em;}.modal-con a{ border: 1px solid #000; padding: 5px; float: right;} $('.menu>li').mouseover(function(){ $('.sub-menu').stop().slideDown()})$('.menu>li').mouseout(function(){ $('.sub-menu').stop().slideUp()})$('.btn>a:first-child').click(function(){ $('.tab1').show() $('.tab2').hide() $(this).addClass('actvie') $(this).siblings().removeClass('actvie')})$('.btn>a:last-child').click(function(){ $('.tab2').show() $('.tab1').hide() $(this).addClass('actvie') $(this).siblings().removeClass('actvie')})$('.open-modal').click(function(){ $('.modal').fadeIn()})$('.close-madal').click(function(){ $('.modal').fadeOut()})
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
GDB server 에러가 납니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. cube ide 10, 11버전 설치도 해보고 st link firmware update도 모두 하였지만, Failed to start GDB server 에러가 나면서 다운로드가 안됩니다. 어제 7-2강 까지는 잘됐는데 오늘 갑자기 안되서 이유를 모그렜습니다.
-
해결됨실전! 스프링 데이터 JPA
스프링 데이터 jpa delete 최적화
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]강사님 강의 정말 잘 보고 있다가 의문점이 생겨 이렇게 질문 남깁니다. 일단 간단하게 예시를 만들면 양방향 관계로 묶인 Member와 Team이 있을때 Team을 삭제할때 해당 Team에 있던 Member도 전부 삭제를 원하는 상황입니다.데이터는 Team 2개 Team 하나당 3개의 Member씩이 있는 상태입니다.Member.javapackage com.example.demo.entity; import lombok.*; import javax.persistence.*; @Entity @Table(name = "member") @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor public class Member { @Id @Column(name = "member_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long memberId; @Column(name = "member_name") private String name; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "team") private Team team; public Member(String name, Team team) { this.name = name; this.team = team; } } Team.javapackage com.example.demo.entity; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter @AllArgsConstructor @NoArgsConstructor @Table(name = "team") public class Team { @Id @Column(name = "team_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToMany(mappedBy = "team", cascade = CascadeType.ALL, orphanRemoval = true) List<Member> members = new ArrayList<>(); } controller.javapackage com.example.demo.entity.controller; import com.example.demo.entity.repository.TeamRepository; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequiredArgsConstructor public class Controller { private final TeamRepository teamRepository; @DeleteMapping("/") public void deleteTeam(@RequestParam Long id) { teamRepository.deleteById(id); //deleteById는 JpaRepository에서 제공하는 기본 } } 위의 코드를 실행하고 delete요청을 했을때Hibernate:selectteam0_.team_id as team_id1_1_0_fromteam team0_whereteam0_.team_id=? Hibernate:selectmembers0_.team as team3_0_0_,members0_.member_id as member_i1_0_0_,members0_.member_id as member_i1_0_1_,members0_.member_name as member_n2_0_1_,members0_.team as team3_0_1_frommember members0_wheremembers0_.team=? Hibernate:deletefrommemberwheremember_id=? Hibernate:deletefrommemberwheremember_id=? Hibernate:deletefrommemberwheremember_id=? Hibernate:deletefromteamwhereteam_id=? 이렇게 나오고 Team의 members의 fetch type을 eager로 바꾸었을때는 selectteam0_.team_id as team_id1_1_0_,members1_.team as team3_0_1_,members1_.member_id as member_i1_0_1_,members1_.member_id as member_i1_0_2_,members1_.member_name as member_n2_0_2_,members1_.team as team3_0_2_fromteam team0_left outer joinmember members1_on team0_.team_id=members1_.teamwhereteam0_.team_id=? Hibernate:deletefrommemberwheremember_id=?Hibernate:deletefrommemberwheremember_id=? Hibernate:deletefrommemberwheremember_id=? Hibernate:deletefromteamwhereteam_id=?이러한 쿼리가 발생하는것을 볼 수 있습니다. 여기서 제가 든 궁금점은 (편의상 맨 위의 쿼리를 1번쿼리라 하겠습니다)지연로딩을 할때 Team의 Member는 프록시이므로 member select 하긴 할텐데 selectmembers0_.team as team3_0_0_,members0_.member_id as member_i1_0_0_,members0_.member_id as member_i1_0_1_,members0_.member_name as member_n2_0_1_,members0_.team as team3_0_1_이 쿼리(2번 쿼리)가 어떻게 나오게 된건지 이해가 되질 않습니다. 최대한 쿼리를 최적화 해보려 했지만 지연로딩을 할때 fetch join, entity graph등을 사용할 수 없어 1번과 2번 쿼리를 즉시로딩을 사용할때 처럼 최적화 할 수가 없었고 delete문도 멤버를 한번에 delete, 그다음 team delete 이렇게 두번으로 최적화 하고 싶었는데 방법이 떠오르질 않습니다. 정확하게 알려주시기 번거로우시면 키워드나 따로 어떻게 공부하면 해결 할 수 있을지 알려주시면 정말 감사드리겠습니다.
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님! 제 질문도 답변해주세요..
11일 전쯤에 질문 2개를 올렸는데, 2개 다 답변이 안와있어요.. 제 질문에 답변 부탁드립니다~~
-
미해결
테라폼 실습 문의 사항
안녕하세요 테라폼으로 vpc생성 실습 중에 terraform apply 실행중 사진과 같은 에러가 발생했는데 무엇이 잘못 된건지 원인과 해결책을 알 수 있을까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
connection 반환 관련하여 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 아래의 코드는 강의 코드 중 커넥션을 풀로 반환하는 로직입니다. 해당 코드에서는 커넥션 반환 중 예외가 발생했을 때 처리하는 별도의 코드가 없는 것으로 판단됩니다. 만약 con.close()가 정상 수행되지 않고, 예외가 발생한다면, 그 후 어떤 과정이 진행되는지 궁금합니다.그냥 계속해서 사용된 커넥션이 active 상태로 유지되는 건가요?항상 답변 해주셔서 감사합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
print()부분에서 어느부분이 틀린지 이해가 가지않습니다.
n,m = map(int, input().split()) data = list(map(int, input().split())) sum = 0 cnt = 0 data.sort() lt = 0 rt = len(data)-1 print(data) while lt<=rt: if data[lt] + data[rt] <= m: cnt += 1 lt += 1 rt -= 1 else: rt -= 1 print(len(data)-(cnt*2) + cnt) print는 전체 data갯수에서 2명끼리 탄사람들의 개수를 뻬면 보트를 혼자타는 사람들의 갯수가 나오겠다고 생각했습니다. 그다음 2명이서타는 cnt의 개수를 더해주면 답이 될것이라고 생각하였는데 답이 되지않습니다. 왜틀린걸까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션 풀 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]커넥션 풀이라는게사람이랑 1:1 관계인거면 수천명이 이용하는 서비스면커넥션풀도 수천개를 준비해놔야 할까요?기본이 10개인데
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
문제 알고리즘 관련 질문
강사님 안녕하세요.2주차 dfs, bfs 알고리즘 문제를 풀고 있습니다.2-I(2870) 문제나, 2-J(10709) 와 같은 형태의 문제가dfs, bfs 알고리즘과 관련이 있는건지 궁금합니다.
-
미해결
[스프링] 트랜잭션 실패 시 외부 API 요청 취소
흐름은 이렇습니다.유저에게 입금이체하는 메소드에서,외부 API를 호출해서 유저에게 입금이체를 함외부 API에게 응답 메시지를 받고, DB에 입금 내역, 상품 상태 등을 저장함 그리고 이 입금이체 메소드(1)에 @Transactional 어노테이션을 붙여놨습니다. 만약 DB에 입금과 상품을 저장하다가 예외나 에러가 생긴다면 롤백이 되겠죠. 그런데... 제 쪽 DB만 롤백되는 거지 외부 API 요청은 롤백이 되는게 아니잖습니까? ㅠㅠ. 그럼 예외, 에러 발생 시 외부 API를 호출해서 입금이체 취소를 하려고 했는데 이게 또 엄청나게 복잡하더군요... 카드결제가 아니라, 입금이체라 그런지 수취인에게 허락을 받아야 입금한 돈을 다시 돌려받을 수 있다고 합니다. 그래서 대체 이 부분을 어떻게 처리해야할지 모르겠어요. 막막하네요. 어떤 해결책이 있을까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
video가 안 나타나는 문제
video 코드를 맞게 입력했지만 표출되지 않았습니다콘솔에는 아무런 에러도 없고.. url도 문제가 없어서 이유를 찾기 어려워 리액트 라이브러리로 대체했습니다.작동은 정상적으로 되지만 앞으로 수업 듣기에 문제 없을지는 모르겠습니다.같은 문제를 겪으신 분들 참고하시면 좋겠습니다.// client npm i react-player --save // VideoDetailPage.js import ReactPlayer from 'react-player/lazy'; // video 부분 아래와 같이 대체 <ReactPlayer style={{ width : '100%' }} url={`http://localhost:5000/${VideoDetail.filePath}`} playing={true} // 자동 재생 on controls={true} // 플레이어 컨트롤 노출 여부 light={false} // 플레이어 모드 pip={true} // pip 모드 설정 여부 />
-
미해결화이트해커가 되기 위한 8가지 웹 해킹 기술
BeEF가 없어요
칼리 리눅스 2022쓰고 있는데 BeEF가 없어서 다운했는데 저렇게 안뜨고 해서 뭘 다운하면 되고 어케 하면 되는지 좀 알려주세요 ㅜㅜㅜㅜ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 들으면서 영한님께 여쭤보고 싶은게 있습니다!
강의 너무 잘 듣고 있습니다.강의 들으면서 영한님께 여쭤보고 싶은게 있습니다!MVC의 내부동작이나 스프링 프레임워크의 내부 동작은 어떤 방식으로 파악하시는지 궁금합니다.스프링 프레임워크가 너무 방대하다고 생각되서 디버깅으로 파악하기도 힘들다고 생각하는데, 어떤 방식으로 세세한 내부 구조를 파악하셨는지 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-C 속도 차이 질문드립니다
http://boj.kr/7b6776aa9c9545e58d94059272172eb9안녕하세요 선생님.3-C에서 저는 BFS를 통해서 구현하여 해결한 후, 강의를 통해 선생님 코드와 비교하며, 여러 구현방식을 익히는 중에 궁금한 점이 생겨서 질문드립니다.강의에 나온 코드는 검색 로직이 DFS로 구현되어 있는데, 제 코드의 검색 로직은 BFS인것만 제외하면 선생님 코드와 별 차이가 없다고 생각했습니다.그런데 막상 코드를 돌려보면제 코드의 시간은 164ms~172ms가 나오는 반면, 선생님의 코드는 88ms정도로 거의 90%가까이 빠르게 나옵니다.왜 이렇게 시간차이가 많이나는지 이해가 안는데 왜 그런지 여쭙고 싶습니다.(현재 여러 시도를 해보긴 했는데 오히려 더 느리게 나오고 잘 모르겠네요...ㅠ27,40번째 line의 중복 삽입 수정 버전 442mshttp://boj.kr/7fabb13a2ca441bda6e8591670ef9621함수 제거 버전 172mshttp://boj.kr/312e0d4df77c45219e46da19cc649e05)
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
app-level의 provide한 값을 새로고침시 정상적으로 inject하지 못함.
안녕하세요. Provide/Inject 강의의 마지막 부분 app레벨 provide에 대해 질문드립니다. 우선 코드는 아래와 같습니다.main.jsimport { createApp } from 'vue'; import App from './App.vue'; const app = createApp(App); app.mount('#app'); app.provide('msg', 'msg입니다');App.vue<template> <div></div> </template> <script> import { inject } from 'vue'; export default { setup() { const msg = inject('msg'); console.log('app.vue', msg); return {}; }, }; </script> 강의 16분 10초에서 위 코드와 유사한 것을 시연해주셨습니다.강의에서는 코드 작성 후 저장해 자동 새로고침 되었고, 정상적으로 inject한 값이 콘솔에 출력됐습니다. 저도 개발서버 기능이 제공하는 저장-자동새로고침 시에는 provide-inject한 값이 콘솔에 정상 출력됩니다.그러나 브라우저의 새로고침 버튼을 눌러 페이지를 새로 불러오면 inject된 값이 undefined로 찍힙니다. (출력내용은 "app.vue undefined"입니다.)분명 컴포넌트 인스턴스가 생성되기 전에도 provide한 값을 inject로 접근할 수 있다고 설명해주셨는데 그렇지 못해서 왜 그런지 궁금했습니다. 제 개발환경을 확인해봐야 할지, 아니면 제가 겪고있는 상황이 정상적인지 궁금합니다.