0. 개요
요즘은 ChatGPT나 Claude 등을 이용하면 손쉽게 웹서비스를 만들 수 있다고 한다. 그래서 나도 한번 도전해 보려고한다. 과연 LLM으로 어느 수준까지 만들 수 있을까. 개발에 최적화 되어있다는 Claude 를 한번 활용해 보겠다. 그 내용을 기록해서 어떤 방법으로 웹서비스를 개발 할 수 있는지 공유해 보려고 한다.
요즘 주변에서는 LLM에 대해서 이렇게 이야기 하는 사람들을 볼 수 있다.
"똑똑한 신입사원이 한명이 하는 역할을 할 수 있다"
"무엇이든 물으면 답해주는 비서가 생겼다"
그래서 진짜 신입사원이나 비서에게 일을 시키듯이 한번 해보려고 한다.
1. Cluade 란?
우선 Claude 에 대해서 알아보자.
Claude는 Anthropic에서 개발한 대규모 언어 모델(LLM)로, 다음과 같은 주요 특징을 가지고 있다.
1. 1 Claude AI 소개 및 특징
- 코드 생성 및 디버깅 능력
- 다양한 프로그래밍 언어 지원 (Python, JavaScript, Java 등)
- 구체적인 코드 설명과 문제해결 방법 제시
- 코드 최적화 및 리팩토링 제안
- 자연어 이해 및 생성
- 명확한 API 문서 작성
- 사용자 요구사항 분석
- 기술 문서 작성 지원
- 맥락 이해와 일관성 있는 응답
- 복잡한 개발 요구사항 파악
- 단계별 구현 방법 제시
- 체계적인 문제 해결 접근
위와 같은 특징을 이용해서 아래와 같이 말해보면 놀랍도록 빠르고 신기하게 페이지를 하나 생성해 준다. 물론 지정한 언어로 코드까지 완벽히 생성해 낸다. (참고로 나는 백엔드 개발자다. 그래서 프론트 엔드 개발자 한명과 일하듯이 이야기해 보았다. 평소에 반말로 일하진 않는다;;)
사용자 로그인 기능이 있는 React 컴포넌트를 만들어줘
1.2 웹서비스 개발에서 AI 활용의 장점
- 개발 생산성 향상
- 반복적인 코드 작성 시간 단축
- 빠른 프로토타입 제작
- 코드 품질 개선을 위한 제안
- 문제해결 능력 강화
- 다양한 해결방안 제시
- 최신 기술 트렌드 반영
- 효율적인 디버깅 지원
- 학습 및 개발 시간 단축
- 즉각적인 코드 예제 제공
- 상세한 설명과 문서화
- 실시간 코드 리뷰 지원
그리고 최적화해달라는 요청에 바로 코드를 수정해준다.
성능 최적화 / 코드 구조 개선 / 타입 안정성 / 유지보수성 / 에러 처리
위 코드를 최적화 해줘
아래 Version 이 표시 되는걸 볼 수 있는데, 이 것은 코드가 수정 된 히스토리를 보여주고 있어서, 수정 전후의 코드를 모두 볼 수 있다. ai로 개발을 하다보면 많은 컨텍스트가 채팅형으로 이루어지기 때문에 과거에 작성했던 코드를 다시 찾거나 코드의 히스토리를 파악하기 어려운데, 버전을 통해서 쉽게 확인이 가능하다.
1.3 실제 개발 시나리오
다음은 Claude를 활용한 실제 개발 과정의 예시 프롬프트를 작성해 봤다. 자세한 결과와 내용은 이후 블로그에서 자세하게 작성해 보려고 한다.
- 요구사항 분석
소셜 미디어 플랫폼의 게시물 관리 시스템이 필요해.
- 개발단계
요구사항 분석을 통해 도출해낸 기능에 대해 개발을 요청한다. 특정 기술과 언어를 이용해서 개발해 달라고 하면 더욱 효과적인 작업이 가능하다.
Spring boot 를 이용한 API 서버를 개발해줘. spring boot 버전은 3.4로 해주고, DB 는 jpa와 mysql을 이용하도록 해줘.
- 테스트 코드 작성
서비스 코드를 테스트하는 코드를 작성해줘
이러한 시나리오로 개발을 할 수 있다. 개발된 코드를 테스트하고 문제가 없다면 개발 환경에 배포하고 확인하는 것들도 claude 를 통해 가능하다.
마치며
Claude를 활용한 웹서비스 개발은 단순히 코드 작성 시간을 줄이는 것을 넘어서, 개발의 질적 향상을 가져오는것 같다. 개발자는 반복적인 작업에서 벗어나 비즈니스 로직과 사용자 경험 개선에 더 집중할 수 있고, 또 나같은 백엔드개발자가 프론트엔드 기술에 대해 잘 모르더라도 프론트엔드 페이지를 개발하는데 아주 효과적이다. 다음 장에서는 실제 개발했던 내용을 기반으로 후기를 작성해 보겠다.
'Developer' 카테고리의 다른 글
Mac 필수 앱 2탄 (1) | 2025.02.14 |
---|---|
Mac 필수앱 1탄 (0) | 2025.02.05 |
spring boot linux service에 등록하기 (0) | 2021.10.28 |
[WEB]모놀리식 아키텍쳐와 마이크로서비스 아키텍쳐의 장/단점 (0) | 2021.02.24 |
[WEB] 모놀리식(Monolithic)과 마이크로서비스(Microservice)아키텍처란? (0) | 2021.02.23 |