inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

예외가 존재할 가능성?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

회의가 끝나는 시간이 가장 일찍인 경우부터 개수를 구하는데, 만일 입력예제가 5 1 4 2 3 3 7 4 6 6 7 이런식이면 끝나는 시간순으로 구하는게, 회의실을 사용할 수 있는 최대수의 회의가 아니지 않나요? 영상의 방법이 모든경우의 예제에 적용이 되는지 궁금해서 질문 올렸습니다.

  • python
  • 코딩-테스트
heewon221 댓글 1 좋아요 0 조회수 108

메일버튼 클릭하고 하단바에 메일버튼을 클릭하려고 하니까 ElementClickInterceptedException 이 발생했어요.

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

user_id = '****' user_pw = '****' from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip #드라이버 생성 driver = webdriver.Chrome() driver.implicitly_wait(10) #페이지 이동 driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") time.sleep(1) #아이디 입력 id = driver.find_element(By.CSS_SELECTOR, '#id') pyperclip.copy(user_id) #클립보드라는 공간에 user_id를 복사해놓음. id.send_keys(Keys.CONTROL, 'v') #붙여넣기. time.sleep(1) #비밀번호 입력 pw = driver.find_element(By.CSS_SELECTOR, '#pw') pyperclip.copy(user_pw) #클립보드라는 공간에 user_pw를 복사해놓음. pw.send_keys(Keys.CONTROL, 'v') time.sleep(1) #로그인 버튼 클릭 driver.find_element(By.CSS_SELECTOR, '#log\\.login').click() # 메일 버튼 클릭 driver.find_element(By.CSS_SELECTOR, '#account > div.MyView-module__my_menu___eF24q > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM').click() driver.find_element(By.CSS_SELECTOR, '#account > div.MyView-module__layer_menu_service___NqMyX > div.MyView-module__service_sub___wix9p > div.MyView-module__sub_left___AIWHR > a').click() #새창으로 전환 driver.switch_to.window(driver.window_handles[1]) # 메일쓰기 버튼 클릭 driver.find_element(By.CSS_SELECTOR, '#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write').click() # 받는 사람 driver.find_element(By.CSS_SELECTOR, '#recipient_input_element').send_keys('gnslgnsdl@naver.com') # 제목 driver.find_element(By.CSS_SELECTOR, '#subject_title').send_keys('연습') #서브페이지로 이동 iframe = driver.find_element(By.CSS_SELECTOR, '#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe') driver.switch_to.frame(iframe) #본문 driver.find_element(By.CSS_SELECTOR, '#log\\.login').send_keys('연습중') #다시 메인페이지로 이동 driver.switch_to.default_content() #보내기 버튼 클릭 driver.find_element(By.CSS_SELECTOR, '#content > div.mail_toolbar.type_write > div:nth-child(1) > div > button.button_write_task').click() 에러내용: 예외가 발생했습니다. ElementClickInterceptedException Message: element click intercepted: Element <a href=" https://mail.naver.com/ " target="_blank" class="MyView-module__link_service___Ok8hP">...</a> is not clickable at point (937, 789). Other element would receive the click: <a href="#" role="button" class="SettingView-module__btn_setting___Z_3Uu SettingView-module__type_top___GkN8V" aria-pressed="false">...</a> (Session info: chrome=131.0.6778.205) Stacktrace: GetHandleVerifier [0x00007FF6E6F2FB05+28789] (No symbol) [0x00007FF6E6E986E0] (No symbol) [0x00007FF6E6D3592A] (No symbol) [0x00007FF6E6D90FDE] (No symbol) [0x00007FF6E6D8EA7C] (No symbol) [0x00007FF6E6D8BC46] (No symbol) [0x00007FF6E6D8ABA1] (No symbol) [0x00007FF6E6D7CD60] (No symbol) [0x00007FF6E6DAF43A] (No symbol) [0x00007FF6E6D7C5B6] (No symbol) [0x00007FF6E6DAF650] (No symbol) [0x00007FF6E6DCF654] (No symbol) [0x00007FF6E6DAF1E3] (No symbol) [0x00007FF6E6D7A938] (No symbol) [0x00007FF6E6D7BAA1] GetHandleVerifier [0x00007FF6E726933D+3410093] GetHandleVerifier [0x00007FF6E727E7DD+3497293] GetHandleVerifier [0x00007FF6E7272A73+3448803] GetHandleVerifier [0x00007FF6E6FF7BBB+848171] (No symbol) [0x00007FF6E6EA3C3F] (No symbol) [0x00007FF6E6E9F6E4] (No symbol) [0x00007FF6E6E9F87D] (No symbol) [0x00007FF6E6E8ED49] BaseThreadInitThunk [0x00007FF906E3259D+29] RtlUserThreadStart [0x00007FF90852AF38+40] File " C:\Users\gnslg\OneDrive\ 바탕 화면\PYTHON_CRAWLLING\셀레니움실전테크닉\ 06네이버메일자동화.py ", line 36, in <module> driver.find_element(By.CSS_SELECTOR, '#account > div.MyView-module__layer_menu_service___NqMyX > div.MyView-module__service_sub___wix9p > div.MyView-module__sub_left___AIWHR > a').click() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <a href=" https://mail.naver.com/ " target="_blank" class="MyView-module__link_service___Ok8hP">...</a> is not clickable at point (937, 789). Other element would receive the click: <a href="#" role="button" class="SettingView-module__btn_setting___Z_3Uu SettingView-module__type_top___GkN8V" aria-pressed="false">...</a> (Session info: chrome=131.0.6778.205) Stacktrace: GetHandleVerifier [0x00007FF6E6F2FB05+28789] (No symbol) [0x00007FF6E6E986E0] (No symbol) [0x00007FF6E6D3592A] (No symbol) [0x00007FF6E6D90FDE] (No symbol) [0x00007FF6E6D8EA7C] (No symbol) [0x00007FF6E6D8BC46] (No symbol) [0x00007FF6E6D8ABA1] (No symbol) [0x00007FF6E6D7CD60] (No symbol) [0x00007FF6E6DAF43A] (No symbol) [0x00007FF6E6D7C5B6] (No symbol) [0x00007FF6E6DAF650] (No symbol) [0x00007FF6E6DCF654] (No symbol) [0x00007FF6E6DAF1E3] (No symbol) [0x00007FF6E6D7A938] (No symbol) [0x00007FF6E6D7BAA1] GetHandleVerifier [0x00007FF6E726933D+3410093] GetHandleVerifier [0x00007FF6E727E7DD+3497293] GetHandleVerifier [0x00007FF6E7272A73+3448803] GetHandleVerifier [0x00007FF6E6FF7BBB+848171] (No symbol) [0x00007FF6E6EA3C3F] (No symbol) [0x00007FF6E6E9F6E4] (No symbol) [0x00007FF6E6E9F87D] (No symbol) [0x00007FF6E6E8ED49] BaseThreadInitThunk [0x00007FF906E3259D+29] RtlUserThreadStart [0x00007FF90852AF38+40] 메일버튼 클릭하고 하단바에 메일버튼을 클릭하려고 하니까 ElementClickInterceptedException 이 발생했어요. driver.find_element(By.CSS_SELECTOR, '#account > div.MyView-module__layer_menu_service___NqMyX > div.MyView-module__service_sub___wix9p > div.MyView-module__sub_left___AIWHR > a').click() 여기서 발생하는거 같은데 이유가 뭘까요..?

  • python
  • 웹-크롤링
gnslgnsdl3 댓글 1 좋아요 1 조회수 176

한/글 API 가이드 링크

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

한/글 API 가이드 링크를 누르면 게시글 정보가 없다고 나옵니다. 링크주소가 바뀌었나봐요.

  • python
  • 한컴오피스
DYR. P. 댓글 2 좋아요 1 조회수 391

응시권을 신청했는데 언제쯤 오나요?

해결됨

비개발자도 쉽게 시작하는 코딩 입문 강의: PCCE 합격을 위한 파이썬 기초 & 알고리즘

siwocj@naver.com 메일로 신청했습니다. 언제쯤 오나요?

  • python
  • 코딩-테스트
oscar 댓글 1 좋아요 1 조회수 196

질문 답변 부탁드립니다

미해결

[백엔드/예외처리 시나리오/집계 최적화] 백엔드 포트폴리오와 실무 이력 강화 전략. 올인원 PART1

카카오페이 말고 다른 pg사 이용해보려고 하는데 페이코 같은 경우 어떤 식으로 해야 되는 지요

  • java
  • spring-boot
  • 포트폴리오
  • 기술면접
  • bulkinsert
kofk113 댓글 1 좋아요 0 조회수 178

강의자료 부탁 드립니다.

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

강의자료 부탁 드립니다. baker@kakao.com

  • python
박주회 댓글 2 좋아요 0 조회수 72

새 파일 만들어서 한글 실행 시 오류

미해결

[2024년 개정]이것이 진짜 한글자동화다[기본편]

새 강의영상 시작시 from hwpWings import HWP hwp = HWP() 입력하면 꼭 오류가 나고, VS code를 종료했다가 열어서 다시 실행하면 그 때 한글이 제대로 나오는데 원인과 해결 방법이 있을까요? 오류는 HWP 객체 생성 실패: (-2147221008, 'CoInitialize가 호출되지 않았습니다.', None, None) 이렇게 나옵니다.

  • python
  • excel
  • rpa
  • 한글
DYR. P. 댓글 2 좋아요 1 조회수 328

셀 속성 내 필드 이름 입력 예제 수행 중

미해결

[2024년 개정]이것이 진짜 한글자동화다[기본편]

한글에서 tab 누르며 세어보면 강의대로 9번 눌러 필드 값 넣는 곳 까지 이동하는데, press('tab')을 9개 쓰고 실행시키면 '세로쓰기'까지 뿐이 이동이 안되어 있습니다. 원인이 뭘까요? 심지어 13번 또는 15번 tab코드를 넣어야 필드까지 커서가 가기도 하고 일정하지가 않습니다. 그리고 매번 기본 시작 위치를 셀속성에서 맞춰놓고 시작해야하니 자동화의 의미가 많이 줄어드는데, 상대적인 이동이 아닌 절대적 위치 방법은 없을까요?

  • python
  • excel
  • rpa
  • 한글
DYR. P. 댓글 1 좋아요 1 조회수 237

19강에서 Encoder()를 사용할 수 없습니다.

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

커뮤니티 보면서 FirebaseFirestoreSwift 가 FirebaseFirestore와 통합되었다는 댓글을 보고 Add Package할 때 FirebaseFirestore만 했었습니다. 문제는 Firestore. Encoder (). encode (post)할 때 Type 'Firestore' has no member 'Encoder' 오류가 발생합니다. 제 추측에는 FirebaseFirestore로 통합되면서 FirebaseFirestoreSwift를 import 할 수 없게 됐는데, 여기서 발생하는 문제 같습니다. 올려주신 강의 코드 보니까 import FirebaseFirestoreSwift를 주석 처리하면 같은 에러가 나타나더라고요. 이것은 어떻게 해결해야 할까요?

  • ios
  • firebase
  • swiftui
  • mvvm
최지한 댓글 2 좋아요 1 조회수 160

[오역 제보] 타입 이레이저의 영문 표기

해결됨

김영한의 실전 자바 - 중급 2편

타입 이레이저에 관해 더 검색하던 중, 강의자료 v20241027의 2. 제네릭 - Generic2.pdf 에서 eraser는 오역인 것 같아 제보합니다. Oracle JavaTutorials의 Generic 관련 문서( https://docs.oracle.com/javase/tutorial/java/generics/erasure.html )에서는 이레이저를 erasure로 표기하였습니다. eraser도 어색하지는 않지만 영어 단어와의 통일성을 위해 수정을 요청드립니다. 감사합니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
한재현 댓글 2 좋아요 0 조회수 136

3.x.x 버전 업데이트

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

섹션 1에 spring initializr를 진행하다가 java 17과 spring boot 3.4.1로 변경해 진행할 수 밖에 없다고 생각되어서 커뮤니티 질문들을 보았고 52강을 먼저 보게 되었습니다. java도 17로 업데이트하였고 17로 변경한 후에 gradle도 java 17에 맞게 7.3으로 변경하였는데 이런 오류가 뜹니다 ㅠㅠ 해결법 알려주시면 감사하겠습니다

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
박수빈 댓글 2 좋아요 0 조회수 414

Category 매핑??

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

Category를 부모로 설정하고 이렇게 리스트로 뽑는 이유가 카테고리가 여러개라서 이렇게 하는 건가요? 잘 이해가 안 가서 질문드립니다. 그리고 실무에서 카테고리랑 Items 를 이런식으로 중간 테이블을 만들고 따로 매핑하는게 흔한가요?

  • java
  • jpa
KMC 댓글 2 좋아요 0 조회수 52

카운트 값 질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 해당 강의에서 나오는 카운트 값이랑 제가 직접 해본 카운트 값이랑 다르게 나오는데 이게 CPU 성능이 다 달라서 그런건가요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
조민형 댓글 2 좋아요 0 조회수 150

Repl.it 들어가서 2~3 질문에 답하는 강제로 입금 하게 생겼서

미해결

ChatGPT 100% 활용하여 배우는 파이썬 기초 A to Z

1-1 장 처음 보다가 Repl.it 검색헤서 들어가서 보니 화면이 강사님 화면 하곤 틀리네요, 시간이 많이 지나서 이해하고 중간쯤에 입력하는게 있어서 보니까 뒤로가기 버튼도 있고해서 이름, 직업 등 적어주니까 화면이 바뀌며 입금 해서 등록 하는 화면이 나오네요. 여기서는 뒤로 가기 해도 안되고, 나왔다 다시 들어거기도 않되고 어케하면 되나요. Repl.it 에 비용 지불 안하고 공부 하는 방법은 없나요. 있다면 어떻게 클리어 하는 방법은 ??

  • python
  • 알고리즘
  • chatgpt
cdway 댓글 1 좋아요 0 조회수 174

40. 강에서 정상작동 안합니다.

해결됨

Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)

40 번 강의에 따라 iOS 18.2 Xcode 16.2 아래 처럼 작성하고 실행 했는데 class ProfileViewModel { var user: User? var name: String var username: String var bio: String init() { let tempUser = AuthManger.shared.currentUser self.user = tempUser self.name = tempUser?.name ?? "" self.username = tempUser?.username ?? "" self.bio = tempUser?.bio ?? "" } 프로필 name,bio,username 이 노출이 안됩니다. ProfileViewModel 의 init() 함수에 로그를 찍어 봤는데 2번 호출이 되고 있습니다. nil 로 한번 후에 auth 값 들어온후에 한번 실행되는데 이미 ProfileView 가 로드가 되어 있어서 업데이트가 안되는듯 합니다. -- 확인 부탁드립니다. -- 강의소스로 테스트시에도 동일 증상 이었습니다 (9-4ViewModel로 데이터 관리 - 소스로 테스트) init 에 로그 찍어 봤는데 2번 호출됩니다. 이게 원인인거 같은데요. 첫 초기화에선 Auth값이 nil 이었습니다.

  • ios
  • firebase
  • swiftui
  • mvvm
랑프_Langpeu 댓글 3 좋아요 0 조회수 187

실무에서의 hash(), hashCode() 차이가 궁금합니다

미해결

김영한의 실전 자바 - 중급 2편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 섹션 7 hashCode()에 영상에선 IDE로 equals() hashCode() 생성시 hashCode()의 리턴으로 hash(id)가 생성되는데 저는 hashCode(id) 로 생성이 됩니다 또 섹션8 Set 문제 2에서는 강의와 똑같이 hash()로 생성이 됩니다 구글링으로 매개변수의 차이, 동작 차이와 결과값이 왜 다른지에 대해 이해는 했는데 섹션7의 자동생성이 다른 이유와 실무에선 이 둘이 어떤차이로 쓰이는지 아니면 그냥 생성해주는 대로 쓰는지 에 대해 궁금합니다

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
김윤섭 댓글 1 좋아요 0 조회수 261

프로젝트 실행 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 강의와 달리 디버깅이 되지 않습니다 무엇이 잘못된 점인지 설명해주셨으면 좋겠습니다

  • java
  • spring
  • mvc
  • spring-boot
댓글 1 좋아요 0 조회수 301

2019-라인 나잡아봐라 문제

해결됨

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

이 문제를 풀다가 의문이 들었는데요 visitied를 사용할 필요가 있었는지 의문이 듭니다. public static int catch_me(int cony_loc, int brown_loc){ int time = 0; Queue<int[]> q = new LinkedList<>(); //map<위치, 시간> q.add(new int[]{brown_loc,0}); Map<Integer, Boolean>[] visitied = new HashMap[200010]; for (int i = 0; i < visitied.length; i++) { visitied[i] = new HashMap<>(); } while(cony_loc <= 200000){ cony_loc += time; if(visitied[cony_loc].containsKey(time)){ return time; } for(int i=0, initialSize = q.size(); i< initialSize; i++){ int[] info = q.poll(); int currentPosition = info[0]; int currentTime = info[1]; int newTime = currentTime + 1; int newPosition ; newPosition = currentPosition - 1; if(0<= newPosition && newPosition <= 200000) { visitied[newPosition].put(newTime, true); q.offer(new int[]{newPosition, newTime}); } newPosition = currentPosition + 1; if(0<= newPosition && newPosition <= 200000) { visitied[newPosition].put(newTime, true); q.offer(new int[]{newPosition, newTime}); } newPosition = currentPosition * 2; if(0<= newPosition && newPosition <= 200000) { visitied[newPosition].put(newTime, true); q.offer(new int[]{newPosition, newTime}); } } time++; } return -1; } 딩코딩코님의 파이썬 풀이를 자바로 변환해봤을 때 이런식으로 코드가 작성이 되었는데 보통 dfs나 bfs에서 visitied는 재방문을 방지하려고 사용하는 것 같은데 이 코드상에는 재방문을 막으려는 부분이 없어보여서요 bfs 내에서 다음 초에 해당하는 위치를 q에 모두 넣게되는데 그럼 비교를 할 때 코니의 다음 시간과 브라운의 다음 시간은 반복문을 돌면서 어차피 조건문에서 체크를 하게되는데 visitied에 저장할 필요가 있나라는 생각이 들더라구요. 그래서 public static int catchMe(int cony, int brown) { int time = 0; //브라운의 next 위치를 저장할 queue 사용 Queue<int[]> q = new LinkedList<>(); q.offer(new int[]{brown, time}); while(cony <= 200_000){ cony += time; //bfs //q.size가 반복문내에서 동적으로 변경이 되므로 고정값을 구해놔야함. for(int i = 0, size = q.size() ; i < size; i++){ //q에 넣은 값을 poll int[] posTime = q.poll(); int currPos = posTime[0]; int currTime = posTime[1]; //같은 시간의 코니와 브라운의 위치를 비교하니까 visited를 사용할 필요없어보이데..? if(cony == currPos){ return time; } //다음 초에 브라운의 위치 int nextPos[] = {currPos - 1, currPos + 1, currPos * 2}; for(int pos : nextPos){ q.offer(new int[]{pos, currTime + 1}); } } time++; } return -1; } 해당 코드로 다시 작성을 해보았는데 잘되는거는 같은데 혹시 제가 잘못생각하거나 놓치고 있는 부분이 있는지 확인받고싶습니다.

  • python
  • 코딩-테스트
  • 알고리즘
  • data-structure
김민규 댓글 1 좋아요 0 조회수 152

파파고 api

미해결

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

안녕하세요! 현재 07챕터 수강중입니다. 다름이 아니라 papagoAPI에서 ID와 PW는 ncloud에서 받으면 되는 건가요? 개발자 센터에서는 파파고 api가 안보여서요ㅠㅠ 실행이 안되어서요. url은 아래 코드 그대로 사용하면 되는거죠?? https://openapi.naver.com/v1/papago/n2mt

  • python
  • 챗봇
  • streamlit
  • openai
  • chatgpt
smin2333 댓글 1 좋아요 0 조회수 225

googletrans 에러

미해결

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

[notice] A new release of pip is available: 23.1.2 -> 24.3.1 [notice] To update, run: C:\Users\82109\AppData\Local\Programs\Python\Python311\python.exe -m pip install --upgrade pip (ch07_env) C:\Inflearn\inflearn_chatGPT-main\ch07>python 01_ googleTrans.py Traceback (most recent call last): File "C:\Inflearn\inflearn_chatGPT-main\ch07\01_ googleTrans.py ", line 1, in <module> from googletrans import Translator ModuleNotFoundError: No module named 'googletrans' pip install googletrans==3.1.0a0 이렇게 설치했는데 계속 찾을 수 없다고 뜹니다.

  • python
  • 챗봇
  • streamlit
  • openai
  • chatgpt
댓글 1 좋아요 0 조회수 193

인기 태그

인프런 TOP Writers

주간 인기글