> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/ko/blocks/blocks/custom-blocks.md).

# 사용자 지정 블록

사용자 지정 Python 블록으로 Workflow에서 직접 논리를 작성하고 실행합니다.

기본 제공 Blocks가 사용 사례를 충족하지 못할 때는 Python으로 직접 로직을 작성하여 Workflow 내부의 Block으로 실행할 수 있습니다.

커스텀 Python 블록을 사용하면 전체 플러그인을 빌드하고 게시하지 않고도 데이터를 변환하거나, 외부 서비스에 호출하거나, 맞춤 로직을 구현할 수 있습니다. 코드는 Workflow Definition 자체 안에 있으며 런타임에 실제 Block으로 컴파일됩니다. 이들은 자체 호스팅에서 실행됩니다 `추론` 서버와 Dedicated Deployments에서, 그리고 격리된 컨테이너에서 실행되는 Roboflow Serverless v2 API에서도 실행됩니다.

{% hint style="warning" %}
Self-hosted Inference는 기본적으로 로컬 실행과 함께 Custom Python을 활성화한 상태로 유지합니다. 해당 코드를 제출할 수 있는 사람은 누구나 서버 프로세스의 권한을 사용할 수 있으므로, [서버 보안](https://docs.roboflow.com/deployment/self-hosted/inference-server/configuration/security). `ALLOW_CUSTOM_PYTHON_EXECUTION_IN_WORKFLOWS=False` 로 설정하여 로컬 실행을 비활성화할 수 있습니다. Modal 실행은 별도의 모드입니다.
{% endhint %}

## 다음 단계

* [동적 Python 블록](/workflows/ko/developer-guide/developer-guide/dynamic-python-blocks.md) - Workflow Definition 안에서 블록을 정의하기 위한 전체 참고 자료: manifest, 동적 입력 및 출력, `run(...)` 및 `init(...)` 메서드, 상태 관리, 디버깅.
* [Workflow 블록 만들기](/workflows/ko/developer-guide/developer-guide/create-a-block.md) - 버전 관리, 배치 처리, 흐름 제어 또는 사용자 지정 차원 수가 필요할 때는 적절한 Block 클래스를 작성하세요.
* [블록을 플러그인으로 묶기](/workflows/ko/developer-guide/developer-guide/block-bundling.md) - 전체 팀이나 커뮤니티가 사용할 수 있도록 블록을 설치 가능한 플러그인으로 패키징하세요.
