inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

cmd에서 조작하는 법을 모르겠습니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 일단 h2 다운받기는 했는데 cmd에서 조작하는 법을 모르겠습니다. 아무거나 쳐봐도 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고만 뜹니다.

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

3번 문제

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 문제 3번에서 마지막 12행 else부분부터 이렇게 해버렸는데 이러면 역시 완전히 틀렸다고 보는게 좋을까요? else if (dollar > 0) { System.out.println("환전 금액은 " + dollar * 1300 + "원 입니다."); }

  • java
  • 객체지향
whydoubleon 댓글 1 좋아요 0 조회수 212

Queue질문

미해결

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

안녕하세요. Queue 질문이 있어서 글 씁니다. add()와 offer() remove()와 poll() 은 각각 동작도 같고 반환 타입도 같던데 검색해보면 예외를 발생시키느냐 마냐의 차이라고 나와서요. 실제로 offer() 까보면 return add()라고 되어 있기도 하고 ... 무슨 차이인지 그리고 어떨 때 어떤 걸 쓰는 게 좋을지 보충 설명 부탁드립니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
인프린 댓글 1 좋아요 0 조회수 235

김영한 강사님 스프링 로드맵을 수강하려고 합니다.

미해결

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

백엔드 프로젝트로 데이터베이스를 사용하지 않는 게시판을 만들어보고 싶은데 김영한 강사님의 로드맵 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스프링 핵심 원리 - 기본편 현재 강의 모든 개발자를 위한 HTTP 웹 기본 지식 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 스프링 DB 1편 - 데이터 접근 핵심 원리 스프링 DB 2편 - 데이터 접근 활용 기술 스프링 핵심 원리 - 고급편 실전! 스프링 부트 중 어디까지는 들어야지 제가 원하는 간단한 프로젝트를 진행할수 있을지 궁금합니다. 감사합니다.

  • java
  • spring
  • mvc
  • spring-boot
전성민 댓글 2 좋아요 0 조회수 211

Object 관련 질문입니다.

미해결

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

강의 6분쯤에 refValue 내부의 인수 타입을 Grade에서 Object로 바꾸신 이유가 있을까요? Grade 타입으로 지정해도 참조값이 똑같이 잘 나와서요! private static String refValue(Object grade) { return Integer.toHexString(System.identityHashCode(grade)); } ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.

  • java
  • 객체지향
맥스 댓글 1 좋아요 0 조회수 204

로또 메서드 질문

미해결

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

main 화면에서 출력하는 코드를 위와 같이 작성한 후에 이렇게 번호 생성 메서드와 중복 확인 메서드 그리고 출력 메서드를 나누어서 코드를 작성했더니 결과가 0,0,0,0,0,0 이렇게 나오는데 어느 부분이 잘못된 건지 알 수 있을까요?

  • java
  • 객체지향
geonhee 댓글 2 좋아요 0 조회수 313

Member와 Order에 LAZY 설정을 해도 순환참조가 발생하는게 맞나요?

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니요 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 양쪽에 LAZY로 설정되어 있는것 같은데 맴버를 조회하면 ORDER와 MEMBER가 무한으로 탑니다. ( 주문까지 진행한 상태 ) 그게 현재 진도에서 맞는 상태인지 궁금합니다. (다음 강의에 설명 나오는지 모름)

  • java
  • spring
  • spring-boot
  • jpa
댓글 3 좋아요 0 조회수 329

메모리공간에 대한 문의

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 메서드 호출과 값 전달 2 강의 중 질문사항이 있어 문의 드립니다. 지역 변수 선언 시 다른 영역인 점은 이해를 했습니다. 1. 강의 3:32초 부분에서 이름이 동일한 지역변수에 대해 완전히 다른 메모리 공간이 생긴다고 하셨는데, JVM 메모리에 변수 저장 시 각 지역변수마다 늘 공간이 따로 생기는 건가요? 아니면 하나의 stack,heap 공간에 같이 사용 하는 건가요? 감사합니다. 수강자 올림.

  • java
심유석 댓글 1 좋아요 0 조회수 215

13강 DB연결 관련 질문드립니다.

미해결

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

안녕하세요. 우선 좋은 강의 만들어 주셔서 감사합니다. 13강을 수강하던 중 오류가 발생하여 질문드립니다. 검색해보니 테이블 명이 user로 생성을 하면 안되는 것 같아 user_table 이라는 명칭으로 테이블을 생성했습니다. CLI로 확인해본 결과 테이블 자체는 정상적으로 생성이 되었습니다. 그런데 컨트롤러와 yml 파일 설정 후 화면에서 데이터를 저장하려고 하니 오류가 발생합니다. spring: database: url: "jdbc:mysql://localhost/library" username: "root" password: "" drive-class-name: com.mysql.cj.jdbc.Driver package com.group.libraryapp.controller.User; import com.group.libraryapp.domain.user.User; import com.group.libraryapp.dto.User.request.UserCreateRequest; import com.group.libraryapp.dto.User.response.UserResponse; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @RestController public class UserController { private final JdbcTemplate jdbcTemplate; public UserController(JdbcTemplate jdbcTemplate){ this.jdbcTemplate = jdbcTemplate; } private final List<User> users = new ArrayList<>(); @PostMapping("/user") public void saveUser(@RequestBody UserCreateRequest request){ String sql = "INSERT INTO user_table (name, age) VALUES (?,?)"; jdbcTemplate.update(sql, request.getName(), request.getAge()); } @GetMapping("/user") public List<UserResponse> getUsers() { String sql = "SELECT * FROM user_table"; //람다로 변경 알트+엔터 return jdbcTemplate.query(sql, (rs, rowNum) -> { long id = rs.getLong("id"); String name = rs.getString("name"); int age = rs.getInt("age"); return new UserResponse(id, name, age); }); } } INSERT INTO user_table (name, age) VALUES (?,?) [42104-214]] with root cause org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USER_TABLE" not found (this database is empty); SQL statement: INSERT INTO user_table (name, age) VALUES (?,?) [42104-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:502) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get(DbException.java:223) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get(DbException.java:199) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8385) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.getTableOrViewNotFoundDbException(Parser.java:8369) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.readTableOrView(Parser.java:8358) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.readTableOrView(Parser.java:8328) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parseInsert(Parser.java:1632) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parsePrepared(Parser.java:814) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parse(Parser.java:689) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.parse(Parser.java:661) ~[h2-2.1.214.jar:2.1.214] at org.h2.command.Parser.prepareCommand(Parser.java:569) ~[h2-2.1.214.jar:2.1.214] 위와 같이 데이터베이스가 비었다고 하고 테이블을 찾지 못하는데 제가 어느 부분을 확인해야 하는지 궁금해 질문드립니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
지영 댓글 2 좋아요 1 조회수 238

8강 예제2 아무리 생각해도 이해가 안됩니다...

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

다른 풀이 해주신거도 읽어봤습니다만. 포문에서 if문 한 덩이 안에 첫 조건식의 갯수가 2의배수 (1012)+3의배수 (674)-중복숫자(337) 1349가 앞의 항 참인 경우이고, 뒷항의 조건식은 !가 붙어서 5의배수 (404)+6의배수 (337)-중복숫자 30의 배수(67) 해서 뒷 항의 참인경우는 674 하지만 !가 붙어서 안의 항의 연상결과가 거짓인경우가 되어야 카운팅이 되기 때문에 2024-674 = 1350 ..? 이런식으로 푸는거 아닌가요??? 어렵네요 ......

  • python
  • java
  • c
  • 정보처리기사
pmg4289 댓글 2 좋아요 0 조회수 403

연산자와 기출문제 Java 23년 2회문제

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

동전갯수 문제인데요 조건에 최소한의 코드로 답안을 작성하라 해서요~ 제가 m / 1000 (m % 1000) / 500 (m % 500) / 100 (m % 100) / 10 이렇게 풀었는데 혹~~시 () 이거 괄호 적으면 오답처리하나요..?

  • python
  • java
  • c
  • 정보처리기사
신승주 댓글 1 좋아요 0 조회수 250

예제7번 질문입니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

예제7번을 풀면 -1-2+9-4+25-6+49-8+81-10 = 133 아닌가요. 제가 뭘 잘못이해하고 있는걸까요? ㅠㅠ

  • python
  • java
  • c
  • 정보처리기사
Electric Bass 댓글 1 좋아요 0 조회수 245

너무 옛날 내용이네요

미해결

JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)

JVM이 웹 브라우저에 플러그인으로 내장되어있다는 내용이 있던데 이건 좀 수정했으면 좋겠네요.그리고 JSP 파일->서블릿->클래스 파일 변환 과정도 설명이 조금 난잡합니다.

  • java
  • jsp
Hugh Park 댓글 1 좋아요 1 조회수 346

클래스 레벨 접근 제어자에 protected가 사용할수 없는 이유가 궁금합니다

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 클래스 레벨 접근 제어자에 protected가 사용할수 없는 이유가 궁금합니다

  • java
  • 객체지향
TH 댓글 1 좋아요 0 조회수 328

UML 클래스다이어그램 화살표 의미

미해결

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

컬렉션 프레임워크 - Set 강의 중 UML 클래스 다이어그램에 관해 궁금증이 생겼습니다. HashSet , TreeSet , LinkedHashSet 즉 Set의 주요 구현체들을 설명하셨을때, 여기서 점선으로 된것과 실선으로 된것의 차이점은 무엇일까요?? 인터페이스인 Set의구현체로 HashSet , TreeSet 등이 있다는 것은 이해가 가지만, LinkedHashSet은 왜 실선으로 표시하는 걸까요?? 이 두개의 차이점에 대해 정확히 알고싶습니다!

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

ReentrantLock.lockInterruptibly() 질문

미해결

자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]

먼저 강의 잘 듣고 있습니다. 강의 자료 202쪽에 보면 아래 그림과 같이 ReentrantLock.lockInterruptibly() 예제 코드가 작성되어 있는데요. 이 코드를 강의 소스코드 (LockInterruptiblyExample.java) 에 적용해 보았습니다. 적용한 코드는 아래와 같습니다. public class LockInterruptiblyExample { public static void main(String[] args) { Lock lock = new ReentrantLock(); Thread thread1 = new Thread(() -> { try { lock.lockInterruptibly(); // 락을 시도하며, 인터럽트가 들어오면 중단 System.out.println("스레드 1이 락을 획득했습니다"); } catch (InterruptedException e) { System.out.println("스레드 1이 인터럽트를 받았습니다"); } finally { lock.unlock(); System.out.println("스레드 1이 락을 해제했습니다"); } }); Thread thread2 = new Thread(() -> { try { lock.lockInterruptibly(); // 락을 시도하며, 인터럽트가 들어오면 중단 try { System.out.println("스레드 2가 락을 획득했습니다"); } finally { lock.unlock(); System.out.println("스레드 2가 락을 해제했습니다"); } } catch (InterruptedException e) { System.out.println("스레드 2가 인터럽트를 받았습니다"); } }); thread1.start(); thread2.start(); thread1.interrupt(); // thread2.interrupt(); try { Thread.sleep(500); thread1.join(); thread2.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } 이 코드를 실행했을 때, 아래 이미지와 같이 IllegalMonitorStateException 이 발생했는데요. 아마 try ~ catch ~ finally 블록에 의한 문제가 아닐까 싶습니다. 이 부분이 어떻게 동작하여 오류가 발생한 건지 궁금한데, 답변 해주시면 감사하겠습니다.

  • java
  • 동시성
  • multithread
  • synchronisation
고래밥 댓글 1 좋아요 0 조회수 327

이 풀이방법 혹시 틀렸을까요?

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

public class Number4 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int count = scanner.nextInt(); List<String> array = new ArrayList<>(); for (int i = 0; i <= count; i++) { array.add(scanner.nextLine()); } for (String str : array) { Deque<Character> stack = new ArrayDeque<>(); for ( char c : str.toCharArray()){ stack.push(c); } while (!stack.isEmpty()){ System.out.print(stack.pop()); } System.out.println(); } } } 위 풀이방법처럼 풀었는데 이게 컴파일 에러가 나는데 혹시 이 풀이방법이 문제점을 가지고 있을까요?

  • java
  • 코딩-테스트
Am1217 댓글 1 좋아요 0 조회수 208

안녕하세요^^ 오늘 수강신청 했습니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

혹시 강의해주시는 화면의 별도 pdf자료는없는건가요?? 출력해서 필기하면서 강의를 들으면 좀 더 효율적일거 같아서 문의드립니다.

  • python
  • java
  • c
  • 정보처리기사
범댕이 댓글 2 좋아요 0 조회수 334

HashMap 질문

미해결

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

안녕하세요. Set<Map.Entry<String, Integer>> 이게 좀 궁금해서 살펴보니 Set<E> 제네릭으로 받게끔 되어 있고 그럼 여기서 Map.Entry<String, Integer> 이게 하나의 타입처럼 사용이 된다는 건데 Map 클래스에서 Entry는 interface로 되어 있어서요. Map.Entry라고 썼다는거는 Entry도 인터페이스(클래스)니까 중첩 static class 처럼 쓰였다는건데 static도 안 붙어 있고 관련된 구현체도 Map 클래스 내부에는 없는 거 같아서요. 추가 설명 부탁드립니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
인프린 댓글 1 좋아요 0 조회수 214

영속성 컨텍스트 프록시 오류 질문

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 컨트롤러 @PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PreAuthorize("isAuthenticated()") public ResponseEntity<Long> createWalkInvitation( @RequestPart("walkInvitaionCreateRequestDto") WalkInvitaionCreateRequestDto request, @RequestPart("uploadPhotos") MultipartFile[] multipartFiles, @AuthenticationPrincipal PrincipalDetails principalDetails){ Long savedId = walkInvitationService.createWalkInvitation(request, multipartFiles, principalDetails); return ResponseEntity.ok().body(savedId); } 서비스 계층 public Long createWalkInvitation(WalkInvitaionCreateRequestDto request, MultipartFile[] multipartFiles, PrincipalDetails principalDetails) { Member member = principalDetails.getMember(); WalkInvitation walkInvitation = WalkInvitation.builder() .writer(member) .title(request.getTitle()) .content(request.getContent()) .latitude(request.getLatitude()) .longitude(request.getLongitude()) .detailedLocation(request.getDetailedLocation()) .walkStartDateTime(request.getWalkStartDateTime()) .walkingStatus("산책 대기 중") .build(); // member.getWalkInvitations().add(walkInvitation); List<Photo> photos = photoService.savePhotosToWalkInvitation(multipartFiles, walkInvitation); walkInvitation.addPhotos(photos); walkInvitationRepository.save(walkInvitation); return walkInvitation.getId(); 위 주석처리 한 부분// member.getWalkInvitations().add(walkInvitation)에서 failed to lazily initialize a collection of role 가 발생합니다. 오류가 발생하는 이유는 JWT 토큰 방식을 구현한 스프핑 시큐리티의 인증/인가 과정에서 해당 컨트롤러에 도달하기전에 필터에서 이미 SecurityContext에 principalDetails를 authentication 하면서 principalDetails라는 객체에 member가 저장되어 있는 상태입니다. 그래서 이미 서비스 계층에서 위 코드에 Member member = principalDetails.getMember();를 호출하는 시점에는 getMember 호출 시 DB에 접근해서 값을 가져오는 것이 아닌, 순수한 객체 상태의 member를 가져오기 때문에 영속성 컨텍스트에 member가 저장되어 있지 않기에 프록시 오류가 발생하는 것 같습니다(로그로 DB에 접근하지 않는 것 확인) 이러한 문제를 해결하기 위해서는 principalDetails.getMember()로 얻은 멤버정보로 DB에 저장된 Member를 다시 가져와서 영속성 컨텍스트에 저장시키는 방식을 택해야 할까요? 스프핑 시큐리티의 인증/인가 과정(JwtAuthorizationFilter)에서 accesstoken을 바탕으로 이미 member를 db에서 찾아오는 쿼리문이 한번 나갔는데, 또 호출하려니 조금 비효율적인 것 같아서 고민이 됩니다. 다른 방법이 있을까요?

  • java
  • jpa
스물다섯컷의흑백필름 댓글 2 좋아요 0 조회수 250

인기 태그

인프런 TOP Writers

주간 인기글