퀘스트

무엇을 확인했고, 다음에는 무엇을 해 볼까.

분야별 학습 지도

완료 / 등록된 퀘스트

앞으로 할 후보까지 모은 목록. 진행률은 이곳에 등록한 퀘스트 기준이며, 분야의 숙련도를 뜻하지 않습니다.

퀘스트 목록

펼쳐서 목표와 마무리 기준 보기

빈 장면에 상자와 카메라를 놓고 좌표 하나씩 바꿔 본다.

마무리할 때 남길 것
작은 예제와 함께 물체 회전·카메라 이동의 차이를 내 말로 설명하기.
Three.jsSceneCamera

모양·표면·셰이더에 전달하는 값의 역할을 구분한다.

마무리할 때 남길 것
정답을 가리고 구체의 모양과 대기의 색이 각각 어디서 정해지는지 재설명하기.
GeometryMaterialuniformsTexture

device·pipeline·command의 관계를 작은 장면에서 살핀다.

마무리할 때 남길 것
WebGL 예제와 설정·명령 제출의 차이를 정리하고 미지원 화면도 준비하기.
WebGPUWGSL파이프라인

학습 때 선택한 vgpu 버전과 API를 확인하고 앞의 예제와 비교한다.

마무리할 때 남길 것
직접 작성한 코드와 라이브러리에 맡긴 부분을 나눠 기록하기.
vgpuWebGPU

기초 예제에서 배운 내용을 기존 스타차트의 행성 하나에 연결한다.

마무리할 때 남길 것
모양·표면·카메라·대기를 분리해서 설명하고 바꾼 값과 화면을 함께 남기기.
행성Material대기3D 적용

공개 필터 사례를 보고 작은 목록 화면에서 적용해 본다.

마무리할 때 남길 것
필터 선택 → 새로고침 → 뒤로 가기 후에도 조건이 맞는지 확인하기.
필터URLVercel

검색 결과가 바뀔 때 포인터와 키보드 선택이 어떻게 달라지는지 재현한다.

마무리할 때 남길 것
방향키·Enter·Escape와 결과 갱신을 직접 시험하고 선택 기준을 적기.
Find검색포커스키보드

목록 하나의 로딩·성공·빈 결과·오류 상태를 나란히 설계한다.

마무리할 때 남길 것
각 상태에서 사용자가 다음에 할 행동과 키보드 포커스를 확인하기.
로딩빈 결과오류접근성

패널 전환 하나를 만들고 중간 취소와 동작 줄이기를 비교한다.

마무리할 때 남길 것
전환 전후 포커스와 동작 줄이기 설정에서의 화면을 기록하기.
모션reduced-motion탐색

읽는 글과 클릭하는 3D 예제가 각각 어디에서 실행되는지 구분한다.

마무리할 때 남길 것
작은 페이지에서 use client가 필요한 부분과 브라우저 전용 코드를 표시하기.
Next.jsReactRSCMDX

목록·상세 화면에서 데이터를 가져오는 시점과 캐시를 관찰한다.

마무리할 때 남길 것
설치한 Next.js 버전을 적고 새로고침·화면 이동·갱신 결과를 비교하기.
Next.jsApp Router캐시Suspense

로딩·성공·오류를 구분 가능한 타입으로 표현한다.

마무리할 때 남길 것
불가능한 상태 조합을 줄이고 분기 누락을 타입 검사로 찾기.
TypeScriptReact상태 모델

개인 프로젝트용 작은 응답에서 누락·잘못된 값을 처리한다.

마무리할 때 남길 것
정상·누락·실패 입력 세 가지와 화면에 전달할 데이터 형태 기록하기.
API검증어댑터

브라우저 기록을 계정에 저장할 때 데이터 소유권과 충돌을 정한다.

마무리할 때 남길 것
로그인 전후 흐름과 저장 실패·재시도·다른 기기 충돌 예시 남기기.
인증DB진행도동기화

작은 3D 예제를 같은 기기·화면 크기·장면 조건으로 반복 측정한다.

마무리할 때 남길 것
조건·반복 횟수·측정값을 남기고 측정하지 않은 성능은 주장하지 않기.
3D성능프레임 시간

검색 → 선택 → 돌아오기 중 깨지기 쉬운 동작 하나를 자동으로 확인한다.

마무리할 때 남길 것
실제로 실패하는 경우를 재현한 뒤 수정 전후 테스트 결과 남기기.
Playwright테스트오류 복구

다음 학습에서 헷갈린 개념 하나를 한국어와 영어로 적는다.

마무리할 때 남길 것
첫 문장·피드백·내가 다시 쓴 문장을 함께 남기기.
기술 영어재설명오답

buffer 생성과 좌표 전달의 차이를 설명했다. 배열만 변경하면 GPU 값은 그대로라고 예측하고, 실제 값이 재전달 후 바뀌는 것을 확인했다.

확인한 결과
buffer 생성과 좌표 전달의 차이를 설명했다. 배열만 변경하면 GPU 값은 그대로라고 예측하고, 실제 값이 재전달 후 바뀌는 것을 확인했다.
WebGPUbufferwriteBuffer데이터 전달

첫 시도 후 after changing과 transfer the data again, 관사를 반영해 참고 문장을 보며 다시 썼다. JavaScript의 철자 오타를 정정했다.

확인한 결과
첫 시도 후 after changing과 transfer the data again, 관사를 반영해 참고 문장을 보며 다시 썼다. JavaScript의 철자 오타를 정정했다.
기술 영어WebGPU재작성

준비만으로 삼각형이 나타나지 않는 이유와 device의 저장 공간 생성 역할을 설명했다. 직접 실행한 화면에서 device 확보 성공을 확인했다.

확인한 결과
준비만으로 삼각형이 나타나지 않는 이유와 device의 저장 공간 생성 역할을 설명했다. 직접 실행한 화면에서 device 확보 성공을 확인했다.
WebGPUadapterdevice

첫 시도 후 To create와 we need to prepare a device를 반영해 참고 문장을 보며 다시 썼다. storage의 철자 오타를 정정했다.

확인한 결과
첫 시도 후 To create와 we need to prepare a device를 반영해 참고 문장을 보며 다시 썼다. storage의 철자 오타를 정정했다.
기술 영어WebGPU재작성

색 선택만으로 화면이 바뀌지 않고 전달 후 다시 그려야 한다고 관찰하고 설명했다. uniform 색을 그대로 출력하는 shader에서 삼각형 전체가 같은 색이 되는 이유를 설명했다.

확인한 결과
색 선택만으로 화면이 바뀌지 않고 전달 후 다시 그려야 한다고 관찰하고 설명했다. uniform 색을 그대로 출력하는 shader에서 삼각형 전체가 같은 색이 되는 이유를 설명했다.
WebGLuniformshader다시 그리기

첫 시도 후 After changing과 pass it to the shader, redraw the triangle을 반영해 참고 문장을 보며 다시 썼다.

확인한 결과
첫 시도 후 After changing과 pass it to the shader, redraw the triangle을 반영해 참고 문장을 보며 다시 썼다.
기술 영어WebGL재작성

실제 WebGL 삼각형에서 꼭짓점 하나를 움직이고 좌표와 윤곽의 관계를 설명했다. vertex shader부터 fragment shader까지의 순서를 교정 뒤 재설명했다.

확인한 결과
실제 WebGL 삼각형에서 꼭짓점 하나를 움직이고 좌표와 윤곽의 관계를 설명했다. vertex shader부터 fragment shader까지의 순서를 교정 뒤 재설명했다.
WebGL꼭짓점NDCGLSLshader

예문 없는 첫 시도 후 단수 동사와 each vertex·each fragment를 교정하고 참고 문장을 보며 다시 썼다.

확인한 결과
예문 없는 첫 시도 후 단수 동사와 each vertex·each fragment를 교정하고 참고 문장을 보며 다시 썼다.
기술 영어WebGL재작성

Texture만 껐다 켜며 표면의 외형 변화를 관찰했다. Texture가 Material을 대체하지 않고 Material이 표면 계산에 사용하는 데이터라고 재설명했다.

확인한 결과
Texture만 껐다 켜며 표면의 외형 변화를 관찰했다. Texture가 Material을 대체하지 않고 Material이 표면 계산에 사용하는 데이터라고 재설명했다.
Three.jsTextureMaterialmap

예문 없는 첫 시도 후 관사와 문장 구조를 교정하고 surface's appearance의 뜻을 확인한 뒤 참고 문장을 보며 다시 썼다.

확인한 결과
예문 없는 첫 시도 후 관사와 문장 구조를 교정하고 surface's appearance의 뜻을 확인한 뒤 참고 문장을 보며 다시 썼다.
기술 영어재작성

설정을 하나씩 바꾸어 모양·표면·조명 조건을 구분했다. Roughness가 반사광의 집중과 분산을 바꾼다는 점을 실제 조작 뒤 재설명했다.

확인한 결과
설정을 하나씩 바꾸어 모양·표면·조명 조건을 구분했다. Roughness가 반사광의 집중과 분산을 바꾼다는 점을 실제 조작 뒤 재설명했다.
Three.jsGeometryMaterialLightRoughness

예문 없는 첫 시도 후 as ... increases와 비교급을 교정하고 참고 문장을 보며 완성 문장을 다시 썼다.

확인한 결과
예문 없는 첫 시도 후 as ... increases와 비교급을 교정하고 참고 문장을 보며 완성 문장을 다시 썼다.
기술 영어재작성

그리드를 기준으로 물체 회전과 카메라 이동을 구분해 재설명했다. lookAt이 위치가 아니라 방향을 계산하며 매 프레임 호출해야 한다는 점을 확인했다.

확인한 결과
그리드를 기준으로 물체 회전과 카메라 이동을 구분해 재설명했다. lookAt이 위치가 아니라 방향을 계산하며 매 프레임 호출해야 한다는 점을 확인했다.
Three.jsSceneCameralookAt

dt가 직전 프레임과의 차이임을 교정 뒤 다시 설명했다. 프레임 속도와 dt가 반비례해 곱이 상쇄되므로 1초간 이동 거리가 같아진다는 점을 설명했다.

확인한 결과
dt가 직전 프레임과의 차이임을 교정 뒤 다시 설명했다. 프레임 속도와 dt가 반비례해 곱이 상쇄되므로 1초간 이동 거리가 같아진다는 점을 설명했다.
Canvas 2Ddelta time프레임 속도

예문 없는 첫 시도 후 관사와 so that 절, even when ~ changes, frame rate를 반영해 참고 문장을 보며 다시 썼다.

확인한 결과
예문 없는 첫 시도 후 관사와 so that 절, even when ~ changes, frame rate를 반영해 참고 문장을 보며 다시 썼다.
기술 영어재작성

같은 좌표로 그리면 움직이지 않는 이유를 설명했다. 다음 예약이 없으면 첫 그림이 남는다는 결과와 이유를 교정 뒤 재설명했다.

확인한 결과
같은 좌표로 그리면 움직이지 않는 이유를 설명했다. 다음 예약이 없으면 첫 그림이 남는다는 결과와 이유를 교정 뒤 재설명했다.
Canvas 2D프레임requestAnimationFrame

예문 없는 첫 시도 후 need to request와 keep the animation running을 반영해 참고 문장을 보며 다시 썼다.

확인한 결과
예문 없는 첫 시도 후 need to request와 keep the animation running을 반영해 참고 문장을 보며 다시 썼다.
기술 영어재작성

x 변경을 관찰하고 y 변경을 예측했다. 지우고 새 좌표에 다시 그리는 반복으로 움직임을 표현한다고 설명했다.

확인한 결과
x 변경을 관찰하고 y 변경을 예측했다. 지우고 새 좌표에 다시 그리는 반복으로 움직임을 표현한다고 설명했다.
Canvas 2D좌표다시 그리기

첫 시도 뒤 an object, clearing, redrawing과 by + -ing를 반영해 참고 문장을 보며 완성 문장을 다시 썼다.

확인한 결과
첫 시도 뒤 an object, clearing, redrawing과 by + -ing를 반영해 참고 문장을 보며 완성 문장을 다시 썼다.
기술 영어재작성

상자 회전과 카메라 이동을 구분하고, Three.js와 브라우저 API의 관계를 설명했다.

확인한 결과
상자 회전과 카메라 이동을 구분하고, Three.js와 브라우저 API의 관계를 설명했다.
3D 기초

supports와 by making을 반영해 완성 문장을 다시 썼다.

확인한 결과
supports와 by making을 반영해 완성 문장을 다시 썼다.
기술 영어

기본 흐름에 대한 회고와 WebGL·WebGPU의 배경에 대한 질문을 남겼다.

확인한 결과
기본 흐름에 대한 회고와 WebGL·WebGPU의 배경에 대한 질문을 남겼다.
회고재설명

키보드 선택과 포인터 좌표의 차이를 비교 예제로 확인했다.

확인한 결과
키보드 선택과 포인터 좌표의 차이를 비교 예제로 확인했다.
React검색Console UI/UX

피드백을 반영한 영어 완성 문장을 다시 작성했다.

확인한 결과
피드백을 반영한 영어 완성 문장을 다시 작성했다.
기술 영어

잘못된 클릭 방지와 최신 결과 표시 지연의 관계를 정리했다.

확인한 결과
잘못된 클릭 방지와 최신 결과 표시 지연의 관계를 정리했다.
회고재설명

학습용 비교 화면으로 구성 요소의 역할과 변화 예측을 살폈다.

확인한 결과
학습용 비교 화면으로 구성 요소의 역할과 변화 예측을 살폈다.
3D 기초

단수 주어에 맞는 동사를 고쳐 쓰고 판단의 이유를 표현했다.

확인한 결과
단수 주어에 맞는 동사를 고쳐 쓰고 판단의 이유를 표현했다.
기술 영어

비교 화면이 이해에 도움이 됐다는 학습 피드백을 남겼다.

확인한 결과
비교 화면이 이해에 도움이 됐다는 학습 피드백을 남겼다.
회고재설명

그래픽스 공부 순서

현재: 3D 기초
  1. 공통 기초

    물체 · 카메라 · 좌표 · 다시 그리기

    입문 설명 완료
  2. Three.js

    장면 · 모양 · 표면 · 빛 구분하기

    기초 관찰 완료
  3. WebGL

    삼각형 · 셰이더 · 값 전달

    입문 관찰 완료
  4. 05

    vgpu

    라이브러리의 역할 비교

    예정

기술별 전체 숙달이 아닌, 입문 예제를 연결하는 학습 순서입니다.

완료한 퀘스트

공개 기록 28개
+40 XP

WebGPU 장치 준비와 buffer 전달

Graphics

JavaScript 좌표와 GPU buffer의 값 전달 구분하기

buffer 생성과 좌표 전달의 차이를 설명했다. 배열만 변경하면 GPU 값은 그대로라고 예측하고, 실제 값이 재전달 후 바뀌는 것을 확인했다.

연결된 기록
+10XP
English

GPU buffer 갱신과 재전달을 영어로 설명하기

첫 시도 후 after changing과 transfer the data again, 관사를 반영해 참고 문장을 보며 다시 썼다. JavaScript의 철자 오타를 정정했다.

연결된 기록
+10XP
Graphics

WebGPU 장치 준비와 그리기 구분하기

준비만으로 삼각형이 나타나지 않는 이유와 device의 저장 공간 생성 역할을 설명했다. 직접 실행한 화면에서 device 확보 성공을 확인했다.

연결된 기록
+10XP
English

GPU 장치 준비 순서를 영어로 표현하기

첫 시도 후 To create와 we need to prepare a device를 반영해 참고 문장을 보며 다시 썼다. storage의 철자 오타를 정정했다.

연결된 기록
+10XP
+80 XP

Three.js와 WebGL 기초

Graphics

JavaScript 색 변경과 uniform 전달과 다시 그리기 구분하기

색 선택만으로 화면이 바뀌지 않고 전달 후 다시 그려야 한다고 관찰하고 설명했다. uniform 색을 그대로 출력하는 shader에서 삼각형 전체가 같은 색이 되는 이유를 설명했다.

연결된 기록
+10XP
English

색 전달과 다시 그리기를 영어로 표현하기

첫 시도 후 After changing과 pass it to the shader, redraw the triangle을 반영해 참고 문장을 보며 다시 썼다.

연결된 기록
+10XP
Graphics

WebGL 삼각형의 꼭짓점과 shader 역할 설명하기

실제 WebGL 삼각형에서 꼭짓점 하나를 움직이고 좌표와 윤곽의 관계를 설명했다. vertex shader부터 fragment shader까지의 순서를 교정 뒤 재설명했다.

연결된 기록
+10XP
English

vertex와 fragment shader의 역할을 영어로 설명하기

예문 없는 첫 시도 후 단수 동사와 each vertex·each fragment를 교정하고 참고 문장을 보며 다시 썼다.

연결된 기록
+10XP
Graphics

Texture와 Material의 관계 설명하기

Texture만 껐다 켜며 표면의 외형 변화를 관찰했다. Texture가 Material을 대체하지 않고 Material이 표면 계산에 사용하는 데이터라고 재설명했다.

연결된 기록
+10XP
English

Texture와 Material의 관계를 영어로 설명하기

예문 없는 첫 시도 후 관사와 문장 구조를 교정하고 surface's appearance의 뜻을 확인한 뒤 참고 문장을 보며 다시 썼다.

연결된 기록
+10XP
Graphics

Geometry·Material·Light의 역할 구분하기

설정을 하나씩 바꾸어 모양·표면·조명 조건을 구분했다. Roughness가 반사광의 집중과 분산을 바꾼다는 점을 실제 조작 뒤 재설명했다.

연결된 기록
+10XP
English

Roughness와 하이라이트를 영어로 설명하기

예문 없는 첫 시도 후 as ... increases와 비교급을 교정하고 참고 문장을 보며 완성 문장을 다시 썼다.

연결된 기록
+10XP
+10 XP

Three.js 첫 장면

Graphics

Scene·Camera·Mesh를 놓고 좌표 바꿔 보기

그리드를 기준으로 물체 회전과 카메라 이동을 구분해 재설명했다. lookAt이 위치가 아니라 방향을 계산하며 매 프레임 호출해야 한다는 점을 확인했다.

연결된 기록
+10XP
+20 XP

시간 기반 속도

Graphics

프레임 속도와 무관한 이동 설명하기

dt가 직전 프레임과의 차이임을 교정 뒤 다시 설명했다. 프레임 속도와 dt가 반비례해 곱이 상쇄되므로 1초간 이동 거리가 같아진다는 점을 설명했다.

연결된 기록
+10XP
English

프레임 독립 이동을 영어로 설명하기

예문 없는 첫 시도 후 관사와 so that 절, even when ~ changes, frame rate를 반영해 참고 문장을 보며 다시 썼다.

연결된 기록
+10XP
+20 XP

프레임과 다음 실행 예약

Graphics

프레임과 다음 그리기 예약 설명하기

같은 좌표로 그리면 움직이지 않는 이유를 설명했다. 다음 예약이 없으면 첫 그림이 남는다는 결과와 이유를 교정 뒤 재설명했다.

연결된 기록
+10XP
English

다음 프레임 요청을 영어로 설명하기

예문 없는 첫 시도 후 need to request와 keep the animation running을 반영해 참고 문장을 보며 다시 썼다.

연결된 기록
+10XP
+20 XP

Canvas 2D의 좌표와 다시 그리기

Graphics

좌표와 다시 그리기로 움직임 설명하기

x 변경을 관찰하고 y 변경을 예측했다. 지우고 새 좌표에 다시 그리는 반복으로 움직임을 표현한다고 설명했다.

연결된 기록
+10XP
English

Canvas 2D의 움직임을 영어로 설명하기

첫 시도 뒤 an object, clearing, redrawing과 by + -ing를 반영해 참고 문장을 보며 완성 문장을 다시 썼다.

연결된 기록
+10XP
+30 XP

3D 세계의 입구에서

Graphics

3D 렌더링의 기본 흐름 설명하기

상자 회전과 카메라 이동을 구분하고, Three.js와 브라우저 API의 관계를 설명했다.

연결된 기록
+10XP
English

Three.js의 역할을 영어로 쓰기

supports와 by making을 반영해 완성 문장을 다시 썼다.

연결된 기록
+10XP
Reflection

이해한 것과 남은 질문 기록하기

기본 흐름에 대한 회고와 WebGL·WebGPU의 배경에 대한 질문을 남겼다.

연결된 기록
+10XP
+30 XP

검색 결과와 사용자의 선택

Frontend

key와 선택 항목의 관계 살펴보기

키보드 선택과 포인터 좌표의 차이를 비교 예제로 확인했다.

연결된 기록
+10XP
English

검색 결과의 동작을 영어로 표현하기

피드백을 반영한 영어 완성 문장을 다시 작성했다.

연결된 기록
+10XP
Reflection

결과 보류의 장단점 기록하기

잘못된 클릭 방지와 최신 결과 표시 지연의 관계를 정리했다.

연결된 기록
+10XP
+30 XP

렌더링 장면을 관찰하고 설명하기

Graphics

렌더링 구성 요소와 변경 결과 예측하기

학습용 비교 화면으로 구성 요소의 역할과 변화 예측을 살폈다.

연결된 기록
+10XP
English

변경 판단을 영어 한 문장으로 쓰기

단수 주어에 맞는 동사를 고쳐 쓰고 판단의 이유를 표현했다.

연결된 기록
+10XP
Reflection

비교 화면으로 배운 점 돌아보기

비교 화면이 이해에 도움이 됐다는 학습 피드백을 남겼다.

연결된 기록
+10XP