1. 소개
최근 읽고 있는 『Cursor AI』 책에서 소개된 내용을 따라 해보다가, "PTP mini"라는 프로그램을 활용해 온라인 명함을 만들어보기로 했다. Tailwind CSS와 PHP를 활용해서 만든 온라인 e-Business Card를 무료 호스팅 서비스(dothome)를 통해 실제 배포까지 연결하는 경험을 하게 되었다.
2. 진행 방법
1) 사용한 도구들
- Cursor: 코드 생성 및 수정에 활용
- Tailwind CSS: 다크/라이트 모드 전환 포함한 UI 스타일링
- PHP: 변수 처리, 반복문으로 구조 유연하게 구현
- randomuser.me API: 프로필 이미지 랜덤 호출
- dothome 무료 호스팅: 실제 배포
- PTP mini: Cursor 프로젝트를 웹으로 연동하는 데 사용
2) 사용한 대화 프롬프트
1. 첫 번째 요청
Tailwind CSS를 이용해서 내가 첨부한 이미지와 유사한 온라인 명함을 만들어줘. 기본적인 기능만 이용해서 php를 만들어 줘
2. 프로필 이미지 요청
지금 사람 사진이 안보이니까 randomuser.me를 이용해서 남자 사진을 하나 가져와줘
3. 수정 반영 문제
내가 수정한 내용이 반영이 안되네
4. 프로필 정보 수정 문제
프로필 정보를 수정했는데 반영이 안돼 해결해줘
5. 프로필 이미지 재요청
지금 사람 사진이 안보이니까, randomuer.me를 이용해서 남자 사진 하나 가져와줘
6. 상단 메뉴 수정
화면 상단에 yumera Lab을 강남구청으로 고쳐줘
7. 테마 전환 기능 요청
지금 배경의 전반적인 디자인이 어두워. 다크모드와 라이트모드를 서로 오갈수 있게 해줘. 전환하는 버튼을 하단에 아이콘으로 만들어줘
8. YouTube 영상 임베드 요청
지금 비디오 셕센의 영상 내용이 비어있는데 아래 유튜브를 연결해서 임베드(embed)해줘. 직접 내 사이트에서 제셍할 수 있도록 사이즈에 맞게 넣어줘 @https://youtu.be/O-9SbWTZXkk @https://youtu.be/cS1Z3FsmKHo @https://youtu.be/Nzf6Y3JvEjg
9. 메뉴 구성 변경 및 아이콘 추가
'about me'로 시작하는 메뉴의 구성을 '소개', '약력', '프로젝트', '연락'으로 바꿔주고 'font awesome'을 이용해서 아이콘도 붙여줘
10. 새로운 섹션 추가 요청
지금 업로드한 이미지를 참고해서 Video섹션 밑에 Books섹션과 Careers섹션, Education섹션을 만들어줘.
- Books섹션에는 한행(row)에 6권의 책이 들아가도록 그리드(grid)를 만든뒤 6권의 가상표지를 넣어주고 책 밑에는 구입 링크도 넣어줘. 책의 제목은 가상으로 만들어줘
- Careers섹션과 Education섹션은 업로드한 이미지와 비슷한 형태로 만들어줘.강진규의 활동은 아래와 같아
11. 책 링크 수정 요청
쓰면서 살아가는 법 이란 책은 아래 링크로 연결해줘 @https://www.yes24.com/product/goods/145019422?ReviewYn=Y 그리고 이미지는 이것으로 해줘
12. Contact 섹션 개선 요청
이번에는 마지막에 Contacts 섹션을 만들어줘. 왼쪽에는 제목과 이메일 주소, 내용을 입력하게 하고, 오른쪽에는 임의의 구글 맵 지도와 주소를 표시해줘
13. 연락처 정보 수정
이메일은 [email protected]로 해주고, 전화는 02-3423-5421로 해줘
14. 메일 전송 기능 요청
하단의 Contacts섹션에서 방문자가 실제 메일을 보낼수 있도록 해주면 좋겠어. 별도의 메일 송신을 담당하는 파일을 만들어서 연결해줘. php에서 mail함수를 써서 입력한 내용이 [email protected]으로 전송되게 구현해줘
15. 사무실 주소 수정 (첫 번째)
여기사 사무실 주소야 37.517651, 127.047354 연락세션에서 수정해줘
16. 사무실 주소 수정 (두 번째)
이주소는 학동로426 이고 37.517677, 127.047644 강남구청 도시계획과야
17. 연락처 정보 최종 수정
이메일은 [email protected]로 해주고, 전화는 02-3423-5421로 해줘
18. 실제 이메일 발송
하단의 Contacts섹션에서 방문자가 실제 메일을 보낼수 있도록 해주면 좋겠어. 별도의 메일 송신을 담당하는 파일을 만들어서 연결해줘. php에서 mail함수를 써서 입력한 내용이 [[email protected]](mailto:[email protected])으로 전송되게 구현해줘
3. 구현된 기능
🌙 테마 전환 시스템
- 다크모드/라이트모드 전환 버튼 추가 (우측 하단 고정)
- localStorage를 활용한 사용자 선택 테마 저장
- 모든 섹션(헤더, 프로필, 비디오, 연락처, 푸터)에 적용되는 일관된 테마
📱 반응형 네비게이션
- 상단 메뉴바: 소개, 약력, 프로젝트, 도서, 연락으로 구성
- Font Awesome 아이콘 부착으로 직관적인 UI
- 스무스 스크롤 기능으로 섹션 간 부드러운 이동
🎥 YouTube 영상 임베드
- 3개 유튜브 영상을 iframe으로 직접 재생 가능하게 구현
- 반응형 크기 조정으로 모든 디바이스에서 최적 표시
- "YouTube에서 보기" 링크로 원본 페이지 연결
📚 도서 섹션
- 6권의 책을 한 행에 배치한 그리드 레이아웃
- 실제 출간된 책("쓰면서 살아가는 법")은 YES24 구매 링크 연결
- 가상 도서들은 "출간예정", "집필중" 상태로 표시
- 각 책마다 고유한 그라데이션 표지 디자인
💼 경력 및 교육 타임라인
- 연도별 경력 진행사항을 시각적 타임라인으로 표시
- 5가지 주요 경력 (공무원, AI 연구, 작가, 개발자 등)
- 교육 이력을 카테고리별로 구분 (학사, 자격수료, Exchange Student)
📧 실제 메일 전송 기능
- Contact 폼에서 입력한 내용이 실제 이메일로 전송
- PHP mail() 함수와 PHPMailer SMTP 대안 제공
- 폼 검증, 스팸 방지, 에러 처리 등 완성도 높은 구현
🗺️ 지도 연동
- 구글 맵 임베드로 정확한 사무실 위치 표시
- 네이버 지도, 카카오맵 연결 버튼
- 상세 주소, 교통 정보, 운영시간 안내
👤 프로필 시스템
- randomuser.me API를 통해 남성 프로필 사진 자동 호출
- 이미지 로드 실패 시 기본 아이콘으로 대체
4. 결과와 배운 점 : https://cursorproject.dothome.co.kr/
1) 온라인 명람 배포하기 커서 파일 생성
2) 프로그램 배포하기
1. 확장프로그램 설치하기!
2. F1 눌러서 연결설정
3. FTP 서버 주소 입력
2) 시행착오
- PTP mini 파일 관리: "파일을 삭제하라"는 설명의 의미를 나중에야 깨달았다. 실제 파일은 삭제하면 안 되고, 연동된 복사본만 삭제해야 다음 프로젝트가 깔끔하게 배포된다는 걸 알게 되었다.
3) 기억에 남는 에피소드
PTP mini를 처음 연동하고 나서 "파일을 삭제하라"는 설명이 무슨 말인지 몰랐다. 근데 나중에 다음 프로젝트를 연동해보니 이전 파일들이 같이 따라오더라. 그때 깨달았다. 실제 파일은 삭제하면 안 되고, 연동된 복사본만 삭제해야 다음 프로젝트가 깔끔하게 배포된다는 걸. 이것만 알았어도 한참 덜 헤맸을 텐데 😅 사실 지금도 좀 불안정하게 이해하고 있는거 같긴함.
4) 기술적으로 인상 깊었던 부분
- Tailwind CSS: 다크/라이트 테마 전환이 생각보다 쉽고 깔끔하게 구현되었다.
- 실제 연동: YouTube 임베드, 실제 메일 전송, 지도 연동 등 "진짜" 기능들이 작동하는 것이 뿌듯했다.
- 반응형 디자인: 모바일, 데스크톱에서 모두 자연스럽게 작동하는 것을 보며 현대 웹 개발의 매력을 느꼈다.
5) 느낀 점
- 요금이 살벌함: Pro 요금제도 모자람, 3일 열심히 썼을 뿐인데,,ㅠㅠ
- 학습의 즐거움: PRD 없이도 간단한 프로젝트는 충분히 구현할 수 있었다. 시작해보는 데 의미가 있는 것 같다.
- 실무 적용 가능성: 공무원 업무에서도 이런 기술들을 활용한 업무 자동화나 시스템 구축이 가능할 것 같다는 확신이 들었다.
- 점진적 개선: 처음엔 단순한 명함이었지만, 기능을 하나씩 추가하면서 완성도 높은 웹사이트로 발전시킬 수 있었다.
5. 기술 스택 정리
프론트엔드:
- HTML5 + Tailwind CSS
- JavaScript (ES6+)
- Font Awesome 아이콘
- 반응형 디자인
백엔드:
- PHP (기본 내장 함수 + PHPMailer 대안)
- 파일 기반 구조 (데이터베이스 불필요)
외부 API/서비스:
- randomuser.me (프로필 이미지)
- YouTube 임베드
- Google Maps 임베드
- YES24 도서 연결
배포:
- dothome 무료 호스팅
- PTP mini (Cursor 연동)
6. 도움 받은 자료
- 『Cursor AI』 책 내 PTP mini 실습 파트
- Cursor 공식 문서와 AI 코딩 기능들
7. 다음 사례: Cursor에서 클로드코드로 갈아탄 이유
Cursor로 개발 입문을 시작했지만, 종량제 전환 후 20달러가 3일 만에 사라지는 충격적인 경험을 했다.
그래서 같은 Claude Sonnet 4를 쓰면서도 토큰을 더 많이 쓸 수 있는 클로드코드로 갈아탔다.
윈도우 PowerShell에서의 설치부터 vooster ai와 easynext.org를 활용한 실전 개발까지의 여정을 담을 예정이다.
"UI는 불편하지만 비용 효율성을 택했다" - 개발 입문자의 솔직한 도구 전환기를 다음에 공유하겠다.