전체 글68 쿠버네티스 란? 0. 컨테이너(Container)컨테이너는 (앱 + 필요한 환경)을 묶은 실행 단위로 "애플리케이션을 실행하는 작은 박스"라고 생각하면 됩니다. 구성 요소프로그램 실행파일 (예: FastAPI 서버)필요한 라이브러리/의존성 (Python 패키지, OS 툴 등)최소한의 OS 환경(리눅스 기반)➡️ 그래서 "한번 만들면 어디서든 똑같이 실행" 됩니다.왜 필요할까?기존 방식 (VM vs 서버 직접 배포)개발 PC에서는 잘 되는데 서버에 올리면 에러 → "환경이 달라서" 생기는 문제 VM(가상머신)은 무겁고 느림 → OS 전체를 올려야 해서 리소스 낭비 컨테이너 방식 필요한 것만 묶어서 실행 → 가볍고 빠름서로 다른 앱을 같은 서버에서 독립적으로 실행 가능 (충돌 없음)+💡 도커(Docker)란?컨테이너 엔.. 2025. 9. 10. Redis 란? 0. 들어가기 앞서저는 현재 회사에서 챗봇 프로젝트를 진행 중인데, 최근 회의에서 Redis 도입에 대한 이야기가 나왔습니다.MongoDB만으로도 기본적인 대화 저장은 가능하지만, Redis를 활용하면 챗봇 서비스 특성상 다음과 같은 장점들을 얻을 수 있다는 점이 떠올라 정리를 시작하게 되었습니다.1. Redis 란?Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터 베이스 관리 시스템(DBMS)Remote Dictionary Server의 줄임말일반적인 DB(MySQL, MongoDB 등)는 디스크에 데이터를 저장하지만, Redis는 RAM(메모리)에 저장하기 때문에 속도가 매우 빠름단순 키-값(Key-value) 저장뿐만 아니라, List, Set, H.. 2025. 9. 3. UV 란? 저는 python으로 개발하면서 프로젝트의 의존성과 가상환경, 라이브러리들을 사용하면서 requirement.txt와 miniconda 등을 사용해 보았는데요. 요새 가장 핫한 uv를 활용하는 방법을 알아보겠습니다.1. UV 란 "uv"는 최근 파이썬 패키지 관리 및 실행 도구로 각광받고 있는 툴입니다.기존의 pip, venv, virtualenv, pip-tools 등을 통합해서 더 빠르고 단순하게 만든 차세대 Python 패키지 매니저 입니다.패키지 관리: pip install과 비슷하게 PyPI에서 패키지를 설치합니다.환경 관리: venv처럼 가상환경을 자동으로 만들어서 격리 실행합니다.프로젝트 실행: Node.js의 npx처럼 의존성을 즉석에서 설치하고 실행할 수도 있습니다.성능: Rust 기반이.. 2025. 9. 3. marked vs react-markdown 1. marked 란?마크다운 문자열을 HTML 문자열로 변환해 줍니다.import { marked } from "marked";const html = marked.parse("**굵게**");console.log(html); // 굵게출력 결과: 단순히 HTML 문자열이 나옵니다.React 에서 쓰려면 HTML을 그대로 넣어야하니깐 'dangerouslySetInnerHTML' 같은 방식이 필요합니다.function MyComponent() { const htmlString = "안녕하세요"; return ( );} 장점단독으로 가볍게 쓸 수 있음 (리액트 아니어도 동작).highlight.js 같은 것과 쉽게 붙일 수 있음.단점React 컴포넌트로 바로 쓸 수 없음.dangerously.. 2025. 9. 3. FastAPI 란? 1. FastAPI1.1 FastAPI 란?FastAPI는 Python 3.6 이상에서 작동하며, 다음과 같은 특징을 갖는 API 서버 개발을 위한 프레임워크 입니다. 🚀 FastAPI의 핵심 특징특징설명 🔹 비동기 지원async/await 기반으로 비동기 I/O 처리를 완벽하게 지원합니다 (예: MongoDB, 외부 API 등과 효율적 연동).🔹 자동 문서 생성/docs (Swagger UI), /redoc 경로에 API 문서가 자동으로 생성됩니다.🔹 타입 기반 개발Pydantic과 Python 타입 힌트를 사용하여 입출력 데이터 자동 검증 및 자동 문서화가 됩니다.🔹 고성능Starlette와 Pydantic 위에 구축되어, Flask보다 3~5배 빠름 (Uvicorn으로 실행 시).🔹 간결.. 2025. 8. 29. Ubuntu에서 MongoDB 설치·설정·보안·접속 정리 회사 프로젝트를 진행하며 MongoDB 설치 → 데이터 경로 변경(별도 디스크) → 계정/보안 설정 → 외부 접속(Compass, SSH 터널) 까지 실전에서 겪은 내용을 한 번에 정리했습니다. 그대로 따라 하면 끝나는 복붙용 명령어와 트러블슈팅까지 포함되어 있습니다. 0) 환경 & 전제 조건OS: Ubuntu 22.04 LTS (jammy)권한: sudo 가능 계정서버: 클라우드 VM (프론트·백엔드·MongoDB 동일 서버)별도 데이터 디스크: /mnt/ph (예: 2TB)버전 선택 가이드 (7.0 vs 8.0)프로덕션 보수적 운영: 7.0 권장(사례 풍부, 호환성 안정)최신 기능 테스트: 8.0 사용 가능본문 기본 예시는 8.0 기준이지만, 7.0을 쓰려면 저장소 라인만 7.0으로 바꾸면 됩니다.1.. 2025. 8. 19. 반응형 vs 적응형 웹이란? 1.1 반응형 웹(Responsive Web Design, RWD)사용자의 기기 화면 크기나 해상도에 따라 웹 페이지 레이아웃이 자동으로 최적화되도록 설계된 웹 기술 방식 입니다. 1.2 반응형 웹은 왜 필요한가?사용자는 다양한 기기를 사용하고 기기들은 각각 다른 화면을 가지고 있기 때문에 다른 기기에서 보았을 때 웹사이트가 깨지거나 너무 작게 표시 될수 있어 이를 막기 위해 사용됩니다. 데스크탑 (1920px 이상)태블릿 (768px ~ 1024px)스마트폰 (375px ~ 768px)1.3 반응형 웹의 핵심 개념개념설명유동적인 레이아웃 (fluid layout)px 대신 %, vw, vh 등 상대 단위를 사용해서 화면에 맞게 넓이나 높이를 설정미디어 쿼리 (media query)화면 크기에 따라 다.. 2025. 7. 31. 회원가입 (리액트 스터디) # 전체 코드import React, { useState } from 'react';import { useNavigate } from 'react-router-dom';import { signup } from '../../services/auth'import './SignupPage.css';const SignupPage = () => { const navigate = useNavigate(); const [formData, setFormData] = useState({ username: '', nickname: '', email: '', password: '', age: '', gender: '', is_.. 2025. 7. 29. FAISS란? 1. FAISS(Facebook AI Similarity Search)고차원 벡터들 간의 유사도(거리)를 빠르게 계산해서, 가장 유사한 벡터들을 찾아주는 라이브러리 입니다.Meta(구 페이스북) AI에서 만들었습니다.문서 검색, 이미지 검색, 추천 시스템 등에서 "비슷한 것" 빠르게 찾기성능은 수천~수백만 개 벡터도 빠르게 처리 가능 (CPU/GPU 모두 지원)2. 왜 FAISS를 쓰는가?예를 들어 챗봇에서 아래와 같은 흐름이 있다고 한다면사용자 질문 → 질문을 벡터로 변환 → 기존 답변들과 비교해서 가장 유사한 것 찾기 이때 질문도, 기존 답변도 임베딩(embedding)이라는 벡터로 표현됩니다.이 벡터들 사이에서 가장 가까운(=유사한) 것을 찾는 게 FAISS의 역할입니다.그렇다면 임베딩은 뭔가요?“.. 2025. 7. 25. 이전 1 2 3 4 ··· 8 다음