코드 생로병사의 비밀
  • 코드 생로병사의 비밀
  • 시작하기
  • Amazon Q Business
    • Amazon Q Business 애플리케이션 설정
    • 데이터 소스 구성
      • 웹 크롤러 데이터 소스 커넥터 활용하기
      • 문서 업로드
      • Amazon S3 데이터 소스 커넥터 구성
    • 관리자 컨트롤 및 가드레일 구성
      • 글로벌 컨트롤 구성하기
      • 주제 수준 컨트롤 구성
  • Amazon Q Developer
    • Amazon Q Developer 애플리케이션 로그인
    • 프롬프트 유형
      • 함수명 프롬프트
      • 한 줄 주석
      • 한 줄 프롬프트
      • 여러 줄 주석
      • 여러 줄 프롬프트
      • 변수명 기준
      • 고려 사항
    • 알고리즘 생성
      • 버블 정렬
      • 합병 정렬
    • 정규표현식
      • 정규 표현식 - 이메일
      • 정규 표현식 - 휴대폰
      • 정규 표현식 - 커스텀 표현식
    • 클래스 생성
      • Folder 클래스
      • User 클래스
      • 객체 지향 프로그래밍(OOP): 다형성 & 상속
    • SQL
      • SQL - Users
      • SQL - E-commerce Schema
    • 가짜 데이터 생성
      • 가짜 데이터 - 주가
      • Faker 패키지를 활용한 가짜 유저
    • AWS 서비스
      • S3 서비스
      • DynamoDB 서비스
      • SQS 서비스
Powered by GitBook
On this page
  • 예시 #1
  • Folder 클래스 생성
  • 예시 #2
  • Folder 클래스 계속해서 생성
  1. Amazon Q Developer
  2. 클래스 생성

Folder 클래스

Amazon Q Developer로 쉽게 클래스를 만들수 있습니다. Amanon Q Developer에 다음 프롬프트를 사용하여 클래스를 생성하도록 요청합니다.


예시 #1

Folder 클래스 생성

일반적인 프롬프트

create a class called "Folders"
folders has name, children, and optional parent
a child cannot be added twice

Python 프롬프트

VSCode에서 파일을 생성하고 이름을 folder_class.py로 지정하고 다음 코드를 입력합니다.

"""
create a class called "Folders"
folders has name, children, and optional parent
a child cannot be added twice
"""

제안을 수락하려면 Enter 키를 계속 누릅니다. Amazon Q Developer가 다음 코드를 생성합니다.

Amazon Q Developer 제안
from typing import List

class Folder:
    def __init__(self, name: str, parent=None):
        self.name = name
        self.parent = parent
        self.children = []

    def add_child(self, child: "Folder") -> None:
        if child in self.children:
            raise ValueError("Child already exists")
        child.parent = self
        self.children.append(child)

    def remove_child(self, child: "Folder") -> None:
        if child not in self.children:
            raise ValueError("Child does not exist")
        child.parent = None
        self.children.remove(child)

    def __repr__(self) -> str:
        return self.name
   

예시 #2

Folder 클래스 계속해서 생성

Enter 키를 계속 누르면 Amazon Q Developer가 계속해서 클래스를 추가/생성합니다.

일반적인 프롬프트

엔터만 입력할 것이기 때문에 추가로 입력할 내용이 없습니다.

Python 프롬프트

코드 제안의 끝으로 가서 Enter 키를 누릅니다. 그러면 Amazon Q Developer가 클래스에 다음 코드를 추가할 것입니다.


   --> We are hitting enter. No need to type anything. Just hit enter.
  • 현재 코드:

    def __eq__(self, other) -> bool:
        return self.name == other.name

    def __hash__(self) -> int:
        return hash(self.name)

    def get_path(self) -> List[str]:
        if self.parent is None:
            return [self.name]
        return [self.name] + self.parent.get_path()
Amazon Q Developer 제안
from typing import List

class Folder:
    def __init__(self, name: str, parent=None):
        self.name = name
        self.parent = parent
        self.children = []

    def add_child(self, child: "Folder") -> None:
        if child in self.children:
            raise ValueError("Child already exists")
        child.parent = self
        self.children.append(child)

    def remove_child(self, child: "Folder") -> None:
        if child not in self.children:
            raise ValueError("Child does not exist")
        child.parent = None
        self.children.remove(child)

    def __repr__(self) -> str:
        return self.name

    def __eq__(self, other) -> bool:
        return self.name == other.name

    def __hash__(self) -> int:
        return hash(self.name)

    def get_path(self) -> List[str]:
        if self.parent is None:
            return [self.name]
        return [self.name] + self.parent.get_path()
   
Previous클래스 생성NextUser 클래스

Last updated 11 months ago