inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

네트워크 ex0 코드를 이렇게 개선하는게 옳은 방법인가요?

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 켈리어몬트님 꺼 답변을 해주고 나서, 저의 글을 보면서, 어? 라는 의문이 들었고, address을 불변 으로 변경해 보자라는 생각이 들어서, 변경해 보았습니다 근데 만들다 보니 Data 불변으로 바꾸고 싶다는 생각이 들고, 하다 보니 , 네트워크 서비스 클래스를 수정 하게 되던 데요. 네트워크 서비스에 클래스에 객체를 생성 하는게, 옳은 방법인가요? 수정 withMessage가 setter로 되있어서, new Data(@@)으로 변경 수정2 이름 이상해서 사진 변경(어제 바꾼건데, 귀찮아서 지금 올림.) 추가1 MainV0은 똑같습니다. 추가2 불변에 반환 값 꼭 넣으시길 바랍니다.. 변하는지 확인 할려고, 확인 했다가 고생함.. Data , Address NetworkClientV0 , NetworkServiceV0 답변 부탁 드립니다.

  • java
  • 객체지향
생각하는자 댓글 2 좋아요 0 조회수 157

ibkr 실적용에 관한 질문입니다.

해결됨

파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석

선생님 강의를 파트1,2 모두 수강하며 부족하지만 틈틈히 공부하고 있습니다. 바쁜일정을 핑계로 집중적으로 학습하지 못하는 점은 부끄럽습니다. 하지만 학습을 하면서 궁금한 점이 있습니다. ibkr이라는 우량한 브로커를 이용하시는데 들리는 말로는 실계좌 오픈이 까다롭다는 말을 들었습니다. 그리고 페어전략을 구성하려면 매수와 매도가 이루어져야 하는데 실계좌 오픈 후 한국 사용자가 매수매도 모두 이용할수 있나요? 그리고 주식뿐 아니라 외환이나 파생상품도 가능한지 궁금합니다. 그리고 실전적용시 시스템적으로 어떠한 부분을 주의해야하는지도 궁금합니다. 부족한 질문이지만 답변부탁드립니다.

  • python
  • 머신러닝
  • pandas
  • 객체지향
  • 퀀트
  • 병렬-처리
chopa111 댓글 2 좋아요 0 조회수 426

참조값을 확인하려면 hashCode() 메서드를 사용하면 될까요?

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] String d = new String("TEST"); String e = new String("TEST"); 각각의 참조값이 다르게 생성되어야 함에도 System.out.println(d.hashCode()); System.out.println(e.hashCode()); 해보면 결과값은 동일한 해쉬값이 나옵니다. 동일성 비교는 false, 동등성 비교는 true가 되고요. 문자열 리터럴일 경우 문자열 풀을 사용하는 것은 이해가 되었는데 객체생성도 문자열에서는 동일한 문자열 풀을 사용하는지 궁금해서 질문드립니다.

  • java
  • 객체지향
감사 댓글 1 좋아요 0 조회수 101

양방향 연관관계에서 양쪽에 값 설정 관련

미해결

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

순수 객체 상태를 고려하면 멤버의 팀을 A -> B로 변경한다고 했을 때, 팀 B에 멤버를 추가하는 것 뿐만 아니라 팀 A에서 멤버를 제거하는 작업도 동시에 해줘야 하는거 아닌가요..? public void changeTeam(Team team) { this.getTeam().getMembers().remove(this); this.team = team; team.getMembers().add(this); }

  • java
  • jpa
도토리 댓글 1 좋아요 0 조회수 171

MemberRepositoryTest 오류

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1806) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) at app//org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) at app//org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at app//org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) at app//org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) at app//org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:954) at app//org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625) at app//org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) at app//org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) at app//org.springframework.boot.SpringApplication.run(SpringApplication.java:335) at app//org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137) at app//org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58) at app//org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46) at app//org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1463) at app//org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553) at app//org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137) at app//org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108) at app//org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225) at app//org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152) at app//org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) at app//org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191) at app//org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130) at app//org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at app//org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at app//org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at app//org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:276) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) at app//org.hibernate.boot.model.relational.Database.<init>(Database.java:45) at app//org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:221) at app//org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:189) at app//org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:171) at app//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1431) at app//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1502) at app//org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75) at app//org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) at app//org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1853) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1802) ... 32 more Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided) at app//org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:191) at app//org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:87) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentWithDefaults(JdbcEnvironmentInitiator.java:152) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:362) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:123) at app//org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:77) at app//org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) at app//org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ... 47 more 에러가 길어서 하나만 붙였습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
tjdgus3488 댓글 2 좋아요 0 조회수 508

jdk 버전 질문 있습니다.

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 21버전을 선택하면 오라클 오픈 jdk 가 없어서 자료에서 알려주신 것처럼 해당 버전을 선택했는데 jdk 가 맞지 않다고 나오는거 같아요. 오라클 오픈 jdk 22 버전을 사용하면 아무 문제가 없이 잘 되고 있습니다. 다운받은 코드 파일도 잘열리고 위에 사진 처럼 jdk 가 맞지 않다는 에러도 없습니다. 오라클 오픈 jdk 22 버전을 사용해도 무방할까요?

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

정적 중첩클래스내 private 필드변수를 외부 클래스에서 접근가능한 이유가있나요?

미해결

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

package nested.nested.ex2; public class Network { private int age; public void sendMessage(String text) { NetworkMessage netWorMessage = new NetworkMessage(text); netWorMessage.print(); netWorMessage.content = "abc"; } private static class NetworkMessage { private String content; public NetworkMessage(String content) { this.content = content; } public void print() { System.out.println(content); } } } 위 로직에서 netWorMessage.content = "abc"; 부분이 제 예상으론 컴파일 에러가 나야하는데 신기하게도 정상 수행됐습니다. 정적중첩클래스 NetworkMessage 내부에 private으로 선언한 content를 바깥클래스인 Network의 sendMessage() 메서드 에서 어떻게 직접 접근 할수있는지 모르겠습니다 ㅎㅎ

  • java
  • 객체지향
배려하기 댓글 1 좋아요 0 조회수 102

AssertionFailedError 에 관해

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JdbcTemplateRepository를 작성하고 통합테스트를 진행하였는데 결과가 AssertionFailedError 가 발생하였습니다, 기대값은 19인데 spring으로 되었다고 하는것 같은데 어떤점이 문제일까요 ?

  • java
  • spring
  • mvc
  • spring-boot
1인분개발자 댓글 2 좋아요 0 조회수 150

fetch join

미해결

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

[질문 내용] 강의를 보면 즉시로딩을 사용하면 값을 다 가져오기는 하나 N+1의 영향 때문에 그걸 막아주려고 사용하는게 fetch join인 것으로 이해하는데요 만약 이게 맞다면 강의 를 봣을때 즉시로딩을 사용하지말고 무조건 지연로딩만 사용 해야 한다면 fetch join은 즉시로딩을 쓸때만 쓰는거니 프로젝트를 할때에는 즉시로딩이 필요가 없으니 사용 할 필요가 없는건가요?

  • java
  • jpa
형종 댓글 1 좋아요 0 조회수 118

예제파일중에 문제들이 어디있는건가요?

미해결

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

예제파일중에 문제들이 어디있는건가요? 예제파일 다운로드 했는데 실습을 반드시 해야된다고하셔 문제 같은게 있나 찾아보고 있는데 없어서요

  • python
haru2175 댓글 1 좋아요 0 조회수 109

고아객체 질문입니다.

미해결

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

안녕하세요. 섹션 9-3 질문입니다. 고아 객체 주의할 점에 특정 엔터가 개인 소유할 때 사용하는 것인데, 개인 소유가 아니고 다른 엔티티가 참조할 때 문제가 있나요? 예를 들어 부모 엔터티를 삭제하면 고아객체인 자식 엔터티도 삭제가 될 텐데 어차피 삭제할 때 자식 엔터티의 id(pk)를 보고 삭제를 할텐데 다른 엔터티가 참조해도 영향이 없지 않나요? 감사합니다.

  • java
  • jpa
oniic 댓글 1 좋아요 0 조회수 72

강의자료 안열림

미해결

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

중급 강의자료만 이렇게 열리는 이유가 뭘까요??

  • java
  • 객체지향
ㅇㄱㅇㄱ 댓글 2 좋아요 0 조회수 142

강의자료 안열림

미해결

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

왜 강의 소스코드가 인텔리제이에서 안열리죠??? 중급만 안열리네요

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

수강기간 연장 질의

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

파이썬 강의를 연장하여 듣고싶은데 10월초에 강의가 마감되어 문의드립니다. 수강신청 연장이 어떻게 하면 가능한지 질의드리고 싶습니다!

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
으니 댓글 2 좋아요 0 조회수 170

반복문 강의 질문

해결됨

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

13분 10초대 코드 질문입니다! 이 코드에서 2단 출력 결과는 i=10일 때 2 * 10 = 20까지 출력하는게 맞을까요?

  • python
  • java
  • c
  • 정보처리기사
김강식 댓글 1 좋아요 0 조회수 177

수강기한 연장 문의드립니다

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요. 11월 말에 진행될 실기 시험에 응시하고 싶은데, 강의가 10월 초에 만료될 예정입니다. 혹시 수강 기한을 11월 말까지로 연장해주실 수 있을까요? 그간 준비가 부족한 것 같아 실기접수-막판취소를 2회나 반복해서, 이번에는 꼭 미리 준비해서 실기 합격하고 싶습니다. 이메일 주소는 soohyun8190@gmail.com 입니다!

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
soohyun8190 댓글 2 좋아요 0 조회수 108

상속받지 않은 클래스 객체 생성

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 예외 처리가 필요한 이유1 - 시작 강의 7분대에 NetworkServiceV0 클래스에서 sendMessage 메서드 안에 NetworkClinetV0 클래스 객체를 생성하는데 지금까지 배운 내용으로는 상속을 받지 않고서 저렇게 타 클래스의 객체를 생성하는 건 처음 봐서요! 그래서 찾아봤더니 이게 의존성 주입(DI)이라는데 제가 알맞게 이해한 것인지, 또한 이 기법에 대해서 추가적인 설명을 여쭤보고 싶습니다! 이전에 배운 내용인데 제가 모르고 있는 것은 아닌 거죠?

  • java
  • 객체지향
클레어몬트 댓글 2 좋아요 0 조회수 123

abstract 상속

해결됨

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

3분 50초 출력값을 봤을 때, 부모가 먼저 안태어나도 되는건가요?

  • python
  • java
  • c
  • 정보처리기사
꿈나무 댓글 1 좋아요 0 조회수 146

진도 문의

미해결

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

104개 강의 다들은거 같은데, 103개 완료라고만 뜹니다. 확인 방법이 있을까요?

  • java
  • 코딩-테스트
kyujong.roh 댓글 1 좋아요 0 조회수 95

orderList() 관련 질문입니다

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

orderController - orderList()에서 파라미터로 @ModelAttribute("orderSearch") OrderSearch orderSearch를 바인딩하여 전달하는데, 이 orderSearch 객체가 어디서 객체를 가져와서 바인딩되는지 모르겠습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
서현진 댓글 2 좋아요 0 조회수 178

인기 태그

인프런 TOP Writers

주간 인기글