← 홈

💜C#

⌘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

📝 C# 기본

📦 데이터 타입

int x = 10; 정수 (32비트)
long l = 10L; Long (64비트)
double d = 3.14; Double (64비트)
decimal m = 3.14m; Decimal (128비트)
bool b = true; 불리언
char c = 'A'; 문자 (16비트)
string s = "hello"; 문자열
var x = 10; 암시적 타입
const int MAX = 100; 상수

Nullable & 값 타입

int? nullable = null; Nullable 값 타입
nullable ?? 0 Null 병합
nullable?.Property Null 조건부
nullable ??= default; Null 병합 대입
object!.Method() Null 무시
Nullable.GetValueOrDefault() 값 또는 기본값 얻기

📋 배열 & 컬렉션

int[] arr = new int[5]; 배열 선언
int[] arr = { 1, 2, 3 }; 배열 초기화
int[,] matrix = new int[3, 3]; 2차원 배열
int[][] jagged = new int[3][]; 가변 배열
arr.Length 배열 길이
Array.Sort(arr) 배열 정렬
arr[^1] 끝에서 인덱스
arr[1..3] 범위 연산자

🏗️ 객체 지향 프로그래밍

📦 클래스 & 객체

public class MyClass { } 클래스 정의
public MyClass() { } 생성자
public MyClass(int x) : this() 생성자 체이닝
~MyClass() { } 파이널라이저
public int Property { get; set; } 자동 속성
public int Property { get; init; } 초기화 전용 속성
public required string Name { get; set; } 필수 속성 (C# 11)

🌳 상속 & 인터페이스

class Child : Parent 클래스 상속
class MyClass : IInterface 인터페이스 구현
base.Method() 부모 메서드 호출
virtual void Method() 가상 메서드
override void Method() 메서드 오버라이드
sealed class MyClass sealed 클래스
abstract class MyClass 추상 클래스
interface IMyInterface { } 인터페이스 정의

📝 레코드 & 구조체

record Person(string Name, int Age); 레코드 타입
record class Person { } 레코드 클래스
record struct Point(int X, int Y); 레코드 구조체
struct MyStruct { } 구조체 정의
readonly struct Point { } 읽기 전용 구조체
person with { Name = "New" } with 표현식

📚 컬렉션

📋 제네릭 컬렉션

List<T> 동적 배열
Dictionary<K, V> 키-값 딕셔너리
HashSet<T> 고유 집합
Queue<T> FIFO 큐
Stack<T> LIFO 스택
LinkedList<T> 연결 리스트
SortedSet<T> 정렬된 고유 집합
SortedDictionary<K, V> 정렬된 딕셔너리

컬렉션 연산

list.Add(item) 항목 추가
list.Remove(item) 항목 제거
list.Contains(item) 포함 확인
list.Find(x => x > 0) 조건으로 찾기
list.FindAll(x => x > 0) 조건으로 모두 찾기
list.Sort() 리스트 정렬
list.ForEach(x => Console.WriteLine(x)) 각 항목에 대해
dict.TryGetValue(key, out var value) 값 얻기 시도

🔍 LINQ

📝 쿼리 구문

from x in collection from 절
where x > 0 where 필터
orderby x.Name 정렬
orderby x descending 내림차순 정렬
select x.Property 선택 투영
select new { x.Name, x.Age } 익명 타입
group x by x.Category 그룹화
join y in col2 on x.Id equals y.Id 조인

🔧 메서드 구문

.Where(x => x > 0) 필터
.Select(x => x.Name) 투영
.OrderBy(x => x.Name) 오름차순 정렬
.OrderByDescending(x => x) 내림차순 정렬
.GroupBy(x => x.Category) 그룹화
.Join(col2, x => x.Id, y => y.Id, (x, y) => ...) 컬렉션 조인
.SelectMany(x => x.Items) 중첩 평탄화
.Distinct() 중복 제거

📊 집계 & 수량자

.Count() 요소 수
.Sum(x => x.Value) 값 합계
.Average(x => x.Value) 평균
.Min() / .Max() 최소/최대
.First() / .FirstOrDefault() 첫 번째 요소
.Single() / .SingleOrDefault() 단일 요소
.Any(x => x > 0) 조건 일치 여부
.All(x => x > 0) 모두 일치 여부

Async/Await

🔄 비동기 패턴

async Task<T> MethodAsync() 비동기 메서드
await task 태스크 대기
await Task.WhenAll(tasks) 모두 대기
await Task.WhenAny(tasks) 하나 대기
Task.Run(() => { }) 스레드 풀에서 실행
Task.Delay(1000) 비동기 지연
.ConfigureAwait(false) 동기화 컨텍스트 없음
CancellationToken token 취소 토큰

🌊 비동기 스트림 (C# 8+)

async IAsyncEnumerable<T> Method() 비동기 열거 가능
yield return item; yield return
await foreach (var x in stream) await foreach
[EnumeratorCancellation] CancellationToken token 취소 지원

🎯 패턴 매칭

📋 패턴 타입

is int n 타입 패턴
is { Name: "test" } 속성 패턴
is (int x, int y) 위치 패턴
is > 0 관계 패턴
is > 0 and < 10 논리 패턴
is not null 부정 패턴
is [1, 2, ..] 리스트 패턴 (C# 11)

🔀 Switch 표현식

x switch { pattern => result } switch 표현식
_ => defaultValue 무시 패턴
int n when n > 0 => ... when 절
case int n: break; case 패턴

💡 팁 & 모범 사례

유용한 팁

  • Nullable 참조 타입 사용 (#nullable enable)
  • 불변 데이터에 record 사용
  • 깔끔한 조건문에 패턴 매칭 사용
  • 메서드 매개변수에 IEnumerable 선호
  • 컬렉션 연산에 LINQ 사용
  • I/O 작업에 async/await 사용
  • 문자열 보간 $"text {var}" 사용
  • 성능 중요 코드에 Span 사용