inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

formatter bean 등록 질문입니다

미해결

스프링 프레임워크 핵심 기술

안녕하세요 강의 잘 듣고 있습니다. formatter를 생성한 후 @Component를 통해 bean으로 등록해준 후 사용하면 MethodArgumentConversionNotSupportedException 이 발생합니다 ... Configuration 파일을 이용해서 등록하면 잘 동작합니다 또한 ConversionService 객체를 Autowired로 주입받고 class이름을 출력하면 WebConversionService가 아닌 DefaultFormattionConversionService가 출력됩니다.. spring boot 2.3.3 버전을 사용하고 있는데 formatter가 빈으로 등록되지 않는 이유가 무엇인가요?

  • java
  • spring
hhh 댓글 2 좋아요 0 조회수 293

array_g.tolist()

미해결

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

결과값을보니 유니코드->문자열 된 값만 나오는데 'I'는 어디로 간걸까요? array클래스 객체 상태일때는 'I'가 출력됩니다.

  • django
  • python
최준만 댓글 0 좋아요 0 조회수 162

스프링 어노테이션에 관한 질문이 있습니다.

미해결

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

안녕하세요 선생님! 강의 잘듣고 있습니다. 강의 듣다 보니까 문득 궁금한게 생겼는데 스프링 어노테이션에서 @Repository 랑 @Service, @Component 같은 어노테이션이 기능적인 차이도 있나요? 예를들어서 강의에서 만든 MemberRepository에 @Repository 대신에 @Service나 @Component 어노테이션을 써도 동일하게 동작하는지 궁금합니다.

  • 웹앱
  • spring-boot
  • spring
  • java
  • JPA
백엔드개발자 댓글 1 좋아요 0 조회수 195

특정 오브젝트만 딥러닝 시키려면 어떻게 해야 할까요??

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

coco dataset 에서 80개의 오브젝트를 전부 학습시키는 것이 아닌 원하는 object(person/car/traffic light)만 딥러닝 시키려면 어떻게 해야할까요...?

  • 딥러닝
  • python
  • tensorflow
  • 컴퓨터-비전
  • 머신러닝 배워볼래요?
  • keras
김희선 댓글 3 좋아요 0 조회수 838

일부러 섹션 마지막에 글에 질문 남깁니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

정말 네트워크를 배우면서 어려운것 투성이 입니다. 진짜 쓰레드라는 개념은 단순하지만 여럿이 모이면 정말 무서울정도로 어려워 지더군요. 덩달아 네트워크 랑 연동해서 데드락, 쓰레드끼리 충돌하지 못하도록 신경도 써야하고, 패킷을 보낼때 받을때도 주의 해야합니다. 그냥 간단하게 결론만 얘기 하겠습니다. 여기서 배우는 내용을 달달 외우는것 보단 프레임워크를 스스로 개조해가면서 본인만에 서버를 만들면서 익숙해지는 방법밖에 없는건가요?

  • unity
  • network
  • C#
따뜻한눈빛 댓글 2 좋아요 5 조회수 330

질문잇습니다.

미해결

인터랙티브 웹 개발 제대로 시작하기

5100px 말하시는건 두배로 해야기 때문인거 맞지요? 백그라운드 넓이값하고 높이값은 url로 지정해서 150px에 2550px이 된거 맞나요? 그리고 ㅠㅠ 좀 길지만.. -로 준이유는 생각해 봣는데 양수로 주면 시작과 끝만 보이더라구요; 이미지 순환시키는 것 때문인게 맞을까요; 제가 이해한게 맞나 싶어서요 ㅠ

  • javascript
  • 인터랙티브-웹
  • HTML/CSS
김동 댓글 1 좋아요 0 조회수 165

github 코드 질문있습니다

미해결

Node.js 교과서 - 기본부터 프로젝트 실습까지

강의에 나오는 링크로 접속하면 , 존재하지않는 페이지라고 떠서 repository 찾아서 restFront.js 를 찾아서 코드를 보니까 , 강의 영상에 있는 코드와 다르더라고요 ㅠㅠ 혹시 같은 코드로 올라온 것은 없을까여?

  • javascript
  • mysql
  • mongodb
  • nodejs
vbkj 댓글 1 좋아요 0 조회수 190

GPU 할당에 관한 고찰

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

정말 많이 GPU 할당을 요청헀는데... all region말고 T4로 특정하게 요청도 해봤지만... 계속 deny되네요... Google Cloud Framework가 흥미로워서 꼭 사용해보고 싶었는데, 정말 4일이 지나도 절대 할당을 해주지 않는 군요... unfortunately 너무 봐서 지긋지긋 합니다.. 구글링을 해보니 많은 사람들이 할당을 받지 못하고 있다고 합니다. (소액 결제를 해서 얻는 방법도 있다고 하는데.. 2달러짜리 뭘 사라는 것도 있더군요 저도 잘 모르겠습니다.) 대부분의 사람들이 추천하길 기본 CPU환경을 어느정도 사용하고 할당량 요청을 하라고 합니다. 그래서 저도 코랩과 Google cloud server를 번갈아가면서 이용하고 가끔 할당량 요청을 해볼 생각입니다. 다른 분들도 GPU할당에 고민이 있으실 것 같아. 짧은 정보 공유합니다.. ㅠㅠ 혹시 GPU 할당 받는 다른 좋은 방법 아시는 분 댓글로 알려주시면 감사하겠습니다.

  • python
  • 머신러닝 배워볼래요?
  • tensorflow
  • 컴퓨터-비전
  • 딥러닝
  • keras
JH S 댓글 1 좋아요 0 조회수 316

UserAccount 객체 작성 이유에 대해 질문드립니다.

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

안녕하세요. 강사님. 먼저 좋은 강의 감사합니다. 들으면서 Spring Boot, JPA 활용에 큰 도움이 되고 있습니다. 해당 강의 중 질문드릴 게 있어서요. UserAccount 객체를 작성하고, 로그인 시 해당 객체를 principal로 사용한 이유가 핸들러에 parameter로 account 객체를 받기 위해서 사용한 것으로 이해했는데요. 혹시 이해한 내용이 맞는지 궁금합니다. 만약 기존 @CurrentUser 및 UserAccount 를 사용하지 않고 핸들러에 파라미터로 @AuthenticationPrincipal로 받으면 nickname으로 설정한 String 타입만 넘어오게 되는 건가요?? 답변 부탁드립니다. 감사합니다.

  • JPA
  • java
  • spring
  • spring-boot
  • thymeleaf
parkht 댓글 2 좋아요 2 조회수 380

얘가 왜 이럴까요..

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

몬스터를 공격하면 자꾸 저렇게 올라타고그러는데.. 왜이럴까요... 프로젝트보내겠습니다.,

  • unity
  • C#
taeyoung kim 댓글 2 좋아요 0 조회수 251

포트폴리오? 이력서?

미해결

비전공자를 위한 개발자 취업 개론

1. 포트폴리오 형식의 이력서라고 생각하면 되나요? 2. 저곳에도 작업물(소스파일이나 글 포스팅)도 올리 신건가요? 강의 볼 때마다 느끼는 거지만 아이디어가 신선하고 기발한거 같아요. 좋은 강의 감사합니다

  • 포트폴리오
  • 면접
초보개발자 댓글 1 좋아요 0 조회수 289

cd build가 안돼요ㅠ

미해결

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

Windows 10 쓰고 있는데 cd build 하면 지정된 경로를 찾을 수 없다고 뜨네요.. 여기서부터 막혀서 뭘 어떻게 해야 할지 모르겠습니다ㅠㅠ

  • MVC
  • java
  • spring
  • spring-boot
달세이 댓글 1 좋아요 0 조회수 206

NODE_ENV 관련 질문입니다.

미해결

프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)

html-webpack-plugin 을 사용할 때, process.env.NODE_ENV가 development임을 검사하는데 이 때 이 값은 webpack.config.js의 mode를 받아오는 것이 아닌건가요? 강의 영상에서처럼 빌드를 할 때 NODE_ENV=development npm run build를 하면 title에 (개발용)이 잘 붙어 나오는데, 그냥 npm run build시에는 붙어나오지 않네요. webpack.config.js에 mode: "development" 설정은 되어있구요. 어떻게 돌아가는 것인지 궁금합니다!

  • eslint
  • babel
  • nodejs
  • 웹팩
강듀 댓글 1 좋아요 0 조회수 231

test중 오류가 나오는데 해답을 찾지못하겠습니다 ㅠㅠ

미해결

파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap

이제 막 공부를 시작한터라 몇일째 혼자 해결해볼려고 해도 도저히 모르겠습니다... 전 강의 tag페이지 만들기에선 아무런 문제가없었는데 post detail개선 부분부터 오류가 나옵니다. 이 오류를 무시하고 그대로 진도를 나가도 블로그 나 어드민 페이지에선 아무런 문제가 발생하진않지만 어느부분이 잘못되어서 오류가 나오는지 가르쳐주세요!ㅠㅠ post_detail {% extends 'blog/base.html' %} {% block content %} <h1 id="blog-list-title"> Blog {% if category %}<small class="text-muted">: {{ category }}</small>{% endif %} {% if tag %}<small class="text-muted">: #{{ tag }}</small>{% endif %} </h1> {% if object_list.exists %} {% for p in object_list %} <!-- Blog Post --> <div class="card mb-4" id="post-card-{{ p.pk }}"> {% if p.head_image %} <img class="card-img-top" src="{{ p.head_image.url }}" alt="Card image cap"> {% else %} <img class="card-img-top" src="https://picsum.photos/750/300/?random" alt="Card image cap"> {% endif %} <div class="card-body"> {% if p.category %} <span class="badge badge-primary float-right">{{ p.category }}</span> {% else %} <span class="badge badge-primary float-right">미분류</span> {% endif %} <h2 class="card-title">{{ p.title }}</h2> <p class="card-text">{{ p.content | truncatewords:50 }}</p> {% for tag in p.tags.all %} <a href="{{ tag.get_absolute_url }}">#{{ tag }}</a> {% endfor %} <br/> <br/> <a href="{{ p.get_absolute_url }}" class="btn btn-primary" id="read-more-post-{{ p.pk }}">Read More &rarr;</a> </div> <div class="card-footer text-muted"> Posted on {{ p.create }} by <a href="#">{{ p.authro }}</a> </div> </div> {% endfor %} {% else %} <h3>아직 게시물이 없습니다.</h3> {% endif %} {% endblock %} test.py from django.test import TestCase, Client from bs4 import BeautifulSoup from .models import Post, Category, Tag from django.utils import timezone from django.contrib.auth.models import User def create_category(name='life', description=''): category, is_created = Category.objects.get_or_create( name=name, description=description ) category.slug = category.name.replace(' ', '-').replace('/', '') category.save() return category def create_tag(name='some tag'): tag, is_created = Tag.objects.get_or_create( name=name ) tag.slug = tag.name.replace(' ', '-').replace('/', '') tag.save() return tag def create_post(title, content, author, category=None): blog_post = Post.objects.create( title=title, content=content, created=timezone.now(), author=author, category=category, ) return blog_post class TestModel(TestCase): def setUp(self): self.client = Client() self.author_000 = User.objects.create(username='smith', password='nopassword') def test_category(self): category = create_category() def test_post(self): category = create_category() post_000 = create_post( title='The first post', content='Hello World. We are the world', author=self.author_000, category=category, ) self.assertEqual(category.post_set.count(), 1) def test_tag(self): tag_000 = create_tag(name='project') # bad_guy tag_001 = create_tag(name='portfolio') # america post_000 = create_post( title='The first post', content='Hello World. We are the world', author=self.author_000, ) post_000.tags.add(tag_000) post_000.tags.add(tag_001) post_000.save() post_001 = create_post( title='Stay Fool, Stay Hungry', content='Story about Steve jobs', author=self.author_000 ) post_001.tags.add(tag_001) post_001.save() self.assertEqual(post_000.tags.count(), 2) # post 는 여러개의 tag를 가질수잇다 self.assertEqual(tag_001.post_set.count(), 2) # 하나의 Tag는 여러개의 post에 붙을수있다 self.assertEqual(tag_001.post_set.first(), post_000) # 하나의 Tag는 자신을 가진 post들을 불러올수있다 self.assertEqual(tag_001.post_set.last(), post_001) # 하나의 Tag는 자신을 가진 post들을 불러올수있다 def test_post(self): category = create_category() post_000 = create_post( title='The first post', content='Hello World. We are the world', author=self.author_000, category=category, ) class TestView(TestCase): def setUp(self): self.client = Client() self.author_000 = User.objects.create(username='smith', password='nopassword') def check_navbar(self, soup): navbar = soup.find('div', id='navbar') self.assertIn('Blog', navbar.text) self.assertIn('About me', navbar.text) def check_right_side(self, soup): category_card = soup.find('div', id='category-card') self.assertIn('미분류 (1)', category_card.text) self.assertIn('정치/사회 (1)', category_card.text) def test_post_list_no_post(self): response = self.client.get('/blog/') self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') title = soup.title self.assertIn(title.text, 'Blog') self.check_navbar(soup) self.assertEqual(Post.objects.count(), 0) self.assertIn('아직 게시물이 없습니다', soup.body.text) def test_post_list_with_post(self): tag_portfolio = create_tag(name='portfolio') post_000 = create_post( title='The first post', content='Hello World. We are the world', author=self.author_000, ) post_000.tags.add(tag_portfolio) post_000.save() post_001 = create_post( title='The second post', content='Second Second Second', author=self.author_000, category=create_category(name='정치/사회') ) post_001.tags.add(tag_portfolio) post_001.save() self.assertGreater(Post.objects.count(), 0) response = self.client.get('/blog/') self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') body = soup.body self.assertNotIn('아직 게시물이 없습니다', body.text) self.assertIn(post_000.title, body.text) post_000_read_more_btn = body.find('a', id='read-more-post-{}'.format(post_000.pk)) self.assertEqual(post_000_read_more_btn['href'], post_000.get_absolute_url()) self.check_right_side(soup) # main_div에는 main_div = soup.find('div', id='main-div') self.assertIn('정치/사회', main_div.text) ### '정치/사회' self.assertIn('미분류', main_div.text) ### '미분류' # Tag post_card_000 = main_div.find('div', id='post-card-{}'.format(post_000.pk)) self.assertIn('#portfolio', post_card_000.text) # Tag 가 해당 post의 card 마다 있다. def test_post_detail(self): category_politics = create_category(name='정치/사회') post_000 = create_post( title='The first post', content='Hello World. We are the world', author=self.author_000, category=category_politics ) tag_portfolio = create_tag(name='portfolio') post_000.tags.add(tag_portfolio) post_000.save() post_001 = create_post( title='The second post', content='Second Second Second', author=self.author_000, category=create_category(name='정치/사회') ) self.assertGreater(Post.objects.count(), 0) post_000_url = post_000.get_absolute_url() self.assertEqual(post_000_url, '/blog/{}/'.format(post_000.pk)) response = self.client.get(post_000_url) self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') title = soup.title self.assertEqual(title.text, '{} - Blog'.format(post_000.title)) self.check_navbar(soup) body = soup.body main_div = body.find('div', id='main-div') self.assertIn(post_000.title, main_div.text) self.assertIn(post_000.author.username, main_div.text) self.assertIn(post_000.content, main_div.text) self.check_right_side(soup) # Tag self.assertIn('#portfolio', main_div.text) self.assertIn(category_politics.name, main_div.text)# 카테고리가 main_div 에 있다. self.assertNotIn('EDIT', main_div.text)# 에디트 버튼이 로그인하지 않은유저에겐 보이지않는다 login_success = self.client.login(username='smith', password='nopassword')# 로그인을 한 경우에는 self.assertTrue(login_success) response = self.client.get(post_000_url) self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') main_div = soup.find('div', id='main-div') self.assertEqual(post_000.author, self.author_000)# post.author 와 login 한 사용자가 동일하면 self.assertIn('EDIT', main_div)# EDIT 버튼이 있다. # 다른 사람인 경우에는 없다. def test_post_list_by_category(self): category_politics = create_category(name='정치/사회') post_000 = create_post( title='The first post', content='Hello World. We are the world', author=self.author_000, ) post_001 = create_post( title='The second post', content='Second Second Second', author=self.author_000, category=category_politics ) response = self.client.get('/blog/category/_none/') self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') # self.assertEqual('Blog - {}'.format(category_politics.name), soup.title.text) main_div = soup.find('div', id='main-div') self.assertIn('미분류', main_div.text) self.assertNotIn(category_politics.name, main_div.text) def test_teg_page(self): tag_000 = create_tag(name='project') # bad_guy tag_001 = create_tag(name='portfolio') # america post_000 = create_post( title='The first post', content='Hello World. We are the world', author=self.author_000, ) post_000.tags.add(tag_000) post_000.tags.add(tag_001) post_000.save() post_001 = create_post( title='Stay Fool, Stay Hungry', content='Story about Steve jobs', author=self.author_000 ) post_001.tags.add(tag_001) post_001.save() response = self.client.get(tag_000.get_absolute_url()) self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') main_div = soup.find('div', id='main-div') blog_h1 = main_div.find('h1', id='blog-list-title') self.assertIn('#{}'.format(tag_000.name), blog_h1.text) self.assertIn(post_000.title, main_div.text) self.assertNotIn(post_001.title, main_div.text)

  • bootstrap
  • django
  • python
qwer993 댓글 2 좋아요 0 조회수 346

독학으로 공부해보고 싶어서 오늘 등록했는데요!

미해결

인터랙티브 웹 개발 제대로 시작하기

어떤식으로 공부를 하는게 좋을지 궁금해서 질문드립니다.. 인터넷 강의는 처음이라 한번 눈으로 쭉보고 그다음에 따라하는게 좋을지;; 아니면 첨부터 같이 코딩하면서 따라하는게 좋을지 고민되요 ㅠㅠ; 제가 프로그램은 처음이라 어떤식으로 공부해야할지 그게 제일 고민이 되네요;; 열심히 하다보면 잘할수 있겠죠? ㅠㅠ 이 강의를 끝내고 다음 강의도 있던데 그것도 들어볼려구요! 아무튼 스타트 합니다.!

  • HTML/CSS
  • 인터랙티브-웹
  • javascript
김동 댓글 1 좋아요 0 조회수 177

섹션 5 3번 후위표기식

미해결

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

import sys a=input() stack=[] # stack.top의 우선순위가 자기보다 크지 않을 때 pop res="" for x in a: if x.isdecimal(): res+=x else: # 문자일 경우 if x=='(': # 일단 append stack.append(x) elif x=='*' or x=='/' or x=='+' or x=='-': while stack and (stack[-1]=='*' or stack[-1]=='/'): # stack.top의 우선순위가 작지 않을 때 pop res+=stack.pop() stack.append(x) elif x==')': while stack and stack[-1]!='(': # 괄호 안의 연산자 res+=stack.pop() stack.pop() while stack: res+=stack.pop() print(res) 선생님이 말씀하신 대로 코드를 짰는데 검사를 했을 때 앞에 두개 빼고는3~5번은 wrong answer 라고 나오네요. 제가 in3을 입력으로 넣어서 출력한 후위표기식을, 다시 중위표기식으로 바꿨을때와(손으로 직접), out3의 후위표기식을 중위표기식으로 바꿨을 때(손으로 직접) 결과가, in3으로 동일합니다. 동일한 중위표기식에 대한 후위표기식이 1개 이상이 아닐까요? 제가 틀렸다면 어떤 부분이 문제인지 지적 부탁드립니다

  • python
  • 코테 준비 같이 해요!
dasomjang33 댓글 1 좋아요 0 조회수 152

안녕하세요~^^

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요~!^^ 혹시 coco dataset과 kitti dataset을 합쳐서 딥러닝시켜 object detection 시킬 수 있을까요? 있다면 어떻게 할 수 있을까요? 강의와 관련있는 질문 을 남겨주세요. &bull; 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) &bull; 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) &bull; 서비스 운영 관련 질문은 인프런 우측 하단 &lsquo;문의하기&rsquo; 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. &bull; 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. &bull; 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. &bull; 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. &bull; 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. &bull; 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. &bull; 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . &bull; 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. &bull; 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. &bull; 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. &bull; 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.

  • python
  • 컴퓨터-비전
  • 머신러닝 배워볼래요?
  • 딥러닝
  • tensorflow
  • keras
김희선 댓글 7 좋아요 0 조회수 819

bad practices 질문

미해결

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

강의 중 19:00의 bad practices 예제에 대해 질문 드립니다. #include <stdio.h> int main(void) { int n = 1; printf("%d, %d\n", n, n * n++); return 0; } 를 컴파일하니 2, 2가 출력되는데 왜 그런 것인가요?? 1, 1아닌가요??

  • c
yezi2792 댓글 1 좋아요 0 조회수 204

자료는 어떻게 받을 수 있나요?

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

안녕하세요! 이제 막 강의에 입문한 늦깎이입니다. 강의 안내에 자료를 주신다고 안내되어 있는데 어떻게 받을 수 있나요^^

  • python
  • 웹-크롤링
노현욱 댓글 1 좋아요 0 조회수 623

3-20 querySelector질문

미해결

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

var accountInput = document.querySelector('input[name="account"]'); 여기서 괄호 안에 'input[name="account"]' 이거는 무슨 선택자인가요??

  • javascript
  • HTML/CSS
은냥 댓글 1 좋아요 0 조회수 187

인기 태그

인프런 TOP Writers

주간 인기글