Tech & Development
AI로 시작하는 No-code 개발: MVP부터 프로토타입까지
AI로 시작하는 No-code 개발: MVP부터 프로토타입까지
2025.01.28안녕하세요. 이번에는 AI를 활용한 개발 경험을 공유해드리려고 합니다. 특히 개발 경험이 전혀 없는 분들도 AI를 이용해 어떻게 프로그램을 만들 수 있는지, 그 과정에서 배운 점들을 이야기해 보겠습니다. 제가 실험해 본 결과, AI 도구들을 적절히 활용하면 생각보다 훨씬 빠르게 원하는 프로그램을 만들 수 있습니다.1. AI 개발 도구 현황현재 AI 개발 도구는 크게 두 가지 방향으로 발전하고 있습니다.웹 기반 프로토타이핑 도구AI 코드 에디터각각의 도구들은 서로 다른 장점을 가지고 있어, 개발 목적과 상황에 따라 적절히 선택해서 사용하면 됩니다. 자세히 살펴보겠습니다.1.1 웹 기반 프로토타이핑 도구프로토타이핑 도구들은 코드 작성 없이도 빠르게 아이디어를 구현할 수 있게 해주는 도구들입니다.Lovable..
[Python] Pydantic Field: 더 세밀한 데이터 검증하기
[Python] Pydantic Field: 더 세밀한 데이터 검증하기
2025.01.12Pydantic의 Field는 BaseModel의 필드를 더 자세하게 정의하고 검증하기 위한 도구입니다. 단순히 타입을 지정하는 것을 넘어서, 데이터의 범위, 형식, 기본값 등을 세밀하게 제어할 수 있게 해줍니다.Field가 필요한 이유기본 BaseModel만으로는 이런 제약사항을 표현하기 어려웠습니다.class Product(BaseModel): name: str # 길이 제한을 어떻게 할까요? price: float # 음수는 어떻게 막을까요? stock: int # 재고가 0 미만이면 안 되는데...Field를 사용하면 이런 제약사항을 명확하게 표현할 수 있습니다.from pydantic import BaseModel, Fieldclass Product(BaseModel): ..
[Python] Pydantic BaseModel: 데이터 검증을 쉽게 하자
[Python] Pydantic BaseModel: 데이터 검증을 쉽게 하자
2025.01.11Pydantic의 BaseModel은 Python 데이터의 유효성을 검사하고 관리하기 위한 강력한 도구입니다. JSON 데이터를 파이썬 객체로 변환하거나, API 요청/응답을 검증할 때 특히 유용합니다. 간단한 클래스 정의만으로 복잡한 데이터 검증 로직을 구현할 수 있어요.BaseModel이 필요한 이유기존에는 데이터 검증을 이렇게 했습니다.def validate_user(data: dict): if "name" not in data: raise ValueError("이름이 필요합니다") if not isinstance(data["name"], str): raise ValueError("이름은 문자열이어야 합니다") if "age" in data and not i..
[Python] TypedDict: 딕셔너리에 타입 힌트 추가하기
[Python] TypedDict: 딕셔너리에 타입 힌트 추가하기
2025.01.11Python의 TypedDict는 딕셔너리의 키와 값에 대한 타입을 명확하게 지정할 수 있게 해주는 기능입니다. 특히 복잡한 데이터 구조를 다룰 때 발생할 수 있는 타입 관련 오류를 미리 방지할 수 있어 유용합니다.TypedDict가 필요한 이유기존 딕셔너리는 이런 문제가 있었습니다.# 일반 딕셔너리 사용 시user = { "name": "김철수", "age": 25, "email": "kim@example.com"}# 흔히 발생하는 실수들print(user["Name"]) # KeyError: 'Name' (키 이름 오타)print(user["age"] + "살") # TypeError: int + str 연산 불가user["phone"] = 123 # 예상치 못한 새로운 키 추가..
OpenAI, Sora(소라) 사용방법 가이드
OpenAI, Sora(소라) 사용방법 가이드
2024.12.13OpenAI가 진행 중인 12일간의 특별 업데이트 이벤트의 세 번째 날, 드디어 기다리던 Sora가 공개되었습니다. 월요일 발표 직후에는 폭발적인 관심으로 인해 계정 생성이 잠시 중단되었었는데요, 이제 다시 서비스가 정상화되어 직접 테스트해 볼 수 있게 되었습니다. SoraTransform text and images into immersive videos. Animate stories, visualize ideas, and bring your concepts to life.sora.comSora 사용을 위한 준비Sora는 sora.com에서 별도로 접속하여 사용할 수 있습니다. ChatGPT 웹사이트가 아닌 독립된 도메인이지만, 기존 ChatGPT 계정으로 로그인이 가능합니다.계정 생성 및 로그인 프로..
AWS Bedrock으로 구현한 Contextual Retrieval
AWS Bedrock으로 구현한 Contextual Retrieval
2024.12.04지난 글에서 소개했던 Anthropic의 Contextual Retrieval을 AWS Bedrock 서비스를 활용하여 직접 구현해 보았습니다. 특히 기존 RAG 시스템의 한계를 극복하고자 하는 이 방식의 효과를 실제로 확인해보고 싶었습니다. Anthropic의 맥락적 검색(Contextual Retrieval): 대규모 지식 베이스를 위한 RAG 기술2024년 9월 20일, Anthropic은 기존 Retrieval-Augmented Generation (RAG) 시스템의 성능을 크게 향상할 수 있는 '맥락적 검색(Contextual Retrieval)'이라는 새로운 방법을 소개했습니다. Introducing Contextual RetrievalAnthryunwoong.tistory.comRAG 시스템..
Claude의 새로운 기능: 맞춤형 응답 스타일 설정
Claude의 새로운 기능: 맞춤형 응답 스타일 설정
2024.11.28Anthropic이 Claude.ai 사용자들을 위해 발표한 새로운 기능인 '커스텀 스타일(Custom Styles)'에 대해 알아보겠습니다. 이 기능을 통해 사용자들은 자신만의 필요와 작업 방식에 맞게 Claude의 응답을 맞춤화할 수 있게 되었습니다. Tailor Claude's responses to your personal styleToday, we're announcing custom styles for all Claude.ai users. Now you can tailor Claude's responses to your unique needs and workflows.www.anthropic.com맞춤형 스타일이란?Claude의 커스텀 스타일 기능을 사용하면 Claude의 응답 방식을 사용자의..
Anthropic의 Model Context Protocol(MCP) : 사용 가이드
Anthropic의 Model Context Protocol(MCP) : 사용 가이드
2024.11.27오늘은 Anthropic에서 새롭게 발표한 Model Context Protocol(MCP)에 대해 자세히 알아보려고 합니다. AI에 관심이 있는 분이라면 꼭 알아두어야 할 새로운 기술이니 차근차근 살펴보겠습니다. Introducing the Model Context ProtocolThe Model Context Protocol (MCP) is an open standard for connecting AI assistants to the systems where data lives, including content repositories, business tools, and development environments. Its aim is to help frontier models produce bett..
AI 에이전트 시작하기: LangGraph 개념과 실습
AI 에이전트 시작하기: LangGraph 개념과 실습
2024.11.26AI 에이전트는 LLM(Large Language Model)을 활용하여 복잡한 작업을 수행하는 자동화된 시스템입니다. 일반적인 LLM 사용이 단순 프롬프트-응답 방식이라면, 에이전트는 더 복잡하고 반복적인 작업을 수행할 수 있습니다.AI 에이전트의 핵심 디자인 패턴계획(Planning): 작업을 수행하기 위한 단계를 미리 생각하고 계획합니다.도구 사용(Tool Use): 검색, 계산 등 필요한 도구들을 활용합니다.반성(Reflection): 결과를 반복적으로 개선하며, 여러 LLM이 결과를 검토하고 제안할 수 있습니다.다중 에이전트 통신: 각각의 LLM이 고유한 역할을 수행하며 서로 협력합니다.메모리: 여러 단계에 걸친 진행 상황과 결과를 추적합니다. AI와 AI 에이전트의 차이: 깊이 '생각하는' A..
AWS CLI로 S3 관리하기: 파일 업로드, 다운로드, 버킷 생성
AWS CLI로 S3 관리하기: 파일 업로드, 다운로드, 버킷 생성
2024.11.25Amazon S3(Simple Storage Service)는 AWS에서 제공하는 확장 가능하고 안정적인 객체 스토리지 서비스입니다. AWS CLI(Command Line Interface)를 사용하면 Amazon S3의 기능을 효율적으로 관리할 수 있습니다. 이 글에서는 AWS CLI를 사용해 S3 버킷 생성, 파일 업로드 및 다운로드와 같은 기본 작업을 다루어 보겠습니다.S3란?Amazon S3는 클라우드 스토리지 서비스로, 데이터를 객체 단위로 저장하며 높은 가용성과 보안을 제공합니다. S3는 웹 애플리케이션, 백업 및 복구, 빅데이터 분석 등 다양한 용도로 사용됩니다.S3 작업을 위한 사전 준비AWS CLI로 S3를 관리하려면 다음이 필요합니다:AWS CLI 설치 및 구성AWS CLI 설치 가이드..
[Python] 함수형 프로그래밍
[Python] 함수형 프로그래밍
2024.11.24함수형 프로그래밍은 함수를 일급 객체로 취급하며, 불변 데이터와 순수 함수를 중심으로 하는 프로그래밍 패러다임입니다. Python은 객체지향 언어이지만, 함수형 프로그래밍의 강력한 기능도 제공합니다. 이 글에서는 Python에서 제공하는 함수형 프로그래밍 기법과 이를 활용하는 방법을 다룹니다.1. 함수형 프로그래밍이란?함수형 프로그래밍은 다음과 같은 특징을 가지고 있습니다:순수 함수: 함수는 입력값만을 사용하며 외부 상태를 변경하지 않습니다.불변성: 데이터는 변경되지 않고, 항상 새 데이터를 반환합니다.고차 함수: 함수를 매개변수로 전달하거나 반환할 수 있습니다.Python에서 함수형 프로그래밍을 지원하는 주요 도구는 map(), filter(), reduce(), 그리고 lambda 함수입니다.2. m..
[Python] 시간과 날짜 처리
[Python] 시간과 날짜 처리
2024.11.23Python은 날짜와 시간을 다루기 위한 강력한 모듈들을 제공합니다. datetime, time, calendar 모듈을 활용하면 다양한 날짜와 시간 작업을 간단히 수행할 수 있습니다. 이 글에서는 날짜와 시간을 다루는 기본적인 방법, 시간 계산, 특정 포맷 변환 등 유용한 기능들을 소개합니다.1. datetime 모듈: 날짜와 시간 처리의 기본datetime 모듈은 날짜와 시간 정보를 생성, 조작, 포맷팅 하는 데 사용됩니다.날짜와 시간 생성from datetime import datetime# 현재 날짜와 시간now = datetime.now()print("현재 날짜와 시간:", now)# 특정 날짜와 시간specific_date = datetime(2024, 12, 25, 15, 30)print("..