inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

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

서브쿼리

데이터 분석 SQL Fundamentals

서브쿼리만 따로 실행하면 상관 컬럼으로 참조한 컬럼은 메인쿼리에 있어서 서브쿼리 단독 실행이 안되는 바람에 문제점 파악하기도 힘들고 쿼리가 메인부터 실행되는게 아니라 서브부터 실행되기 때문에 가장 안쪽에 있는 서브쿼리부터 거꾸로 해석해야해서 직관적으로 의미를 알아내기도 어렵고... 정말 끔찍해요 안썼으면 좋겠어요... 최초 강의에 포함되지 않은 이유가 있는것같아요

  • sql
  • postgresql
  • dbms/rdbms
  • 서브쿼리
Geonu Park 댓글 1 좋아요 0 조회수 429

초기환경 설치에 관한 자료는 어디에 있나요

하트카운트와 함께 쉽게 시작하는 SQL

24년 9월 10일에 강의를 듣기 시작했습니다... 그런데 초기환경 설치 방법에 관한 자료를 못찾아서 글 남깁니다.. 어디에 있는지.. 알려 주시거나,,, 게시판에 올려 주시면 좋겠습니다.

  • sql
  • mysql
  • sql-query
M.S kang 댓글 1 좋아요 0 조회수 446

titanic.mean() 하면 오류가 나옵니다.

데이터 분석을 위한 판다스: 기초부터 데이터 분석까지

수업을 들으면 titanic에 mean()을 적용하면 결과가 나오는데, 저는 나오지 않더군요(에러 메시지가 나옴) 그래서 numeric_only=True를 주니까 문제가 해결이 되긴 하던데, 혹시 제가 뭔가 설정이 달라서 그런건지? 하여 문의 남깁니다.

  • pandas
seocoach 댓글 0 좋아요 0 조회수 204

혹시 쿼리를 빨리 읽는 방법이 있을까요?

데이터 분석 SQL Fundamentals

혹시 쿼리를 빨리 읽는 방법이 있을까요? 제가 실무에서 프로시저와 함수들을 주로 사용하고 있습니다. 그런데 제가 SQL 에 익숙하지 않아서 인것도 있지만 주석이 없는 프로시저와 함수들을 보고 의도를 파악하고 분석하는데 시간이 너무 오래 걸리고 있어요. 혹시 서브쿼리 join , union 등이 무분별하게 쓰여진 복잡한 쿼리에서 쿼리의 의도만을 빠르게 파악할 수 있는 방법이 있을까요? 제 나름대로 생각을 해서 SELECT 절은 일단 보지 않고 FROM 절을 먼저 보고 어떤 테이블에서 값을 가지고 오는지 판단한후 WHERE 절을 보고 마지막으로 SELECT 절을 보고 있어요 그런데 SELECT 절에서도 CASE WHEN 문이나 단일행 서브쿼리들이 있어서 실행을 시켜보아도 이게 무슨의미인지 파악하지 못할때가 많아요,, 방법이 있을까요?

  • sql
  • postgresql
  • dbms/rdbms
minhyuck WOO 댓글 1 좋아요 0 조회수 1020

[1유형]

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

안녕하세요. 1유형은 부분점수가 있다고 하는데 값을 출력하고 그 때마다 제출 버튼을 눌러야지 채점이 되는건가요? 1유형에도 문제가 3개 있으면 제출 버튼을 3번 누르면 되는 건가요? 2유형은 마지막에 파일 생성하면 끝이 나는 건가요? 3유형도 궁금합니다!!

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

맥북으로 공부

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

안녕하세요 강사님 올해 말 실기 시험 목표로 강의를 수강 중인 학생입니다. 강의 수강 중 문득 걱정이 되는게 있어서 문의 드립니다. 맥북 단축키 같은것도 알려주시고 당장 수강하는데는 별 문제없다고 생각하는데, 시험장에 맥북을 들고 갈 순 없는 노릇이니.. 혹시 맥북으로 공부해 갔을때 발생할 수 있는 문제와 그에 대처방법이 혹시 있을까요?

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

강의 연장

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

안녕하세요 강의 수강생인데요 ㅠ 이번 실기 치르는데 제가 작년부터 강의를 결제해서 듣고 있어서요 혹시 다음주까지 연장할 수 있는 기능이나 방법이 있을까요 ?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
안서은 댓글 1 좋아요 0 조회수 368

index 목차보다는 색인

핵심만 빠르게, 입문자를 위한 파이썬(Python)과 판다스(Pandas)

index 설명해주실 때 목차가 아니라 '색인'이라고 하는 것이 더 정확할 것 같습니다~ 보통 책의 목차는 정렬이나 검색 용도로 쓰자면 비효율적이라 오히려 더 헷갈릴 수 있을 것 같아요

  • python
  • pandas
nnc 댓글 0 좋아요 0 조회수 325

as 별칭을 한글로 하고 싶을 때

초보자를 위한 BigQuery(SQL) 입문

안녕하세요. 특정 컬럼명을 한글로 지정하여 노출하고 싶을 때에는 어떻게 해야 하나요? 별칭 지정할 때에는 따옴표 없이 사용하는거라 하셔서 아래처럼 시도해봤는데, 에러가 뜹니다. select id as 포켓몬아이디, kor_name, eng_name, type1 from basic.pokemon where type1 = 'Fire' 다른 부서원들에게 전달해야 할 때에는 컬럼명을 한글로 노출하여 전달해야 할 일이 많을 것 같아서요.컬럼명을 한글로 노출하려면 어떻게 해야 할까요? 혹시 몰라 ', " 도 함께 사용해봤는데 여전히 오류가 뜹니다. (에러문구는 다르게 뜨긴 하네요) ' 로 시도 " 로 시도

  • sql
  • bigquery
h8476952 댓글 1 좋아요 0 조회수 471

계속 진도를 빼는 게 맞을까요? 나을까요?

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

안녕하세요 비전공자 직장인입니다. 퇴근후 딴짓 님 강의를 열심히 듣고 있습니다. 현재 작업형2 모의문제 2를 혼자서 풀고 있는데, 단순한 결측치 찾고, 샘플 찾고, 그런 것들은 하겠는데 이거를 모델링 하는 거에서부터 사실 멘붕입니다. 작업형1 모의문제를 풀 때도 똑같이 강의를 듣던것보다 더 어려워서 멘붕이 왔었습니다. 일단은 모르겠는 부분은 인지한 상태로 다시 반복하겠다는 의지로 계속 강의를 듣는 게 맞겠죠? 반복이 답이겠죠??

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
뚜디니 댓글 3 좋아요 1 조회수 349

강의 듣고

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

강의를 한번 쭉 듣고나서는 이 강의 기출을 반복하면되나요??? 합격하신 분들은 이 강의만 반복적으로 돌려서 합격하셨다는건지 아님 얼른 듣고 추가적으로 더 무엇을 했다는것인지 무엇을 해야하는지 궁금합니다.

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

꼭 암기해야하는 코드나 파트...

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

선생님, 강의 열심히 보고 있는데 제가 5월 중순부터 시작하면서 조금 일찍 시작했는데도 불구하고 암기 할 게 너~~~~~~무 많아서 큰일입니다 ㅠㅠ 단권화 시키려고 실기용 교재를 샀는데 정말 정말 이것만큼은 꼭! 외우고 가야하는 코드나 문법같은거를 정리해주실 수 있나요? (강의나...파일로) 사실 고득점 합격은 바라지도 않고 60점 턱걸이로라도 너무 붙고싶습니다!

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

이번 실기일까지 강의를 듣고 싶어요.

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

삭제된 글입니다

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
찰스 댓글 1 좋아요 0 조회수 286

BigQuery 입문 강의 수강 후 dataset 선정 및 진행 방향성

초보자를 위한 BigQuery(SQL) 입문

안녕하세요. 초보자를 위한 BigQuery(SQL) 입문 잘 들었습니다. 생각보다 재미가 있어서 계속 해보려 하는데 무엇을 해야할지 잘 몰라서 고민입니다. 강의 후반부에 "앞으로 배우면 좋을 내용" 에 있는 순서대로 해보려 했습니다. 공식 문서와 블로그 글을 통해 ARRAY, STRUCT의 기본 공부를 했습니다. 다음으로 넘어가 복잡한 데이터 가공하기 부분을 하고 있습니다. 우선 bigquery의 공개 데이터를 사용해 보자는 생각을 했고 Google Trends datasets과 COVID-19 Public Datasets을 살펴봤습니다. 세부사항과 데이터를 보며 어떤 것을 의미하는지까지는 알 수 있었습니다. 다만 이후부터 어떻게 해야할지 감이 안 왔습니다. 강의를 수강할 때는 예제 문제들이 있으니 배운 것을 적용할 수 있었는데, 처음 보는 데이터고 어떤 목적을 갖고 분석을 해야할지 모르겠습니다. bigquery 프로젝트 예제를 찾아봤지만 마땅한게 없었습니다. 혹시 이 강의를 수강하고 연습해 보기 좋은 dataset과 어떤 방식으로 프로젝트를 진행해야 할지 알고 싶습니다.

  • sql
  • bigquery
  • 데이터-리터러시
타크로 댓글 1 좋아요 0 조회수 551

슬라이드 및 효과 강의 추천

안녕하세요 디자이너입니다. 다름이 아니라 요즘 개인 홈페이지를 만들고 있는데요 html과 css는 어느정도 다 사용할 줄 아는데 슬라이드 효과나 메뉴 오버시 하위 카테고리 노출...등등 이런 방법을 아무리 봐도 모르겠더라구요,,., 혹시 이런 강의는 어떤 강의를 봐야하는지 추천좀 부탁드리겠습니다. 자바스크립트도 살짝 배워야한다고 들었는데 딥하게 들어가고 싶은 생각은 전혀없구요ㅠㅠ 기능만 구현하고싶어요!

  • 개발
  • 디자인
  • 웹개발
황진아 댓글 1 좋아요 0 조회수 458

백엔드 개발자로 1년간 취준했던 신입입니다. IT 쪽 개발 전망에 대해 몇가지 궁금한 점이 있습니다.

현재 개발 외 직군으로 입사해서 개발자로 이직을 준비하려고 합니다. stack : java spring 인프라 경험 : aws ec2, mysql 학습내용 인프런 김영한 spring 완전정복코스(https://tinyurl.com/23s6uonc)에서 스프링 입문, 스프링 핵심 원리, HTTP, MVC1, MVC2 김영한의 스프링 부트와 JPA 실무 완전 정복 로드맵(https://tinyurl.com/2dzrelgr)에서 ORM, JPA 활용1, JPA활용2 포트폴리오 1(팀 / 앱개발 프로젝트) - https://github.com/heoeuntaek/capstone-spring 포트폴리오 2(개인/ 웹게시판 프로젝트) - https://github.com/heoeuntaek/project-post 이 정도까지 준비를 했습니다. 서울, 부천 등 인천과 가까운 100개 넘는 자바스택의 백엔드, SI 회사에 지원 - 5개만 서합, 1개 코테, 4개 면접 모두 탈락 2022~2023년 동안 개발자 붐이 일어나 현직 개발자, 개발자 취준생이 많고 AI가 발전함에 따라 어느 정도의 개발을 대체하기에 기업이 신입에게 요구하는 역량이 더 커져 신입 개발자의 문턱이 커진 것 같은데요, 1. IT 업계 전반적으로 전망이 궁금합니다. 2. 구체적으로 백엔드 개발 쪽의 전망이 궁금합니다. 3. 개발자 준비를 계속해서 한다면 신입으로서 Spring, 인프라, 알고리즘 등 분야마다 어느정도의 역량은 갖춰야 한다고 생각하시나요? 4. 케바케겠지만 개발자가 수명이 짧다고 들었는데 어떻게 생각하시나요?

  • 취준
  • 전망
  • 개발
  • 백엔드
젤리야 댓글 0 좋아요 0 조회수 2287

SQL Error [42501]: ERROR: permission denied for database postgres

데이터 분석 SQL Fundamentals

안녕하세요 '실습용 스키마 설치 이슈 시 적용하세요'라는 강의편에 맥북에서 create schema nw; 이렇게 DBeaver에서 실행을 하면 아래와 같은 에라가 뜨네요 ㅠ SQL Error [42501]: ERROR: permission denied for database postgres

  • sql
  • postgresql
  • dbms/rdbms
심동희 댓글 0 좋아요 0 조회수 808

버전을 맞추었는데도 오류가 발생합니다. (pd ver: 2.0.3, sqlalchemy: 2.0.0)

다양한 사례로 익히는 SQL 데이터 분석

query = """ select * from nw.customers """ df = pd.read_sql_query(sql=query, con=postgres_engine) df.head(10) --------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) Cell In[25], line 4 1 query = """ 2 select * from nw.customers 3 """ ----> 4 df = pd.read_sql_query(sql=query, con=postgres_engine) 5 df.head(10) File ~\anaconda3\Lib\site-packages\pandas\io\sql.py:468, in read_sql_query(sql, con, index_col, coerce_float, params, parse_dates, chunksize, dtype, dtype_backend) 465 if dtype_backend is lib.no_default: 466 dtype_backend = "numpy" # type: ignore[assignment] --> 468 with pandasSQL_builder(con) as pandas_sql: 469 return pandas_sql.read_query( 470 sql, 471 index_col=index_col, (...) 477 dtype_backend=dtype_backend, 478 ) File ~\anaconda3\Lib\site-packages\pandas\io\sql.py:832, in pandasSQL_builder(con, schema, need_transaction) 829 raise ImportError("Using URI string without sqlalchemy installed.") 831 if sqlalchemy is not None and isinstance(con, (str, sqlalchemy.engine.Connectable)): --> 832 return SQLDatabase(con, schema, need_transaction) 834 warnings.warn( 835 "pandas only supports SQLAlchemy connectable (engine/connection) or " 836 "database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 " (...) 839 stacklevel=find_stack_level(), 840 ) 841 return SQLiteDatabase(con) File ~\anaconda3\Lib\site-packages\pandas\io\sql.py:1539, in SQLDatabase.__init__(self, con, schema, need_transaction) 1537 self.exit_stack.callback(con.dispose) 1538 if isinstance(con, Engine): -> 1539 con = self.exit_stack.enter_context(con.connect()) 1540 if need_transaction and not con.in_transaction(): 1541 self.exit_stack.enter_context(con.begin()) File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\base.py:3245, in Engine.connect(self) 3222 def connect(self) -> Connection: 3223 """Return a new :class:`_engine.Connection` object. 3224 3225 The :class:`_engine.Connection` acts as a Python context manager, so (...) 3242 3243 """ -> 3245 return self._connection_cls(self) File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\base.py:145, in Connection.__init__(self, engine, connection, _has_events, _allow_revalidate, _allow_autobegin) 143 if connection is None: 144 try: --> 145 self._dbapi_connection = engine.raw_connection() 146 except dialect.loaded_dbapi.Error as err: 147 Connection._handle_dbapi_exception_noconnection( 148 err, dialect, engine 149 ) File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\base.py:3269, in Engine.raw_connection(self) 3247 def raw_connection(self) -> PoolProxiedConnection: 3248 """Return a "raw" DBAPI connection from the connection pool. 3249 3250 The returned object is a proxied version of the DBAPI (...) 3267 3268 """ -> 3269 return self.pool.connect() File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:452, in Pool.connect(self) 444 def connect(self) -> PoolProxiedConnection: 445 """Return a DBAPI connection from the pool. 446 447 The connection is instrumented such that when its (...) 450 451 """ --> 452 return _ConnectionFairy._checkout(self) File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:1255, in _ConnectionFairy._checkout(cls, pool, threadconns, fairy) 1247 @classmethod 1248 def _checkout( 1249 cls, (...) 1252 fairy: Optional[_ConnectionFairy] = None, 1253 ) -> _ConnectionFairy: 1254 if not fairy: -> 1255 fairy = _ConnectionRecord.checkout(pool) 1257 if threadconns is not None: 1258 threadconns.current = weakref.ref(fairy) File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:716, in _ConnectionRecord.checkout(cls, pool) 714 rec = cast(_ConnectionRecord, pool._do_get()) 715 else: --> 716 rec = pool._do_get() 718 try: 719 dbapi_connection = rec.get_connection() File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\impl.py:168, in QueuePool._do_get(self) 166 return self._create_connection() 167 except: --> 168 with util.safe_reraise(): 169 self._dec_overflow() 170 raise File ~\anaconda3\Lib\site-packages\sqlalchemy\util\langhelpers.py:147, in safe_reraise.__exit__(self, type_, value, traceback) 145 assert exc_value is not None 146 self._exc_info = None # remove potential circular references --> 147 raise exc_value.with_traceback(exc_tb) 148 else: 149 self._exc_info = None # remove potential circular references File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\impl.py:166, in QueuePool._do_get(self) 164 if self._inc_overflow(): 165 try: --> 166 return self._create_connection() 167 except: 168 with util.safe_reraise(): File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:393, in Pool._create_connection(self) 390 def _create_connection(self) -> ConnectionPoolEntry: 391 """Called by subclasses to create a new ConnectionRecord.""" --> 393 return _ConnectionRecord(self) File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:678, in _ConnectionRecord.__init__(self, pool, connect) 676 self.__pool = pool 677 if connect: --> 678 self.__connect() 679 self.finalize_callback = deque() File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:902, in _ConnectionRecord.__connect(self) 900 self.fresh = True 901 except BaseException as e: --> 902 with util.safe_reraise(): 903 pool.logger.debug("Error on connect(): %s", e) 904 else: 905 # in SQLAlchemy 1.4 the first_connect event is not used by 906 # the engine, so this will usually not be set File ~\anaconda3\Lib\site-packages\sqlalchemy\util\langhelpers.py:147, in safe_reraise.__exit__(self, type_, value, traceback) 145 assert exc_value is not None 146 self._exc_info = None # remove potential circular references --> 147 raise exc_value.with_traceback(exc_tb) 148 else: 149 self._exc_info = None # remove potential circular references File ~\anaconda3\Lib\site-packages\sqlalchemy\pool\base.py:898, in _ConnectionRecord.__connect(self) 896 try: 897 self.starttime = time.time() --> 898 self.dbapi_connection = connection = pool._invoke_creator(self) 899 pool.logger.debug("Created new connection %r", connection) 900 self.fresh = True File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\create.py:640, in create_engine.<locals>.connect(connection_record) 638 if connection is not None: 639 return connection --> 640 return dialect.connect(*cargs, **cparams) File ~\anaconda3\Lib\site-packages\sqlalchemy\engine\default.py:580, in DefaultDialect.connect(self, *cargs, **cparams) 578 def connect(self, *cargs, **cparams): 579 # inherits the docstring from interfaces.Dialect.connect --> 580 return self.loaded_dbapi.connect(*cargs, **cparams) File ~\anaconda3\Lib\site-packages\psycopg2\__init__.py:122, in connect(dsn, connection_factory, cursor_factory, **kwargs) 119 kwasync['async_'] = kwargs.pop('async_') 121 dsn = _ext.make_dsn(dsn, **kwargs) --> 122 conn = _connect(dsn, connection_factory=connection_factory, **kwasync) 123 if cursor_factory is not None: 124 conn.cursor_factory = cursor_factory UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 63: invalid start byte 판다스 버전과 sqlalchemy 버전은 다음과 같이 맞추었습니다 2.0.3 2.0.0

  • sql
  • postgresql
  • dbms/rdbms
  • 퍼포먼스-마케팅
  • 데이터-엔지니어링
KoKuMa 댓글 1 좋아요 0 조회수 2343

선생님 안녕하세요!

Oracle PL/SQL 딱 이만큼.. [개념+실전]

안녕하세요! 수업 정말 잘듣고 있습니다!! 공부한거를 블로그에 작성 하려하는데 예제 같은 것을 출처를 밝혀 포스팅 해도될까요??

  • sql
  • oracle
  • PL/SQL
고재형 댓글 1 좋아요 0 조회수 504

SPARCS Service Hackathon 2024

[SPARCS Service Hackathon 2024 참가자 모집!] https://event.sparcs.org/ssh24 대전광역시와 KAIST가 주최하고, KAIST 총학생회 산하 특별기구 SPARCS가 주관하는 SPARCS Service Hackathon 2024에서 창의적인 아이디어와 실행력을 가진 전국 대학생 기획자, 개발자, 디자이너를 모집하고 있습니다! 📌 행사 세 줄 요약 1⃣ 1등 팀에게는 대전광역시장상과 상금 200만원 수여 2⃣ 총상금 400만원 이상, 롯데시티호텔 대전 숙박 지원, 엘리스의 강의와 GPU 자원 제공 3⃣ SPARCS의 활동 반영, 대학생 80명을 대상으로 교육, 기획, 개발, 마케팅이 함께하는 해커톤 🏠 일시 / 장소 - 일시: 2024.02.14(수) 오후 1시 ~ 2024.02.16(금) 오후 7시 - 장소: KAIST 본원, 대전드림아레나, 대전 롯데시티호텔 📝 참가자 모집 - 대상: 기획, 개발, 디자인 등 해커톤에서 팀으로 활동할 수 있는 전국 대학생 80명 누구나 - 참가비: 3만원 🔗 지원 방법 - https://sparcs.page.link/ssh24 - 개인 또는 2인 지원 가능 (주관사에서 4인 1팀 매칭 예정) 💰 상금 및 혜택 - 🥇 1위 대전광역시 시장상 (상금 200만 원) - 총 상금 400만 원 이상, 4팀 이상 시상 예정 - 각종 미니 게임 상품 증정 🕰 타임라인 (2024년) - 01.28 (일) : 참가 신청서 제출 마감 - 02.01 (목) : 선발 결과 공지 - 02.14 (수) ~ 02.16 (금) : 해커톤 본행사 (오프라인) 🕰 해커톤 진행 방식 - 오프라인 2박 3일 - 아이스브레이킹, 교육, 미션, 네트워킹, 개발 등 다양한 활동 진행 🙋 문의사항 - 메일: event@sparcs.org - 인스타그램: @event.sparcs SPARCS 2024 Hackathon, 여러분의 참여를 기다립니다!

  • 해커톤
  • 대학생
  • 개발
  • 개발자
sparcs.kaist 댓글 0 좋아요 0 조회수 718

인기 태그

인프런 TOP Writers

주간 인기글