172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
Java/Spring 주니어 개발자를 위한 오답노트
안녕하세요,선생님 습하고 더운 여름 몸 건강히 계시길 바랍니다. 강의를 듣는 도중 궁금한 부분이 생겼습니다. DIP와 IoC가 다르다고 말씀하신 부분이, DIP가 의존성 주입을 역전함으로써 제어의 흐름을 바꾸지만 IoC가 의존성을 주입해주는 것은 아니어서 그렇다고 이해되는데 제대로 이해한 게 맞을까요? ㅜㅜ 또, Open-Closed 법칙을 설명해주시는 1:32초 부분에 수정에는 열려있어야 한다는 말씀을 하셨는데 수정 시 많은 메소드 혹은 클래스를 수정해야 하는 경우가 수정에 열려있는 것이 아닌지요 ㅜㅜ... 제가 잘 모르다보니 헷갈려서 질문드립니다!
nsonestudy2
2023-06-04T07:58:56.111Z
댓글 2
좋아요 1
조회수 855
미해결
따라하면서 배우는 웹애플리케이션 만들기
bitnami 설치 제공이 이제 중단되었다는데... 어떻게 설치하나요??
박소영
2023-06-04T02:26:37.240Z
댓글 2
좋아요 0
조회수 896
미해결
[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>서울구석구석</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <div class="main-content"> <div class="left"> <header> <div class="header-logo"> <a href="#none"><img src="images/logo-header.png" alt="header 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> </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> </div> </li> </ul> </div> </header> </div> <div class="right"> <div class="slide"> <div class="slide-image"> <div class="slide-image-inner"> <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="banner"> <img class="banner-image" src="images/banner-01.png" alt="banner image"> <div class="banner-content"> <h3>얼리버드 선착순 할인 이벤트 최대 30% 할인</h3> <p> 12월은 사랑의 달~ 코딩웍스에서 여러분께 사랑을 뿌려요~<br> 12월 개강반을 12월 06일까지 접수하는 분들께는 15%~ 20% 의 얼리버드 할인을 제공합니다. </p> </div> <a href="#none"><img src="images/banner-02.png" alt="banner link"></a> </div> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <span>공지사항</span> </div> <div class="tab1"> <a class="open-modal" href="#none"><em>스트리밍 서버 이전 작업으로 2시간 서비스 중지</em><b>2022.12.20</b></a> <a href="#none"><em>얼리버드 선착순 할인 이벤트 최대 50% 할인</em><b>2022.10.13</b></a> <a href="#none"><em>내 집 마련의 꿈을 꿈이 아닌 현실로 만드는 진짜 방법</em><b>2022.11.31</b></a> <a href="#none"><em>외국인과 영어로 네이티브처럼 대화하는 노하우</em><b>2022.08.09</b></a> <a href="#none"><em>월 500만원 매출을 내는 블로그 운영하는 노하우</em><b>2022.07.07</b></a> </div> </div> </div> <div class="gallery"> <div class="tab-inner"> <div class="btn"> <span>갤러리</span> </div> <div class="tab2"> <a href="#none"><img src="images/gallery-01.png" alt="gallery1"><span>퍼블리셔 취업 가이드</span></a> <a href="#none"><img src="images/gallery-02.png" alt="gallery2"><span>전문가가 되는 사진촬영</span></a> <a href="#none"><img src="images/gallery-03.png" alt="gallery3"><span>라인을 만드는 필라테스</span></a> </div> </div> </div> </div> </div> </div> <footer> <div class="footer-logo"> <a href="#none"><img src="images/logo-footer.png" alt="footer logo"></a> </div> <div class="copyright"> 상호 : (주)코딩웍스 | 대표자 : 홍길동 | 개인정보관리책임자 : 성춘향 부장 사업장주소 : 경기도 남양주시 별내동 1234 코딩웍스 빌딩 6층 (주)코딩웍스 </div> <div class="family-site"> <select> <option value="">패밀리 사이트</option> <option value="">코딩웍스 커뮤니티</option> <option value="">코딩웍스 쇼핑몰</option> <option value="">코딩웍스 재단</option> </select> </div> </footer> </div> <div class="modal"> <div class="modal-content"> <h2>스트리밍 서버 이전으로 서비스 장애</h2> <p> 스트리밍 서버 이전 작업으로 2시간 서비스 중지됩니다.<br> <br> 주요 작업 내용은 아래와 같습니다.<br> 1. 서버 이전에 따른 DNS 이전으로 기존 호스팅 서비스 대체<br> 2. 문자셋을 utf-8로 변경 후 모바일 등에 대처하기 위해 미리 조치<br> 3. 스트리밍 서버 CDN과 연동 후 멀티미디어 이러닝 서비스가 제공<br> <br> 위 내용을 보시면 제법 큰 작업이었음을 알 수 있습니다.<br> 특히 문자셋의 변경에 따라 기존의 DB, data, 웹사이트 솔루션 등의 커스트마이징 등에 상당한 어려움이 있었고, 이에 따른 일부 접속 오류가 있을 수 있었음에 양해를 구합니다.<br> 특히 인터넷익스플로러 11로 접속하셨을 경우 일부 문제은행 목차가 출력되지 않았을 수도 있습니다.<br> 서버 이전 작업으로 고객님들께 불편을 드려서 대단히 죄송합니다.<br> 정상 운영되도록 최선을 다하겠습니다. 감사합니다. </p> <a class="close-modal" href="#none">닫기</a> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> @charset "UTF-8"; body { margin: 0; background-color: #ffffff; color: #333333; font-size: 15px; } a { color: #333333; text-decoration: none; } .container {} .main-content { display: flex; } .main-content > div { /* border: 1px solid black; */ /* height: 650px; */ } .left { width: 200px; background-color: rgba(210, 181, 161, 0.5); } .right { flex: 1; } header {} header > div { /* border: 1px solid red; */ } .header-logo { height: 100px; display: flex; align-items: center; } .navi { height: 400px; } /* Navigation */ .menu { list-style: none; padding: 0; width: 90%; margin: auto; margin-top: 10px; } .menu li { text-align: center; } .menu li > a { border: 1px solid lightgray; display: block; padding: 5px; background-color: lightskyblue; transition: 0.1s; } .menu li:hover > a { background-color: olivedrab; color: #ffffff; } .sub-menu { border: 1px solid lightgray; background-color: lightcyan; display: none; } .sub-menu a { display: block; padding: 5px; transition: 0.1s; } .sub-menu a:hover { background-color: olivedrab; color: #ffffff; } .slide { display: flex; } .slide > div { /* border: 1px solid blue; */ height: 400px; } .slide-image { flex: 1; height: inherit; overflow: hidden; position: relative; } .slide-image-inner { font-size: 0; width: 300%; height: inherit; position: absolute; top: 0; left: 0; animation: slide 10s linear infinite; } .slide-image-inner a { height: inherit; display: inline-block; width: calc(100% / 3); } .slide-image-inner a img { height: inherit; width: 100%; object-fit: cover; } @keyframes slide { 0% { left: 0; } 30% { left: 0; } 35% { left: -100%; } 65% { left: -100%; } 70% { left: -200%; } 95% { left: -200%; } 100% { left: 0; } } .banner { width: 230px; text-align: center; box-sizing: border-box; padding: 5px; font-size: 14px; background-color: ivory; } .banner .banner-image { width: 88%; } .items { display: flex; } .items > div { /* border: 1px solid green; */ height: 250px; flex: 1; } .news {} .gallery {} /* News & Gallery */ .tab-inner { width: 95%; margin: auto; margin-top: 5px; } .btn {} .btn span { border: 1px solid #000000; display: inline-block; width: 100px; text-align: center; padding: 5px; border-radius: 5px 5px 0 0; border-bottom: none; margin-bottom: -1px; background-color: lightskyblue; } .tab1 { border: 1px solid #000000; height: 208px; box-sizing: border-box; padding: 10px 15px; } .tab1 a { display: block; padding: 9px; border-bottom: 1px solid #000000; } .tab1 a:last-child { border-bottom: none; } .tab1 a em { font-style: normal; } .tab1 a b { float: right; font-weight: normal; } .tab2 { border: 1px solid #000000; height: 208px; text-align: center; box-sizing: border-box; padding-top: 10px; } .tab2 a { display: inline-block; text-align: center; } .tab2 a img { height: 165px; border-radius: 5px; } .tab2 a span { display: block; } footer { display: flex; height: 100px; align-items: center; background-color: rgb(211, 211, 211, 0.3); } footer > div { /* border: 1px solid red; */ text-align: center; } .footer-logo { width: 200px; } .copyright { flex: 1; } .family-site { width: 230px; } .family-site select { padding: 5px; border-radius: 3px; } .modal { background-color: #00000077; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; display: none; } .modal-content { background-color: #ffffff; width: 460px; padding: 20px; border-radius: 10px; box-shadow: inset 0 0 10px #000000; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .modal-content h2 { text-align: center; } .close-modal { float: right; border: 1px solid #000000; padding: 5px 10px; border-radius: 5px; } $('.menu li').mouseenter(function(){ $(this).children('.sub-menu').stop().slideDown() }) $('.menu li').mouseleave(function(){ $(this).children('.sub-menu').stop().slideUp() }) $('.open-modal').click(function(){ $('.modal').fadeIn() }) $('.close-modal').click(function(){ $('.modal').fadeOut() }) .banner에서 gap처럼 요소 간의 간격을 띄우는 방법이 있나요?
bimil1121
2023-06-03T04:32:58.890Z
댓글 2
좋아요 1
조회수 669
해결됨
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
안녕하세요. 강의 들으며 재밌고 공부하고 있습니다. 감사합니다. 예외 처리를 util패지키에 모아서 처리하는 것은 이해했습니다. 약간 궁금증 생겨서 문의 남겨봅니다! BookService의 코드 일부분 입니다. 여기서 보면 UserRepository 와 BookRepository 의 findByName 에서 모두 fail()로 예외 처리를 하는데요, 이걸 그냥 리포지토리 계층의 메서드 자체에서 예외를 처리해주면 더 깔끔하지 않을까 하는 궁금증이 생겼습니다. 제가 지금까지 공부하면서는 리포지토리 계층에서 디폴트 메서드를 통해서 처리하는 코드도 봤고, 서비스 계층에서 처리하는 코드도 봐서 어떤 방식을 선호하시는지, 권장 하시는지 궁금합니다! 좋은 강의 감사합니다!
java spring kotlin spring-boot 리팩토링
장대영
2023-06-01T11:55:24.763Z
댓글 1
좋아요 4
조회수 936
해결됨
따라하며 배우는 HTML, CSS
<header class="header"> <nav class="header__content"> <div class="header__buttons"> <a href="index.html" class="header__home"> <img src="assets/icons/logo.svg" alt="logo"> </a> </div> <div class="header__search"> <img src="assets/icons/search.svg" alt="search"> <input type="text" placeholder="Search..."> </div> <div class="header__buttons"> <a href="#none"> <img src="assets/icons/home.svg" alt="home"> </a> <a href="#none"> <img src="assets/icons/shop.svg" alt="shop"> </a> <a href="#none"> <img src="assets/icons/messenger.svg" alt="messenger"> </a> <div class="profile__picture"> <img src="assets/images/avatar.png" alt="user picture"> </div> </div> </nav> </header> .header { width: 100%; height: 44px; background-color: #FFFFFF; display: flex; justify-content: center; position: fixed; top: 0; left: 0; z-index: 2; border-bottom: 1px solid #DBDBDB; } .header__content { width: 100%; max-width: 975px; padding: 0 14px; display: flex; justify-content: space-between; align-items: center; } .header__logo { margin-top: 5px; } .header__search { width: 216px; height: 28px; display: none; align-items: center; position: relative; } @media (min-width: 768px) { .header__search { display: flex; } } .header__search img { width: 12px; height: 12px; position: absolute; top: 8px; left: 8px; } .header__search input { width: 100%; height: 100%; background-color: #FAFAFA; padding: 4px 10px 4px 28px; border: 1px solid #DBDBDB; border-radius: 4px; outline: none; font-size: 12px; /* 폰트 굵기 */ font-weight: 300; color: #999999; text-overflow: hidden; white-space: nowrap; } .header__search input:focus { color: #262626; } .header__buttons { display: flex; align-items: center; gap: 16px; } .profile__picture img{ width: 24px; border-radius: 50%; } css의 .profile__picture부분에서 저는 강의처럼 말고 뒤에 img를 넣어야지만 사진 크기가 조정되는데 img를 안붙혀도 되는 이유가 궁금합니다!
양지원
2023-06-01T08:46:50.798Z
댓글 1
좋아요 0
조회수 349
미해결
따라하며 배우는 HTML, CSS
header라는 태그 자체가 있는데 class명을 주는 이유가 궁금합니다!! 따로 이유가 있을까요??
sunnw2
2023-06-01T02:46:45.107Z
댓글 1
좋아요 0
조회수 336
해결됨
웹 애니메이션을 위한 GSAP 가이드 Part.02
강의노트는 어디서 다운 받나요 ?
HTML/CSS javascript 인터랙티브-웹 gsap
JS
2023-06-01T01:55:47.849Z
댓글 1
좋아요 1
조회수 381
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 몰라요 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 여기에 질문 내용을 남겨주세요. 처음하는 초심자 입장에서 너무 어렵습니다 일단 설치부터 jdk까지는 꾸역꾸역 구글링해서 깔고했는데 인텔리제이를 설치하고 설치하는 과정에서 어떤 체크사항을 체크해야하고 어디에 저장하고 하는지 하나도 모르고 그냥 "인텔리제이 설치하시오", "자바 jdk 설치하시오" 미리 준비물로 딸랑 해놓고 지금 혼자 깔고 인텔리제이 실행해서 강사님이랑 똑같이 하려는데 처음 run하는것부터 run이 보이지도 않고 막히네요 무료강의도 아니고 돈내고 듣는데 너무 짜증나고 답답합니다 이 질문도 한참있다가 질문답변이 달릴테고... 극초심자를위한 설치부터 하나하나 같이 알려주고 하는방법좀 설명해주셨으면 좋겠습니다 시간아깝고 짜증납니다 정말
임규영
2023-05-31T12:42:36.355Z
댓글 0
좋아요 2
조회수 1026
미해결
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요. fly launch 을 하고나서 선생님처럼 docker 파일들이 생기지 않았고 , DataBase 관련 된 질문에 No 를 하고 나서 Error: open Dockerfile : The system cannot find the file specified. 라는 에러가 발생하였습니다. 2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠ ex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다! 3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
HTML/CSS javascript react node.js react-native 머신러닝 express tensorflow
2023-05-31T12:23:43.083Z
댓글 2
좋아요 0
조회수 893
미해결
[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
https://inflearn.com/questions/675320 안녕하세요! 해당 질문 보고 추가질문드립니다. 섹션2에서 질의응답이 끝나면 현재 index 페이지에서 결과값이 나오는데, 각 유형에 맞게 바로 result 페이지로 이동하려면 코드를 어떻게 수정해야 할지 궁금해서 질문드립니다.결과 이미지를 여러 장씩 넣고 싶어서요..! 시간나실때 답변 주시면 참고하겠습니다. 좋은 강의 만들어주셔서 감사합니다!
HTML/CSS javascript bootstrap
qwertii8
2023-05-31T07:49:06.864Z
댓글 1
좋아요 0
조회수 451
미해결
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
nodejs의 파일 위치가 cmd와 동일하고 node.js 다운도 모두 끝마쳤는데 cmd에서 파일을 불러올 수 없고 터미널에서도 오류가 납니다 어떤 부분이 문제인 걸까요?
HTML/CSS javascript react node.js react-native 머신러닝 express tensorflow
tostarmk
2023-05-31T06:26:35.862Z
댓글 2
좋아요 0
조회수 905
해결됨
웹 애니메이션을 위한 GSAP 가이드 Part.02
애니메이션 재생, 정지, 재시작 버튼 구현 강의에서 3:55에 클로저를 설명해주신 내용에서 let toggle = false; button.addEventListener('click',()=>{ if (!toggle) { animation.pause(); } else { animation.play(); } toggle = !toggle; }); 이부분을 button.addEventListener('click',()=>{ let toggle = false; return ()=>{ if (!toggle) { animation.pause(); } else { animation.play(); } toggle = !toggle; } }); 로 변경하셨는데 변경전 코드는 잘 되는데 변경된 코드는 동작을 하지 않습니다 혹시 제가 잘못 적은 부분이 있을까요?
HTML/CSS javascript 인터랙티브-웹 gsap
플린
2023-05-31T04:51:09.654Z
댓글 1
좋아요 2
조회수 378
미해결
재고시스템으로 알아보는 동시성이슈 해결방법
낙관 락과 비관 락을 정확히 언제 사용하는지 궁금한데요, 충돌이 잦을 때는 비관 락을 사용한다고 이해하기엔 막연한 느낌이 있어서요, 혹시 실무에서 구체적인 예시를 들어주실 수 있을까요?? 비관적 락이 구현이 훨씬 간단할 것 같은데, 실제로 실무에서 비관적 락이 아닌 낙관적 락을 직접 구현해서 사용할 일이 있는지도 궁금합니다. 충돌이 빈번하게 일어난다면 비관적 락이 더 적합할 수 있다고 하셨는데 이유가 뭔가요? 어떤 부분에서 성능상 이점이 있는지 궁금합니다. 자세하게 설명해주시면 정말 감사할 것 같습니다. 감사합니다!!
니나니노
2023-05-30T13:16:57.927Z
댓글 2
좋아요 0
조회수 5540
해결됨
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
map 사용 시 3번의 console.log 와 return의 사용이나 순서에 따라 결과가 다르게 나오는데요 이 이유가 궁금합니다
HTML/CSS javascript react node.js react-native 머신러닝 express tensorflow
tostarmk
2023-05-30T09:42:50.183Z
댓글 2
좋아요 0
조회수 315
미해결
처음 만난 리액트(React)
npx serve -s build라고 입력하시면 됩니다:) 환경 변수, 경로 확인, 재설치 별별 삽질하다가 뒤늦게 알았어요 ㅎㅎ
wnguddl96
2023-05-30T08:49:20.557Z
댓글 2
좋아요 0
조회수 841
해결됨
따라하며 배우는 HTML, CSS
관련해서 검색을 해보니, <strong>과 같은 sementic 태그는 의미를 부여하기때문에 검색엔진이 크롤링할때 영향을 끼친다는 말이 종종 보였습니다. 그리고 mdn 에서는 <b> 태그 대신 font-weight 혹은 강조의 의미를 넣은 <strong>을 사용하라고 나옵니다. 이에 대해 의문이 생겼는데요, 1) 실무에서는 font-weight, <b>, <strong>을 어떻게 분배하는지 궁금합니다. 태그 사용도 SEO를 고려하나요? 2) <b>대신 font-weight를 사용해야하는 이유가 궁금합니다.
dunow
2023-05-30T05:40:37.491Z
댓글 1
좋아요 0
조회수 379
미해결
처음 만난 리액트(React)
각 파일별 코드 첨부합니다. 위와같이 코드를 작성했는데 이런 에러 창이 뜨네요 확인해봐도 빼먹거나 잘못입력한 부분은 없는 거 같은데 뭐가 문제일까요??
정일규
2023-05-30T04:54:14.033Z
댓글 1
좋아요 0
조회수 831
미해결
SCSS(SASS)+GRID+FLEX 실전 포트폴리오 퍼블리싱
이미지는 어디서 다운 받는거죠?
sigs
2023-05-30T02:33:53.312Z
댓글 1
좋아요 1
조회수 432
미해결
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요. 큰돌님 강의 잘 듣고있습니다. 다름이 아니라 아래 코드에서 어떠한 이유로 통과가 안되는지 이유를 모르겠습니다. 감사합니다. public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] cnt = new int[26]; br.readLine().chars().forEach(i -> cnt[i - 'A']++); boolean checkOdd = false; char oddChar = '0'; StringBuilder sb = new StringBuilder(); for (int i = cnt.length - 1; i >= 0; i--) { if (cnt[i] == 0) continue; if (checkOdd && (cnt[i] & 1) == 1) { sb.setLength(0); // sb.append("I'm Sorry Hansoo"); break; } if ((cnt[i] & 1) == 1) { oddChar = (char) (i + 'A'); checkOdd = true; cnt[i]--; } for (int j = 0; j < cnt[i] / 2; j++) { sb.append((char) (i + 'A')); sb.insert(0, (char) (i + 'A')); } } if (Character.isLetter(oddChar)) { sb.insert(sb.length() / 2, oddChar); } System.out.print(sb.toString()); }
최찬호
2023-05-30T01:35:07.347Z
댓글 2
좋아요 0
조회수 513
미해결
[웹 개발 풀스택 코스] HTML&CSS 기초
오른쪽 창에서 파란색으로 괄호한 부분은 주석인데 왜 화면에 노출되나요? 추가로 강의와 똑같이 작성하고 저장하는데 prettier가 경고? 아이콘으로 뜨네요 ㅜㅜ. 오류 찾는 방법이 있을까요
장가을
2023-05-29T12:34:13.454Z
댓글 1
좋아요 0
조회수 455