전체 글(35)
-
[소프트웨어 공학 이론과 실제] 1. 소프트웨어 공학 개요
https://www.yes24.com/product/goods/109994534해당 책을 정리한 내용입니다. 학습목표소프트웨어의 오류로 인하여 발생한 대표적인 사고 사례를 알아본다.소프트웨어 개발에 어떠한 문제들이 존재하는지, 소프트웨어 개발이 왜 어려운지 알아본다.소프트웨어 공학이란 무엇인지 그 의미를 명확히 이해한다.1. 소프트웨어 고장 사례소프트웨어 결함 사례위성 : 단위 오류 누적으로 인한 위성 궤도 이탈차 해킹 : 차량 해킹을 통한 제어항공기 : 설계 오류로 인한 오류값 오작동 → 추락테슬라 : 인식 오류 → 사망사고위성 폭파 사고차 급발진 사고클라우드 불능 → 연계 서비스 사용 불가테슬라 API 장애 → 잠금해제 불가열차 지연로봇팔 오작동 → 인명피해2. 소프트웨어 위기1. 소프트웨어 위기의..
2025.06.30 -
LangChain vs Google AI SDK vs Google ADK: 목적에 맞는 선택 가이드
LLM을 활용한 애플리케이션을 설계할 때, 어떤 도구를 선택하느냐에 따라 구조, 확장성, 유지보수 편의성이 크게 달라질 수 있습니다. 특히 최근에는 다음 세 가지가 많이 활용됩니다LangChain: 다양한 LLM 및 외부 시스템과 유기적으로 연결해 복잡한 작업을 구성하는 프레임워크Google AI SDK: Gemini 모델을 비롯한 Google의 생성형 AI 모델을 API로 사용하는 SDKGoogle ADK (Agent Development Kit): 상태를 기억하고 여러 작업을 조율할 수 있는 Agent 중심 구조1. 핵심 비교항목LangChainGoogle AI SDKGoogle ADK주요 목적다양한 LLM과 도구를 조합하여 워크플로우 구성Gemini 모델 등을 직접 호출하여 응답 생성상태 기반 Ag..
2025.06.30 -
LangChain vs Google SDK
최근 LLM 기반 애플리케이션 개발이 급격히 확산되며, 다양한 LLM 인터페이스 프레임워크와 SDK들이 등장하고 있다. 특히 LangChain과 Google의 Generative AI SDK(Google Generative AI for Developers)는 각기 다른 접근 방식을 제공하며, 개발자의 목적과 환경에 따라 선택이 달라질 수 있다. 본 포스팅에서는 두 프레임워크의 차이점을 정리하고, 실제 사용 시 고려할 사항을 중심으로 비교해보고자 한다.1. 개요 및 기본 철학항목LangChainGoogle Generative AI SDK주요 목적LLM 앱의 구성 요소를 체계적으로 구성하고 연결Google PaLM, Gemini 등 Google LLM에 직접 접근추상화 수준매우 높음 (Chain, Agent..
2025.06.23 -
SW마에스트로 제16기 프롬프트 엔지니어링 대회 입상 후기
그동안 소마한다고 뒤로 미뤄둔 블로그 포스팅을 오랜만에 해보려고한다. 지금까지는 주로 요약하는 형태로 기록해왔지만, 후기인만큼 줄글로 풀어써보려고 한다. 이 글에서는 주로 어떠한 사고과정을 거쳐 점수를 올려왔고, 최종적으로 3위를 기록하게 되었는지에 관하여 써보려고 한다. 제출횟수도 제한적이고, 시간도 제한적인 경우 어떠한 전략을 택하느냐에 따라 점수 차가 클 것이다.항상 느끼는거지만 이런 대회는 굉장히 운빨이다. 대회 종료 시점에 따라 순위가 정신 없이 바뀐다. 가능성이 높은 전략을 몇 가지 시도해 보지만 사실상 그 시도가 높은 점수를 보장하기 보단 상당히 높은 확률로 얻어걸리는 느낌이다.전략이 굉장히 중요하고, 전략의 우선순위 또한 굉장히 중요하다.대회 소개SW마에스트로 제16기 프롬프트 엔지니어링 ..
2025.06.18 -
PostgreSQL 복합 인덱스(Composite Index) 완벽 가이드
1. 복합 인덱스(Composite Index)란?복합 인덱스(Composite Index)는 두 개 이상의 컬럼(Column)을 결합하여 생성한 인덱스입니다. 일반적으로 검색, 정렬, 조인 등의 성능 최적화를 위해 사용됩니다.예를 들어, users 테이블에서 (last_name, first_name)에 대한 복합 인덱스를 생성하면 다음과 같이 작동합니다.CREATE INDEX idx_users_last_first ON users (last_name, first_name);이제 last_name을 먼저 필터링한 후, 같은 last_name을 가진 first_name을 정렬하는 방식으로 조회 성능이 향상됩니다.2. 단일 인덱스 vs 복합 인덱스(1) 단일 인덱스단일 인덱스는 하나의 컬럼에만 적용됩니다.CR..
2025.02.16 -
PostgreSQL 조인 알고리즘 비교: 해시 조인(Hash Join), 중첩 루프 조인(Nested Loop Join), 병합 조인(Merge Join)
데이터베이스에서 조인(Join)은 가장 중요한 연산 중 하나이며, 조인 방식에 따라 성능이 크게 달라질 수 있습니다. PostgreSQL은 기본적으로 다음 세 가지 조인 알고리즘을 사용합니다해시 조인 (Hash Join)중첩 루프 조인 (Nested Loop Join)병합 조인 (Merge Join)이 글에서는 각 조인 방식의 동작 원리, 장단점, 사용 조건을 깊이 있게 분석하고, EXPLAIN ANALYZE를 활용한 실제 테스트 결과도 비교하겠습니다.1. 해시 조인 (Hash Join)원리작은 테이블(혹은 조인 키의 작은 부분 집합)을 해시 테이블(Hash Table)로 생성합니다.큰 테이블을 스캔하면서 해시 테이블을 참조하여 빠르게 조인합니다.조건등가 조인(Equal Join, = 연산자 사용)에만 ..
2025.02.16