찾다
백엔드 개발파이썬 튜토리얼VS Code 및 Ollama를 사용하여 코드 주석 달기 자동화

작가: Carlos Mucuho✏️

코드 주석은 소프트웨어 개발에서 중요한 역할을 합니다. 그들은:

  • * 복잡한 논리 설명
    • 의사결정 프로세스 문서화
    • 미래 개발자를 위한 컨텍스트 제공

잘 작성된 코드는 설명이 필요하지 않다고 주장하는 사람도 있고, 특정 구현 이면의 추론을 포착하는 데 있어 주석의 중요성을 강조하는 사람도 있습니다. 댓글 생성을 자동화한다는 아이디어는 AI가 댓글을 가치 있게 만드는 인간의 통찰력을 진정으로 포착할 수 있는지에 대한 논의를 촉발시켰습니다.

GitHub Copilot과 같은 AI 기반 코딩 도우미는 계속해서 인기를 얻고 있지만 커뮤니티는 데이터 개인정보 보호와 독점 플랫폼에 의존하게 될 위험에 대한 문제로 고심하고 있습니다. 이러한 우려에도 불구하고 Ollama와 같은 도구는 데이터 개인 정보 보호 및 플랫폼 잠금에 대한 우려를 해결하면서 AI 기능의 이점을 누릴 수 있는 방법을 제공합니다.

Ollama는 코딩 도우미 자체가 아니라 개발자가 데이터를 공유하거나 값비싼 구독 비용을 지불하지 않고도 대규모 언어 모델(LLM)을 실행하여 생산성을 향상시킬 수 있는 도구입니다.

이 튜토리얼에서는 Ollama를 사용하여 주석 생성을 자동화하는 VS Code 확장을 만드는 방법을 알아봅니다. 이 프로젝트에서는 LLM 모델을 사용하여 데이터를 공유하거나 값비싼 구독료를 지불하지 않고도 생산성을 높이는 방법을 보여줍니다.

튜토리얼이 끝나면 다음과 유사한 확장 기능을 갖게 됩니다.

Automate code commenting using VS Code and Ollama

따라가려면 다음이 필요합니다.

  • Node.js 및 npm 설치
  • Ollama를 사용하여 LLM을 실행할 수 있는 머신

올라마 설정

Ollama를 설정하려면 먼저 Ollama 공식 웹사이트에서 운영 체제에 적합한 설치 프로그램을 다운로드하세요.

  • Windows에 Ollama를 설치하려면 실행 파일을 다운로드하여 실행하세요. Ollama가 자동으로 설치되면 바로 사용할 수 있습니다
  • Mac의 경우 MacOS용 Ollama를 다운로드한 후 파일의 압축을 풀고 Ollama.app 폴더를 응용 프로그램 폴더로 드래그하세요. 앱을 옮기시면 설치가 완료됩니다
  • Linux 사용자의 경우 Ollama 설치는 터미널에서 다음 명령을 실행하는 것만큼 간단합니다.

    curl -fsSL https://ollama.com/install.sh | sh
    

모델 당기기 및 실행하기

Ollama 설치가 완료되면 LLM과 상호 작용을 시작할 수 있습니다. 명령을 실행하기 전에 앱을 열거나 터미널에서 다음 명령을 실행하여 Ollama를 시작해야 합니다.

curl -fsSL https://ollama.com/install.sh | sh

이 명령은 Ollama 앱을 시작하여 사용 가능한 명령을 사용할 수 있게 해줍니다. 또한 포트 11434에서 실행되는 Ollama 서버를 시작합니다. 새 브라우저 창을 열고 http://localhost:11434/로 이동하여 서버가 실행 중인지 확인할 수 있습니다. 모델을 실행하지 않고 Ollama 레지스트리에서 가져오려면 다음을 사용하세요. 올라마 풀 명령. 예를 들어 phi3.5 모델을 가져오려면 다음을 실행합니다.

ollama serve

이 명령은 모델을 가져와 나중에 사용할 수 있도록 만듭니다. 다음 명령을 사용하면 가져온 모든 모델을 나열할 수 있습니다.

ollama pull phi3.5

모델 목록과 크기 및 수정 시간이 표시됩니다.

ollama list

모델을 즉시 가져오고 실행하려면 ollama run 명령을 사용하세요. 예를 들어, phi3.5를 실행하려면 다음을 실행하세요.

NAME                 ID                  SIZE          MODIFIED     
phi3.5:latest        61819fb370a3        2.2 GB        11 days ago         
llava:latest         8dd30f6b0cb1        4.7 GB        2 weeks ago         
phi3:latest          64c1188f2485        2.4 GB        3 months ago        
csfm1993:~$ 

이 명령은 모델을 가져오고(아직 가져오지 않은 경우) 즉시 쿼리를 시작할 수 있도록 실행을 시작합니다. 터미널에 다음이 표시되어야 합니다.

ollama run phi3.5

이 튜토리얼에서는 phi3.5 모델을 사용하여 특정 코드 블록에 대한 주석을 생성합니다. 이 언어 모델은 크기와 성능 사이의 균형을 위해 선택되었습니다. 컴팩트하면서도 강력한 결과를 제공하므로 개념 증명 앱을 구축하는 데 이상적입니다.

phi3.5 모델은 RAM이 제한적이고 GPU가 없는 컴퓨터에서도 효율적으로 실행할 수 있을 만큼 가볍습니다. GPU가 있는 경우 더 큰 LLM을 자유롭게 실행하세요. 모델에게 다음 메시지를 보냅니다.

csfm1993:~$ ollama run phi3.5
>>> Send a message (/? for help)

프롬프트는 phi3.5 모델에게 주어진 코드 블록에서 무슨 일이 일어나고 있는지 설명하도록 요청합니다. 다음과 유사한 답변을 받아야 합니다.

complete code:
"
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
  res.send('Hello World!')
})
app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})
"
Given the code block below, write a brief, insightful comment that explains its purpose and functionality within the script. If applicable, mention any inputs expected in the code block. 
Keep the comment concise (maximum 2 lines). Wrap the comment with the appropriate comment syntax (//). Avoid assumptions about the complete code and focus on the provided block. Don't rewrite the code block.
code block:
"
app.get('/', (req, res) => {
  res.send('Hello World!')
})
"

모델은 지정된 주석 구문과 설명이 포함된 주석을 반환합니다. 모델과의 상호작용이 끝나면 /bye 명령을 보내 채팅을 종료하세요.

프로젝트 생성 및 구성

이 섹션에서는 새로운 VS Code 확장 프로젝트를 생성하고 Ollama와 상호 작용하는 데 필요한 모듈을 설치합니다. Yeoman과 VS Code Extension Generator를 사용하여 TypeScript 프로젝트를 스캐폴딩합니다.

터미널에서 다음 명령을 실행하여 새 VS Code 확장 프로젝트를 만듭니다.

// This Express.js route handler responds to GET requests at the root URL 
('/'), sending back a plain text 'Hello World!' message as an HTTP 
response. No additional inputs are required for this specific block of 
code, which serves as a basic setup example within a web server context.

프로젝트에 사용되는 언어로 TypeScript를 선택한 후 나머지 필드를 채웁니다.

npx --package yo --package generator-code -- yo code

이제 다음 명령을 실행하여 Ollama 서버와 상호작용하는 데 필요한 모듈을 설치하세요.

? What type of extension do you want to create? New Extension (TypeScript)
? What's the name of your extension? commentGenerator
? What's the identifier of your extension? commentgenerator
? What's the description of your extension? Leave blank
? Initialize a git repository? Yes
? Which bundler to use? unbundled
? Which package manager to use? npm
? Do you want to open the new folder with Visual Studio Code? Open with `code`

위 명령을 사용하여 다음 패키지를 설치했습니다.

  • ollama: LLM과 상호 작용하기 위한 도구 및 유틸리티 세트를 제공하는 패키지입니다. 이는 Ollama 서버와 통신하는 데 사용되며, 주어진 코드 블록에 대한 코드 주석을 생성하기 위해 LLM에 프롬프트를 보냅니다
  • cross-fetch: Node.js에 Fetch API 지원을 제공하는 경량 패키지입니다. Fetch를 기본적으로 사용할 수 없는 환경에서 API 요청과 같은 리소스를 가져올 수 있습니다. Ollama 서버에 HTTP 요청을 하고 LLM이 응답을 생성하는 데 너무 오랜 시간이 걸릴 때 발생할 수 있는 HTTP 요청 시간 초과 오류를 방지하는 데 사용됩니다.

package.json 파일을 열고 엔진 속성의 vscode 버전이 시스템에 설치된 VS Code 버전과 일치하는지 확인하세요.

curl -fsSL https://ollama.com/install.sh | sh

package.json 파일에서 TypeScript 프로젝트임에도 불구하고 확장 프로그램의 기본 진입점이 out 디렉터리에 있는 Extension.js 파일이라는 것을 확인하세요. 이는 프로젝트를 실행하기 전에 npm compile 명령을 실행하여 TypeScript 코드가 JavaScript로 컴파일되기 때문입니다.

ollama serve

또한 확장 프로그램에서 실행해야 하는 명령이 명령 속성에 어떻게 선언되어 있는지 확인하세요.

ollama pull phi3.5

현재 ID commentgenerator.helloWorld를 사용하여 Hello World라는 이름으로 선언된 명령이 하나만 있습니다. 이는 스캐폴드 프로젝트와 함께 제공되는 기본 명령입니다.

다음으로 src 디렉터리로 이동하여 Extension.ts 파일을 엽니다.

ollama list

extension.ts 파일은 VS Code 확장의 진입점입니다. 이 파일 내의 코드는 먼저 vscode 모듈을 가져오고 활성화 및 비활성화라는 두 가지 함수를 선언합니다.

확장 프로그램이 활성화되면 활성화 함수가 호출됩니다. 이 함수는 메시지를 기록하고 package.json 파일에 정의된 Hello World 명령을 등록합니다. 이 명령이 실행될 때마다 "Hello World" 메시지를 보여주는 알림 창이 표시됩니다.

확장 프로그램이 비활성화되면(예: VS Code가 닫힐 때) 비활성화 함수가 호출됩니다. 정리가 필요하지 않기 때문에 현재 비어 있지만 리소스를 해제하는 데 사용할 수 있습니다.

편집기 내에서 src/extension.ts를 열고 F5를 누르거나 명령 팔레트에서 디버그: 디버깅 시작 명령을 실행합니다(Ctrl Shift P). 그러면 새로운 Extension Development Host 창에서 확장 프로그램이 컴파일되고 실행됩니다.

새 창의 명령 팔레트(Ctrl Shift P)에서 Hello World 명령을 실행하세요.

편집기에서 src/extension.ts로 이동하여 F5를 누르거나 명령 팔레트(Ctrl Shift P)에서 "디버그: 디버깅 시작" 옵션을 사용하세요. 이 작업은 확장을 컴파일하고 별도의 확장 개발 호스트 창에서 실행합니다.

이 새 창에서 명령 팔레트(Ctrl Shift P)를 열고 Hello World 명령을 실행합니다.

Automate code commenting using VS Code and Ollama

프로젝트 변경 사항을 지속적으로 모니터링하고 자동으로 컴파일하려면 터미널로 돌아가서 다음 명령을 실행하세요.

curl -fsSL https://ollama.com/install.sh | sh

이렇게 하면 TypeScript 컴파일러가 감시 모드에서 시작되어 변경 사항이 있을 때마다 프로젝트가 다시 컴파일됩니다.

댓글 생성 명령 등록

이 섹션에서는 기본 Hello World 명령을 Generate Comment라는 명령으로 대체합니다. 이 명령은 사용자가 댓글을 생성하려고 할 때 실행됩니다. 명령을 정의하고 확장 내에 올바르게 등록되었는지 확인합니다.

package.json 파일을 열고 Hello World 명령을 아래와 같이 바꿉니다.

ollama serve

extension.ts라는 파일을 열고 활성화 함수 내부의 코드를 다음으로 바꿉니다.

ollama pull phi3.5

이 코드는 Hello 명령을 ID commentgenerator.generateComment가 있는 설명 생성 명령으로 대체합니다. 설명 생성 명령은 트리거될 때 정보 메시지도 표시합니다.

그런 다음 확장 프로그램이 비활성화되거나 더 이상 필요하지 않을 때 명령이 올바르게 삭제되도록 명령을 context.subscriptions 배열로 푸시합니다.

F5 키를 누르거나 명령 팔레트(Ctrl Shift P)에서 디버그: 디버깅 시작 명령을 실행합니다. 그러면 새 확장 개발 호스트 창에서 확장 프로그램이 실행됩니다.

새 창의 명령 팔레트(Ctrl Shift P)에서 설명 생성 명령을 실행합니다.

Automate code commenting using VS Code and Ollama

프롬프트 작성

이 섹션에서는 Ollama 서버로 전송될 프롬프트를 작성합니다. 프롬프트에는 코드 블록과 해당 컨텍스트는 물론 LLM에 대한 지침도 포함됩니다. 이 단계는 LLM이 제공된 코드를 기반으로 의미 있는 주석을 생성하도록 안내하는 데 중요합니다.

특정 코드 블록에 대한 주석을 생성하려면 사용자는 먼저 블록을 클립보드에 복사하고 주석이 표시되어야 하는 줄에 커서를 놓은 다음 주석 생성 명령을 실행해야 합니다. 해당 블록을 포함하는 파일의 전체 코드는 프롬프트의 컨텍스트 역할을 합니다.

src 디렉터리에 PromptBuilder.ts라는 파일을 만들고 다음 코드를 추가하세요.

ollama list

이 코드는 getScriptContext, getCodeBlock 및 getCodeBlock의 세 가지 함수를 정의합니다.

  • getScriptContext는 현재 텍스트 편집기를 인수로 받아들이고 현재 초점을 맞춘 파일의 전체 텍스트를 반환하여 관련 코드 컨텍스트를 제공합니다
  • getCodeBlock은 클립보드에서 텍스트를 읽고 이를 코드 블록으로 반환합니다
  • selectCommentSyntax는 현재 텍스트 편집기를 인수로 사용하고 파일 확장자에 대한 적절한 주석 구문을 반환합니다. 이 함수에서는 JavaScript 및 Python 주석 구문만 처리할 수 있습니다. 더 많은 언어를 처리하려면 기능을 수정해야 합니다

이제 코드 컨텍스트, 코드 블록, 주석 구문을 사용하여 프롬프트를 작성해 보겠습니다. PromptBuilder.ts 파일에 다음 코드를 추가합니다.

curl -fsSL https://ollama.com/install.sh | sh

이 코드는 현재 텍스트 편집기를 인수로 사용하고 프롬프트 문자열을 반환하는 buildPrompt라는 함수를 정의합니다.

먼저 이전에 정의된 함수를 사용하여 코드 블록, 코드 컨텍스트 및 주석 구문을 검색합니다. 그런 다음 템플릿 리터럴을 사용하여 프롬프트 문자열을 구성하고 자리 표시자를 실제 값으로 바꿉니다.

프롬프트 문자열은 LLM에게 스크립트 내 코드 블록의 목적과 기능을 설명하는 간결하고 통찰력 있는 설명을 작성하고 간결하게 유지(최대 2줄)하고 올바른 설명 구문으로 래핑하도록 지시합니다. LLM은 제공된 블록에만 집중하여 주석이 관련성이 있고 정확하도록 보장합니다.

이제 buildPrompt 기능을 사용하도록 Extension.ts 파일을 업데이트해 보겠습니다. Extension.ts 파일의 가져오기 블록으로 이동하여 buildPrompt 함수를 가져옵니다.

ollama serve

다음으로 다음 코드로 generateCommentCommand를 업데이트하세요.

ollama pull phi3.5

이 코드는 generateCommentCommand를 업데이트하여 활성 텍스트 편집기를 검색하고 buildPrompt 함수를 사용하여 프롬프트를 빌드합니다. 그런 다음 프롬프트를 기록하고 프롬프트를 생성할 수 없는 경우 오류 메시지를 표시합니다.

F5 키를 누르거나 명령 팔레트(Ctrl Shift P)에서 디버그: 디버깅 시작 명령을 실행하세요. 그러면 새 확장 개발 호스트 창에서 확장 프로그램이 실행됩니다.

새 창의 명령 팔레트(Ctrl Shift P)에서 댓글 생성 명령을 실행하세요.

확장 코드가 있는 원래 창으로 돌아가 통합 터미널을 열고 디버그 콘솔을 클릭한 후 생성된 프롬프트를 찾습니다.

Automate code commenting using VS Code and Ollama

Ollama.js를 사용하여 주석 생성

이 섹션에서는 Ollama.js 라이브러리를 사용하여 프롬프트에서 댓글을 생성합니다. Ollama 서버와 통신하고, 서버에 프롬프트를 보내고, LLM과 상호 작용하고, 생성된 주석을 받는 데 필요한 기능을 설정하게 됩니다.

src 디렉터리에 ollama.ts라는 파일을 만들고 다음 코드를 추가하세요.

curl -fsSL https://ollama.com/install.sh | sh

이 코드는 ollama 모듈에서 Ollama 클래스를 가져오고, cross-fetch 모듈에서 fetch 함수를 가져옵니다. 그런 다음 지정된 호스트 및 가져오기 기능을 사용하여 Ollama 클래스의 새 인스턴스를 만듭니다.

여기에서는 LLM이 응답을 생성하는 데 너무 오랜 시간이 걸릴 때 Ollama 서버가 발생할 수 있는 시간 초과 오류를 방지하기 위해 크로스페치 모듈을 사용하여 Ollama 인스턴스를 생성합니다.

이제 프롬프트를 인수로 사용하고 생성된 댓글을 반환하는 generateComment 함수를 정의해 보겠습니다. ollama.ts 파일에 다음 코드를 추가합니다:

ollama serve

이 코드는 프롬프트를 인수로 사용하고 생성된 댓글을 반환하는 generateComment 함수를 정의합니다.

먼저performance.now 함수를 사용하여 시작 시간을 기록합니다. 그런 다음 ollama 인스턴스의 생성 메소드를 사용하여 Ollama 서버에 요청을 보내고 모델 이름과 프롬프트로 phi3.5를 전달합니다.

다음으로 종료 시간을 기록하고 LLM이 응답을 생성하는 데 걸린 시간을 기록합니다.

마지막으로 응답에 저장된 생성된 댓글을 반환합니다.

이제 generateComment 기능을 사용하도록 Extension.ts 파일을 업데이트해 보겠습니다. 먼저, Extension.ts 파일의 가져오기 블록으로 이동하여 generateComment 함수를 가져옵니다.

ollama pull phi3.5

다음으로 generateCommentCommand 내부의 코드를 업데이트하세요.

ollama list

이 코드는 generateCommentCommand를 업데이트하여 generateComment 함수를 사용하여 댓글을 생성합니다. 그런 다음 생성된 주석을 기록하고 주석을 생성할 수 없는 경우 오류 메시지를 표시합니다.

F5 키를 누르거나 명령 팔레트(Ctrl Shift P)에서 디버그: 디버깅 시작 명령을 실행하세요. 그러면 새로운 Extension Development Host 창에서 확장 프로그램이 컴파일되고 실행됩니다.

댓글을 생성하려는 파일을 열고 원하는 코드 블록으로 이동하여 복사한 후 댓글을 추가하려는 줄에 커서를 놓습니다. 그런 다음 새 창의 명령 팔레트(Ctrl Shift P)에서 설명 생성 명령을 실행합니다.

확장 코드가 있는 원래 창으로 돌아가서 통합 터미널을 열고 디버그 콘솔을 클릭하고 생성된 주석을 찾습니다.

Automate code commenting using VS Code and Ollama

LLM이 응답을 생성하는 데 걸리는 시간은 하드웨어에 따라 다를 수 있다는 점에 유의하세요.

스크립트에 주석 추가하기

이 섹션에서는 사용자가 코멘트 생성 명령을 호출한 줄의 스크립트에 생성된 코멘트를 추가합니다. 이 단계에는 코드 내의 적절한 위치에 주석을 삽입하도록 편집기를 관리하는 작업이 포함됩니다.

src 디렉터리에manageEditor.ts라는 파일을 만들고 다음 코드를 추가합니다.

curl -fsSL https://ollama.com/install.sh | sh

이 코드는 먼저 전체 Visual Studio Code API를 현재 모듈로 가져온 다음 getCurrentLine 및 addCommentToFile이라는 두 가지 함수를 정의합니다.

getCurrentLine 함수는 현재 텍스트 편집기를 인수로 사용하고 현재 줄 번호를 반환합니다.

addCommentToFile 함수는 파일 URI, 파일 이름, 줄 번호, 생성된 주석을 인수로 사용하고 파일의 지정된 줄에 주석을 추가합니다. 먼저 새 WorkspaceEdit 객체를 생성하고 지정된 위치에 주석을 삽입합니다. 그런 다음 편집 내용을 적용하고 정보 메시지를 표시합니다.

이제 addCommentToFile 함수를 사용하도록 Extension.ts 파일을 업데이트해 보겠습니다.

extension.ts 파일의 가져오기 블록으로 이동하여 getCurrentLine 및 addCommentToFile 함수를 가져옵니다.

ollama serve

다음으로 generateCommentCommand 내부의 코드를 업데이트하세요.

ollama pull phi3.5

이 코드는 getCurrentLine 함수를 사용하여 파일 URI, 파일 이름 및 현재 줄 번호를 검색하도록 generateCommentCommand를 업데이트합니다. 그런 다음 addCommentToFile 함수를 사용하여 파일의 현재 줄에 주석을 추가합니다.

F5 키를 누르거나 명령 팔레트(Ctrl Shift P)에서 디버그: 디버깅 시작 명령을 실행하세요. 그러면 새 확장 개발 호스트 창에서 확장 프로그램이 실행됩니다.

댓글을 생성하려는 파일을 열고 원하는 코드 블록으로 이동하여 복사한 후 댓글을 추가하려는 줄에 커서를 놓습니다.

다음으로 명령 팔레트(Ctrl Shift P)에서 주석 생성 명령을 실행하고 몇 초(또는 하드웨어에 따라 몇 분) 후에 주석이 지정된 줄에 배치됩니다(Alt Z를 누를 수 있음). 주석 줄이 너무 길면 줄바꿈하세요):

Automate code commenting using VS Code and Ollama

결론

소프트웨어 개발의 세계는 AI를 사용하여 코드 주석 생성을 포함한 코딩 작업을 지원하는 것에 대한 논의로 가득 차 있습니다.

이 튜토리얼에서는 Ollama.js 라이브러리와 로컬 LLM을 사용하여 코드 주석 달기를 자동화하는 VS Code 확장을 구축하는 방법을 살펴보았습니다. 일부 AI 코딩 도구가 데이터 개인정보 보호를 침해하거나 유료 구독을 요구하지 않고 문서화 프로세스를 간소화할 수 있는 방법을 시연했습니다.


몇 분 만에 LogRocket의 최신 오류 추적을 설정하세요.

  1. https://logrocket.com/signup/을 방문하여 앱 ID를 받으세요.
  2. NPM 또는 스크립트 태그를 통해 LogRocket을 설치합니다. LogRocket.init()는 서버측이 아닌 클라이언트측에서 호출해야 합니다.

NPM:

ollama list

스크립트 태그:

NAME                 ID                  SIZE          MODIFIED     
phi3.5:latest        61819fb370a3        2.2 GB        11 days ago         
llava:latest         8dd30f6b0cb1        4.7 GB        2 weeks ago         
phi3:latest          64c1188f2485        2.4 GB        3 months ago        
csfm1993:~$ 

3.(선택 사항) 스택과의 심층 통합을 위해 플러그인을 설치합니다.

  • Redux 미들웨어
  • ngrx 미들웨어
  • Vuex 플러그인

지금 시작하세요

위 내용은 VS Code 및 Ollama를 사용하여 코드 주석 달기 자동화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python을 사용하여 텍스트 파일의 ZIPF 배포를 찾는 방법Python을 사용하여 텍스트 파일의 ZIPF 배포를 찾는 방법Mar 05, 2025 am 09:58 AM

이 튜토리얼은 Python을 사용하여 Zipf의 법칙의 통계 개념을 처리하는 방법을 보여주고 법을 처리 할 때 Python의 읽기 및 대형 텍스트 파일을 정렬하는 효율성을 보여줍니다. ZIPF 분포라는 용어가 무엇을 의미하는지 궁금 할 것입니다. 이 용어를 이해하려면 먼저 Zipf의 법칙을 정의해야합니다. 걱정하지 마세요. 지침을 단순화하려고 노력할 것입니다. Zipf의 법칙 Zipf의 법칙은 단순히 : 큰 자연어 코퍼스에서 가장 자주 발생하는 단어는 두 번째 빈번한 단어, 세 번째 빈번한 단어보다 세 번, 네 번째 빈번한 단어 등 4 배나 자주 발생합니다. 예를 살펴 보겠습니다. 미국 영어로 브라운 코퍼스를 보면 가장 빈번한 단어는 "TH입니다.

HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까?HTML을 구문 분석하기 위해 아름다운 수프를 어떻게 사용합니까?Mar 10, 2025 pm 06:54 PM

이 기사에서는 HTML을 구문 분석하기 위해 파이썬 라이브러리 인 아름다운 수프를 사용하는 방법을 설명합니다. 데이터 추출, 다양한 HTML 구조 및 오류 처리 및 대안 (SEL과 같은 Find (), find_all (), select () 및 get_text ()와 같은 일반적인 방법을 자세히 설명합니다.

파이썬의 이미지 필터링파이썬의 이미지 필터링Mar 03, 2025 am 09:44 AM

시끄러운 이미지를 다루는 것은 특히 휴대폰 또는 저해상도 카메라 사진에서 일반적인 문제입니다. 이 튜토리얼은 OpenCV를 사용 하여이 문제를 해결하기 위해 Python의 이미지 필터링 기술을 탐구합니다. 이미지 필터링 : 강력한 도구 이미지 필터

Python을 사용하여 PDF 문서를 사용하는 방법Python을 사용하여 PDF 문서를 사용하는 방법Mar 02, 2025 am 09:54 AM

PDF 파일은 운영 체제, 읽기 장치 및 소프트웨어 전체에서 일관된 콘텐츠 및 레이아웃과 함께 크로스 플랫폼 호환성에 인기가 있습니다. 그러나 Python Processing Plain Text 파일과 달리 PDF 파일은 더 복잡한 구조를 가진 이진 파일이며 글꼴, 색상 및 이미지와 같은 요소를 포함합니다. 다행히도 Python의 외부 모듈로 PDF 파일을 처리하는 것은 어렵지 않습니다. 이 기사는 PYPDF2 모듈을 사용하여 PDF 파일을 열고 페이지를 인쇄하고 텍스트를 추출하는 방법을 보여줍니다. PDF 파일의 생성 및 편집에 대해서는 저의 다른 튜토리얼을 참조하십시오. 준비 핵심은 외부 모듈 PYPDF2를 사용하는 데 있습니다. 먼저 PIP를 사용하여 설치하십시오. PIP는 p입니다

Django 응용 프로그램에서 Redis를 사용하여 캐시하는 방법Django 응용 프로그램에서 Redis를 사용하여 캐시하는 방법Mar 02, 2025 am 10:10 AM

이 튜토리얼은 Redis 캐싱을 활용하여 특히 Django 프레임 워크 내에서 Python 응용 프로그램의 성능을 향상시키는 방법을 보여줍니다. 우리는 Redis 설치, Django 구성 및 성능 비교를 다루어 Bene을 강조합니다.

Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?Mar 10, 2025 pm 06:52 PM

이 기사는 딥 러닝을 위해 텐서 플로와 Pytorch를 비교합니다. 데이터 준비, 모델 구축, 교육, 평가 및 배포와 관련된 단계에 대해 자세히 설명합니다. 프레임 워크, 특히 계산 포도와 관련하여 주요 차이점

파이썬의 병렬 및 동시 프로그래밍 소개파이썬의 병렬 및 동시 프로그래밍 소개Mar 03, 2025 am 10:32 AM

데이터 과학 및 처리가 가장 좋아하는 Python은 고성능 컴퓨팅을위한 풍부한 생태계를 제공합니다. 그러나 Python의 병렬 프로그래밍은 독특한 과제를 제시합니다. 이 튜토리얼은 이러한 과제를 탐구하며 전 세계 해석에 중점을 둡니다.

파이썬에서 자신의 데이터 구조를 구현하는 방법파이썬에서 자신의 데이터 구조를 구현하는 방법Mar 03, 2025 am 09:28 AM

이 튜토리얼은 Python 3에서 사용자 정의 파이프 라인 데이터 구조를 작성하여 클래스 및 작업자 과부하를 활용하여 향상된 기능을 보여줍니다. 파이프 라인의 유연성은 일련의 기능을 데이터 세트, GE에 적용하는 능력에 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.