← 홈

🐘PHP

⌘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

📝 PHP 기초

📄 구문

<?php ... ?> PHP 열기/닫기 태그
<?= $var ?> 짧은 출력 태그
// comment 한 줄 주석
/* multi-line */ 여러 줄 주석
echo "Hello"; 문자열 출력
print "Hello"; 출력 (1 반환)
var_dump($var); 변수 디버그
print_r($arr); 배열 읽기 쉽게 출력

📦 변수 & 타입

$var = "value"; 변수 선언
$str = "Hello"; 문자열
$int = 42; 정수
$float = 3.14; 실수
$bool = true; 불리언
$arr = [1, 2, 3]; 배열
$null = null;
define("CONST", "value"); 상수 정의
const CONST = "value"; 클래스 상수
gettype($var) 타입 가져오기
(int)$var, (string)$var 타입 변환
isset($var) 설정 여부 확인
empty($var) 빈 값 확인
is_null($var) null 확인

🔣 연산자

+ - * / % 산술 연산자
** (power) 거듭제곱
== != < > <= >= 비교 연산자
=== !== 동일 (타입 + 값)
<=> (spaceship) 결합 비교
&& || ! 논리 연산자
?? Null 병합
??= Null 병합 할당
?: 삼항 연산자
. 문자열 연결
.= 연결 할당

🔤 문자열

📝 문자열 함수

strlen($str) 문자열 길이
str_word_count($str) 단어 수
strrev($str) 문자열 뒤집기
strpos($str, $find) 위치 찾기
str_replace($find, $replace, $str) 문자열 교체
substr($str, $start, $length) 부분 문자열
strtoupper($str) 대문자
strtolower($str) 소문자
ucfirst($str) 첫 글자 대문자
ucwords($str) 단어 첫 글자 대문자
trim($str) 공백 제거
ltrim($str), rtrim($str) 왼쪽/오른쪽 트림
explode(",", $str) 배열로 분할
implode(",", $arr) 배열 합치기
sprintf("%s: %d", $s, $n) 문자열 포맷
number_format($num, 2) 숫자 포맷

📄 문자열 구문

"Hello $name" 변수 보간
"Hello {$arr[0]}" 복잡한 보간
'No $interpolation' 작은따옴표 (리터럴)
<<<EOT ... EOT; Heredoc 구문
<<<'EOT' ... EOT; Nowdoc 구문

📋 배열

📦 배열 생성

$arr = [1, 2, 3]; 인덱스 배열
$arr = ["a" => 1, "b" => 2]; 연관 배열
array(1, 2, 3) 배열 함수
range(1, 10) 범위 배열
array_fill(0, 5, "x") 배열 채우기

🔧 배열 함수

count($arr) 배열 길이
array_push($arr, $val) 끝에 추가
array_pop($arr) 끝에서 제거
array_unshift($arr, $val) 처음에 추가
array_shift($arr) 처음에서 제거
array_merge($arr1, $arr2) 배열 병합
array_slice($arr, $start, $len) 배열 자르기
array_splice($arr, $start, $len) 요소 제거/교체
in_array($val, $arr) 존재 여부 확인
array_search($val, $arr) 값 검색
array_keys($arr) 키 가져오기
array_values($arr) 값 가져오기
array_flip($arr) 키/값 교환
array_reverse($arr) 배열 뒤집기
array_unique($arr) 중복 제거
sort($arr), rsort($arr) 배열 정렬
asort($arr), ksort($arr) 값/키로 정렬
usort($arr, $callback) 커스텀 정렬

🔄 배열 반복

array_map($fn, $arr) 배열에 함수 매핑
array_filter($arr, $fn) 배열 필터
array_reduce($arr, $fn, $init) 배열 축소
array_walk($arr, $fn) 함수 적용
array_column($arr, "key") 컬럼 추출

🔀 제어 흐름

조건문

if ($cond) { } if 문
if ($c) { } else { } if-else
if ($c) { } elseif ($c2) { } elseif
$cond ? $true : $false 삼항 연산자
$val ?? $default Null 병합
switch ($var) { case "a": break; } switch 문
match ($var) { "a" => 1, default => 0 } match 표현식 (PHP 8)

🔄 반복문

for ($i = 0; $i < 10; $i++) { } for 루프
foreach ($arr as $val) { } foreach 루프
foreach ($arr as $key => $val) { } 키와 함께 foreach
while ($cond) { } while 루프
do { } while ($cond); do-while 루프
break; 루프 종료
continue; 반복 건너뛰기

⚙️ 함수

📝 함수 구문

function name($arg) { return $val; } 함수 정의
function name($arg = "default") 기본 매개변수
function name(string $arg): int 타입 힌트
function name(?string $arg) Nullable 타입
function name(mixed $arg) mixed 타입 (PHP 8)
function name(&$arg) 참조로 전달
function name(...$args) 가변 인자 함수
fn($x) => $x * 2 화살표 함수
$fn = function($x) { return $x; }; 익명 함수
$fn = function($x) use ($y) { }; use가 있는 클로저

🔧 내장 함수

abs($num) 절대값
round($num, $dec) 숫자 반올림
ceil($num), floor($num) 올림/내림
min($arr), max($arr) 최소/최대값
rand($min, $max) 난수
date("Y-m-d") 날짜 포맷
time() 현재 타임스탬프
strtotime("next Monday") 날짜 문자열 파싱
json_encode($arr) JSON으로 인코딩
json_decode($json, true) JSON 디코딩

🏛️ 객체 지향

📦 클래스

class MyClass { } 클래스 정의
$obj = new MyClass(); 인스턴스 생성
public $prop; public 속성
private $prop; private 속성
protected $prop; protected 속성
readonly public $prop; 읽기 전용 속성
public function __construct() { } 생성자
public function __destruct() { } 소멸자
$this->prop 인스턴스 속성 접근
self::$prop 정적 속성 접근
static::method() 늦은 정적 바인딩

🔗 상속 & 인터페이스

class Child extends Parent { } 상속
parent::__construct() 부모 생성자 호출
interface MyInterface { } 인터페이스 정의
class C implements Interface { } 인터페이스 구현
abstract class A { } 추상 클래스
abstract public function m(); 추상 메서드
final class C { } final 클래스
trait MyTrait { } 트레이트 정의
use MyTrait; 트레이트 사용

모던 PHP (8+)

public function __construct(public $prop) 생성자 프로모션
#[Attribute] 어트리뷰트
str_contains($h, $n) 문자열 포함
str_starts_with($h, $n) 문자열 시작
str_ends_with($h, $n) 문자열 끝
enum Status: string { case A = "a"; } 열거형 (PHP 8.1)
$obj?->method() Nullsafe 연산자
MyClass::class 클래스 이름 상수

🌐 웹 개발

🌍 슈퍼글로벌

$_GET["param"] GET 매개변수
$_POST["field"] POST 데이터
$_REQUEST GET + POST + COOKIE
$_SERVER["REQUEST_METHOD"] 서버/요청 정보
$_SESSION["key"] 세션 데이터
$_COOKIE["name"] 쿠키 데이터
$_FILES["upload"] 업로드된 파일
$_ENV["VAR"] 환경 변수

🍪 세션 & 쿠키

session_start(); 세션 시작
$_SESSION["key"] = $val; 세션 값 설정
session_destroy(); 세션 파괴
setcookie("name", "value", time()+3600); 쿠키 설정
setcookie("name", "", time()-3600); 쿠키 삭제

📡 HTTP & 헤더

header("Location: /page"); 리다이렉트
header("Content-Type: application/json"); 콘텐츠 타입 설정
http_response_code(404); 응답 코드 설정
headers_sent() 헤더 전송 여부 확인
exit; / die("msg"); 실행 중지

💾 파일 & 데이터베이스

📁 파일 작업

file_get_contents($path) 파일 내용 읽기
file_put_contents($path, $data) 파일에 쓰기
file_exists($path) 파일 존재 확인
is_file($path), is_dir($path) 타입 확인
fopen($path, "r") 파일 핸들 열기
fread($handle, $length) 핸들에서 읽기
fwrite($handle, $data) 핸들에 쓰기
fclose($handle) 핸들 닫기
unlink($path) 파일 삭제
copy($src, $dst) 파일 복사
rename($old, $new) 파일 이름 변경/이동
mkdir($path, 0755, true) 디렉토리 생성
scandir($path) 디렉토리 목록

🗄️ PDO 데이터베이스

$pdo = new PDO($dsn, $user, $pass); 데이터베이스 연결
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 오류 모드 설정
$stmt = $pdo->prepare($sql); 문 준비
$stmt->execute([$val]); 매개변수로 실행
$stmt->bindParam(":name", $val); 매개변수 바인딩
$row = $stmt->fetch(PDO::FETCH_ASSOC); 한 행 가져오기
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 모든 행 가져오기
$pdo->lastInsertId() 마지막 삽입 ID
$pdo->beginTransaction(); 트랜잭션 시작
$pdo->commit(); $pdo->rollBack(); 커밋/롤백

⚠️ 오류 처리

🚨 예외

try { } catch (Exception $e) { } try-catch 블록
catch (TypeError | ValueError $e) 여러 예외
finally { } finally 블록
throw new Exception("msg"); 예외 던지기
$e->getMessage() 오류 메시지 가져오기
$e->getCode() 오류 코드 가져오기
$e->getTrace() 스택 트레이스 가져오기
class MyException extends Exception { } 커스텀 예외

⚙️ 오류 설정

error_reporting(E_ALL); 모든 오류 보고
ini_set("display_errors", 1); 오류 표시
set_error_handler($callback); 커스텀 오류 핸들러
set_exception_handler($callback); 커스텀 예외 핸들러
trigger_error("msg", E_USER_ERROR); 오류 트리거