전체 글 244

하나의 질문, 여러 프롬프트 기법으로 달라지는 답변

예시 질문 "서울과 부산의 거리를 알려줘."1. Zero-shot Prompting아무 예시나 추가 지시 없이 바로 질문하는 방식입니다. 장점: 간단하고 빠름.단점: 답변 형식이 일관되지 않을 수 있음.서울과 부산의 거리를 알려줘.답변 예시: "약 325km입니다." 2. Few-shot Prompting원하는 형식의 예시를 몇 개 보여주고, 같은 패턴을 유도합니다. 장점: 출력 형식을 제어 가능.단점: 예시를 준비해야 함. Q: 서울과 인천의 거리를 알려줘.A: 약 30km입니다.Q: 대전과 대구의 거리를 알려줘.A: 약 150km입니다.Q: 서울과 부산의 거리를 알려줘.A: 약 325km입니다. 3. Chain-of-Thought (CoT)중간 추론 과정을 유도해 답변의 근거를 강화합니다. 장점: 신..

AI 2025.10.01

K8S Kind 정리

1) kind 클러스터 구성 파일 기본 구조루트 kind: kind: Cluster, apiVersion: kind.x-k8s.io/v1alpha4최상위 키: nodes, networking, featureGates, containerdConfigPatches, kubeadmConfigPatches 등노드 역할: control-plane, workerKubernetes 버전: image: kindest/node:2) 핵심 옵션 요약 (필수만 압축) 섹션키설명예시/메모nodes[].rolecontrol-plane / worker노드 역할 지정최소 1개 control-planenodes[].imagekindest/node 태그K8s 버전 고정예: v1.30.xnodes[].extraPortMappings호스..

ETC/k8s 2025.09.29

파이선 문법 정리 _ 2

1. 해시맵(dict), Counter, defaultdict 파이썬의 dict는 해시맵입니다. 빈도수 계산이나 그래프 인접리스트를 만들 때 자주 씁니다.from collections import Counter, defaultdict# dict 기본 사용d = {}d['apple'] = d.get('apple', 0) + 1 # 키가 없으면 0에서 시작exists = 'apple' in d # 키 존재 여부 확인# Counter: 빈도수 계산cnt = Counter([1, 2, 2, 3, 3, 3]) # Counter({3:3, 2:2, 1:1})# defaultdict: 키가 없을 때 자동 생성g = defaultdict(list)g[1].append(2) # {..

Language/Python 2025.09.29

파이선 문법 정리

1. 전역 변수 vs 지역 변수# 전역 변수x = 10 # 전역 변수def foo(): y = 5 # 지역 변수 print("지역:", y) print("전역 접근:", x)foo()print("전역:", x)# 전역 변수 변경x = 10 # 전역 변수def update(): global x x = x + 5 # 전역 변수 직접 수정 print("함수 안:", x)update()print("함수 밖:", x)## 변경후 출력함수 안: 15함수 밖: 15 전역 변수(Global): 함수 밖에서 정의 → 프로그램 전체에서 접근 가능지역 변수(Local): 함수 안에서 정의 → 함수 내에서만 유효함수 안에서 전역 변수 수정 → global 키워드 필요2. 클래스..

Language/Python 2025.09.29

파이썬 기본 문법 정리

1. 출력 / 입력print("Hello, World!") # 출력name = input("이름을 입력하세요: ") # 입력 2. 변수와 자료형자료형예시비고정수(int)a = 10 실수(float)b = 3.14 문자열(str)c = “python”작은따옴표도 가능불리언(bool)d = TrueTrue / False리스트(list)arr = [1,2,3]순서, 수정 가능튜플(tuple)t = (1,2,3)순서, 수정 불가딕셔너리(dict)dic = {“a”:1, “b”:2}key-value세트(set)s = {1,2,3}중복 제거, 집합 연산 3. 연산자# 산술 연산a + b, a - b, a * b, a / b, a // b(몫), a % b(나머지), a ** b(제곱)# 비교 연산==, !=..

Language/Python 2025.09.29

HTTP/1.1 vs HTTP/2 차이

1. 전송 방식HTTP/1.1 → 사람이 읽을 수 있는 텍스트 기반 프로토콜HTTP/2 → 네트워크 효율성을 위해 바이너리 프레임 단위로 데이터 전송텍스트 기반은 디버깅이 쉽지만, 성능상 불리합니다. 반면 바이너리 기반은 가볍고 파싱 속도가 빠릅니다.2. 동시성 (멀티플렉싱)HTTP/1.1 → 한 TCP 연결에서 요청/응답이 순차적으로만 처리됩니다.하나의 요청이 느리면 뒤의 요청이 모두 대기해야 하는 HOL(Head Of Line) Blocking 문제가 발생합니다.HTTP/2 → 멀티플렉싱 지원으로 하나의 연결에서도 여러 요청/응답을 병렬로 처리할 수 있습니다.예시:HTTP/1.1 → HTML → (대기) → CSS → (대기) → JSHTTP/2 → HTML, CSS, JS 를 동시에 내려줌3. 헤더..

Server 2025.09.25

gRPC란 무엇인가

정의Google이 만든 고성능 RPC 프레임워크. HTTP/2 + Protocol Buffers(ProtoBuf) 를 사용해 서버 간 통신을 최적화합니다.핵심 아이디어원격 서버의 함수를 지역 함수처럼 호출(stub 호출)하고, 요청/응답 데이터를 바이너리(ProtoBuf) 로 직렬화해 작고 빠른 전송을 달성합니다.전송 패턴단건(Unary), 서버 스트리밍, 클라이언트 스트리밍, 양방향 스트리밍(bidi) 모두 지원합니다.왜 gRPC를 쓰는가 (HTTP/2 + ProtoBuf의 이점)HTTP/2 멀티플렉싱: 하나의 커넥션에서 여러 요청/응답을 동시 처리(Head-of-line blocking 최소화).헤더 압축(HPACK): 반복되는 헤더 전송 비용 축소.바이너리 직렬화(ProtoBuf): JSON 대비 ..

BackEnd 2025.09.25

쿠버네티스(Kubernetes) 정리 & Kind 예시

1) 왜 쿠버네티스인가: 역사·배경컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼 입니다.쿠버네티스란 명칭은 키잡이(helmsman)나 파일럿을 뜻하는 그리스어에서 유래 K8s라는 표기는 "K"와 "s"와 그 사이에 있는 8글자를 나타내는 약식 표기이다. 구글이 2014년에 쿠버네티스 프로젝트를 오픈소스화했다. 쿠버네티스는 프로덕션 워크로드를 대규모로 운영하는 15년 이상의 구글 경험과 커뮤니티의 최고의 아이디어와 적용 사례가 결합되어 있다.참고 : https://kubernetes.io/ko/docs/concepts/overview/ 2) 쿠버네티스 한 장 요약서비스 디스커버리와 로드 밸런싱 쿠버네티스는 각 Pod에 고유한 IP를 부여하고, Servic..

ETC/k8s 2025.09.25

Django에서 wsgi.py와 asgi.py가 둘 다 있는 이유

Django는 기본적으로 두 가지 실행 환경을 모두 지원합니다. wsgi.pyWSGI(Web Server Gateway Interface) 용 진입점전통적인 동기 방식 서버 (예: Gunicorn, uWSGI, mod_wsgi)에서 사용안정적이고 오래 쓰여 왔으며, HTTP 요청/응답 처리에 최적화단점: WebSocket, 비동기 처리 불가asgi.pyASGI(Asynchronous Server Gateway Interface) 용 진입점최신 비동기 서버 (예: Uvicorn, Daphne, Hypercorn)에서 사용HTTP + WebSocket + 장기 연결 같은 비동기 기능 지원Django 3.0 이후 공식 지원왜 둘 다 있나?Django는 레거시(WSGI)와 최신(ASGI) 환경 모두 지원운영 환..

BackEnd/Django 2025.09.23

Spring Boot vs Django: 가장 큰 차이와 구조적 특징 비교

1. 히스토리와 철학Spring BootJava 진영의 전통적인 Spring Framework를 기반으로 2014년 등장.“설정 지옥(XML)” 문제를 해결하기 위해 자동 설정(Auto Configuration), Starter 패키지 제공.IoC / DI 컨테이너(Bean 관리), AOP, Annotation 기반 설정이 핵심.대규모 엔터프라이즈 시스템, MSA 환경에 맞춰 발전.DjangoPython 진영의 대표 웹 프레임워크, 2005년 등장.MTV(Model–Template–View) 패턴 기반.“Batteries included” 철학: ORM, Admin, Auth 등 기본 기능을 모두 포함.빠른 개발 속도(Production-ready) 지향.2. 내부 구조와 동작 순서Spring Boot어..

BackEnd 2025.09.23