오픈 소스 소프트웨어의 가장 좋은 점 중 하나는 다른 사용자의 코드를 재사용하는 기능입니다. 코드 용도 변경은 시간을 절약하고, 새로운 기능을 검색하고, 다른 프로그래밍 스타일을 학습하는 데 도움이 됩니다. 코드를 다시 사용하는 두 가지 주요 방법이 있습니다.
- 코드 조각을 복사하여 직접 프로젝트에 붙여넣습니다. 코딩을 처음 접하게 되었다면 이것이 코드 재사용을 시작하는 가장 빠른 방법입니다.
- 라이브러리를 프로젝트로 가져오기 이 방법은 학습하는 데 다소 시간이 걸리지만 궁극적으로는 더 쉽고 효율적입니다. 소프트웨어 개발을 위한 기본 기술이기도 합니다.
이 문서에서는 숫자의 계승값을 계산하는 Python 코드를 다시 사용하는 예제를 통해 두 가지를 모두 알아봅니다.
프로젝트에서 다른 사용자의 코드 조각 사용
처음 코딩을 학습할 때 다른 사람의 코드 조각을 복사하여 프로젝트에 붙여넣는 방식으로 다시 사용할 수 있습니다. 시간을 절약할 수 있는 좋은 방법이지만 다른 개발자의 코드를 복사하기 전에 항상 수행해야 하는 몇 가지 주요 단계가 있습니다.
1. 코드 조각 찾기 및 이해
먼저 다시 사용하려는 코드 조각을 찾아 이해해야 합니다. 이 예제에서는 new2code/python-factorial
리포지토리를 선택하겠습니다.
먼저 루프를 사용하여 계산기를 구현하는 factorial_finder.py
열기:
# Initialize the factorial result to 1
factorial = 1
# Initialize the input number to 6
number = 6
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
print(f"The factorial of {number} is {factorial}")
그런 다음, 파일 맨 위에 있는 메뉴 모음에서 을 클릭하여 Copilot과의 대화를 시작합니다.
채팅 창에서 Copilot에 요청:
Explain this program.
Explain this program.
2. 프로젝트 라이선스 이해
찾은 코드를 다시 사용하려면 먼저 라이선스를 이해해야 합니다. 라이선스는 해당 코드를 복사, 수정, 배포하는 기능을 포함하여 프로젝트에서 코드를 사용하는 방법을 결정합니다.
new2code/python-factorial에 대한 라이선스를 확인하려면 리포지토리의 기본 페이지에서 "About" 섹션을 찾으세요. 여기에서 리포지토리는 MIT 라이선스에 따라 라이선스가 부여된 것을 볼 수 있습니다. 라이선스를 읽으려면 MIT license를 클릭합니다.
전체 factorial_finder.py
파일을 복사하려고 하므로 MIT 라이선스는 라이선스 복사본을 프로젝트에 포함해야 함을 나타냅니다. Python 파일 맨 위에 라이선스를 메모로 붙여넣습니다.
Tip
라이선스 선택 도구를 사용하여 다른 일반 라이선스에서 허용되는 사항을 알아볼 수 있습니다.
3. 코드 조각 사용 및 수정
이제 코드 조각을 프로젝트에 붙여넣을 준비가 되었습니다. 코드 조각을 그대로 사용할 수 있는 경우도 있지만 특정 사용 사례에 맞게 코드 조각을 수정하려는 경우가 많습니다. 지금 연습해 봅시다!
5, 7, 9, 10의 계승 값을 빠르게 계산하려고 합니다. 각 숫자에 대해 전체 프로그램을 복사하여 붙여넣는 대신 계산기를 인수로 사용하는 함수로 이동할 수 있습니다.
Copilot Chat을 사용하여 구현을 제안 및 설명할 수 있습니다. 현재 코드를 채팅 창에 붙여넣고 다음 프롬프트를 표시합니다.
Wrap the Python code above in a function.
Wrap the Python code above in a function.
Copilot은 다음과 같은 코드를 생성합니다.
def calculate_factorial(number): # Initialize the factorial result to 1 factorial = 1 # Loop from 1 to number (inclusive) and multiply factorial by each number for i in range(1, number + 1): factorial *= i return factorial
def calculate_factorial(number):
# Initialize the factorial result to 1
factorial = 1
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
return factorial
새 함수를 사용하면 프로젝트에 다음 코드를 추가한 다음, Python 프로그램을 실행하여 숫자의 계승을 쉽게 찾을 수 있습니다.
print(calculate_factorial(5)) print(calculate_factorial(7)) print(calculate_factorial(9)) print(calculate_factorial(10))
print(calculate_factorial(5))
print(calculate_factorial(7))
print(calculate_factorial(9))
print(calculate_factorial(10))
축하합니다! 예제 코드 조각을 발견하고, 이해하고, 수정했습니다.
프로젝트의 라이브러리에서 코드 사용
이제 개발자를 위한 표준 사례인 라이브러리를 사용하는 방법을 알아보겠습니다. 라이브러리는 기본적으로 다른 개발자가 특정 작업을 수행하기 위해 작성한 코드 컬렉션입니다. 미리 작성된 코드를 사용하기 위해 라이브러리를 프로젝트로 가져와 시간과 노력을 절약할 수 있습니다.
이 섹션에서는 이전 섹션의 Python 계승 계산기 예제를 계속 사용하겠습니다. 참고로 현재 코드는 다음과 같습니다.
def calculate_factorial(number): # Initialize the factorial result to 1 factorial = 1 # Loop from 1 to number (inclusive) and multiply factorial by each number for i in range(1, number + 1): factorial *= i return factorial print(calculate_factorial(5)) print(calculate_factorial(7)) print(calculate_factorial(9)) print(calculate_factorial(10))
def calculate_factorial(number):
# Initialize the factorial result to 1
factorial = 1
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
return factorial
print(calculate_factorial(5))
print(calculate_factorial(7))
print(calculate_factorial(9))
print(calculate_factorial(10))
1. 라이브러리 찾기
프로젝트에 추가하려는 기능을 알고 나면 관련 코드가 포함된 라이브러리를 검색할 수 있습니다. Copilot Chat은 자연어를 사용하여 찾고 있는 내용을 정확하게 설명할 수 있으므로 라이브러리를 검색하는 쉬운 방법입니다.
계승을 찾는 것은 매우 일반적인 함수이며, 누군가가 기존 라이브러리에 해당 함수를 포함할 가능성이 높습니다. Copilot Chat을 연 다음, 질문하기:
Is there a Python library with a function for calculating a factorial?
Is there a Python library with a function for calculating a factorial?
Copilot은 표준 Python 라이브러리의 math
모듈에 계승 함수가 포함되어 있다는 것을 알려줍니다.
2. 프로젝트의 보안 우선 순위 지정
프로젝트에 라이브러리 또는 모듈을 추가할 때 종속성이라고 하는 항목을 만듭니다. 종속성은 프로젝트가 올바르게 작동하기 위해 사용하는 미리 작성된 코드 번들입니다. 신중하게 작성되지 않거나 유지 관리되지 않으면 작업에 보안 취약점이 발생할 수 있습니다.
다행히도 프로젝트를 가장 잘 보호하기 위해 수행할 수 있는 몇 가지 조치가 있습니다. 지금 연습해 봅시다.
인기 있는 라이브러리 사용
인기 있는 라이브러리는 많은 개발자가 적극적으로 유지 관리하고 사용하므로 더 안전할 가능성이 높습니다. 인기를 나타내는 좋은 마커 중 하나는 리포지토리에 있는 별의 수입니다. 종속성에 대한 GitHub 리포지토리를 찾을 수 없는 경우에는 Copilot에 도움을 요청할 수 있습니다.
Copilot Chat을 연 다음, 질문하기:
Find the GitHub repository containing the code for the math module in Python.
Find the GitHub repository containing the code for the math module in Python.
Copilot은 math
모듈이 64,000개가 넘는 별이 있는 python/cpython
에 정의되어 있습니다.
프로젝트에 대해 Dependabot alerts 활성화
활성화된 경우 Dependabot에서 보안 문제를 감지하면 Dependabot alerts가 자동으로 생성되어 취약성을 빠르게 해결할 수 있습니다. Dependabot은 모든 오픈 소스 GitHub 리포지토리에서 무료로 사용할 수 있습니다.
이제 리포지토리에 대한 Dependabot alerts를 켭니다. 프로젝트의 GitHub 리포지토리의 Security 탭을 클릭합니다. Dependabot alerts 옆에 있는 Enable Dependabot alerts 를 클릭합니다. 사이드바의 Dependabot 탭에서 Dependabot alerts에 액세스할 수 있습니다.
3. 라이브러리에서 코드 구현
이제 라이브러리를 프로젝트로 가져온 다음, 해당 콘텐츠를 코드에서 사용할 준비가 되었습니다. 라이브러리에 대한 문서를 읽고 직접 수행하는 방법을 알아보거나 Copilot에게 구현 제안 및 설명을 요청할 수 있습니다.
Copilot Chat을 연 다음, 질문하기:
How do I use the factorial function of the math module in my Python project?
How do I use the factorial function of the math module in my Python project?
그러면 Copilot은 다음과 같은 코드 버전을 제안합니다.
import math # Calculate the factorial of a number number = 5 result = math.factorial(number) print(f"The factorial of {number} is {result}")
import math
# Calculate the factorial of a number
number = 5
result = math.factorial(number)
print(f"The factorial of {number} is {result}")
프로젝트의 기존 코드를 위의 구현으로 바꾼 후 예제 프로젝트의 라이브러리에서 코드를 다시 사용했습니다.