묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결대세는 쿠버네티스 (초급~중급편)
vagrant up 에러 관련 문의드립니다.
안녕하세요. vagrant up 명령어를 입력하였는데 다음과 같이 에러가 발생합니다.. 인터넷에 찾아봐도 내용이 없는 것 같아 질문드립니다..윈도우11을 사용하고있어서 그런건가요..?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
@Managers 생성 질문드립니다.
디버깅을 통해 @Managers가 생성되는 곳이 BaseScene에 Init이라는 것을 파악했지만, Init과 Managers.Resource.Instantiate 호출로 연관 없는 @Managers까지 생성되는 이유를 모르겠습니다.BaseScene.csprotected virtual void Init(){Object obj = GameObject.FindObjectOfType(typeof(EventSystem));if (obj == null)Managers.Resource.Instantiate("UI/EventSystem").name = "@EventSystem";}ResourceManager.cspublic GameObject Instantiate(string path, Transform parent = null){GameObject original = Load<GameObject>($"Prefabs/{path}");if (original == null){Debug.Log($"Failed to load prefab : {path}");return null;}if (original.GetComponent<Poolable>() != null)return Managers.Pool.Pop(original, parent).gameObject;GameObject go = Object.Instantiate(original, parent);go.name = original.name;return go;}
-
미해결스프링 핵심 원리 - 기본편
daoImpl이 implements된 Repository인가요?
저는 늘 스프링에서controller -> Service -> ServiceImpl -> Dao -> mapper.xml 이렇게 개발해왔었는데 강의에선 파일명칭?이 달라서 여쭤봅니다. Repository는 dao에서 @Repository로 사용했었는데요 아래 소스의 Repository(MemberRepository)는 위 순서에서 dao에 해당하는 거고 MemoryMemberRepository는 daoImpl (daoImpl,,, 서비스 Impl 하는 것처럼 dao의 구현체 정도라고 생각하면 될까요?
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
cornerRadius가 적용이 안되는 문제가 있어 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 앨런님현재 코드로 ToDoApp을 만들고 있는데 DetailView 부분을 코딩하면서 색상 버튼 부분에 cornerRadius가 적용이 안되는 문제가 있어 질문드립니다.현재까지 제가 해결을 위해 확인한 부분은 아래와 같습니다.setupSaveButtonConstraints()를 호출 시 red, green, blue, purple 버튼에 cornerRadius 적용되지 않습니다.setupButtonCorner() 함수의 호출 지점을 layoutSubView()의 super 호출 전 또는 후로 설정해 보았지만 적용되지 않았습니다.setupButtonCorner() 함수에서 button에 height를 설정해서 실행해 보았지만 적용되지 않았습니다.이 문제를 해결할 수 있는 방법이 뭐가 있을까요?import UIKit final class DetailView: UIView { // MARK: - Color Buttons let redButton: UIButton = { let button = UIButton() button.setTitle("Red", for: .normal) // button.setTitleColor(MyColor.red.buttonColor, for: .normal) // button.backgroundColor = MyColor.red.backgroudColor button.titleLabel?.font = UIFont.systemFont(ofSize: 15) // button.translatesAutoresizingMaskIntoConstraints = false return button }() let greenButton: UIButton = { let button = UIButton() button.setTitle("Green", for: .normal) // button.setTitleColor(MyColor.green.buttonColor, for: .normal) // button.backgroundColor = MyColor.green.backgroudColor button.titleLabel?.font = UIFont.systemFont(ofSize: 15) // button.translatesAutoresizingMaskIntoConstraints = false return button }() let blueButton: UIButton = { let button = UIButton() button.setTitle("Blue", for: .normal) // button.setTitleColor(MyColor.blue.buttonColor, for: .normal) // button.backgroundColor = MyColor.blue.backgroudColor button.titleLabel?.font = UIFont.systemFont(ofSize: 15) // button.translatesAutoresizingMaskIntoConstraints = false return button }() let purpleButton: UIButton = { let button = UIButton() button.setTitle("Purple", for: .normal) // button.setTitleColor(MyColor.purple.buttonColor, for: .normal) // button.backgroundColor = MyColor.purple.backgroudColor button.titleLabel?.font = UIFont.systemFont(ofSize: 15) // button.translatesAutoresizingMaskIntoConstraints = false return button }() lazy var buttons: [UIButton] = [redButton, greenButton, blueButton, purpleButton] lazy var colorButtonStackView: UIStackView = { let st = UIStackView(arrangedSubviews: [redButton, greenButton, blueButton, purpleButton]) st.axis = .horizontal st.spacing = 15 st.alignment = .fill st.distribution = .fillEqually return st }() // MARK: - Text View let mainTextView: UITextView = { let textView = UITextView() textView.backgroundColor = .clear textView.font = UIFont.systemFont(ofSize: 14) textView.textColor = .black return textView }() lazy var backgroundView: UIView = { let view = UIView() view.addSubview(mainTextView) view.backgroundColor = MyColor.red.backgroudColor return view }() // MARK: - Update Button let saveButton: UIButton = { let button = UIButton() button.titleLabel?.font = UIFont.systemFont(ofSize: 15) button.setTitleColor(.white, for: .normal) button.backgroundColor = MyColor.red.backgroudColor return button }() override init(frame: CGRect) { super.init(frame: frame) setupDetailView() setupButtonColor() setupConstraints() } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } func setupDetailView() { self.backgroundColor = .white self.addSubview(colorButtonStackView) self.addSubview(backgroundView) self.addSubview(saveButton) backgroundView.clipsToBounds = true backgroundView.layer.cornerRadius = 10 saveButton.clipsToBounds = true saveButton.layer.cornerRadius = 8 layoutSubviews() } func setupConstraints() { setupColorButtonSVConstraints() setupBackgroundViewConstraints() setupMainTextViewConstraints() // 왜 이걸 설정하면 색깔 버튼의 cornerRadius가 변경이 안될까요? setupSaveButtonConstraints() // setupButtonCorner() } func setupColorButtonSVConstraints() { print(#function) colorButtonStackView.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ colorButtonStackView.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor, constant: 25), colorButtonStackView.trailingAnchor.constraint(equalTo: safeAreaLayoutGuide.trailingAnchor, constant: -25), colorButtonStackView.topAnchor.constraint(equalTo: safeAreaLayoutGuide.topAnchor, constant: 20), // colorButtonStackView.bottomAnchor.constraint(equalTo: backgroundView.topAnchor, constant: -40), colorButtonStackView.heightAnchor.constraint(equalToConstant: 35) ]) } func setupBackgroundViewConstraints() { print(#function) backgroundView.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ backgroundView.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor, constant: 25), backgroundView.trailingAnchor.constraint(equalTo: safeAreaLayoutGuide.trailingAnchor, constant: -25), backgroundView.topAnchor.constraint(equalTo: colorButtonStackView.bottomAnchor, constant: 40), // backgroundView.bottomAnchor.constraint(equalTo: saveButton.topAnchor, constant: -40), backgroundView.heightAnchor.constraint(equalToConstant: 200) ]) } func setupMainTextViewConstraints() { print(#function) mainTextView.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ mainTextView.leadingAnchor.constraint(equalTo: backgroundView.leadingAnchor, constant: 15), mainTextView.trailingAnchor.constraint(equalTo: backgroundView.trailingAnchor, constant: -15), mainTextView.topAnchor.constraint(equalTo: backgroundView.topAnchor, constant: 8), mainTextView.bottomAnchor.constraint(equalTo: backgroundView.bottomAnchor, constant: -8) ]) } func setupSaveButtonConstraints() { print(#function) saveButton.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ saveButton.leadingAnchor.constraint(equalTo: safeAreaLayoutGuide.leadingAnchor, constant: 25), saveButton.trailingAnchor.constraint(equalTo: safeAreaLayoutGuide.trailingAnchor, constant: -25), saveButton.topAnchor.constraint(equalTo: backgroundView.bottomAnchor, constant: 40), saveButton.heightAnchor.constraint(equalToConstant: 40) ]) } func setupButtonColor() { print(#function) buttons.forEach { button in button.setTitleColor(MyColor(rawValue: Int64(buttons.firstIndex(of: button)!) + 1)?.buttonColor, for: .normal) button.backgroundColor = MyColor(rawValue: Int64(buttons.firstIndex(of: button)!) + 1)?.backgroudColor } } override func layoutSubviews() { print(#function) super.layoutSubviews() setupButtonCorner() } func setupButtonCorner() { print(#function) buttons.forEach { button in button.clipsToBounds = true button.layer.cornerRadius = button.bounds.height / 2 } } }
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
레이아웃 B타입 만들기 footer-inner 작동오류
index.html<div class="footer-inner"> <footer> <div class="footer-logo"></div> <div class="copyright"> <div></div> <div></div> </div> </footer> </div> style sheet.footer-inner{ background-color: beige;}footer{ border: 1px solid green; width: 1200px; margin: auto;}footer > div { height: 100px; box-sizing: border-box; float: left;}.footer-logo{ border: 1px solid pink; width: 200px;}.copyright{ width: 1000px;}.copyright > div { border: 1px solid black; height: 50px; } footer-inner 부분만 먹히지 않아요... background-color를 줘도 실행이 안됩니다ㅠㅠ
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
IT 대기업 100% 합격하는 방법 관련 질문
안녕하세요 선생님 IT대기업 100%합격하는 방법의 영상을 보고 개인적으로 계획을 짜봤는데 혹시 부족한 점이 있는지 피드백 한 번 주실 수 있나요??<현재 상황>1. 전공/비전공 : 비전공2. 사용가능 언어 : c++3. 프로젝트 : 0개4. cs지식 : cs지식의 정석 책과 강의 이용하여 학습 중5. 공부 : 큰돌 코딩테스트 강의 학습 중 ( 2023.03.22 현재 2주차 끝)6. 직군 : 백앤드7. 대학교 졸업 후 취업에 전념할 수 있는 상황 <계획>코딩테스트 4월 30일까지 코딩테스트 강의 완료하기 -> 이후 감각을 잃지 않기 위해 하루에 1문제씩 문제 풀기프로젝트큰돌님이 추천해 주신 좋은 부트캠프를 들어갔을 경우(부트캠프를 다니며 자바, 스프링 학습(자바 - 인프런 나도코딩 , 스프링 - 인프런 김영한)부트캠프 같은 팀원들과 프로젝트 진행 -> 5월 ~ 11월(우테코, 데브코스, 사피 - > 큰돌의 부트캠프 추천영상 기준)부트캠프를 안 들어갔을 경우(2023.5월 ~ 2023.12월)자바 - 나도코딩, 스프링 -인프런 김영한 강의 독학으로 학습8월부터 프로젝트 팀원 구해서 진행 (3개월 2개 or 6개월 1개 )cs 지식매일 꾸준히 30분 학습 30분 복습오픈소스 컨트리뷰터 (2023. 8월 ~ 2024. 2월)8월부터 프로젝트 진행하면서 스프링 부트 -> 스프링 컨트리뷰터 도전!!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@SpringBootApplication 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]저 @SpringBootApplication 가 문제로 뜨는데 들어가보니 저런 상태인데 뭐가 문제일까요?
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
addObservation이 안됩니다.
Assets\ML-Agents\Examples\GridWorld\Scripts\GridAgent.cs(88,20): error CS1061: 'VectorSensor' does not contain a definition for 'addObservation' and no accessible extension method 'addObservation' accepting a first argument of type 'VectorSensor' could be found (are you missing a using directive or an assembly reference?)유니티에 다음과 같은 오류가 뜨네요.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료 관련하여 문의 드립니다
강의자료가 보이지 않아서 전달 부탁드립니다. hghgusrl@naver.com 입니다! 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-C while구문 시간복잡도 질문입니다.
안녕하세요 강사님! 저는http://boj.kr/6c770daceea84800b760a9dd2fccfff9 //제 코드의 rain은 강사님의 d(depth)와 동일합니다.while구문으로 풀어봤는데, 시간초과라고 뜹니다. 제 코드의 시간복잡도는 100 x 100 x 100해서 백만이 맞는건가요?? 추가로 while문 보다는 for문으로 푸는게 시간복잡도를 줄이는데 더 좋은건가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
웹서버,was 그리고 멀티쓰레드
안녕하세요, 열심히 강의 따라가고있는 학생입니다. 웹서버 was강의 보고 해당 강의보면서 궁금한게 생겼습니다.웹서버,was 강의에서 그림으로 표현해 주시기를 여러개씩 그려주셨는데요. 그때는 서버가 여러개씩 있을 수 있구나 하면서 넘어갔는데 더 혼동이 와서요..사용자가 웹페이지에 접속했을때여러 서버가 있으면 어떤 서버에 있는 웹서버에 접속되는 건가요? 그럼 나머지 웹서버들은 어떻게 되는건가요?그리고 여러 서버 중 접속 당한 서버는 비즈니스 로직을 처리할 때 어떤 was를 선택하는 건가요?기준이 있는건가요?그리고 멀티쓰레드 강의에서 was에서 이 멀티 쓰레드를 지원한다고했는데만약 여러 웹서버와 was가 있고 제공되는 서비스는 쇼핑몰이라는 가정하에 두 명의 사용자가 각자 접속된 웹서버와 was가 다를때 한 개의 재고가 있는 제품을 구매하려고 한다면 어떻게 되는건가요? 이런것도 다 막아주는 어떤 서비스따로 있는건가요??
-
미해결Nuxt.js 시작하기
새로고침 시 에러
처음에 메인페이지를 들어갔을 때에는 배열에 담겨 response가 잘 뜨는데,새로고침만 하면 이런 에러 화면이 뜨면서 500 error가 발생했다는 콘솔창이 뜹니다.왜 그런지 알 수 있을까요 ㅠㅠ?
-
미해결처음 만난 리액트(React)
== 와 ===
const post = data.find((item) => { return item.id == postId; });이 코드에서 왜 == 를 ===로 바꿔줬을 때는 data를 찾지 못하는 걸까요?postId 와 item.id 모두 int 값 아닌가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-B배열에 관한 fill함수 질문입니다.
http://boj.kr/b25d9f2b896a4636bd396a5a12f73925저는 위 링크처럼 배열크기를 넉넉히 추가하여 a[54][54], visited[54][54]로 선언하였는데, fill함수를 이용할 때, 끝 값을 a[50][51]로 하면 틀렸습니다 라고 나옵니다.여기서 틀렸습니다 라고 나오는 이유가 교안을 찾아보니 fill함수로 초기화 할때는 전체를 초기화 하는게 정신건강에 이롭다고 하지만,,제가 생각하기엔 a배열에 입력되는 정수가 0~49뿐이니 마지막으로 49, 49가 입력되어 저장되는 곳인 a[50][50]의 바로 다음 값까지 초기화해도 된다고 생각하였습니다. 즉, 이 문제는 배열의 일부분만 초기화해도 된다 생각했습니다. 제가 범한 오류는 무엇인가요..?
-
해결됨냉동코더의 알기 쉬운 Modern Android Development 입문
EditText 는 kill 해도 값이 잘 저장되어있던데 혹시 제가 잘못테스트했을까요?
EditText 는 saveState 가 활성화되어있어서id 만 지정하면 시스템언어변경하거나해도 잘 불러오더라구요그래서 강사님처럼 kill 명어로도 강제 종료를 시켜봤는데그래도 잘 복원이 되더라구요강의에서 kill 로 종료하면 복구가 안되기 때문에 직접 뷰모델에 SaveStateHandle 을 이용하신다고 했는데그럼 실제 개발할때는 EditText 뷰인경우 SaveStateHandle 을 사용하지 않아도 될까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
Azure pipeline을 구축시 환경 변수 설정하는 위치
항상 강의 감사하게 듣고 있습니다.해당 강의에는 azure CI/CD 내용은 없지만 구축해서 사용하려고 합니다.그런데 docker를 구동할때 여러 환경변수(azure_account_name, azure_account_key, DEBUG, ALLOWED_HOST 등)들을 옵션으로 설정하게 되는데, azure에서 pipeline을 구축할 경우 해당 변수들을 어떻게 설정하는지 모르겠습니다.dev.azure.com에서 Pipelines->Variables 에서 설정하면 되는 것으로 알고 있었는데 변수가 전혀 먹지를 않네요.어떻게 해야 할런지요?참고로 yml을 사용하지 않고 classical하게 GUI로 설정하고 있습니다. 추가로 collectstatic을 별도의 bash shell이나 command line을 통해서 하는게 좋은 건지, dockerfile 내부에서 하는게 좋은 건지 말씀부탁드리겠습니다.고맙습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
0주차 메모리와 포인터#1 질문 있습니다!
강의에서 변수 선언 후 변수에 값을 넣어도 메모리 주소는 변하지 않는다고 말씀하시고 예제를 보여주셨는데 제 pc에서는 왜인지 변수에 값을 할당하기 전과 후의 메모리 주소가 달라서 궁금해서 질문 남깁니다. 실행할때마다 메모리 주소가 바뀌는게 신기해서 여러번 실행해봤습니다. 감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
javax.persistence가 import되지 않습니다
jpa강의를 듣던 도중 강의내용대로 따라했는데 오류가 발생하여 질문드립니다. build.gradle 의존성에 jpa 추가한 뒤 새로고침 했는데 javax.persistence.entity가 import 되지 않습니다. jakarta.persistence.entity는 가능하길래 import하여 진행해봤는데 오류가 나타납니다. https://drive.google.com/file/d/1p2qPm_9abHOmEqKz2oariH7S8iWla_k-/view?usp=sharing
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
라이브러리 실행이 안돼요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기 자료에 나와있는대로 했는데도 라이브러리 작동이 안되네요ㅠㅠ 매개변수가 비어있는 sql만 찍혀요! 뭐가 문제일까요?build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.0.4' id 'io.spring.dependency-management' version '1.1.0' } group = 'jpabook' version = '0.0.1-SNAPSHOT' 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-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' testImplementation 'junit:junit:4.13.1' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6' } tasks.named('test') { useJUnitPlatform() }application.yml콘솔창 select next value for member_seqfindMember == member: true2023-03-22T18:50:10.129+09:00 DEBUG 61227 --- [ main] org.hibernate.SQL : insert into member (username, id) values (?, ?)2023-03-22T18:50:10.157+09:00 INFO 61227 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2023-03-22T18:50:10.157+09:00 TRACE 61227 --- [ionShutdownHook] o.h.type.spi.TypeConfiguration$Scope : Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@d3cce46] for TypeConfiguration2023-03-22T18:50:10.158+09:00 DEBUG 61227 --- [ionShutdownHook] o.h.type.spi.TypeConfiguration$Scope : Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@4462a887] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@d3cce46]2023-03-22T18:50:10.160+09:00 INFO 61227 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2023-03-22T18:50:10.178+09:00 INFO 61227 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.Process finished with exit code 0
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
파일시스템 삭제시 질문 있습니다.,
파일을 삭제하게 되면 실제로 삭제하는것이 아닌 delete플래그를 설정한다고 하셨는데그럼 예를들어(예를 들기위해 운영체제가 차지하는 용량으 0으로 하겠습니다.) 256gb HDD에 1gb 파일 256개를 설치후 전부 삭제하게되면 운영체제상 보여지는 UI에는 0gb로 남아 있을텐데 복원이 된다는건 실제로 삭제된게 아니라는 것이고 데이터도 남아 있는것일텐데 이게 어떻게 가능한건가요...?