← 홈

🎮

⌘K
🤖
Claude Code AI 도구
🤗
Hugging Face AI 도구
🦜
LangChain AI 도구
🧠
Keras AI 도구
🦙
Ollama AI 도구
🐍
Python 프로그래밍 언어
🟨
JavaScript 프로그래밍 언어
🔷
TypeScript 프로그래밍 언어
⚛️
React 프로그래밍 언어
🐹
Go 프로그래밍 언어
🦀
Rust 프로그래밍 언어
📊
MATLAB 프로그래밍 언어
🗄️
SQL 프로그래밍 언어
⚙️
C/C++ 프로그래밍 언어
Java 프로그래밍 언어
🟣
C# 프로그래밍 언어
🍎
Swift 프로그래밍 언어
🟠
Kotlin 프로그래밍 언어
Next.js 프로그래밍 언어
💚
Vue.js 프로그래밍 언어
🔥
Svelte 프로그래밍 언어
🎨
Tailwind CSS 프로그래밍 언어
💚
Node.js 프로그래밍 언어
🌐
HTML 프로그래밍 언어
🎨
CSS/SCSS 프로그래밍 언어
🐘
PHP 프로그래밍 언어
💎
Ruby 프로그래밍 언어
🔴
Scala 프로그래밍 언어
📊
R 프로그래밍 언어
🎯
Dart 프로그래밍 언어
💧
Elixir 프로그래밍 언어
🌙
Lua 프로그래밍 언어
🐪
Perl 프로그래밍 언어
🅰️
Angular 프로그래밍 언어
🚂
Express.js 프로그래밍 언어
🐱
NestJS 프로그래밍 언어
🛤️
Ruby on Rails 프로그래밍 언어
◼️
GraphQL 프로그래밍 언어
🟪
Haskell 프로그래밍 언어
💚
Nuxt.js 프로그래밍 언어
🔷
SolidJS 프로그래밍 언어
htmx 프로그래밍 언어
💻
VS Code 개발 도구
🧠
PyCharm 개발 도구
📓
Jupyter 개발 도구
🧠
IntelliJ IDEA 개발 도구
💚
Neovim 개발 도구
🔮
Emacs 개발 도구
🔀
Git DevOps & CLI
🐳
Docker DevOps & CLI
☸️
Kubernetes DevOps & CLI
☁️
AWS CLI DevOps & CLI
🔄
GitHub Actions DevOps & CLI
🐧
Linux 명령어 DevOps & CLI
💻
Bash 스크립팅 DevOps & CLI
🌐
Nginx DevOps & CLI
📝
Vim DevOps & CLI
🔨
Makefile DevOps & CLI
🧪
Pytest DevOps & CLI
🪟
Windows DevOps & CLI
📦
패키지 매니저 DevOps & CLI
🍎
macOS DevOps & CLI
🏗️
Terraform DevOps & CLI
🔧
Ansible DevOps & CLI
Helm DevOps & CLI
🔨
Jenkins DevOps & CLI
🔥
Prometheus DevOps & CLI
📊
Grafana DevOps & CLI
💻
Zsh DevOps & CLI
🐟
Fish Shell DevOps & CLI
💙
PowerShell DevOps & CLI
🔄
Argo CD DevOps & CLI
🔀
Traefik DevOps & CLI
☁️
Azure CLI DevOps & CLI
☁️
Google Cloud CLI DevOps & CLI
📟
tmux DevOps & CLI
🔧
jq DevOps & CLI
✂️
sed DevOps & CLI
📊
awk DevOps & CLI
🌊
Apache Airflow DevOps & CLI
🔢
NumPy 데이터베이스 & 데이터
🐼
Pandas 데이터베이스 & 데이터
🔥
PyTorch 데이터베이스 & 데이터
🧠
TensorFlow 데이터베이스 & 데이터
📈
Matplotlib 데이터베이스 & 데이터
🐘
PostgreSQL 데이터베이스 & 데이터
🐬
MySQL 데이터베이스 & 데이터
🍃
MongoDB 데이터베이스 & 데이터
🔴
Redis 데이터베이스 & 데이터
🔍
Elasticsearch 데이터베이스 & 데이터
🤖
Scikit-learn 데이터베이스 & 데이터
👁️
OpenCV 데이터베이스 & 데이터
Apache Spark 데이터베이스 & 데이터
🪶
SQLite 데이터베이스 & 데이터
Supabase 데이터베이스 & 데이터
🔵
Neo4j 데이터베이스 & 데이터
📨
Apache Kafka 데이터베이스 & 데이터
🐰
RabbitMQ 데이터베이스 & 데이터
🔤
Regex 유틸리티
📝
Markdown 유틸리티
📄
LaTeX 유틸리티
🔐
SSH & GPG 유틸리티
🌐
curl & HTTP 유틸리티
📜
reStructuredText 유틸리티
🚀
Postman 유틸리티
🎬
FFmpeg 유틸리티
🖼️
ImageMagick 유틸리티
🔍
ripgrep 유틸리티
🔍
fzf 유틸리티
📗
Microsoft Excel 오피스 애플리케이션
📘
Microsoft Word 오피스 애플리케이션
📙
Microsoft PowerPoint 오피스 애플리케이션
📝
한컴 한글 한컴오피스
📽️
한컴 한쇼 한컴오피스
📊
한컴 한셀 한컴오피스
📄
Google 문서 Google Workspace
📊
Google 스프레드시트 Google Workspace
📽️
Google 프레젠테이션 Google Workspace
🔌
Cadence Virtuoso EDA & 하드웨어
⚙️
Synopsys EDA EDA & 하드웨어
💎
Verilog & VHDL EDA & 하드웨어
LTSpice EDA & 하드웨어
🔧
KiCad EDA & 하드웨어
📝
Notion 생산성 도구
💎
Obsidian 생산성 도구
💬
Slack 생산성 도구
🎮
Discord 생산성 도구
🎨
Figma 디자인 도구
📘
Confluence Atlassian
📋
Jira Atlassian
🃏
Jest 테스팅
Vitest 테스팅
🎭
Playwright 테스팅
🌲
Cypress 테스팅
🌐
Selenium 테스팅
💙
Flutter 모바일 개발
📱
React Native 모바일 개발
🍎
SwiftUI 모바일 개발
📱
Expo 모바일 개발
🐍
Django 웹 프레임워크
FastAPI 웹 프레임워크
🌶️
Flask 웹 프레임워크
🍃
Spring Boot 웹 프레임워크
🍸
Gin 웹 프레임워크
Vite 빌드 도구
📦
Webpack 빌드 도구
esbuild 빌드 도구
🐘
Gradle 빌드 도구
🪶
Maven 빌드 도구
🔧
CMake 빌드 도구
🎮
Unity 게임 개발
🤖
Godot 게임 개발
🔌
Arduino 임베디드 & IoT
🔍
Nmap 보안
🐕
Datadog 모니터링
📖
Swagger/OpenAPI 문서화
검색 결과가 없습니다
EN KO
OS:

GDScript 기초

기본 문법

스크립트 구조
extends Node2D

# Class variables
var speed: float = 100.0
@export var health: int = 100
@onready var sprite = $Sprite2D

# Called when node enters scene tree
func _ready():
    print("Ready!")

# Called every frame
func _process(delta: float):
    position.x += speed * delta

# Called at fixed intervals (physics)
func _physics_process(delta: float):
    pass
변수와 타입
# Basic types
var integer: int = 42
var floating: float = 3.14
var text: String = "Hello"
var flag: bool = true

# Collections
var array: Array = [1, 2, 3]
var dict: Dictionary = {"key": "value"}
var vector: Vector2 = Vector2(10, 20)
var vector3: Vector3 = Vector3(1, 2, 3)

# Type inference
var inferred := 100  # int

# Constants
const MAX_SPEED := 500

# Enums
enum State { IDLE, WALKING, JUMPING }

노드

노드 연산

노드 접근
# Get child node
var child = $ChildName
var child = get_node("ChildName")

# Get nested child
var nested = $Parent/Child/GrandChild

# Get parent
var parent = get_parent()

# Get tree root
var root = get_tree().root

# Find nodes
var nodes = get_tree().get_nodes_in_group("enemies")
var node = get_node_or_null("MaybeExists")

# @onready - assigns after _ready
@onready var player = $Player
노드 조작
# Add/remove children
var node = Node2D.new()
add_child(node)
remove_child(node)
node.queue_free()  # Safe delete

# Reparent
node.reparent(new_parent)

# Instance scene
var scene = preload("res://Enemy.tscn")
var instance = scene.instantiate()
add_child(instance)

# Groups
add_to_group("enemies")
remove_from_group("enemies")
is_in_group("enemies")

입력

입력 처리

입력 액션
func _process(delta):
    # Check action state
    if Input.is_action_pressed("move_right"):
        position.x += speed * delta
    
    if Input.is_action_just_pressed("jump"):
        jump()
    
    if Input.is_action_just_released("attack"):
        end_attack()
    
    # Get axis value (-1 to 1)
    var horizontal = Input.get_axis("move_left", "move_right")
    var vertical = Input.get_axis("move_up", "move_down")
    var direction = Vector2(horizontal, vertical).normalized()
입력 이벤트
func _input(event):
    if event is InputEventKey:
        if event.pressed and event.keycode == KEY_ESCAPE:
            get_tree().quit()
    
    if event is InputEventMouseButton:
        if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
            shoot()
    
    if event is InputEventMouseMotion:
        look_at(event.position)

func _unhandled_input(event):
    # Only called if not handled by UI

물리

2D 물리

CharacterBody2D
extends CharacterBody2D

const SPEED = 300.0
const JUMP_VELOCITY = -400.0
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")

func _physics_process(delta):
    # Apply gravity
    if not is_on_floor():
        velocity.y += gravity * delta
    
    # Jump
    if Input.is_action_just_pressed("jump") and is_on_floor():
        velocity.y = JUMP_VELOCITY
    
    # Horizontal movement
    var direction = Input.get_axis("move_left", "move_right")
    if direction:
        velocity.x = direction * SPEED
    else:
        velocity.x = move_toward(velocity.x, 0, SPEED)
    
    move_and_slide()
충돌 감지
# Area2D signals
func _on_area_2d_body_entered(body):
    if body.is_in_group("player"):
        print("Player entered")

func _on_area_2d_body_exited(body):
    pass

# Raycast
var ray = $RayCast2D
if ray.is_colliding():
    var collider = ray.get_collider()
    var point = ray.get_collision_point()

# Direct space query
var space = get_world_2d().direct_space_state
var query = PhysicsRayQueryParameters2D.create(from, to)
var result = space.intersect_ray(query)

시그널

시그널 시스템

시그널
# Define signal
signal health_changed(new_health: int)
signal died

# Emit signal
func take_damage(amount: int):
    health -= amount
    health_changed.emit(health)
    if health <= 0:
        died.emit()

# Connect signal in code
func _ready():
    health_changed.connect(_on_health_changed)
    # Or with callable
    died.connect(func(): print("Player died"))

func _on_health_changed(new_health):
    $HealthBar.value = new_health

# One-shot connection
signal.connect(callback, CONNECT_ONE_SHOT)

애니메이션

AnimationPlayer

애니메이션 제어
@onready var anim = $AnimationPlayer

func _process(delta):
    if velocity.x != 0:
        anim.play("walk")
    else:
        anim.play("idle")

# Animation methods
anim.play("attack")
anim.play_backwards("attack")
anim.stop()
anim.pause()
anim.queue("next_anim")
anim.seek(1.5)  # Jump to time
anim.speed_scale = 2.0

# Check state
anim.is_playing()
anim.current_animation
트윈
# Create tween
var tween = create_tween()

# Animate properties
tween.tween_property(self, "position", Vector2(100, 100), 1.0)
tween.tween_property($Sprite2D, "modulate:a", 0.0, 0.5)

# Chaining
tween.tween_property(self, "scale", Vector2(2, 2), 0.5)
tween.tween_property(self, "scale", Vector2(1, 1), 0.5)

# Parallel
tween.set_parallel(true)

# Easing
tween.set_ease(Tween.EASE_IN_OUT)
tween.set_trans(Tween.TRANS_BOUNCE)

# Callbacks
tween.tween_callback(func(): print("Done"))

에디터 단축키

일반 단축키

F5 프로젝트 실행
F6 현재 씬 실행
F7 일시정지
F8 정지
Ctrl+S 씬 저장
Ctrl+Shift+S 모두 저장
Q 선택 모드
W 이동 모드
E 회전 모드
S 스케일 모드