초간단 아날로그 시계 만들기 - GPT를 이용한 코딩 연습 - 2부

2024. 10. 21. 23:56코딩 연습/아날로그 시계 만들기

GPT가 짜준 어플을 실행해보면 아무런 배경 사진이 없다. 하지만 나의 목표는 사진이 있어야한다.

 

코드를 천천히 살펴본다.

class AnalogClockApp:
    def __init__(self, root):
    # ......
    
        self.background_image = None
        if self.config.get("background_image"):
            self.load_background_image(self.config["background_image"])
    
    # ......

 

시계 앱에서 초기 세팅을 해주는 함수를 보면 self.background_image = None 으로 설정되어있다. None을 내가 원하는 그림으로 바꿔주면 될 듯하다. 근데 어떻게 바꿔야할 지 막막해진다.

GPT에게 물어보다 신규 기능을 알았다. 기존 GPT는 어떻게 바꾸라고 알려주며 다시 코드를 쭉 나열했는데 이번 글을 쓰며 처음 써본 ChatGPT 4o with canvas는 기존에 짜준 코드를 위에서 아래로 훑으며 코드를 고쳐준다.

이전에는 GPT에게 좀만 물어봐도 코드가 계속 나열되며 페이지가 길어져 느려지고, 찾아보기도 힘들었는데 이 기능을 써보니 상당히 보기가 좋다.

코딩 특화 canvas

 

위 이미지를 보면 기능이 안 된다고 두 번에 걸쳐 고쳐달라고 해서 두 번째로 고친 상태인데, 상단에 시계 아이콘을 누르면 뭘 고쳤는지 쉽게 확인할 수 있다. 빨간색 배경은 이전 코드를 삭제했을 경우, 초록색 배경은 새로운 코드로 구분한다.

또 수정 전 코드와 수정 후 코드를 화살표를 통해 수시로 확인 가능하다.

 

 

이렇게 어느 부분이 궁굼할 땐 해당 코드를 드래그해서 선택하면 ChatGPT에게 묻기 창이 뜬다. 여기에 바로 물어보면 된다.

고친 코드를 보면 DEFAULT_BACKGROUND_IMAGE 변수가 생겼다. 아마 여기에 내 이미지를 넣으면 될 것이다.

이렇게 바꿨다. 그리고 실행해보니 오류가 난다.

나는 비주얼스튜디오 2022 커뮤니티를 쓰고 있는데 글자 인코딩이 utf-8과 달라 한글을 제대로 못읽는 듯하다.

해결방법을 GPT에게 물어보자.

무슨 프로그램 쓰는지 말 안하고 한글 경로 때문에 오류난다고 해결방법을 물어보니 아래처럼 대답해준다.

 

하지만 나는 이게 아니라 인코딩 자체를 UTF-8로 바꾸고 싶었다. 질문을 다시 했다.

 

내가 원했던 것이 이거다. 글자 인코딩이 바뀐다. 그리고 다시 비주얼스튜디오를 종료하고 다시 실행해본다.

 

 

그런데 오류가 난다. 대충 읽어보니 유니코드 이스케이프 문자가 들어가서 오류가 난듯하다. 이전엔 "\" 역슬래시(한글 키보드의 원화기호 표시) 를 써도 문제가 없었는데 유니코드는 이스케이프 문자라 특별히 취급을 해줘야 하는 듯하다. 다시 물어보자.

 

 

역시 따라했더니 해당 오류는 사라졌다.

그러나 역시 사진은 안 나온다. 아래와 같은 오류가 난다. 

 

 

 

슬슬 힘들어진다. 다음 글에서 이어나가도록 하겠다.