inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

컬렉션 값 연관 경로 : 명시적 조인 질문

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 명시적 조인 예시로 보여주신 다음 JPQL에 궁금한적이 있습니다. select m.username from Team t join t.members m 위 코드에서 alias m은 무엇에 대한 별칭인가요? 1. t.members as m 위 코드 처럼 team과 members를 묵시적으로 조인한 결과 릴레이션을 m이라 칭한다는 의미인가요?? 아니면... 2. (Team t join t.members) m 위 코드처럼 t와 t.members 를 조인한 릴레이션을 m이라 칭한다는 의미인가요?? PPT를 보면 "FROM 절에서 명시적 조인을 통해 별칭을 얻는다" 라고 하셨는데, 명시적 조인을 통해 => 즉 2번 을 통해 m을 얻는다는 의미 인가요? 이게 한줄로 써있다 보니까 햇갈리는것 같습니다 ㅠ.ㅠ

  • 명시적조인
  • join
  • java
  • 컬렉션값연관경로
  • JPA
zbqmgldjfh 댓글 1 좋아요 1 조회수 386

에러가 발생합니다.

미해결

OpenCV 를 활용한 명함인식 기능 구현 강좌

Traceback (most recent call last): File "D:/001_DataAnalysisTools/pythonProject3/ex_opencv/main.py", line 790, in <module> auto_scan_image_via_webcam() File "D:/001_DataAnalysisTools/pythonProject3/ex_opencv/main.py", line 737, in auto_scan_image_via_webcam if len(screenCnt) == 0: UnboundLocalError: local variable 'screenCnt' referenced before assignment STEP 1: Edge Detection [ WARN:0] global D:\a\opencv-python\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (438) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback

  • 딥러닝
  • opencv
  • 컴퓨터-비전
kim_jin_gu 댓글 0 좋아요 0 조회수 291

농구공 이미지가 나오지 않아요ㅠ

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

위와 같은 에러가 뜨며 농구공 이미지가 나오지 않습니다 ㅠ 어떤 부분을 대문자로 해야 한다는 건지 도저히 모르겠어서 질문 드려요 index.js /product import { useParams } from " react-router-dom "; import axios from " axios "; import { useEffect , useState } from " react "; function ProductPage () { const { id } = useParams () ; const [ product , setProduct ] = useState ( null ) ; useEffect ( function () { axios . get ( ` https://933dbe82-8b07-488c-9816-47a0735dce9e.mock.pstmn.io/products/ ${ id } ` ) . then ( function ( result ) { setProduct ( result . data ) ; } ) . catch ( function ( error ) { console . error ( error ) ; } ) ; }, []) ; if ( product === null ) { return < h1 > 상품 정보를 받고 있습니다&hellip; </ h1 > ; } return ( < div > < div id = " image-box " > < image src ={ " / " + product . imageUrl } /> </ div > < div id = " profile-box " > < img src = " /images/icons/avatar.png " /> < span >{ product . seller }</ span > </ div > </ div > ) ; } export default ProductPage ; index.js / main import " ./index.css "; import axios from " axios "; import React from " react "; import { Link } from " react-router-dom "; function MainPage () { const [ products , setProducts ] = React . useState ([]) ; React . useEffect ( function () { axios . get ( " https://933dbe82-8b07-488c-9816-47a0735dce9e.mock.pstmn.io/products " ) . then ( function ( result ) { const products = result . data . products ; setProducts ( products ) ; } ) . catch ( function ( error ) { console . error ( " 에러 발생: " , error ) ; } ) ; }, []) ; return ( < div > < div id = " banner " > < img src = " images/banners/banner1.png " /> </ div > < h1 > 판매되는 상품들 </ h1 > < div id = " product-list " > { products . map ( function ( product , index ) { return ( < div className = " product-card " > < Link className = " product-link " to ={ ` /products/ ${ product . id } ` } > < div > < img className = " product-img " src ={ product . imageUrl } /> </ div > < div className = " product-contents " > < span className = " product-names " >{ product . name }</ span > < span className = " product-price " >{ product . price } 원 </ span > < div className = " product-seller " > < img className = " product-avatar " src = " images/icons/avatar.png " ></ img > < span >{ product . seller }</ span > </ div > </ div > </ Link > </ div > ) ; } ) } </ div > </ div > ) ; } export default MainPage ; App.js import " ./App.css "; import MainPageComponent from " ./main/index.js "; import { Switch , Route } from " react-router-dom "; import UploadPage from " ./upload/index.js "; import ProductPage from " ./product "; function App () { return ( < div > < div id = " header " > < div id = " header-area " > < img src = " /images/icons/logo.png " /> </ div > </ div > < div id = " body " > < Switch > < Route exact ={ true } path = " / " > < MainPageComponent /> </ Route > < Route exact ={ true } path = " /products/:id " > < ProductPage /> </ Route > < Route exact ={ true } path = " /upload " > < UploadPage /> </ Route > </ Switch > </ div > < div id = " footer " ></ div > </ div > ) ; } export default App ; 포스트맨 { "products": [ { "id" : 1, "name": "농구공", "price": 10000, "seller": "조던", "imageUrl": "images/products/basketball1.jpeg" }, { "id" : 2, "name": "축구공", "price": 50000, "seller": "매시", "imageUrl": "images/products/soccerball1.jpg" }, { "id": 3 "name": "키보드", "price": 10000, "seller": "그랩", "imageUrl": "images/products/keyboard1.jpg" } ] } 답변 부탁드립니다 ㅠㅠ

  • react
  • HTML/CSS
  • javascript
  • 머신러닝 배워볼래요?
  • react-native
  • tensorflow
  • express
  • nodejs
SH Y 댓글 2 좋아요 1 조회수 300

url reverse 설계

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

강사님 안녕하세요. accounts에서 회원가입, 로그인, 로그아웃, 프로필을 설정 중인데요, 아래와 같이 url 링크를 설정해줄 시, 어느 앱의 링크인지 구별을 해주기 위해 아래와 같이 작성해야 한다고 생각했지만 작성 후 NoReverseMatch 에러가 뜹니다. {% url "accounts:profile" %} 어떻게 전체 레이아웃에서 {% url 'profile' %}만 가지고 accounts/profile로 이동이 가능한가요? 감사합니다.

  • url
  • python
  • react
  • docker
  • django
정중한 앵무새 댓글 3 좋아요 0 조회수 301

금요일부터 하다가 안돼서 질문드립니다ㅜㅜ

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/ > @tensorflow/tfjs-node@3.12.0 install C:\Users\우현정\코딩\1022-grab-market-server\node_modules\@tensorflow\tfjs-node > node scripts/install.js CPU-windows-3.12.0.zip * Downloading libtensorflow https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-windows-x86_64-2.7.0.zip [==============================] 11697572/bps 100% 0.0s * Building TensorFlow Node.js bindings node-pre-gyp install failed with error: Error: Command failed: node-pre-gyp install --fallback-to-build node-pre-gyp ERR! install response status 404 Not Found on https://storage.googleapis.com/tf-builds/pre-built-binary/napi-v8/3.12.0/CPU-windows-3.12.0.zip node-pre-gyp WARN Pre-built binaries not installable for @tensorflow/tfjs-node@3.12.0 and node@14.18.1 (node-v83 ABI, unknown) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://storage.googleapis.com/tf-builds/pre-built-binary/napi-v8/3.12.0/CPU-windows-3.12.0.zip Traceback (most recent call last): File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\gyp_main.py", line 50, in <module> sys.exit(gyp.script_main()) File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 554, in script_main return main(sys.argv[1:]) File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 547, in main return gyp_main(args) File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 532, in gyp_main generator.GenerateOutput(flat_list, targets, data, params) File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 2008, in GenerateOutput msvs_version) File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1843, in _CreateProjectObjects guid = _GetGuidOfProject(proj_path, spec) File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 910, in _GetGuidOfProject guid = guid or MSVSNew.MakeGuid(proj_path) File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\MSVSNew.py", line 48, in MakeGuid d = hashlib.md5((str(seed) + str(name)).encode('utf-8')).hexdigest().upper() UnicodeDecodeError: 'ascii' codec can't decode byte 0xbf in position 17: ordinal not in range(128) gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:351:16) gyp ERR! stack at ChildProcess.emit (events.js:400:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12) gyp ERR! System Windows_NT 10.0.19042 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\우현정\\코딩\\1022-grab-market-server\\node_modules\\@tensorflow\\tfjs-node\\lib\\napi-v8\\tfjs_binding.node" "--module_name=tfjs_binding" "--module_path=C:\\Users\\우현정\\코딩\\1022-grab-market-server\\node_modules\\@tensorflow\\tfjs-node\\lib\\napi-v8" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=8" "--node_napi_label=napi-v8" "--python=C:\\python27\\python.exe" "--msvs_version=2017" gyp ERR! cwd C:\Users\우현정\코딩\1022-grab-market-server\node_modules\@tensorflow\tfjs-node gyp ERR! node -v v14.18.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\우현정\코딩\1022-grab-market-server\node_modules\@tensorflow\tfjs-node\lib\napi-v8\tfjs_binding.node --module_name=tfjs_binding --module_path=C:\Users\우현정\코딩\1022-grab-market-server\node_modules\@tensorflow\tfjs-node\lib\napi-v8 --napi_version=8 --node_abi_napi=napi --napi_build_version=8 --node_napi_label=napi-v8 --python=C:\python27\python.exe --msvs_version=2017' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (C:\Users\우현정\코딩\1022-grab-market-server\node_modules\@tensorflow\tfjs-node\node_modules\@mapbox\node-pre-gyp\lib\util\compile.js:89:23) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:400:28) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1058:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:293:5) node-pre-gyp ERR! System Windows_NT 10.0.19042 node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\우현정\\코딩\\1022-grab-market-server\\node_modules\\@tensorflow\\tfjs-node\\node_modules\\@mapbox\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd C:\Users\우현정\코딩\1022-grab-market-server\node_modules\@tensorflow\tfjs-node node-pre-gyp ERR! node -v v14.18.1 node-pre-gyp ERR! node-pre-gyp -v v1.0.4 node-pre-gyp ERR! not ok npm WARN 1022-grab-market-server@1.0.0 No description npm WARN 1022-grab-market-server@1.0.0 No repository field. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @tensorflow/tfjs-node@3.12.0 install: `node scripts/install.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @tensorflow/tfjs-node@3.12.0 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\우현정\AppData\Roaming\npm-cache\_logs\2021-12-28T12_07_18_397Z-debug.log @tensorflow/tfjs-node 설치가 안됩니다ㅜㅜ 이전에 올려주신 url에 있는거도 다 해보고 구글링도 해봤는데 도저히 해결될 기미가 안보입니다ㅜㅜ

  • 머신러닝 배워볼래요?
  • javascript
  • express
  • nodejs
  • HTML/CSS
  • react
  • tensorflow
  • react-native
현정 댓글 2 좋아요 0 조회수 592

detach()관하여

미해결

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

다른 질문글에서 찾아보았는데 이해가 되지않아 다시질문드립니다.. 죄송합니당. 위에 코드에서와 같이 member1,member2 값을 셋하고 persist를 해주었고 member2만 detach를하여 영속성 컨텍스트에서 member2만 빠진걸로 이해를 하였습니다. 그다음 tx.commit을 통하여 member1이 db에 저장되어 있어야하는데 둘다 저장되지않았습니다 1.혹시 왜 둘다 저장되지 않는건가요 ? 다른 질문글에서는 "그리고 추가적으로 em.persist()와 em.createQuery() 등의 JPQL을 사용할시 즉시 쿼리를 날립니다. 그래서 테스트 하신 코드는 member와 member1이 둘다 디비에 저장되어 있어야 정상입니다." 라고하셨습니다. https://www.inflearn.com/questions/308596여기서 말씀 주셨는데 이해가 가지않아 질문드립니당. 2.em.persist()안에 jpql을 사용할시 즉시쿼리를 날리는건가요?

  • java
  • JPA
qheogus55 댓글 1 좋아요 0 조회수 328

parms를 가져오는 과정

미해결

[리뉴얼] React로 NodeBird SNS 만들기

request 객체 안의 params에 postId가 언제 어떻게 담겨지는 건지 궁금합니다. Express 서버에서 요청을 받는 순간에 요청의 엔드포인트를 파싱해서 :postId 부분을 params로 인식하고 request 객체의 params에 초기화해주는건가요?

  • nodejs
  • redux
  • express
  • react
  • Next.js
Leo 댓글 1 좋아요 0 조회수 207

파이썬 FinanceDataReader 질문

미해결

코드와 에러는 붙임과 같습니다. 1. 한국주식은 가격데이터가 불러와지나 미국주식은 에러 출력(no tables found) 2. 다른 사람 PC에서는 동일코드 정상 동작 확인 에러의 원인과 해결책을 알고 싶습니다.

  • python
훈훈한 치타 댓글 0 좋아요 0 조회수 314

완전히 이해해야하나요?

미해결

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

향후 jpdc나 jdpc template에 대한 자세한 강의가 있나요? 이해가 잘안되서 이번 강의를 반복적으로 들으며 이해시키고 넘어가야하나싶어서요

  • MVC
  • java
  • spring
  • spring-boot
김찬영 댓글 1 좋아요 1 조회수 335

random_device와 mt19937의 차이

해결됨

홍정모의 따라하며 배우는 C++

random_device와 mt19937의 차이를 정확하게 잘 이해가 안되서 그런데 random_device가 srand()처럼 seed값을 바꿔주고 mt19937이 rand()처럼 난수의 값을 반환? 하는 역할을 하는건가요?

  • C++
ᄋᄉᄋ. 댓글 1 좋아요 1 조회수 850

df 인덱싱 질문입니다

미해결

단 두 장의 문서로 데이터 분석과 시각화 뽀개기

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님, df.loc [ df [ 'sepal_length' ] > 7 , [ 'sepal_length' , 'petal_length' ]] df [ df [ 'sepal_length' ] > 7] 아래 코드는 잘 작동하는데요. 칼럼까지 인덱싱을 하려면 loc을 꼭 붙어줘야하는거죠?

  • python
  • pandas
강재연 댓글 1 좋아요 1 조회수 234

접근제어 보안 구조관련 질문

해결됨

15일간의 빅데이터 파일럿 프로젝트

아파치센트리의 경우 중앙에 서버를 두고 주변 노드들에게 접근 권한을 주는 것으로 이해를 했는데 커베로스는 클라이언트마다 서버를 따로따로 두는 것인가요? 커베로스도 KDC를 하나 두고 각 클라이언트들이 인증을 요청해서 티켓을 받는 방식인가요? 아, 아파치 센트리에서는 노드들에게 센트리 에이전트를 설치하는 대신 커베로스에서는 인증 요청하는 방식으로 진행되는 것인가요?

  • 아파치센트리
  • bigdata
  • 커베로스
  • Hadoop
  • 데이터 엔지니어링
  • redis
  • ZooKeeper
  • Flume
  • Impala
  • Kafka
김주영 댓글 1 좋아요 1 조회수 377

SourceTree : 403 error 발생

미해결

팀 개발을 위한 Git, GitHub 입문

안녕하세요 강의를 통해 잘 몰랐던 내용들을 하나 둘씩 잘 알아가고 있습니다. 지금까지는 잘 따라 왔는데 소스트리를 사용하고 푸쉬하는 과정에서 오류가 떠서 질문 드립니다. 동일한 과정을 거쳐 푸쉬를 하였는데 위와 같은 403 에러가 발생합니다.... 어떤 식으로 해결 가능할까요...?

  • 버전관리시스템
  • github
  • git
김영준 댓글 1 좋아요 0 조회수 1003

심볼이 뒤섞여 있어요 ㅠ.ㅠ

해결됨

애니메이트로 배우는 나만의 움직이는 이모티콘 만들기(feat. 2천만 뷰 크리에이터)

안녕하세요 선생님 그림과 같이 심볼 A 와 B를 만들어서 움직임을 만들구요 작업을 끝내고 저장한 후 다시 작업을 할려고 애니메이트를 실행하면 그림과 같이 심볼 A,B가 뒤엉켜있거나 심볼 움직임 중 이미지가 없는 경우도 있습니다. 다른 애니메이트 파일에서 심볼을 복사 붙여넣기로 가져올 경우 이런 현상이 일어나는 것 같기도 한데 왜 이럴까요? ㅠ.ㅠ

  • 이모티콘
  • animation
  • animate
Jong Wiz 댓글 1 좋아요 0 조회수 541

질문있습니다.

미해결

웹게임을 만들며 배우는 인터렉티브웹! JAVASCRIPT

혹시 배열 요소를 지울때 shift로 제일 처음 들어온 요소를 지우도록 구현하면 문제가 될까요??

  • javascript
  • HTML/CSS
  • 인터랙티브-웹
shut up and squat 댓글 1 좋아요 0 조회수 222

질문드립니다.

미해결

[NLP] IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리

안녕하세요, 선생님! 'IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리' 강의를 수강하고 있는 학생입니다. 다름이 아니라 멀티프로세싱 부분에서 에러가 납니다. 전에 다른 학생분들이 올리신 문의글에 대한 선생님의 답변들을 보고 따라해보았지만 에러가 납니다.. 혹시 다른 방법이 있는지 여쭈어 보고 싶습니다! IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리 IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리

  • 자연어처리
  • NLP
  • python
  • imdb
  • kaggle
  • 주피터노트북
  • 파이썬
h.agnes 댓글 2 좋아요 1 조회수 482

취업하는데 팀프로젝트 경험이 필수 일까요 ??

미해결

게임 프로그래머 취업 전략 가이드

면접 후기들을 보면 팀경험을 묻는 경우도 많은것 같은데 취업을 할 때 팀프로젝트 경험이 없다는 것은 마이너스 일까요??

  • 기술면접
  • 포트폴리오
Jimin Kim 댓글 1 좋아요 0 조회수 651

MarkdownX url.py 추가 시 에러 발생

해결됨

Do It! 장고+부트스트랩: 파이썬 웹개발의 정석

ImportError: cannot import name 'url' from 'django.conf.urls' (C:\github\do_it_django_inflearn_2021\venv\lib\site-packages\django\conf\urls\__init__.py) 위의 에러가 발생합니다 github의 강사님 코드를 그대로 가져와서 실행 해봤으나 동일한 에러가 뜹니다 흑흑

  • docker
  • bootstrap
  • django
  • aws
  • HTML/CSS
  • javascript
  • python
  • tdd
앙앙기모 댓글 1 좋아요 0 조회수 995

회원가입 질문 있습니다!!

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 보통 사이트들 회원가입할때 비밀번호 재확인란을 만들어서 비밀번호 기입란과 다를 때 실시간으로 오류문구가 뜨는데 이런건 js없이 스프링과 타임리프만으로는 불가능할까요?

  • spring
  • MVC
vnfthr 댓글 1 좋아요 0 조회수 259

인기 태그

인프런 TOP Writers

주간 인기글