본문 바로가기

분류 전체보기

(465)
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-1620 나는야 포켓몬 마스터 이다솜 편 (python) 문제 살펴보기!! 문제 링크 : https://www.acmicpc.net/problem/1620솔루션 살펴보기!!def main(): import sys input = sys.stdin.readline pokemon = {} pokemon_seq = {} # 입력 처리 N, Q = map(int, input().split()) for i in range(1, N + 1): name = input().strip() idx = str(i) pokemon[name] = idx pokemon_seq[idx] = name # 질의 처리 for _ in range(Q): query = input().st..
개발자 필수 도구, Lightrun: 실시간 디버깅과 성능 모니터링의 혁신 Lightrun: 실시간 가시성을 제공하는 개발자 도구개발자에게 가장 중요한 것은, 문제가 발생했을 때 빠르고 정확하게 원인을 파악하는 능력입니다. 하지만 실시간으로 프로덕션 환경에서 디버깅하거나 새로운 로깅을 추가하기란 결코 쉬운 일이 아닙니다. 여기에서 Lightrun이 등장합니다. Lightrun은 **실시간 가시성(Observability)**을 제공하는 혁신적인 플랫폼으로, 실행 중인 애플리케이션에 별도의 배포 없이 즉각적인 진단과 성능 모니터링을 가능하게 합니다.Lightrun의 주요 기능Lightrun은 개발자들이 실시간으로 애플리케이션의 상태를 파악하고 문제를 해결할 수 있도록 돕는 여러 기능을 제공합니다. 이 중 대표적인 기능은 다음과 같습니다.실시간 로그(Log) 추가: 실행 중인 애플..
AI 시대를 선도하는 5가지 인기 벡터 데이터베이스: Chroma, Pinecone, Weaviate, Faiss, Qdrant의 특징과 활용 벡터 데이터베이스란 무엇인가?벡터 데이터베이스는 다차원 데이터를 벡터로 저장하고 검색할 수 있는 특수한 형태의 데이터베이스입니다. 벡터는 데이터의 특징이나 속성을 여러 차원으로 표현한 값들로 구성되어 있습니다. 이러한 벡터들은 텍스트, 이미지, 오디오, 영상과 같은 비정형 데이터를 기계 학습 모델이나 임베딩 기법을 통해 변환하여 생성됩니다. 예를 들어, 단어 임베딩은 단어를 벡터로 변환하여 의미적으로 유사한 단어들이 벡터 공간에서 가까운 위치에 위치하도록 합니다.벡터 데이터베이스의 필요성전통적인 관계형 데이터베이스(RDBMS)는 구조화된 데이터를 저장하고 처리하는 데 적합하지만, 비정형 데이터나 고차원 데이터를 처리하는 데 한계가 있습니다. AI와 머신러닝이 발전함에 따라 이미지 인식, 자연어 처리, 추..
로그 관리를 혁신하다: Grafana Loki의 모든 것 로그 데이터는 현대 IT 인프라에서 중요한 요소입니다. 이 데이터를 효율적으로 수집, 관리, 분석하는 것은 시스템 유지 및 모니터링의 핵심입니다. 이번 블로그에서는 로그 관리를 혁신할 수 있는 Grafana Loki에 대해 알아보고, 도입 시의 장점 및 다른 로그 분석 솔루션과의 차이점을 설명합니다. 또한 Loki 시스템의 내부 동작 방식과 간단한 설치 방법도 소개하겠습니다.Grafana Loki란?Grafana Loki는 수평적 확장이 가능한 고가용성의 멀티테넌트 로그 집계 시스템입니다. Prometheus에서 영감을 받아 개발된 Loki는 로그의 내용을 인덱싱하는 대신, 각 로그 스트림에 레이블을 붙여 로그를 관리합니다. 이러한 방식은 로그 저장 비용을 대폭 줄일 수 있으며, 운영이 매우 간단하다는 ..
JDK 23에서 주목해야 할 기능 5가지: Java의 진화와 개발자 생산성 향상 2024년 9월 17일에 출시 예정인 JDK 23은 Java 개발자들에게 여러 새로운 기능을 제공합니다. 이번 릴리스는 비장기지원(LTS) 버전으로, Java 언어의 효율성, 유연성 및 성능을 향상시키는 데 중점을 두고 있습니다. 아래에서는 JDK 23의 주요 기능을 살펴보고, 코드 예시를 통해 새로운 기능이 어떻게 활용되는지 설명하겠습니다.1. Class-File API (JEP 466)Java의 바이트코드를 조작할 수 있는 기능이 Class-File API로 통합되었습니다. 이전에는 바이트코드 조작을 위해 ASM과 같은 외부 라이브러리에 의존했지만, 이제 Java 자체에서 이 기능을 지원합니다.주요 대상:프레임워크 개발자: 런타임 시 클래스 생성 또는 수정이 필요할 때.도구 개발자: 클래스 파일을 분..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-2800 괄호 제거 편 (python) 문제 살펴보기!!문제 링크 : https://www.acmicpc.net/problem/2800솔루션 살펴보기!!import sysdef input(): return sys.stdin.readline().rstrip()s = input()n = len(s)# 괄호 쌍 인덱스를 기록할 리스트와 스택 초기화bracket_index = [-1] * nstack = []pair_count = 0# 괄호 쌍에 번호를 기록for i, char in enumerate(s): if char == '(': stack.append(pair_count) bracket_index[i] = pair_count pair_count += 1 elif char == ')': ..
백준 알고리즘 문제 풀이 가이드: 코딩 면접 대비 완벽 준비-22942 데이터 체커 편 (python) 문제 살펴보기!!문제 링크 : https://www.acmicpc.net/problem/22942솔루션 살펴보기!!import sysdef main(): N = int(sys.stdin.readline()) # 원의 개수 입력 events = [] # 각 원의 시작점과 끝점을 저장할 리스트 # 원의 시작점과 끝점을 기록 for i in range(N): x, r = map(int, sys.stdin.readline().split()) events.append((x - r, i)) # 시작점 events.append((x + r, i)) # 끝점 # 시작점과 끝점을 x 좌표 기준으로 정렬 events.sort() active..
OpenSearch로 벡터 데이터베이스 구축하기: LLM 어플리케이션의 새로운 가능성 OpenSearch로 벡터 데이터베이스 구축하기최근 벡터 데이터베이스가 LLM(대형 언어 모델) 어플리케이션에서 중요한 역할을 하고 있습니다. 벡터는 다차원 공간에서 특정 점을 나타내는 수치 집합이며, 문장의 의미를 효과적으로 표현할 수 있는 방식으로 자주 사용됩니다. 이와 같은 벡터 데이터베이스를 사용하면 문장 간 유사성을 비교하거나 의미론적 검색을 구현할 수 있어 자연어 처리(NLP) 및 추천 시스템에 많은 이점을 제공합니다.이번 블로그에서는 OpenSearch를 활용해 벡터 데이터베이스를 구축하고, 이를 LLM 어플리케이션에 적용하는 방법을 알아보겠습니다. 코드 예시와 설정 파일을 제공하니 쉽게 따라 하실 수 있을 겁니다.OpenSearch를 벡터 데이터베이스로 사용하는 이유OpenSearch는 벡..