[실습] Codex 로 파이썬 웹 앱 만들기
Codex CLI 관련 설정은 모두 끝났다. 그렇다면, 본격적으로 Codex를 사용해 파이썬 웹 앱들을 직접 만들어 보겠다. 먼저 간단하게 Hello, World 를 만들어 보고, 좀 더 확장한 ToDoList 웹사이트를 만들어 보겠다.
1. Codex 를 사용한 Hello, World 파이썬 앱
-
그러면 간단히 Codex CLI를 실행 해, 아래의 그림과 같이 Python 언어를 사용해서 Hello, World 문자열을 출력해보자.
-
이제 codex 가 자동적으로 HelloWorld 폴더에 파이썬 코드를 생성한다. 이때, 여러 개의 코드가 존재한다면 파일 하나 씩 사람이 확인할 수 있는 옵션(y)를 선택할 수 있고, 그렇지 않고 자동적으로 생성하고 싶다면, 옵션(a)를 선택하면 된다. 아래의 그림은 최종 생성 화면이다.
-
생성한 Hello, Python 소스를 실행하는 것은 두 가지 방법이 있다.
- 첫번쩨, 코드가 생성된 디렉토리에서 직접
python3 hello.py
명령을 실행하는 방법이 있다.
-
두 번째 방법은 codex 창에서
python3 hello.py
명령을 하는 경우이다.
- 첫번쩨, 코드가 생성된 디렉토리에서 직접
-
그러면 codex가 자동적으로 실행하는 데, 간단한 코드일지라도 내부의 처리가 많아서 아래의 그림에서 보는 것 같이 명령 창에서 자동처리해 주면서 손수 Python3 를 실행하는 것보다는 시간이 조금 더 오래 걸린다.
-
자동적으로 내부 처리가 끝나면, 아래의 그림과 같이 codex의 실행 결과를 확인할 수 있다.
2. ToDoList 파이썬 웹 사이트 개발
-
좀더 복잡한 오늘의 할일을 정리하는 ToDoList 앱을 만들어 보겠다. 계속해서 언어는 Python을 사용하고 프롬프트 명령은 다음 그림과 같이
python 언어를 이용해서 추가, 조회, 완료 표시, 삭제 기능을 포함하는 ToDoList 웹 사이트를 만들어서 localhost에서 실앵할 수 있도록 해줘.
명령을 실행하면 된다. -
지난 Hello, World 앱 보다는 좀더 복잡하기 때문에 Codex가 파일 단위별로 사용자에게 확인한다. 명령어를 허락한다면 아래의 그림과 같이 Yes(Y)를 누르면 된다.
-
모두 생성이 끝났다면, ToDoList-Python 폴더에 아래의 그림에서 보듯이 생성된 파일 및 디렉토리 구조를 보여준다. 또한 파일 관련해서 주요 구현 사항을 알려준다. 참고로 Flask 애플리케이션 구조와 SQLite 데이터베이스와 객체–관계 매핑(ORM) 라이브러리인 SQLAlchemy 를 사용했다.
-
ToDoList 앱을 실행하기 위해 우선 관련된 의존 패키지 설치를
pip install -r requirements.txt
명령어로 실행한다. -
의존성 패키지 설치가 완료 되었다면, 이제 파이썬 애플리케이션을
python app.py
명령어로 실행한다. -
이제 웹 브라우저에서
http://localhost:5000
웹 주소를 넣고 실행시키면 다음과 같은 화면이 나온다.
3. 느낀 점
- 아직 OpenAI가 합병한 WindSurf 의 Vive Coding 도구와 결합하지 않고, Codex는 하나의 코딩 에이전트로만 동작한다.
- Codex 설치 시 지난 주 새롭게 공개한 Rust 버전 보다 안정적인 Node.js 버전을 설치하기를 권장한다.
- Codex CLI는 통합 개발 환경(IDE) 와의 결합 보다는 콘솔 명령창에서 코드 개발에 대한 명령을 하면, 자동적으로 서브 디렉토리를 만들고, 환경 설정 파일과 소스 코드 파일을 생성해준다. 물론 사람이 단계별로 Codex CLI가 작성한 코드를 확인할 수도 있고, 전체 개발 프로세스가 동작할 수 있게끔 동작한다.
- Codex는 코드 생성과 편집에서의 효율성과 정확도,그리고 OpenAI가 강조한 효과성을 기준에 따라, Python > JavaScript/TypeScript > Go > Shell (sh/bash) > Ruby > PHP > Perl > Swift 순으로 컴퓨터 언어의 코드 품질이 좋다.
- Codex 특성상 다른 C계열 언어, SQL, JSON, 그리고 마크업 언어(HTML/CSS 등)의 간단한 생성·편집 작업도 잘 수행하며, 단순 문자열 생성 및 포맷 변환한다.
- 코딩 시 테스트 코드 생성, 리팩터링, 디버깅 스크립트 작성 등 작업마다 효과는 다를 수 있으며,실제 리포지토리에 맞춰 프롬프트 설계와 테스트기반 코드 검증을 병행하는 것이 좋다.
- Codex CLI 자체는 Git 명령어를 직접 실행하는 기능(git push 등)을 내장하고 있지 않지만, Codex CLI 터미널 창에서 프롬프트로 git 명령어를 실행하면 동작한다.
- 그러나, 한 가지 주의 사항은 Codex CLI는 내부적으로
child_process.exec()
을 사용해 시스템 명령어를 실행하기 때문에, 잘못된 프롬프트로 인해 원치 않는git push
가 실행될 수도 있으므로 반드시 명령어를 미리 검토하기 바란다. git push
를 실행하기 전에 CLI가 사용자에게 “계속 진행할까요?” 라고 묻는 경우도 있지만, 자동 승인 모드에서는 묻지 않고 바로 실행될 수 있다.
4. 참고
- Codex CLI 가 만든 예제 소스 코드: codex
- 문서: Codex in ChatGPT
- 문서: OpenAI Codex CLI - Getting Started
- 문서: Enterprise admin getting started guide for Codex
- 문서: Codex CLI and Sign in with ChatGPT
- 블로그:Codex Changelog
댓글남기기