Tim Corey와 함께 Postman Clone 빌드하기
이 수업에서는 애플리케이션의 기반을 신중히 설정하면서 Postman 클론을 구축하는 방법을 깊이 있게 살펴봅니다. Tim Corey는 그의 강좌의 두 번째 강의에서 프로젝트 설정에 초점을 맞추고 기능이나 API 논리에 초점을 맞추지 않는 이 과정을 설명합니다. 이 단계의 목표는 아직 요청을 만들거나, 응답을 처리하거나, REST API를 다루는 것이 아니라, 앱의 구조가 처음부터 올바르게 설계되도록 하는 것입니다.
Tim은 이 수업을 처음부터 자신의 Postman 스타일 도구를 구축하는 방법을 보여 주는 완전한 강좌의 일환으로 소개합니다. 그는 이 프로젝트가 애플리케이션의 생명 주기를 처음부터 설정하고, 개선하며, 결국 실제 Postman 대안과 유사한 것으로 발전시킬 수 있는 방법을 이해하는 데 도움이 된다고 설명합니다. 이 수업은 초보자에게 친숙하며 의도적으로 천천히 진행되며, 사용자가 따라가고 각 결정이 왜 이루어지는지 이해할 수 있도록 합니다.
이 동영상을 통해서 - "Setting up Our Project: Build a Postman Clone Course", Tim은 시청자가 Windows Forms 애플리케이션을 적절히 설정하고 지원 클래스 라이브러리에 연결하며, 향후 API 개발을 위한 솔루션을 준비하는 방법을 이해하도록 돕습니다.
코스 개요 및 목적
Tim은 이 수업이 Postman 클론을 구축하기 위해 필요한 초기 구조를 설정하는 것에 관한 것이라고 설명하면서 시작합니다. 그는 현재 API 요청을 만들거나 JSON 응답을 처리하는 것에 집중하는 것이 아니라 프로젝트를 만들고, 올바르게 구성하고, 작업할 준비를 하는 것에 초점을 맞추고 있다고 명확하게 설명합니다.
그는 이 강좌가 사용자가 Postman과 같은 실제 도구가 간단한 Windows 애플리케이션으로 어떻게 구축될 수 있는지 이해하도록 돕기 위해 설계되었다고 설명합니다. 최종 애플리케이션은 Postman을 대체하지 않겠지만, REST 요청, 응답 및 UI 디자인과 같은 핵심 개념을 시연할 것입니다. Tim은 또한 이 프로젝트가 포트폴리오 작업의 영감을 줄 수는 있지만 사용자가 직접 복사해서는 안 된다고 설명합니다. 대신, 사용자는 그것을 향상시키고 수정하여 자신만의 고유한 것을 만드는 것이 좋습니다.
Postman 클론을 위한 클래스 라이브러리 생성
이 시점에서, Tim은 Visual Studio 2022를 열고 설정 프로세스를 시작합니다. 그는 녹화 당시 사용할 수 있는 최신 버전을 사용하고 있으며 새 프로젝트를 만들어 시작합니다. 이 수업을 위해, 그는 클래스 라이브러리를 먼저 생성하는 것을 선택했습니다.
Tim은 이 클래스 라이브러리가 결국 UI가 참조할 공유 코드를 보유하게 될 것이라고 설명합니다. 이 접근은 책임을 분리하고 애플리케이션을 조직적으로 유지하는 데 도움이 됩니다. 그는 또한 프로젝트 생성 순서가 일반적으로 중요하지 않지만, 라이브러리로 시작하면 개발자가 셋업 중에 마주할 수 있는 일반적인 문제를 설명할 수 있다고 설명합니다.
그는 C# 클래스 라이브러리를 검색하며, 그것이 이전 .NET Framework가 아닌 현대 .NET 프로젝트여야 한다고 강조합니다. Tim은 .NET 8 클래스 라이브러리를 선택하고, .NET 9 또는 그 이상의 버전도 작동할 수 있음을 언급합니다. 그는 버전 간의 차이는 개발의 정상적인 부분이며, 적응하는 방법을 배우는 것이 중요한 기술이라고 설명합니다.
솔루션 및 프로젝트 이름을 올바르게 설정하기
Tim은 솔루션 및 프로젝트 이름을 지정하는 방법에 대해 시간을 할애합니다. 그는 솔루션을 Postman 클론 앱으로, 라이브러리를 Postman 클론 라이브러리로 이름 짓습니다. 그는 '라이브러리'라는 단어를 포함함으로써 어떤 프로젝트에 공유 로직이 포함되어 있는지, 어떤 프로젝트에 UI가 포함되어 있는지를 매우 명확히 할 수 있다고 설명합니다.
이 명명 접근은 참조 작업을 할 때 도움이 됩니다. Tim은 참조가 항상 UI에서 라이브러리로 흐르지만 그 반대는 절대로 되어서는 안 된다고 설명합니다. 이 설계 선택은 더 깨끗한 코드와 오래 지속되는 개발 과정을 지원합니다.
그는 솔루션과 프로젝트를 동일한 디렉토리에 두지 않는 이유를 설명합니다. 이 앱은 여러 프로젝트를 포함할 것이므로, 그들을 분리하는 것이 내비게이션을 쉽게 하고 솔루션이 성장함에 따라 혼동을 피합니다.
Windows Forms UI 프로젝트 추가하기
라이브러리가 생성되자 마자, Tim은 솔루션에 두 번째 프로젝트를 추가합니다. 이번에는 Windows Forms 애플리케이션을 선택합니다. 그는 이 프로젝트가 Postman 클론의 UI 역할을 하고, 사용자가 URL을 입력하고 쿼리 매개변수를 요청하고 응답을 보는 것을 가능하게 할 것이라고 설명합니다.
그는 프로젝트를 Postman clone UI로 이름 짓고, 다시 한 번 그것이 NET 8을 사용하는지 확인합니다. Tim은 디스플레이 스케일링으로 인한 DPI 관련 메시지를 간단히 설명합니다. 그는 이것이 수업에 중요하지 않으며, 필요할 경우 나중에 DPI 처리를 탐색할 수 있다고 설명합니다.
이 단계에서, 솔루션은 이제 두 개의 프로젝트, 즉 라이브러리와 Windows Forms UI를 포함합니다. 이 구조는 Windows에서 Postman 스타일 도구를 구축하기 위한 기반을 설정합니다.
시작 프로젝트 문제 해결하기
Tim은 클래스 라이브러리가 먼저 생성되었기 때문에 발생하는 문제를 보여줍니다. 그가 솔루션을 실행하려고 시도할 때, Visual Studio는 클래스 라이브러리를 직접 시작할 수 없다는 오류를 표시합니다.
Tim은 이것이 일반적인 설정 문제라고 설명하며 오류 메시지를 주의 깊게 읽는 것이 중요하다고 강조합니다. 그는 오류 메시지가 종종 무엇이 잘못되었고 어떻게 고칠 수 있는지를 정확히 알려준다고 설명합니다.
그는 컨텍스트 메뉴를 사용하여 UI 프로젝트를 시작 프로젝트로 설정하거나, 실행 버튼 근처에서 시작 프로젝트 드롭다운을 선택하는 두 가지 방법으로 문제를 해결하는 방법을 보여줍니다. 이렇게 하면 Windows Forms UI가 올바르게 실행됩니다.
Git 및 GitHub에 프로젝트 추가하기
솔루션 구조가 마련되자마자, Tim은 소스 제어로 넘어갑니다. 그는 Git 변경 사항 창을 열고 버전 제어가 아직 활성화되지 않았다고 설명합니다. 그는 Visual Studio에서 직접 Git 저장소를 생성합니다.
Tim은 .gitignore 파일의 목적을 설명하며, 컴파일된 파일과 같은 빌드 출력이 소스 제어에 포함되어서는 안 된다고 설명합니다. 이 파일들은 다시 만들 수 있기 때문에, GitHub 저장소에 포함되지 않아야 합니다.

그는 또한 라이선스에 대해 설명하며, 라이선스 선택이 없으면 코드에 대한 모든 권리를 보유하는 것을 의미한다고 설명합니다. Tim은 README 파일을 추가하고, 프로젝트를 설명하는 데 있어 특히 공유되거나 포트폴리오의 일부로 사용될 경우 얼마나 중요한지를 설명합니다.
Tim은 GitHub 저장소의 이름을 지정하고 Windows Forms의 Postman 재현이라는 것을 설명하는 명확한 설명을 추가하며, 사용자가 코드 복사 대신 학습에 집중할 수 있도록 저장소를 개인적으로 유지하기로 선택합니다.
소스 제어 지표 이해하기
GitHub에 코드를 푸시한 후, Tim은 솔루션 탐색기에 표시되는 잠금 아이콘을 설명합니다. 이 아이콘들은 파일이 소스 제어에 의해 추적되고 있으며 수정되지 않았음을 나타냅니다.
그는 파일이 추가되거나 업데이트 될 때 이러한 지표가 어떻게 변경되는지를 설명하여, 개발자가 어떤 변화가 커밋될 것인지를 이해하는 데 도움을 줍니다. 이 시각적인 피드백은 프로젝트가 성장하고 더 많은 기능이 추가됨에 따라 매우 유용해집니다.
Class1 유지와 참조 추가하기
Tim은 기본 Class1 파일을 지금은 왜 라이브러리에 남겨두는 자문을 설명합니다. 적어도 하나의 클래스가 없으면, 라이브러리가 네임스페이스를 가질 수 없으며, 이는 UI에서 참조할 수 없게 만듭니다.
그는 UI 프로젝트에 라이브러리를 종속 항목으로 추가합니다. Tim은 라이브러리를 UI 종속 항목 위로 끌어와 프로젝트 참조 추가 옵션을 사용하는 두 가지 방법을 모두 보여줍니다. 이 단계는 UI가 공유 코드를 액세스할 수 있도록 하여 구조화된 Postman 클론을 구축하는 데 필수적입니다.
폼1을 대시보드로 이름 변경하기
Tim은 기본 Form1의 이름을 대시보드로 변경하여, 이것이 응용 프로그램의 메인 화면을 나타낸다고 설명합니다. 이 폼이 닫히면 응용 프로그램도 닫힙니다.

그는 코드 비하인드 파일과 Program.cs를 포함하여 모든 참조가 올바르게 업데이트되었는지 확인합니다. Tim은 또한 Program.cs의 네임스페이스를 파일 범위로 변환하고, 이는 더 많은 공간과 미래 변경 사항을 위한 깨끗한 형식을 제공합니다.
UI 속성과 글꼴 설정 조정하기
Tim은 대시보드 폼을 열고 속성 창에 초점을 맞춥니다. 그는 개발자가 자신의 워크플로우에 맞게 Visual Studio 내에서 창을 재배치하는 방법을 설명합니다.
그는 폼 제목을 명확하게 Postman 클론으로 식별하고, 기본 글꼴 크기를 9에서 18로 증가시킵니다. Tim은 글꼴 크기를 초기에 설정함으로써, UI에 추가되는 모든 미래의 컨트롤에도 일관된 크기를 보장한다고 설명합니다.
초기 설정 커밋하기
모든 설정 변경 사항이 완료되면, Tim은 수정된 파일을 단계에 추가하고 커밋을 만듭니다. 그는 커밋 메시지가 완벽할 필요는 없지만, 설정 변경 사항을 명확히 설명해야 한다고 설명합니다.
그는 코드를 GitHub와 커밋하고 동기화하여, 저장소가 완전히 업데이트되고 계속된 개발을 위한 준비를 갖추었는지 확인합니다.
Postman 클론 구축의 다음 단계 준비하기
영상을 마무리하면서, Tim은 프로젝트 설정이 이제 완료되었다고 설명합니다. 다음 수업에서는 UI를 구축하고 API에 GET 요청을 보내고 응답을 표시하는 간단한 방법을 만드는 데 초점을 맞출 것입니다.
그는 시청자들에게 다음 비디오를 보기 전에, 독자적으로 다음 단계를 시도해 보라고 권장합니다. 목표는 요청을 보낼 수 있고, 데이터를 받을 수 있으며, 포맷된 JSON 응답을 표시할 수 있는 간단한 인터페이스를 만드는 것입니다. 이 접근 방식은 사용자가 프로세스를 더 잘 이해하고 시간이 지남에 따라 응용 프로그램을 개선할 준비를 하도록 도와줍니다.
팀은 이 프로젝트가 성장할 것이라는 것을 시청자에게 상기시켰습니다. 간단한 설정으로 시작하면 개발자가 자신감을 쌓고, 워크플로를 이해하며, 점차 프로젝트를 의미 있는 Postman 스타일 도구로 전환할 수 있습니다.

