2026/06 9

[Git] Git과 GitHub를 활용한 협업

프로젝트를 개발하다 보면 코드를 계속 수정하고 새로운 기능을 추가하게 됩니다.처음에는 파일을 복사해서 백업하는 방식으로도 충분하다고 생각할 수 있지만,프로젝트 규모가 커지거나 여러 명이 함께 개발하게 되면 어떤 파일이 수정되었는지, 언제 변경되었는지 관리하기가 매우 어려워집니다. 이러한 문제를 해결하기 위해 사용하는 것이 Git과 GitHub입니다. Git은 프로젝트의 변경 이력을 관리하는 버전 관리 시스템으로,개발 과정에서 발생하는 모든 변경 사항을 기록해 줍니다.덕분에 문제가 발생하더라도 이전 버전으로 쉽게 되돌릴 수 있으며, 어떤 사람이 어떤 코드를 수정했는지도 확인할 수 있습니다. 반면 GitHub는 Git으로 관리하는 프로젝트를 인터넷에 저장하고여러 개발자가 함께 협업할 수 있도록 도와주는 플랫..

개발 2026.06.30

[Web] 웹 통신의 원리: HTTP, HTTPS, 네트워크 기초

백엔드 개발을 시작하면서 가장 먼저 이해해야 할 것은클라이언트와 서버가 어떻게 데이터를 주고받는지에 대한 내용이라고 생각을 합니다. 단순히 API 호출이라고 생각할 수도 있지만,실제로는 HTTP 요청, HTTPS 암호화, 네트워크의 다양한 요소들이 함께 동작해서 하나의 통신을 완성합니다. 이번 글에서는 HTTP 요청 방식과 HTTPS, 그리고 네트워크의 기본 개념을 정리해 보았습니다.1. HTTP 요청 방법백엔드와 프론트엔드가 통신하기 위해서는 먼저 클라이언트가 서버에 요청(Request) 을 보내야 합니다. 그런데 요청이라고 해서 모두 같은 형태로 전달되는 것은 아닙니다.조회 조건을 전달할 때와 실제 데이터를 전달할 때 사용하는 방법이 서로 다르기 때문입니다. HTTP에서는 이러한 목적에 따라Query..

개발 2026.06.29

[Web] 웹(Web), HTTP, REST API 이해하기 - 웹 서비스의 기본 구조 정리

웹 서비스를 개발하거나 사용하는 모든 과정은 결국 웹(Web), HTTP, REST API라는 세 가지 개념 위에서 이루어지고 있습니다. 처음에는 각각이 별개의 기술이라 생각했는데공부하면서 서로 긴밀하게 연결되어 있다는 것을 이해할 수 있었다. 이번 글을 통해 웹의 개념부터 HTTP, 그리고 REST API까지 핵심 내용을 정리해보고자 합니다.1. WebWeb의 시작웹은 1969년 미국 국방부의 ARPANET에서 출발했습니다.전쟁 상황에서도 통신이 끊기지 않는 네트워크를 만들기 위한 연구가 오늘날 인터넷의 기반이 되었고,이후 인터넷 위에서 정보를 공유하기 위한 시스템으로 웹(Web) 이 등장했죠. 웹은 단순히 인터넷이 아니라,인터넷 위에서 데이터를 주고받기 위한 공통된 구조와 약속이라고 이해할 수 있습니..

개발 2026.06.26

[LLM] 에이전트 시대의 표준 프로토콜, MCP

AI 에이전트를 개발하다 보면 Slack도 연결하고 싶고GitHub도 연결하고 싶고Notion도 연결하고 싶고Google Drive도 연결하고 싶다이와 같은 생각이 들게 됩니다. 하지만 서비스마다 API가 다르고, 연동 방식도 모두 달라서 매번 새로운 코드를 작성해야 하죠. 이 문제를 해결하기 위해 등장한 것이 바로 MCP(Model Context Protocol) 입니다.MCP는 AI와 외부 도구를 연결하는 표준 규격으로, AI 시대의 USB-C 포트라고 할 수 있어요. MCP란?MCP(Model Context Protocol)는 AI 애플리케이션과 외부 도구 및 데이터를 연결하기 위한 오픈 표준 프로토콜입니다.USB-C가 다양한 전자기기의 연결 방식을 통일했듯이, MCP는 AI와 외부 시스템의 연결 ..

개발 2026.06.26

[LLM] AI 에이전트 개념 이해하기

최근 AI를 활용한 서비스가 빠르게 늘어나면서, “에이전트(Agent)” 라는 용어를 자주 접하게 됩니다. 그렇다면 에이전트는 일반적인 챗봇과 다른 점이 무엇일까요?이번 글에서 에이전트의 개념과 동작 원리, 그리고 왜 필요한지에 대해 알아보고자 합니다.챗봇의 한계현재 우리는 ChatGPT, Gemini, Claude와 같은 챗봇에 익숙합니다.질문을 입력하면 답변을 생성해 주는 형식입니다. 하지만 현실에선 질문 하나, 답 하나로 끝나지 않는데요! 예를 들어, 고객이 쇼핑몰에서“기계식 키보드 재고 있어? 3개 사면 얼마야?” 라는 질문을 처리하려면 다음과 같은 여러 단계의 작업이 필요합니다.기계식 키보드 상품 검색현재 재고 확인할인 정책 적용최종 가격 계산사람은 자연스럽게 이러한 과정을 머릿속에서 처리하지만..

개발 2026.06.26

[LLM] LangGraph&LangSmith — 에이전트 워크플로우 구축과 실행 추적

LLM 애플리케이션을 만들다 보면, 먼저 "이 에이전트가 언제 반복하고, 언제 분기하고, 언제 멈출지"를어떻게 코드로 명확하게 표현할 것인가 하는 설계의 문제가 있습니다. 이어서, "지금 이 질문이 대체 어느 길로 흘러갔고, 토큰을 얼마나 썼으며, 답변 품질은 정말 좋아진 건가"를어떻게 확인할 것인가 하는 관찰과 검증의 문제가 따라옵니다. 그 두 문제를 각각 다룰 수 있는 도구로 LangGraph와 LangSmith가 있습니다.LangGraph로 에이전트의 흐름을 그래프로 설계하고,LangSmith로 그 흐름의 내부를 시각화해서 디버깅하고 데이터 기반으로 평가하는 과정을 살펴보겠습니다.1부. LangGraph — 흐름을 그래프로 고정하기LangGraph는 LLM 호출을 상태(State)가 흐르는 그래프로..

개발 2026.06.24

[NLP] OCR — 이미지 속 글자를 데이터로 바꾸기

컴퓨터는 이미지를 그저 '색상 픽셀의 덩어리'로만 봅니다.우리 눈에 보이는 글자들도, 컴퓨터에게는 명암이 다른 점들의 집합일 뿐입니다. 이 픽셀 덩어리에서 의미 있는 글자를 끄집어내 편집하고 검색할 수 있는 텍스트로 바꾸는 기술이 바로 OCR(광학 문자 인식, Optical Character Recognition) 입니다. 이 글에서는 OCR이 무엇이고 어디에 쓰이는지, 컴퓨터가 글자를 읽어내는 네 단계가 무엇인지 먼저 정리한 뒤,무료 오픈소스 도구인 EasyOCR로 진료비 계산서 이미지를 직접 읽어RAG에 넣을 수 있는 데이터로 가공하는 과정까지 따라가 보겠습니다.1. OCR이란 무엇인가OCR은 이미지나 문서 안의 텍스트를 인지하여 컴퓨터가 편집하고 검색할 수 있는 디지털 텍스트로 변환하는 기술입니다...

개발 2026.06.24

HPO 그래프에서 희귀 표현형을 살리는 방법: Propagated Frequency와 Node2Vec+ 가중치 설계 분석

희귀질환 진단 분야에서 가장 중요한 정보 중 하나는 환자의 Phenotype(표현형) 입니다.관련 프로젝트를 위해 읽은 논문에서는 HPO(Human Phenotype Ontology)를 단순한 계층 구조로 사용하는 것이 아니라,그래프 임베딩(Graph Embedding)에 활용해 질환 추천 성능을 향상시키는 방법을 제안하고 있었습니다. 주목해서 본 내용은 단순히 HPO를 Node2Vec으로 임베딩하는 것이 아니라,Propagated Frequency(전파된 빈도)Edge Weighting(간선 가중치)Node2Vec+를 결합하여 희귀 표현형(Rare Phenotype)을 더욱 잘 보존하는 임베딩 공간을 만든다는 점이었습니다. 이번 글에서는 논문의 전체 파이프라인보다는,제가 특히 관심 있게 살펴본 HPO ..

[머신러닝] 하이퍼 파라미터 튜닝하기 - Optuna

하이퍼파라미터란?하이퍼파라미터(Hyperparameter)는 모델 학습이 시작되기 전에 사용자가 직접 설정하는 값을 의미합니다.모델의 구조나 학습 방식을 결정하는 중요한 요소로,학습률(Learning Rate), 규제 강도(Regularization Strength), 트리의 깊이(Max Depth), 은닉층의 개수 등이 대표적으로 있어요. 여기서 하이퍼파라미터와 모델 파라미터(Parameter)는 반드시 구분해야 합니다! 하이퍼파라미터는 사용자가 직접 설정하는 값,모델 파라미터는 학습 과정에서 데이터로부터 자동으로 학습되는 값입니다.예를 들어, 선형 회귀의 가중치(Weight)나 신경망의 가중치와 편향(Bias)은 모델 파라미터에 해당합니다. 최적의 하이퍼파라미터 조합을 찾으면 모델의 성능을 크게 향상..

개발 2026.06.02