우아한테크코스 8기 precourse 7

JSON DTO Converter (4) - Exception 분석

UserException · InternalException · main() 예외 처리 흐름까지이 글은 JSON DTO Converter 프로젝트의 예외 처리 계층(exception 패키지)를 정리한 글이다.앞선 글들에서CLI 계층: 잘못된 옵션/경로를 어떻게 막는지JSON 분석 계층: JSON 구조를 어떻게 스키마로 바꾸는지Generator 계층: 설계도를 실제 .java 파일로 만드는지를 다뤘다면,이 글은 "그 과정에서 발생하는 오류를 어떻게 분류하고, 사용자에게 어떻게 보여줄 것인가"에 초점을 둔다.0. 왜 예외 설계가 중요한가? CLI 도구 특성상, 예외 설계는 곧 사용자 경험(UX) 이다.잘못된 인자, 없는 파일, 깨진 JSON 같은 "사용자가 고칠 수 있는 오류"버그, 구현 누락, 설계 상..

JSON DTO Converter (3) - Generator & 출력 분석

Template · ClassGenerator · CodeFormatter · FileWriter로 이어지는 "코드 생성 파이프라인'이 글에서는 JSON DTO Converter의 마지막 단계인 generator 계층을 집중적으로 다룬다. 앞선 글(Overview / CLI / JSON 분석)에서 우리는CLI로부터 설정을 받아JSON을 검사하고(JsonValidator)JsonNode → SchemaNode → 타입 추론(TypeInferencer) → ModelGraph까지왔다. 이제 남은 일은 단 하나다!"설계도(ModelGraph)를 실제 Java 코드(.java 파일)로 바꾸는 것" 이 역할을 담당하는 것이 바로 generator 패키지다.0. generator 패키지의 구성 org.exampl..

JSON DTO Converter (2) - JSON 분석

JsonValidator → JsonNode → SchemaNode → TypeInferencer → ModelGraph"JSON이 어떻게 DTO 설계도로 변환되는가?"를 깊이 있게 분석한다이 글은 JSON DTO Converter의 핵심 로직이 담긴 "JSON 분석 계층"을 집중적으로 다룬다.이 계층은 도구 전체의 심장이다.JSON 파일을 로드하고구조를 분석하여Java 타입을 추론하고DTO 클래스 구조(ModelGraph)를 만드는모든 과정이 여기에 포함된다.0. JSON 분석 계층이 왜 중요한가?CLI 계층이 "입력 검증"을 담당했다면,JSON 분석 계층은 실제로 JSON을 분석하여 DTO 설계도를 만들어내는 엔진이다. 즉, JSON 분석 계층은 다음 역할을 한다:JSON 파일 → ..

JSON DTO Converter (1) - CLI 분석

"ArgumentParser, CommandLineOption, FileValidator, ParsedArguments"를 깊이 있게 파헤치기이 글은 JSON DTO Converter 프로젝트의 CLI 계층 전체를 상세하게 분석하는 글이다. 프로그램이 실행되기 위해서는CLI입력 → 인자 파싱 → 값 검증 → 환경 DTO(ParsedArguments) 생성까지의 과정이 정확히 수행되어야 한다. 실제로 이 단계는 “도구 전체의 입구(Entry Point)”이기 때문에여기서 제대로 설계하지 않으면 전체 동작이 망가질 수 있다.1. CLI 계층의 역할CLI 계층은 다음 4가지 책임만 가진다. ✔ 1) 명령줄 옵션을 정의하고✔ 2) 사용자가 입력한 인자를 파싱하고 ✔ 3) 검증(필수 옵션 체크 / 타입 체크 / ..

JSON DTO Converter (0) - Overview & 전체 구조

"JSON → 스키마 → 타입 추론 → 클래스 그래프 → Java DTO 생성"까지의 전체 흐름 정리우아한테크코스 프리코스(4–5주차) 오픈 미션이 글은 JSON DTO Converter의 아키텍처 전체 구조,그리고 이 도구가 어떤 방식으로 JSON을 분석해 Java DTO를 생성하는지를기초 설계 관점에서 overview로 설명하는 글이다. 실제 내부 구조(ArgumentParser, JsonAnalyzer, TypeInferencer, ModelGraph, ClassGenerator 등)의세부 분석은 다음 글들(CLI 분석 / JSON 분석 / Generator 분석 / Exception 분석)에서 다루고,이 글에서는 먼저 전체 그림을 이해하기 위해 시스템 전체를 위에서 아래로 관찰한다.1. 프로젝트의..

JSON DTO Converter - 실행 가이드 & 9가지 예외 테스트 시나리오

우아한테크코스 프리코스(Open Mission)Windows CMD 기준으로 작성된,“처음 보는 사람도 그대로 따라 할 수 있는”Clone → Build → Run → DTO 생성 → 예외 테스트 전체 플로우 가이드입니다. 글은 크게 아래 두 파트로 명확히 나뉩니다:Part 1. 실행 가이드 (Execution Guide)Part 2. 9가지 예외 테스트 (Error Test Scenarios)Part 1. 실행 가이드 (Execution Guide)Windows CMD 기준으로 작성되었으며,각 명령어는 “현재 어떤 폴더에서 실행해야 하는지”를 모두 표기합니다. 1. GitHub 프로젝트 Clone설명프로젝트를 받는 첫 단계는 GitHub에서 clone 하는 것입니다. ✔ 실행 위치바탕화면이든 C 드라이..

JSON DTO Converter 오픈 미션 회고록

"내 능력 밖의 과제라고 느꼈지만, 결국엔 해냈다!!" 오픈 미션에 대해서 설명해주는 라이브 방송이 그 시작이었다.라이브 방송에서 "오픈 미션이 뭘 하는 미션일 것 같으세요?"라고 물어봤을 때댓글에서는 꽤 많은 사람들이 그 의도를 맞추는 모습이었다.나는 감도 잡지 못 했는데.. "오픈"이 그런 의미였구나!등골이 오싹해졌지만 그것은 사람들의 추측에 불과하기를 바랐다.얼마 지나지 않아 오픈 미션에서는 무엇을 하는 것인지 설명해주셨고사람들의 추측은 정답이었다. 몇 초 동안 아무 말도 나오지 않았다...프리코스 1~3주차도 분명히 쉽지만은 않았지만, 적어도 명확한 요구사항과 틀이 있었다.그런데 이번 미션은 달랐다 ..."미션 주제는 자유롭게 정한다.스스로 도전하고 싶은 목표를 설정하고, 그에 맞는 실행 계획을 ..