feat : translate state-1 in Korean
@@ -425,6 +425,104 @@ const productManagerSidebarEn = [
|
||||
}
|
||||
]
|
||||
|
||||
const productManagerSidebarKo = [
|
||||
{
|
||||
text: '시작하기',
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ text: '학습 지도', link: '/ko-kr/stage-1/learning-map/' },
|
||||
{
|
||||
text: 'AI 시대, 말할 수 있으면 코딩할 수 있다',
|
||||
link: '/ko-kr/stage-1/ai-capabilities-through-games/'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
text: '제품 프로토타입 역량',
|
||||
collapsed: false,
|
||||
items: [
|
||||
{
|
||||
text: 'AI IDE 도구 익히기',
|
||||
link: '/ko-kr/stage-1/introduction-to-ai-ide/'
|
||||
},
|
||||
{
|
||||
text: '좋은 아이디어 찾기',
|
||||
link: '/ko-kr/stage-1/finding-great-idea/'
|
||||
},
|
||||
{
|
||||
text: '프로토타입 만들기',
|
||||
link: '/ko-kr/stage-1/building-prototype/'
|
||||
},
|
||||
{
|
||||
text: 'AI 기능 통합하기',
|
||||
link: '/ko-kr/stage-1/integrating-ai-capabilities/'
|
||||
},
|
||||
{
|
||||
text: '완성 프로젝트 실습',
|
||||
link: '/ko-kr/stage-1/complete-project-practice/'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
text: '부록: 비즈니스 사고',
|
||||
collapsed: false,
|
||||
items: [
|
||||
{
|
||||
text: '제품 사고와 솔루션 설계',
|
||||
link: '/ko-kr/stage-1/appendix-a-product-thinking/'
|
||||
},
|
||||
{
|
||||
text: 'AI 산업 적용 시나리오',
|
||||
link: '/ko-kr/stage-1/appendix-industry-scenarios/'
|
||||
},
|
||||
{
|
||||
text: '소비자용 AI 제품 시나리오',
|
||||
link: '/ko-kr/stage-1/appendix-c-consumer-scenarios/'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
text: '부록: 사용자 조사와 검증',
|
||||
collapsed: false,
|
||||
items: [
|
||||
{
|
||||
text: '아이디어는 어디서 찾을까',
|
||||
link: '/ko-kr/stage-1/appendix-idea-sources/'
|
||||
},
|
||||
{
|
||||
text: 'Double Diamond',
|
||||
link: '/ko-kr/stage-1/appendix-double-diamond/'
|
||||
},
|
||||
{
|
||||
text: 'Jobs to Be Done',
|
||||
link: '/ko-kr/stage-1/appendix-jobs-to-be-done/'
|
||||
},
|
||||
{
|
||||
text: 'The Mom Test',
|
||||
link: '/ko-kr/stage-1/appendix-mom-test/'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
text: '부록: 기술 문제 해결',
|
||||
collapsed: false,
|
||||
items: [
|
||||
{
|
||||
text: '오류가 났을 때 대처법',
|
||||
link: '/ko-kr/stage-1/appendix-b-common-errors/'
|
||||
},
|
||||
{
|
||||
text: 'AI 코딩 도구로 스네이크 게임 만들기',
|
||||
link: '/ko-kr/stage-1/appendix-articles/example0-1/vibe-coding-tools-snake-game-tutorial'
|
||||
},
|
||||
{
|
||||
text: '디자인 Agent와 코딩 Agent로 웹사이트 만들기',
|
||||
link: '/ko-kr/stage-1/appendix-articles/example0-2/vibe-coding-tools-build-website-with-ai-coding-and-design-agents'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
const stage2SidebarEn = [
|
||||
{
|
||||
text: 'Frontend Development',
|
||||
@@ -2430,26 +2528,28 @@ Sitemap: ${siteUrl}/sitemap.xml
|
||||
{ text: '홈', link: '/ko-kr/' },
|
||||
{
|
||||
text: '초보자 & PM',
|
||||
link: '/zh-cn/stage-1/learning-map/',
|
||||
activeMatch: '/zh-cn/stage-1/'
|
||||
link: '/ko-kr/stage-1/learning-map/',
|
||||
activeMatch: '/ko-kr/stage-1/'
|
||||
},
|
||||
{
|
||||
text: '풀스택 개발',
|
||||
link: '/zh-cn/stage-2/frontend/lovart-assets/',
|
||||
activeMatch: '/zh-cn/stage-2/'
|
||||
link: '/ko-kr/stage-2/',
|
||||
activeMatch: '/ko-kr/stage-2/'
|
||||
},
|
||||
{
|
||||
text: '고급 개발',
|
||||
link: '/zh-cn/stage-3/core-skills/basics/',
|
||||
activeMatch: '/zh-cn/stage-3/'
|
||||
link: '/ko-kr/stage-3/',
|
||||
activeMatch: '/ko-kr/stage-3/'
|
||||
},
|
||||
{
|
||||
text: '부록',
|
||||
link: '/zh-cn/appendix/',
|
||||
activeMatch: '/zh-cn/appendix/'
|
||||
link: '/ko-kr/appendix/',
|
||||
activeMatch: '/ko-kr/appendix/'
|
||||
}
|
||||
],
|
||||
sidebar: {}
|
||||
sidebar: {
|
||||
'/ko-kr/stage-1/': productManagerSidebarKo
|
||||
}
|
||||
}
|
||||
},
|
||||
'es-es': {
|
||||
|
||||
|
After Width: | Height: | Size: 623 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 107 KiB |
|
After Width: | Height: | Size: 379 KiB |
|
After Width: | Height: | Size: 373 KiB |
|
After Width: | Height: | Size: 656 KiB |
|
After Width: | Height: | Size: 318 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 283 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 108 KiB |
|
After Width: | Height: | Size: 223 KiB |
|
After Width: | Height: | Size: 385 KiB |
|
After Width: | Height: | Size: 299 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 268 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 640 KiB |
|
After Width: | Height: | Size: 13 MiB |
|
After Width: | Height: | Size: 2.9 MiB |
|
After Width: | Height: | Size: 514 KiB |
|
After Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 5.3 MiB |
|
After Width: | Height: | Size: 529 KiB |
|
After Width: | Height: | Size: 313 KiB |
|
After Width: | Height: | Size: 407 KiB |
|
After Width: | Height: | Size: 587 KiB |
|
After Width: | Height: | Size: 234 KiB |
|
After Width: | Height: | Size: 651 KiB |
|
After Width: | Height: | Size: 3.3 MiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 238 KiB |
|
After Width: | Height: | Size: 183 KiB |
|
After Width: | Height: | Size: 442 KiB |
|
After Width: | Height: | Size: 540 KiB |
|
After Width: | Height: | Size: 4.1 MiB |
|
After Width: | Height: | Size: 2.6 MiB |
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 602 KiB |
|
After Width: | Height: | Size: 658 KiB |
|
After Width: | Height: | Size: 333 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 236 KiB |
|
After Width: | Height: | Size: 336 KiB |
|
After Width: | Height: | Size: 880 KiB |
|
After Width: | Height: | Size: 201 KiB |
|
After Width: | Height: | Size: 388 KiB |
|
After Width: | Height: | Size: 556 KiB |
|
After Width: | Height: | Size: 478 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 402 KiB |
@@ -0,0 +1,133 @@
|
||||
---
|
||||
title: 'AI 시대, 말할 수 있으면 코딩할 수 있다'
|
||||
description: '작은 게임 예제를 통해 AI 코딩과 Vibe Coding의 기본 감각을 익히는 한국어 튜토리얼입니다.'
|
||||
---
|
||||
|
||||
# AI 시대, 말할 수 있으면 코딩할 수 있다
|
||||
|
||||
처음부터 큰 제품을 만들려고 하면 어렵습니다. Stage 1의 첫 실습은 작고 분명한 예제에서 시작합니다. 예를 들어 "스네이크 게임을 만들어 줘"라고 말하고, AI가 만든 결과를 실행해 보며 수정하는 식입니다.
|
||||
|
||||
이 장의 목표는 코딩 문법을 외우는 것이 아닙니다. **AI와 함께 만드는 흐름**을 익히는 것입니다.
|
||||
|
||||
## 1. AI에게 맡길 수 있는 일
|
||||
|
||||
AI는 다음 작업을 잘 도와줍니다.
|
||||
|
||||
- 간단한 웹 페이지나 게임 생성
|
||||
- HTML, CSS, JavaScript 코드 작성
|
||||
- 오류 메시지 해석
|
||||
- 기능 추가와 UI 수정
|
||||
- 코드를 더 읽기 쉽게 정리
|
||||
- 초보자에게 코드 설명
|
||||
|
||||
하지만 AI에게 모든 판단을 맡기면 결과가 흔들립니다. 사람이 해야 하는 일은 다음입니다.
|
||||
|
||||
- 무엇을 만들지 정한다.
|
||||
- 결과가 원하는 방향인지 판단한다.
|
||||
- 너무 큰 요구를 작은 단계로 쪼갠다.
|
||||
- 이상한 결과가 나오면 구체적으로 피드백한다.
|
||||
|
||||
## 2. 첫 프롬프트 예시
|
||||
|
||||
작은 게임을 만들 때는 이렇게 말할 수 있습니다.
|
||||
|
||||
```text
|
||||
브라우저에서 바로 실행할 수 있는 스네이크 게임을 만들어 줘.
|
||||
HTML, CSS, JavaScript를 한 파일에 넣어도 괜찮아.
|
||||
방향키로 조작하고, 점수를 보여 주고, 게임 오버 후 다시 시작할 수 있게 해 줘.
|
||||
초보자가 읽기 쉽게 코드에 중요한 부분만 짧게 주석을 달아 줘.
|
||||
```
|
||||
|
||||
좋은 프롬프트는 길다고 좋은 것이 아닙니다. 다음 네 가지가 들어가면 충분합니다.
|
||||
|
||||
- 실행 환경: 브라우저, Node.js, 모바일 등
|
||||
- 핵심 기능: 조작, 점수, 저장, 검색 등
|
||||
- 제약 조건: 한 파일, 외부 라이브러리 금지, 반응형 등
|
||||
- 원하는 품질: 초보자용, 깔끔한 UI, 주석 포함 등
|
||||
|
||||
## 3. 결과를 바로 믿지 말고 실행하기
|
||||
|
||||
AI가 코드를 주면 반드시 실행해 봐야 합니다. 실행 과정에서 자주 만나는 문제는 다음과 같습니다.
|
||||
|
||||
| 현상 | 원인 | 대응 |
|
||||
| --- | --- | --- |
|
||||
| 화면이 비어 있음 | HTML 연결 문제, JS 오류 | 브라우저 콘솔 오류를 AI에게 붙여 넣기 |
|
||||
| 버튼이 동작하지 않음 | 이벤트 연결 누락 | "이 버튼이 클릭되지 않는다"고 구체적으로 말하기 |
|
||||
| 디자인이 어색함 | 요구사항이 추상적임 | 원하는 레이아웃, 색, 간격을 더 구체화 |
|
||||
| 기능이 일부 빠짐 | 프롬프트가 너무 넓음 | 기능을 하나씩 추가 요청 |
|
||||
|
||||
## 4. 수정 요청은 작게 한다
|
||||
|
||||
초보자가 가장 많이 하는 실수는 한 번에 너무 많은 수정을 요청하는 것입니다.
|
||||
|
||||
좋은 수정 요청은 작습니다.
|
||||
|
||||
```text
|
||||
게임 오버 화면에 현재 점수와 최고 점수를 보여 줘.
|
||||
다른 코드는 최대한 유지하고, 필요한 부분만 수정해 줘.
|
||||
```
|
||||
|
||||
나쁜 수정 요청은 모호합니다.
|
||||
|
||||
```text
|
||||
더 좋게 만들어 줘.
|
||||
```
|
||||
|
||||
AI는 "더 좋게"의 기준을 모릅니다. 초보자일수록 원하는 변화를 눈에 보이는 단위로 말하는 것이 중요합니다.
|
||||
|
||||
## 5. AI 코딩에서 중요한 습관
|
||||
|
||||
### 5.1 한 번에 하나씩 바꾸기
|
||||
|
||||
기능을 하나 추가하고 실행합니다. 디자인을 하나 바꾸고 확인합니다. 그래야 문제가 생겼을 때 원인을 찾기 쉽습니다.
|
||||
|
||||
### 5.2 오류 메시지를 그대로 보여 주기
|
||||
|
||||
오류 메시지는 AI에게 가장 좋은 단서입니다. "안 돼요"보다 "콘솔에 이런 오류가 나와요"가 훨씬 효과적입니다.
|
||||
|
||||
```text
|
||||
아래 오류가 나면서 게임이 시작되지 않아.
|
||||
원인을 설명하고 수정 코드를 제안해 줘.
|
||||
|
||||
[여기에 오류 메시지 붙여넣기]
|
||||
```
|
||||
|
||||
### 5.3 코드 전체를 이해하려 하지 않아도 된다
|
||||
|
||||
처음에는 전체 코드를 완벽히 이해하지 않아도 됩니다. 대신 다음 정도를 구분하면 됩니다.
|
||||
|
||||
- 화면 구조를 담당하는 HTML
|
||||
- 디자인을 담당하는 CSS
|
||||
- 동작을 담당하는 JavaScript
|
||||
|
||||
## 6. 작은 게임에서 제품으로 넘어가기
|
||||
|
||||
게임 예제의 목적은 게임 개발자가 되는 것이 아닙니다. 이 과정에서 다음 감각을 얻는 것이 중요합니다.
|
||||
|
||||
- 자연어 요구사항이 코드로 바뀌는 과정
|
||||
- 실행 결과를 보고 피드백하는 과정
|
||||
- 오류를 발견하고 수정하는 과정
|
||||
- 기능을 단계적으로 확장하는 과정
|
||||
|
||||
이 네 가지는 나중에 업무 도구, AI 챗봇, 이미지 생성 앱, 예약 시스템을 만들 때도 그대로 쓰입니다.
|
||||
|
||||
## 과제
|
||||
|
||||
다음 중 하나를 골라 AI에게 만들어 달라고 요청해 보세요.
|
||||
|
||||
1. 스네이크 게임
|
||||
2. 타자 연습 게임
|
||||
3. 간단한 할 일 목록 앱
|
||||
4. 랜덤 점심 메뉴 추천기
|
||||
5. 퀴즈 게임
|
||||
|
||||
완성 후에는 다음 세 가지를 추가로 요청해 보세요.
|
||||
|
||||
- 화면을 더 보기 좋게 다듬기
|
||||
- 모바일에서도 잘 보이게 만들기
|
||||
- 오류나 빈 상태를 처리하기
|
||||
|
||||
## 다음으로
|
||||
|
||||
[AI IDE 도구 익히기](/ko-kr/stage-1/introduction-to-ai-ide/)에서 로컬 프로젝트를 열고 AI와 함께 개발하는 기본 흐름을 익힙니다.
|
||||
|
||||
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 549 KiB |
|
After Width: | Height: | Size: 961 KiB |
|
After Width: | Height: | Size: 498 KiB |
|
After Width: | Height: | Size: 292 KiB |
|
After Width: | Height: | Size: 876 KiB |
|
After Width: | Height: | Size: 762 KiB |
|
After Width: | Height: | Size: 221 KiB |
|
After Width: | Height: | Size: 914 KiB |
|
After Width: | Height: | Size: 948 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 825 KiB |
|
After Width: | Height: | Size: 388 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 586 KiB |
|
After Width: | Height: | Size: 333 KiB |
|
After Width: | Height: | Size: 942 KiB |
|
After Width: | Height: | Size: 431 KiB |
@@ -0,0 +1,145 @@
|
||||
---
|
||||
title: '제품 사고와 솔루션 설계'
|
||||
description: 'AI로 프로토타입을 만들기 전에 문제, 사용자, 솔루션을 정리하는 제품 사고 기초를 설명합니다.'
|
||||
---
|
||||
|
||||
# 제품 사고와 솔루션 설계
|
||||
|
||||
AI가 코드를 빠르게 만들어 줄수록 제품 사고는 더 중요해집니다. 구현이 쉬워졌다는 것은 잘못된 방향도 더 빨리 만들 수 있다는 뜻입니다.
|
||||
|
||||
이 부록은 "무엇을 만들지"를 더 정확히 정하기 위한 기본 틀입니다.
|
||||
|
||||
## 1. 제품은 기능이 아니라 문제 해결이다
|
||||
|
||||
초보자는 보통 기능에서 출발합니다.
|
||||
|
||||
```text
|
||||
로그인, 게시판, AI 챗봇, 결제, 관리자 페이지가 있는 앱
|
||||
```
|
||||
|
||||
하지만 사용자는 기능 목록을 사지 않습니다. 사용자는 자신의 문제를 더 빠르고 편하게 해결하고 싶어 합니다.
|
||||
|
||||
제품 사고는 다음 질문에서 시작합니다.
|
||||
|
||||
- 누가 문제를 겪고 있는가?
|
||||
- 언제 그 문제가 발생하는가?
|
||||
- 지금은 어떻게 해결하고 있는가?
|
||||
- 기존 방식의 불편은 무엇인가?
|
||||
- 내 솔루션이 줄여 주는 시간, 비용, 스트레스는 무엇인가?
|
||||
|
||||
## 2. 문제 문장 만들기
|
||||
|
||||
좋은 문제 문장은 구체적입니다.
|
||||
|
||||
```text
|
||||
[사용자]는 [상황]에서 [목표]를 달성하려 하지만,
|
||||
[현재 방식] 때문에 [불편]을 겪는다.
|
||||
```
|
||||
|
||||
예시:
|
||||
|
||||
```text
|
||||
소규모 쇼핑몰 운영자는 새 상품을 등록할 때 매번 상세페이지 문구를 직접 써야 하지만,
|
||||
마케팅 문구 작성 경험이 부족해 업로드 시간이 길어지고 상품의 장점이 잘 드러나지 않는다.
|
||||
```
|
||||
|
||||
## 3. 솔루션 문장 만들기
|
||||
|
||||
솔루션은 문제 문장을 뒤집어서 만듭니다.
|
||||
|
||||
```text
|
||||
[사용자]가 [입력]을 넣으면,
|
||||
[시스템]이 [처리]해서
|
||||
[결과]를 제공한다.
|
||||
```
|
||||
|
||||
예시:
|
||||
|
||||
```text
|
||||
쇼핑몰 운영자가 상품명, 특징, 타깃 고객을 입력하면,
|
||||
AI가 여러 톤의 상품 상세 문구와 SNS 홍보 문구를 생성한다.
|
||||
```
|
||||
|
||||
## 4. MVP 범위 정하기
|
||||
|
||||
첫 버전에서 중요한 것은 "작지만 완결된 흐름"입니다.
|
||||
|
||||
MVP에 넣을 것:
|
||||
|
||||
- 사용자가 입력하는 핵심 정보
|
||||
- 결과를 생성하거나 보여 주는 핵심 화면
|
||||
- 결과를 복사하거나 저장하는 최소 행동
|
||||
- 실패/빈 상태 처리
|
||||
|
||||
MVP에서 빼도 되는 것:
|
||||
|
||||
- 로그인
|
||||
- 권한 관리
|
||||
- 결제
|
||||
- 복잡한 관리자 페이지
|
||||
- 모든 플랫폼 지원
|
||||
- 과한 디자인 옵션
|
||||
|
||||
## 5. 기능 우선순위
|
||||
|
||||
기능을 세 가지로 나눕니다.
|
||||
|
||||
| 구분 | 의미 |
|
||||
| --- | --- |
|
||||
| Must | 이 기능이 없으면 제품 가치가 성립하지 않음 |
|
||||
| Should | 있으면 사용성이 좋아지지만 첫 버전에서 없어도 됨 |
|
||||
| Later | 검증 후 추가해도 되는 기능 |
|
||||
|
||||
예시:
|
||||
|
||||
| 기능 | 우선순위 |
|
||||
| --- | --- |
|
||||
| 상품 정보 입력 | Must |
|
||||
| 문구 생성 | Must |
|
||||
| 결과 복사 | Must |
|
||||
| 히스토리 저장 | Should |
|
||||
| 팀 공유 | Later |
|
||||
| 결제 | Later |
|
||||
|
||||
## 6. 좋은 요구사항의 형태
|
||||
|
||||
AI에게 전달하기 좋은 요구사항은 다음처럼 씁니다.
|
||||
|
||||
```text
|
||||
목표:
|
||||
대상 사용자:
|
||||
핵심 사용 흐름:
|
||||
첫 화면:
|
||||
결과 화면:
|
||||
필수 기능:
|
||||
제외할 기능:
|
||||
디자인 톤:
|
||||
확인 기준:
|
||||
```
|
||||
|
||||
이 형식으로 정리하면 AI IDE가 훨씬 안정적으로 결과를 만듭니다.
|
||||
|
||||
## 7. 솔루션 검증 질문
|
||||
|
||||
만들기 전에 다음 질문에 답해 보세요.
|
||||
|
||||
- 이 문제가 실제로 반복해서 발생하는가?
|
||||
- 사용자가 지금 돈이나 시간을 쓰고 있는가?
|
||||
- 내 솔루션이 기존 방식보다 명확히 쉬운가?
|
||||
- 첫 버전을 하루나 이틀 안에 만들 수 있는가?
|
||||
- 주변 사람에게 바로 보여 주고 반응을 받을 수 있는가?
|
||||
|
||||
## 과제
|
||||
|
||||
내 아이디어를 아래 형식으로 정리하세요.
|
||||
|
||||
```text
|
||||
문제 문장:
|
||||
솔루션 문장:
|
||||
대상 사용자:
|
||||
Must 기능 3개:
|
||||
첫 화면 구성:
|
||||
결과 화면 구성:
|
||||
첫 번째 사용자 검증 질문 5개:
|
||||
```
|
||||
|
||||
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 2.8 MiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 231 KiB |
|
After Width: | Height: | Size: 736 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 98 KiB |