본문 바로가기

전체 글385

[Lombok] 유연한 객체 생성 방법 @Builder 빌더(Builder) 생성은 객체를 생성할 때 유연하고 가독성 높은 방법을 제공하는 디자인 패턴입니다. 특히 많은 필드를 가진 객체를 생성하거나 선택적으로 일부 필드만 설정해야 하는 경우 유용합니다.Lombok에서 제공하는 @Builder 어노테이션을 사용하면, 빌더 패턴을 쉽게 구현할 수 있습니다. 빌더 패턴의 필요성가독성 향상생성자의 매개변수가 많거나 순서를 헷갈릴 수 있을 때, 필드 이름을 명시적으로 사용해 객체를 생성합니다.유연한 객체 생성선택적으로 필요한 필드만 설정해 객체를 생성할 수 있습니다.불변성 유지생성 후에는 객체를 수정할 수 없도록 할 때 유용합니다.예제: Lombok의 @Builder@Getter@Builder@NoArgsConstructor@AllArgsConstructorpubl.. 2024. 12. 31.
Python 시간 출력 함수 총 정리 Python에서 시간을 출력하거나 조작하는 방법은 다양한 모듈과 기능을 활용할 수 있습니다. 아래는 시간 출력을 위한 주요 방법들을 정리한 내용입니다.1. time 모듈Python의 기본 모듈로, UNIX 타임스탬프 기반의 시간 처리 기능을 제공합니다.1.1 주요 함수time.time()현재 시간을 타임스탬프(1970년 1월 1일부터 초 단위 경과 시간)로 반환.time.localtime()현재 시간 또는 지정한 타임스탬프를 지역 시간으로 변환.time.gmtime()현재 시간 또는 지정한 타임스탬프를 UTC 시간으로 변환.time.strftime(format)time.struct_time 객체를 포맷 문자열에 따라 문자열로 변환.time.strptime(string)포맷 문자열에 따라 시간 문자열을 t.. 2024. 12. 29.
LangChain Agent: AI 스스로 문제를 해결하는 똑똑한 도구 LangChain 에이전트란?LangChain 에이전트는 대규모 언어 모델(LLM)이 주어진 작업을 스스로 판단하고 필요한 도구를 사용해 문제를 해결하는 시스템입니다. 기존의 AI가 단순히 텍스트를 생성하는 데 그쳤다면, LangChain 에이전트는 외부 도구와 상호작용하며 더욱 복잡한 작업을 처리할 수 있습니다.예를 들어, "어제 서울 날씨는?"과 같은 질문을 하면, LangChain 에이전트는 웹 검색 도구를 사용해 실시간으로 정보를 찾고 답을 제공합니다. 또, "45 곱하기 32는?"이라는 질문에는 계산기 도구를 실행해 결과를 반환합니다.LangChain 에이전트는 이러한 도구 사용을 반복적으로 수행하며, 최종적으로 사용자가 원하는 답을 만들어냅니다.LangChain 에이전트의 작동 원리LangCh.. 2024. 12. 15.
파이썬 2차원 배열에서의 누적합, 구간합 2차원 배열에서의 누적합(Prefix Sum)을 계산하고 이를 활용해 구간합을 효율적으로 구하는 방법은 다음과 같습니다.1. 2차원 배열의 누적합 계산2차원 배열에서의 누적합은 prefix[i][j]를 다음과 같이 정의합니다:prefix[i][j]=원점 (0,0)부터 (i,j)까지의 모든 원소의 합계산식prefix[i][j] = array[i][j] + prefix[i−1][j] + prefix[i][j−1] − prefix[i−1][j−1]array[i][j]: 현재 값prefix[i−1][j]: 위쪽 영역의 누적합prefix[i][j−1]: 왼쪽 영역의 누적합prefix[i−1][j−1]: 중복된 영역(대각선 방향)의 누적합을 빼줌2. 2차원 구간합 계산구간합을 구하고자 하는 범위가 (x1,y1)부터.. 2024. 12. 12.
파이썬 프로젝트 종속성 관리하기 requirements.txt 📦 프로젝트 종속성 관리: requirements.txtrequirements.txt는 Python 프로젝트에서 사용하는 패키지와 해당 버전을 기록한 텍스트 파일로, 프로젝트 종속성을 관리하는 데 사용됩니다. 이를 통해 팀원들이나 다른 사용자들이 동일한 환경에서 작업할 수 있도록 보장합니다.✅ requirements.txt의 목적프로젝트 환경 재현: 동일한 버전의 패키지를 설치하여 개발 환경을 재현 가능.종속성 관리: 프로젝트에서 사용되는 패키지를 명확히 정의하여, 불필요한 패키지를 줄이고 버전 충돌 방지.협업 용이성: 다른 팀원이 파일을 기반으로 동일한 패키지 환경을 쉽게 설정.📋 requirements.txt 파일 작성하기1. 현재 환경에서 사용 중인 패키지 저장pip freeze > requir.. 2024. 12. 10.
[Google Colab] 구글 코랩 Matplotlib 한글 깨짐 문제 해결 Google Colab에서 Matplotlib 한글 깨짐 문제Google Colab에서 Matplotlib를 사용하여 그래프를 그릴 때 한글 제목이나 라벨이 깨져서 제대로 표시되지 않는 문제가 발생할 수 있습니다. Google Colab 환경에서 Matplotlib 한글 깨짐 문제를해결하는 방법을 안내합니다.문제의 원인Google Colab에는 기본적으로 한글 폰트가 설치되어 있지 않습니다.Matplotlib는 설치된 폰트를 기반으로 텍스트를 렌더링하는데, 한글 폰트가 없으면 텍스트가 깨져 보입니다.폰트를 설치해도 캐시를 초기화하거나 런타임을 재시작하지 않으면 새 폰트가 제대로 반영되지 않습니다.해결 방법1. 나눔 폰트 설치Google Colab 환경에 한글 폰트(NanumBarunGothic)를 설치합.. 2024. 12. 9.