전체 글 12

[딥 다이브] REST API의 Stateless 설계

1. 주제🎯REST API의 Stateless 원칙을 설명하고, AI 모델 서빙에서 세션 기반 요청(예: 대화 히스토리 유지)과 Stateless API 설계가 충돌할 때 어떤 해결 전략이 필요한지 분석하시오. 2. REST API의 Stateless란?가. 정의REST 자원을 이름으로 구분하여, 약속된 표현 양식으로 해당 자원의 상태(정보)를 주고받는 방식API운영체제와 응용 프로그램 사이의 통신에 사용되는 언어나 메시지 형식Stateless클라이언트와 서버 간 통신에서 서버가 클라이언트의 상태를 보존하지 않는 것Stateful클라이언트와 서버 간 통신에서 서버가 클라이언트의 상태를 보존하는 것나. 사용 이유Stateless 서버의 확장성과 안정성을 높이기 위함3. Stateless 원칙가. 세션(상..

archive 2026.01.09

[Lyrics ppt 생성기] 기술 스택과 개발 환경

지난 글에서는 찬양 가사 PPT 제작의 문제점과, 이를 자동화하려는 프로젝트의 목적을 이야기했습니다.이번 글에서는 실제로 이 프로젝트를 구현하기 위해 제가 선택한 기술 스택과 개발 환경을 소개하려고 합니다.1. 시스템 구조 개요이 프로젝트는 크게 두 부분으로 나눌 수 있습니다.PPT 생성 로직 (백엔드)Python 기반python-pptx 라이브러리를 활용해 실제 PowerPoint 파일을 자동으로 생성사용자 인터페이스 (프론트엔드)Streamlit을 활용한 간단한 웹 UI사용자가 직접 제목과 가사를 입력하고, 생성된 PPT를 다운로드 가능즉, Python 코드가 핵심 로직을 담당하고, Streamlit이 사용자 친화적인 UI를 제공하는 구조입니다.2. PythonPPT 자동화를 위해 가장 먼저 선택한 ..

[Lyrics ppt 생성기] 프로젝트 소개 및 문제 정의

프로젝트 소개와 문제 정의안녕하세요 👋오늘부터는 제가 직접 진행하고 있는 프로젝트 "Lyrics PPT Generator – 가사 PPT 제작 자동화 시스템"에 대해 기록해보려고 합니다.이번 시리즈는 총 4편으로 나누어, 처음 기획부터 기술 스택 선택, 구현 과정, 그리고 실제 실행 화면까지 하나씩 공유할 예정입니다.1. PPT 제작, 왜 힘든 걸까?교회 예배나 소그룹 모임에서 찬양을 인도하다 보면 반드시 필요한 것이 있습니다. 바로 가사 PPT입니다.예를 들어, 주일 예배 바로 이전 이렇게 준비한다고 해보겠습니다.당일 콘티를 확인한다.인터넷에서 가사를 검색해서 복사한다.파워포인트를 열고 가사를 붙어 넣는다.가사의 흐름이 끊기지 않게 두 줄씩 배치한다.글자 크기를 조정하고, 중앙 정렬을 맞추고, 줄 간..

[Lyrics ppt 생성기] 프로젝트 계획서

이번에는 찬양 가사 ppt 제작의 불편함을 개선하고자 위와 같은 주제로 프로젝트를 진행하려 합니다. 아래와 같이 계획서를 작성해 보았고, 얼마나 걸릴지, 순서대로 잘 진행될지는 모르겠으나 일단 시작해보려 합니다!Euodia Lyrics PPT 자동화 시스템 개발 계획서1. 프로젝트 개요프로젝트명Euodia Lyrics PPT Generator _ 가사 PPT 제작 자동화 시스템개발 기간2025년 8월 ~ 2025년 12월 예상 (4개월)개발 목적수동으로 진행되는 찬양 가사 PPT 제작 과정을 자동화하여 작업 효율성을 높이고, 일관된 품질의 프레젠테이션을 신속하게 생성할 수 있는 시스템 구축2. 문제 정의 및 필요성현재 문제점시간 소모: 가사 PPT 제작에 많은 시간이 소요됨반복 작업: 매번 동일한 포맷팅..

[백준] 1312번 : 소수

문제 설명정수 A를 B로 나눈 값을 소수점 아래로 N번째 자리까지 계산할 때,N번째 소수 자릿수가 무엇인지 출력하는 문제입니다.예를 들어,A = 1, B = 3, N = 2 라면 → 1 ÷ 3 = 0.333... → 소수점 아래 2번째 자리: 3첫 시도 코드: 런타임 에러 발생A, B, N = map(int, input().split())x = A / By = str(x).find(".")result = int(str(x)[y + N])print(result)문제점 분석부동소수점(floating point) 오차 문제실수 계산 결과는 0.3333333333333333...처럼 근사치로 표현됨특히, 순환소수는 정확히 표현할 수 없음인덱스 에러 가능성str(x)[y + N]에서 N이 커지면 해당 위치가 존재..

Baekjoon 2025.05.12

[백준] 1032번 : 명령 프롬프트

문제 설명여러 개의 파일 이름이 주어졌을 때, 공통된 패턴을 찾아야 하는 문제입니다.각 파일명은 같은 길이를 가지고 있으며,모든 파일에서 같은 위치에 같은 문자가 있는 경우는 해당 문자를 출력하고,하나라도 다르면 ?로 출력해야 합니다.문제 핵심문자열 배열에서 세로 방향으로 비교해서 공통된 문자를 찾는 문제한 문자라도 다르면 ?를 출력모든 파일 이름은 같은 길이를 가짐 → 이 점을 이용해서 인덱스로 직접 접근 가능1차 시도 _ 런타임 에러T = int(input())a = []result = []for i in range(T): string_list = list(input()) a.append(string_list) print(a) # 디버깅용 출력if T == 1: print(in..

Baekjoon 2025.05.09

[백준] 1181번 : 단어 정렬

문제 설명단어 N개를 입력받아 다음과 같은 조건으로 정렬하는 프로그램을 작성하는 문제입니다.길이가 짧은 것부터길이가 같으면 사전 순으로단, 중복된 단어는 하나만 남기고 제거해야 한다.접근 방법먼저 입력된 단어에서 중복 제거가 필요합니다.그런 다음, 단어 리스트를 두 가지 기준으로 정렬해야 합니다:1순위: 길이2순위: 사전 순코드T = int(input())ls = []for i in range(T): x = input() if x not in ls: ls.append(x)# 길이 우선 정렬, 같은 길이면 사전순ls.sort(key=lambda x: (len(x), x))for word in ls: print(word)핵심 : ls.sort(key=lambda x: (len(x..

Baekjoon 2025.05.08

[백준] 1010번 : 다리 놓기

문제 설명서쪽에 N개의 사이트, 동쪽에 M개의 사이트가 있을 때,서쪽의 사이트 각각에 대해 동쪽의 사이트와 다리를 연결하는 경우의 수를 구하는 문제입니다.단, 다리는 서로 겹치지 않게 설치해야 합니다.문제 핵심이 문제는 결국 조합(Combination) 문제입니다.즉,M개의 동쪽 사이트 중에서 N개를 선택하는 경우의 수를 구하면 됩니다.이유는 다음과 같습니다:다리는 서로 겹치면 안 되기 때문에 순서가 중요하지 않음 → 조합다리는 일직선으로 설치되므로, M개 중 N개만 고르면 자동으로 겹치지 않게 연결됨 📐 조합 공식조합은 다음 수학 공식으로 표현됩니다:​n! : 1부터 n까지 곱한 값 (팩토리얼)C(n, r) : n개 중 r개를 순서 없이 고르는 경우의 수🧾 파이썬 풀이 코드# 팩토리얼을 계산하는 ..

Baekjoon 2025.05.07

[Agent]Agent(에이전트)란 무엇인가? _ 구글 백서

이 글은 개인 공부를 위해 작성한 글로 계속 수정이 이뤄질 예정입니다.1. Agent란?스스로 여러 단계를 거치며 사고하고, 목표를 달성하기 위해 외부 데이터를 활용하고 도구를 사용하며 자율적으로 행동하는 시스템기존의 LLM 기반 시스템과는 차별화된 특징을 가지고 있음1) 전체적 구조 Orchestration, Tools, Model 세 가지 요소로 구성Orchestration사용자가 미리 정한 profile, goals, instructions을 기반으로 사고를 하기 시작기억을 이용하여 이전 정보를 활용계획을 수립Tools자신이 수행할 수 없는 경우 외부에서 Tools(API)을 가져와 사용GET, POST, PATCH, DELETE 메서드 활용 가능ModelLLM (대규모 언어 모델, Large La..

archive 2025.04.11

LangChain이란?

이 글은 개인 공부를 위해 작성한 글로 계속 수정이 이뤄질 예정입니다. LangChain 개념부터 활용까지! (ChatGPT 한계 극복) 인공지능 기술의 눈부신 발전과 함께, 자연어 처리(NLP) 분야에서 거대 언어 모델(LLM)의 활용이 폭발적으로 증가하고 있습니다. 특히 OpenAI의 ChatGPT는 그 뛰어난 성능으로 많은 주목을 받았지만, 몇 가지 명확한 한계 또한 가지고 있습니다.이러한 LLM의 잠재력을 극대화하고, 현실 세계의 다양한 문제 해결에 적용할 수 있도록 등장한 강력한 프레임워크가 바로 LangChain입니다! 오늘은 LangChain의 핵심 개념부터 특징, 그리고 ChatGPT의 한계를 어떻게 극복하는지 자세히 알아보겠습니다.  LangChain이란 무엇일까요?LangChain은 언..

archive 2025.04.10
var content = document.querySelector('.article_view') contentSelector: '.article_view',