묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
스프링 delete 매개변수없이 구현
스프링에서 delete를 구현할때 보통 id값으로 deleteById() 이런식으로 구현하는데매개변수를 사용하지않고 구현하는 방법이 있을까요?어떠한 매개변수도 없이 user.delete() 이런식으로요
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
강의가 중복된 것 같습니다
객체지향 핵심파트의인터페이스와 인터페이스는 왜 쓰는가? 강의의 10분 15초부터 끝까지의 내용이인터페이스를 활용한 다형성 구현 강의와 내용이 중복된 것 같습니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
return; 유무
public static void DFS(int index, int sum) { if (sum > C) { return; } if (index == N) { answer = Math.max(answer, sum); return; } else { DFS(index+1, sum+arr[index]); DFS(index+1, sum); } }if(index == N) {} << 여기에서 강사님은 return;을 따로 쓰지 않으셨던데 return; 을 쓰거나 쓰지 않는 기준이 따로 있는건가요 ?? 어차피 저쪽으로 가게된다면 맨 마지막 줄이기 때문에 따로 return; 을 작성하지 않으신건가요 ?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-T 질문있습니다..!
안녕하세요!! 이 문제 해설 코드를 보다가 궁금한 점이 생겨서 질문 드립니다.상어가 이동하고 한칸에 두마리가 있을 때 큰 상어가 나머지 상어를 먹는 부분인데요, 제가 잘못 이해하고 있는 건가 싶은게 있습니다. 코드 67번째 줄 부분인데요. # i는 1부터 M까지 if(temp[ny][nx]) { if(a[temp[ny][nx]].z < a[i].z) { a[temp[ny][nx]].death = 1; temp[ny][nx] = i; } else a[i].death = 1; } else temp[ny][nx] = i;이때 i가 1인 경우에도 이미 상어가 있는 곳으로 이동하는 경우도 있을 수 있지 않나요?제가 잘못 이해하고 있는건지.. 고민하다가 질문드립니다. 감사합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-H 강의 질문 입니다.
5-H 풀이 강의투포인트 개념적용되는 문제로,중복되는 숫자가 나올때까지 e 를 증가시키고중복되는 수가 나오면 s 를 증가시키는 개념인 것은 이해를 했습니다만,s/e 가 변화해가면서 실질적으로 경우의 수를 산출하는 디테일한 부분에서 설명하신 내용만으로는 이해되지 않는 부분이 있어 질문 남깁니다. 4:41 경에1을 포함하는 집합을 다 빼야한다고 말씀해주셨는데요.말씀하신 문맥 흐름 상으로만 보면 경우의수에서 뺀다는 뜻으로 이해가 될 수가 있을 것 같습니다.코드상 ret 에는 아래와 같이 더해주는데 ret+=(e-s);뺀다는 표현이 어떤 의미인지 확인 부탁드립니다.코드 기반으로 제가 이해한 것은e = 3, s = 0 인 경우 (e-s) = 3 이고,1 / 12 / 123 에 대한 경우의 수를 ret 에다가 더해주는 것으로 저는 이해했습니다. 4:59 경에s=1 이 되면서 "이 구간(=갈색구간?)" 이 완성되는거라고 하셨는데, s 가 0 에서 1 이 되면서 비로소 2 / 3 / 1 구간 설정이 되는것인데, s=1 이 되고 2 / 3 / 1 구간에 대한 경우의 수를 확인할수있게 되는 것으로 보이는데요완성되었다는 표현이 어떤것을 의미하는것인가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ArrayList API 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]ArrayList<> 객체의 인수로 store.values()를 넣고 return 하게되면 어떤 알고리즘으로 store에 저장된 데이터들이 반환되는지 궁금합니다!해당 ArrayList의 API를 보면이런 식으로 구성돼있는 것을 확인할 수 있었는데 이게 무슨 뜻인지 이해가 잘 가지 않아서 여쭤봅니다!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
실무에서도 address를 값타입으로 사용하나요?
실무에서는 주소와 같은 경우는 값타입으로 사용하는지 혹은 엔티티로 따로 만들어서 사용하는지 궁금합니다. 고객의 주소 정보만 따로 관리하고 싶다 할때는 엔티티로 만들고 아닐때는 값타입으로 사용하는 등 실무에서는 유동적으로 선택해서 사용하나요?
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
dataModel 에서 값을 갖고 오지 못합니다
수정 버튼을 누르고 이후에 수정하는 페이지가 나올때 binding을 통해 dataModel 값들을 불러오지 못하고 오류가 납니다 class BoardEditActivity : AppCompatActivity() { private lateinit var key:String private lateinit var binding : ActivityBoardEditBinding private val TAG = BoardEditActivity::class.java.simpleName override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = DataBindingUtil.setContentView(this, R.layout.activity_board_edit) key = intent.getStringExtra("key").toString() getBoardData(key) } private fun getBoardData(key : String){ val postListener = object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { val dataModel = dataSnapshot.getValue(BoardModel::class.java) Log.d(TAG, dataModel.toString()) // Log.d(TAG, dataModel!!.title) // Log.d(TAG, dataModel!!.time) binding.titleArea.setText(dataModel?.title) binding.contentArea.setText(dataModel?.content) } override fun onCancelled(databaseError: DatabaseError) { // Getting Post failed, log a message Log.w(TAG, "loadPost:onCancelled", databaseError.toException()) } } FBRef.boardRef.child(key).addValueEventListener(postListener) } } 이게 현재 코드입니다여기서 저번 강의때 try catch 구문 쓰셨던 것과 같은 문제가 발생합니다그래서 try catch 를 쓰면 오류가 나와 페이지로만 이동하게 되어 아무것도 표시되지 않습니다 안드로이드 스튜디오 버전은 Electric Eel 입니다
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
모달팝업창이 height 100% 가 body 가 아닌 .container div 로 인식해서 올라갑니다
안녕하세요 선생님! 우선 좋은 강의 정말 잘 보고 있습니다!23년도 들어서 새로 출시된 유형도 빠르게 반영해주셔서 정말 좋습니다. 문제점: 모달팝업창에 height 100% 주고 position 속성도 .modal 과 body에 넣어주었는데,모달팝업이 높이를 .containter 에 맞춰지네요 (캡쳐본)--<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/style.css"> <title>A-1 유형 복습. 탭 뭉쳐있는거</title> </head> <body> <div class="container"> <header> <div class="header-logo"> <a href="#none"><img src="images/logo-a1-header.png" alt="logo"></a> </div> <div class="navi"> <ul class="menu"> <li> <a href="#none">탑</a> <div class="sub-menu"> <a href="#none">블라우스</a> <a href="#none">티</a> <a href="#none">셔츠</a> <a href="#none">니트</a> </div> </li> <li> <a href="#none">아우터</a> <div class="sub-menu"> <a href="#none">자켓</a> <a href="#none">코트</a> <a href="#none">가디건</a> <a href="#none">머플러</a> </div> </li> <li> <a href="#none">팬츠</a> <div class="sub-menu"> <a href="#none">청바지</a> <a href="#none">짧은바지</a> <a href="#none">긴바지</a> <a href="#none">레깅스</a> </div> </li> <li> <a href="#none">악세서리</a> <div class="sub-menu"> <a href="#none">귀고리</a> <a href="#none">목걸이</a> <a href="#none">반지</a> <a href="#none">팔찌</a> </div> </li> </ul> </div> </header> <div class="content"> <div class="slide"> <div> <a href="#none"><img src="images/slide-01.jpg" alt="slide1"></a> <a href="#none"><img src="images/slide-02.jpg" alt="slide2"></a> <a href="#none"><img src="images/slide-03.jpg" alt="slide3"></a> </div> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <a class="active" href="#none">공지사항</a> <a href="#none">갤러리</a> </div> <div class="tabs"> <div class="tab1"> <a class='open-modal' href="#none">SMS 발송 모바일 서비스 개선작업 안내입니다.<b>2020.01.09</b></a> <a href="#none">휴대폰 인증 서비스 개선 작업 기간 연장합니다.<b>2020.01.07</b></a> <a href="#none">카드사 부분 무이자 할부 이벤트 2월 3일까지 혜택<b>2019.12.31</b></a> <a href="#none">올앳 시스템 작업 안내<b>2019.12.20</b></a> <a href="#none">휴대폰 결제 시스템 작업이 완료되었습니다.<b>2019.12.20</b></a> </div> <div class="tab2"> <a href="#none"><img src="images/gallery-a1-01.jpg" alt="gallery1"></a> <a href="#none"><img src="images/gallery-a1-02.jpg" alt="gallery2"></a> <a href="#none"><img src="images/gallery-a1-03.jpg" alt="gallery3"></a> </div> </div> </div> </div> <div class="banner"> <a href="#none"><img src="images/banne-a1-02.jpg" alt="banner"> </a> </div> <div class="shortcut"> <a href="#none"><img src="images/banner-a1-01.jpg" alt="shortcut"> </a> </div> </div> </div> <footer> <div class="footer-logo"> <a href="#none"> <img src="images/logo-a1-footer.png" alt="footer-logo"> </a> </div> <div class="copyright"> <a href="#none">법적고지</a> <a href="#none">개인정보취급방침</a> <a href="#none">개인정보처리방침</a> <br><br> 상호 : 엣지컴퍼니 | 대표자 : 홍길동 | 개인정보관리책임자 : 장길산 차장 <br> 사업장주소 : 서울특별시 강남구 테헤란로 123-56 </div> <div class="sns"> <a href="#none"><img src="images/sns-01.png" alt="facebook"></a> <a href="#none"><img src="images/sns-02.png" alt="twitter"></a> <a href="#none"><img src="images/sns-03.png" alt="instagram"></a> </div> </footer> </div> <div class="modal"> <div class="modal-content"> <h2>SNS비회원주문하기 종료 안내</h2> <p>안녕하세요, JUST 쇼핑몰 MD 홍길동입니다. 안타깝게도 SNS비회원 주문하기 서비스가 한달 뒤 종료될 예정입니다. <br><br> 회원가입없이 SNS계정을 이용해 그동안 제품주문을 하실수 있었는데, 금번 강화된 개인정보보호법 시행령 제 9조 (부칙 3조 3항)에 의거, SNS를 이용한 상품 주문/결제등이 근래에 많은 보안잇슈로 문제가 되고 있음에 다라 KISA의 권고조치의 일환으로 했습니다. 따라서, 한달뒤인 2019.03.10 이후 모든 비회원 고객님들께서는 회원가입으로 전환 후 실명인증이 되어야 하며, 이는 모든 쇼핑몰/오픈마켓등의 전자상거래서비스의 공통된 사항이라는 점을 안내해드립니다.</p> <a class="close-modal" href="#none">Close</a> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html>@charset "utf-8"; body { color: #333333; background-color: #fff; height: 100%; width: 100%; position: relative; } a { color: #333333; text-decoration: none; } .container { border: 1px solid red; width: 1200px; margin: auto; } header { height: 100px; position: relative; z-index: 1; } header > div { height: 100px; } .header-logo { float: left; width: 200px; } .navi { width: 600px; float: right; } .content { } .slide { height: 300px; border: 1px solid blue; } .items { height: 200px; display: flex; } .items > div { border: 1px solid #000; } .news { width: 500px; } .banner { width: 350px; } .shortcut { width: 350px; } footer { display: flex; } footer > div { border: 1px solid #000; height: 100px; } .footer-logo { width: 200px; } .copyright { width: 800px; } .sns { width: 200px; } /* Navigation */ .menu { list-style: none; padding: 0; margin-top: 66px; } .menu li { float: left; width: 25%; text-align: center; } .menu li > a { border: 1px solid #000; display: block; padding: 3px; transition: 0.5s; } .sub-menu { border-bottom: 1px solid black; } .menu li:first-child > .sub-menu { border-left: 1px solid black; } .menu li:last-child > .sub-menu { border-right: 1px solid black; } .sub-menu { background-color: #fff; display: none; } .sub-menu a { display: block; padding: 5px; transition: 0.5s; } .menu li:hover > a { background-color: black; color: white; } .sub-menu a:hover { background-color: black; color: white; } /* Navigation */ /* Image Slide */ .slide { width: 1200px; height: 300px; position: relative; overflow: hidden; } .slide > div { font-size: 0; animation: slide 5s linear infinite; position: absolute; } @keyframes slide { 0% { top: 0; } 30% { top: 0; } 35% { top: -300px; } 65% { top: -300px; } 70% { top: -600px; } 95% { top: -600px; } 100% { top: 0; } } /* Image Slide */ /* Tab Menu */ .tab-inner { width: 96%; margin: auto; position: relative; } .btn { } .btn > a { border: 1px solid #000; display: inline-block; width: 100px; text-align: center; border-radius: 5px 5px 0 0; padding: 2px 6px; background-color: #ddd; margin-bottom: -1px; border-bottom: none; } .btn > a:nth-child(2) { margin-left: -6px; } .btn a.active { background-color: white; } .tabs { } .tabs > div { border: 1px solid #000; height: 165px; width: 100%; position: absolute; box-sizing: border-box; background-color: #fff; } .tab1 { } .tab1 a { display: block; padding: 5px; border-bottom: 1px solid black; } .tab1 a:last-child { border-bottom: none; } .tab1 a b { float: right; font-weight: normal; } .tab2 { text-align: center; padding-top: 20px; display: none; } .tab2 a { } .tab2 a img { width: 120px; } /* Tab Menu */ /* 모듈외 콘텐츠 */ .header-logo, .footer-logo, .sns { line-height: 130px; } .copyright { text-align: center; padding-top: 10px; box-sizing: border-box; } .copyright a:hover { color: dodgerblue; text-decoration: underline; } .sns { text-align: center; } /* 모듈외 콘텐츠 */ /* Modal */ .modal { background-color: rgba(0, 0, 0, 0.25); width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 3; } .modal-content { background-color: #fff; width: 450px; height: 500px; padding: 25px; text-align: center; border-radius: 15px; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.418); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .modal-content h2 {} .modal-content p {} .modal-content a { float: right; border: 1px solid #000; padding: 2px 8px; border-radius: 5px; } /* Modal */
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
infinite-scroller 무한 스크롤
선생님 안녕하세요... 정말 열심히 하였지만 무한 스크롤 때문에 정말 머리가 터질것같습니다.. 댓글 한번만 작성 했는데... 사진처럼 여러개가 나옵니다 해결 방법이 있을까요ㅠㅠㅠ
-
해결됨그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
LoadBalancer External IP 질문
[질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [아니요]3. 질문 잘하기 법을 읽어보셨나요? [예](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기]안녕하세요, 온프레미스 환경에서 loadBalancer 를 사용하기 위해 metalLB를 사용한다는 것을 조훈님 유투브 영상을 보고 알게 되었습니다! 정말 감사합니다. 이 강의에서 다룬 내용은 아니라 혹시 해결책이나 원인 아시면 답변 부탁들릴게요ㅜㅜ.. MetalLB를 통해 생성된 192.168.35.101:80 으로 접속이 안되어서 혹시 다른 설정을 추가적으로 해야하는지 궁금합니다!단순히 metallb 가이드를 따라 설치한 상태입니다.호스트 환경: window11 wsl2가상환경: ubuntu 20 LTSk8s 버전: v1.25.4docker 버전: v20.10.22 -kubectl get service- kubectl -n metallb-system get configmap,pod추가) 추가 확인해보니 http://192.168.35.101 이 아닌 http://localhost 으로 접속해야 붙네요
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
요즘의 취업시장을 생각해보면 어떻게 해야할까요?
안녕하세요. 요즘 취업시장이 많이 어려워진 시기입니다.선생님께서 영상을 올려주셨던 시기와 다르게 현실적으로 비전공,전공을 떠나서 취업의 문 자체가 많이 좁아지고 있는 형국인데요, 물론 근본적으로 자신의 실력이 바탕이 되면 다른 기업에서도 알아봐 줄수는 있겠으나취업시장이 많이 힘들어진 지금 시점에서도 근본적으로 si업체보다는 서비스업체에서 먼저 커리어 생활을 시작하는게 낫다고 파악을 하시나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Prettier 적용 오류
다른 때에는 prettier가 잘 동작하는데useQuery, useMutation Hook에 type을 지정하면 prettier가 잘 작동하지 않습니다.useQuery에 타입을 지정하지 않거나, 코드를 주석처리하면 prettier가 잘 작동합니다.const { data, refetch } = useQuery<Pick<IQuery, "fetchBoards">, IQueryFetchBoardsArgs>(FETCH_BOARDS);
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
myLocationEnabled: true 작성시 현재 위치 표시가 안됩니다.
플러터 강의 중 구글맵 사용하는 강의 중에서요GoogleMap( myLocationEnabled: true,사용시 현재 위치 마커가 나오지않는데 ..이유를 알수있을까요..?google_maps_flutter: ^2.1.11 사용중입니다.강의 그대로 따라하는데 다되는데 이 마커만 안나오네요
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
missing return statement 관련 질문 드립니다.
강사님이 강의에서 짜주신 코드처럼while (!q.isEmpty())로 하면 강의에서 보여주신 것처럼 return 이 따로 없을경우 에러가 나는데 (그래서 강의에서는 따로 return 0; 해주셨어요)while (true)로 하면 따로 return 이 없어도 에러가 안납니당 ,,혹시 while (true) 일때는 return 이 강의에서처럼 따로 없어도 에러가 안나는 이유가 있나요 ..? BFS 함수만 첨부하면 다음과 같습니닷// 방법3. BFS 상태트리탐색 (최단거리 BFS) - (2) : 로직 자체는 방법2와 동일, 배열 사용 및 코드 리팩토링 ! public static int BFS2(int S, int E) { Queue<Integer> q = new LinkedList<>(); int[] check = new int[10001]; int[] go = {-1, 1, 5}; // = 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. // 0번째 세팅 q.offer(S); check[S] = 1; int level = 0; // while (!q.isEmpty()) { while (true) { int size = q.size(); for (int i=0; i<size; i++) { int tmp = q.poll(); // if (tmp == E) { // return level; // } for (int j=0; j<go.length; j++) { int nx = tmp + go[j]; if (nx == E) { return level + 1; } if (check[nx]==0 && 1<=nx && nx<=10000) { q.offer(nx); check[nx] = 1; } } } level++; } }
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
faker 패키지 취약성 이슈
faker 패키지 이슈가 생겼습니다. npm i faker로 하면 에러가 발생합니다.npm i -D faker@5 이렇게 하면 될 것 같은데 해도 될까요?
-
미해결
스파크 성능
안녕하세요.스파크를 공부하는 개발자입니다.스파크가 Scala, Java, Python, R로 제공해주고 있습니다.이전 질문에서 Scala보다 Python으로 많이 사용하는 추세라고 답변을 해주셨는데요.해당 언어에 종속되지 않고 동일한 성능이 나오는 걸까요? (4개 모두간략하게라도 언급해주시면 감사하겠습니다.^^) Spark의 RDD, DataFrame, SQL 비교강의에서 Scala와 Python만 언급되어있더라고요ㅜㅜ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
boolean에만 static이 안 붙는 이유가 있나요 ?
강사님이 작성하신 코드에서DFS 함수 위에 나머지는 다 앞에 static 붙여서 정적변수로 해놓으셨는데boolean flag = false; 만 static이 안 붙여져있더라구여boolean 형에만 static을 안 붙이신 이유가 있으신가여?DFS 함수 내에서만 사용되기 때문에 안 붙이신 건가요 ?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
챕터8 - P01_합이같은부분집합_DFS_아마존인터뷰 관련 질문입니다.
강의 듣기 전, 혼자 풀어볼 때 코드를 이렇게 짰는데 이것도 맞는 풀이일까요 ...?import java.util.*; import java.io.*; /* N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작성하세요. 둘로 나뉘는 두 부분집합은 서로소 집합이며, 두 부분집합을 합하면 입력으로 주어진 원래의 집합이 되어 합니다. 예를 들어 {1, 3, 5, 6, 7, 10}이 입력되면 {1, 3, 5, 7} = {6, 10} 으로 두 부분집합의 합이 16으로 같은 경우가 존재하는 것을 알 수 있다. ex. 6 1 3 5 6 7 10 -> YES */ public class P01_합이같은부분집합_DFS_아마존인터뷰 { static int total; static int[] arr; static String answer; static int index; static int sum; static int N; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); arr = new int[N]; StringTokenizer st = new StringTokenizer(br.readLine()); total = 0; for (int i=0; i<N; i++) { arr[i] = Integer.parseInt(st.nextToken()); total += arr[i]; } index = 0; sum = 0; answer = "NO"; DFS(index); System.out.println(answer); } public static void DFS(int index) { if (sum*2 > total || index==N) { return; } else { sum += arr[index]; if (sum*2 == total) { answer = "YES"; return; } DFS(index+1); sum -= arr[index]; DFS(index+1); } } } 채점 사이트에서 통과하기는 하는데 이 풀이가 맞아서 통과한건지 아님 운좋게(?) 테스트 케이스 5개가 다 맞아서 통과한건지 뭔가 풀이에 대한 확신이 없어서요 .. !
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
UNCHECKED EXCEPTION 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]uncheckedapptest 클래스에서 service class 부분입니다. service.logic()을 실행하면 먼저 repository.call()에서 runtimesqlexception이 발생하게 됩니다. 그럼 이 경우에 아래줄읜 networkclient.call()을 실행 안하고 바로 throw runtimesqlexception을 하게 되나요?이 부분에서 runtimesqlexception.class를 runtimeconnectexception으로 바꿔서 검증하면 에러가 납니다.!결론)1)이 코드가 작동할때는 runtimesqlexception이 발생해서 networkclient.calll()을 실행안하고 throw로 runtimesqlexception만 던지는지2) 그럼 서블릿은 runtimeconnectexception이 발생했다는 것을 인지를 전혀 못하는지 3)마지막 사진에서 runtimesqlexception.class대신 runtimeconnectexception.class로 바꿔 실행하면 왜 초록불이 안들어오는지 궁급합니다!궁금합니다!!