코드 실행
ZetoPad는 여러 언어로 코드 스니펫을 실행하고 앱 내에서 출력을 직접 표시할 수 있습니다.
코드 실행하기
- 코드 스니펫 열기
Cmd+R을 눌러 실행- 하단의 출력 패널에 결과 표시
지원 언어
네이티브 실행
시스템에 설치된 인터프리터를 사용하는 언어:
| 언어 | 인터프리터 |
|---|---|
| Python | python3 또는 python |
| JavaScript | node |
| TypeScript | ts-node 또는 tsx |
| Ruby | ruby |
| Go | go run |
| Rust | rustc + 실행 |
| Shell | bash 또는 sh |
| PHP | php |
| Perl | perl |
| R | Rscript |
WASM 샌드박스 실행
시스템 접근 없이 안전한 실행을 위해 ZetoPad는 WebAssembly 기반 런타임을 포함합니다:
| 언어 | 런타임 |
|---|---|
| JavaScript | QuickJS |
| Lua | Lua WASM |
| Python | Pyodide |
WASM 실행은:
- 샌드박스 - 파일 시스템이나 네트워크 접근 없음
- 빠른 시작 - 외부 인터프리터 불필요
- 일관성 - 모든 시스템에서 동일한 동작
출력 패널
출력 패널 표시:
- stdout - 코드의 표준 출력
- stderr - 에러 메시지와 경고
- 종료 코드 - 성공 (0) 또는 실패
패널 제어
- 지우기 - 출력 제거
- 복사 - 출력을 클립보드에 복사
- 닫기 - 패널 숨기기
타임아웃 처리
코드 실행에는 무한 실행 스크립트를 방지하기 위한 구성 가능한 타임아웃이 있습니다:
- 기본값: 30초
- 설정에서 구성 가능
- 초과 시 실행 종료
크기 제한
메모리 문제를 방지하기 위해 출력 제한:
- 최대 출력 크기: 1MB
- “[Output truncated]” 메시지와 함께 잘림
보안 고려사항
신뢰할 수 없는 코드의 경우 시스템 접근이 없는 WASM 샌드박스 모드를 사용하세요.
팁
빠른 테스팅
빠른 코드 실험을 위한 “scratch” 스니펫 생성:
x = [1, 2, 3, 4, 5]print(sum(x))print([i**2 for i in x])환경 변수
네이티브 실행은 쉘의 환경 변수를 상속합니다.
작업 디렉토리
코드는 임시 디렉토리에서 실행됩니다. 파일 작업에는 절대 경로를 사용하세요.