전체 글 69

[Personal studies] DSP 관련 지식 정리(1)

우선 내가 지금 만들고자 하는 프로젝트는, 과연 EEG, ECG 의 데이터를 보고 이상치를 탐지를 할수 있는가? 라는 생각에서 나왔다... 아무래도 내가 가지고 관심 있는 분야가 인공지능과 머신러닝을 활용해 의료 데이터를 읽어 내며 진단에 필요한 지식을 reference 혹은 의사들또한 놓칠수 있는 가능성을 탐지 하는것이다.  그를 위해, EEG와 ECG 의 데이터들을 보고 정리해보며, 그럼 이 EEG 와 ECG 데이터를 어떻게 컴퓨터에 맞추어 높은 정확도를 높일수 있게 Machine Learning 아키텍처를 구축할수 있을까? 하다가 이전 내가 일했던 오디오에서 아날로그 신호를 디지털 신호를 탐지및 튜닝을 했던 기억이나 다시 상기도 할겸 관련 정보들을 읽고 정리 해볼까 한다. 우선 아날로그 신호란?아날..

[Personal studies] 2025.03.07

[Personal studies] ECG(EKG), EEG 간단정리

오늘은 내가 시작하고자 하는 프로그램을 만들기 위해 공부하는것드로 ECG, EEG에 대해 정리하게 되었다. ECG (Electrocardiography, 심전도)ECG 는 심장의 전기적 활동을 기록하는 기술이며, 심장의 박동과 리듬을 모니터링 하는데 사용된다. 주요 특징:측정 대상: 심장에서 발생하는 전기 신호측정 방식: 가슴, 손목, 발목 등에 전극을 부착하여 심장의 적기적 활동을 기록주요 용도:부정맥(심장 리듬  이상) 진단심근경색(삼장마비) 감지심장 건강 모니터링파형 구성 :P파QRS 복학체T 파EEG (Electroencephalography, 뇌파검사)EEG는 뇌에서 발생하는 전기 신호를 기록하는 기술로 , 뇌활동을 모니터링하는 데 사용함.주요 특징 : 측정 대상 : 뇌에서 발생하는 전기 신호측..

[Personal studies] 2025.03.05

[Personal Studies] HTTP && TCP && IP

HTTP와 TCP/IP 개요HTTP와 TCP/IP는 같은 개념이 아니지만 서로 상호작용하며 동작합니다. HTTP는 TCP 기반의 프로토콜이며, TCP 위에서 동작하는 애플리케이션 계층의 프로토콜입니다.  OSI 7 계층과 TCP/IP의 관계인터넷 브라우저에서 www.google.com과 같은 도메인을 입력하고 검색하면, 사용자가 요청한 서비스를 제공받기 위해 여러 단계의 처리가 이루어집니다. 이 과정에서 사용자의 모든 행위는 OSI 7 계층의 애플리케이션 계층에서 시작됩니다.애플리케이션 계층에서는 데이터의 종류 및 사용될 프로토콜을 정의하는 헤더(header)를 추가합니다. 이후, 사용자가 Enter 키를 누르면 요청이 전송되며, OSI 7 계층을 거치면서 각 계층에 필요한 헤더가 추가됩니다. 예를 들어..

[Personal studies] 2025.03.03

[Personal Studies] Monolithic && Microservice 정리

소프트웨어 아키텍처 패턴모놀리식(Monolithic) 및 마이크로서비스(Microservices) 아키텍처  모놀리식 아키텍처란?모놀리식 아키텍처는 모든 코드와 모듈이 하나의 프로젝트 내에 포함된 형태로, 비교적 단순한 구조를 가지고 있다. 모놀리식 아키텍처의 장점개발 및 유지보수가 용이함: 모든 코드가 하나의 프로젝트에 포함되어 있어 전체적인 코드 구조를 쉽게 이해하고 리뷰할 수 있음배포가 간단함: 단일 실행 파일(예: main.py)만 실행하면 애플리케이션을 구동할 수 있음전체적인 코드 가독성이 높음: 프로젝트의 전반적인 구조를 쉽게 파악할 수 있음모놀리식 아키텍처의 단점확장성 문제: 코드가 증가하고 기능이 많아질수록 전체적인 코드 흐름을 파악하기 어려움코드 변경의 어려움: 하나의 프로젝트 안에 모든..

[Personal studies] 2025.03.03

[Personal studies] RESTful API Note

REST 아키텍처 개요REST(Representational State Transfer)는 웹에서 가장 널리 사용되는 아키텍처 스타일 중 하나로, 다음과 같은 네 가지 주요 기능을 제공합니다.GET: 데이터를 조회할 때 사용POST: 데이터를 생성할 때 사용PUT(또는 PATCH): 데이터를 수정할 때 사용DELETE: 데이터를 삭제할 때 사용 REST 아키텍처의 6가지 제약 조건Uniform Interface (일관된 인터페이스)REST는 일관된 인터페이스를 제공해야 합니다.모든 플랫폼(Android, Linux, iOS 등)에서 URI(Uniform Resource Identifier)를 통해 접근할 수 있어야 합니다.Stateless (무상태성)서버는 클라이언트의 상태를 저장하지 않습니다.세션을 유..

[Personal studies] 2025.03.03

[Project 위한 공부] Session 을 구축할때 내가 삽질한 이유 및 해결 방안에 대한 고민 정리

이번 프로젝트에서 맡은 역할과 세션 관리이번 프로젝트에서 내가 맡은 역할은 전반적인 소스 및 백엔드 구축, 데이터베이스(DB) 구축, 그리고 사용자가 프로그램을 사용할 때 필요한 세션 기능 개발이었다.RAG 모델을 구축하는 과정에서 유튜브나 공개된 모델들이 이미 많이 존재하다 보니, 그보다는 다른 부분이 더 매력적으로 느껴졌고, 그 역할을 맡게 되었다. 다만, 이 RAG 모델을 기반으로 세션 관리를 해야 한다는 점을 처음에는 고려하지 못했다. 프로젝트의 기본적인 기술 스택이 Streamlit을 사용한 프런트엔드, Django 기반의 백엔드, 그리고 SQLite 데이터베이스였기 때문이다. 처음 구상할 때 깊이 생각하지 않고 결정했던 부분이 이렇게 문제가 될 줄은 몰랐다…하지만, 이번 프로젝트를 통해 Str..

[Project를 위한 공부] ERD를 베이스로 DB를 구축하기 (Feat. Django)

Project를 기획 및 준비하며.. 이번에 Django 로 백엔드를 구축하는 파트를 맡게 되었는데, 그중 일단 DB를 구축을 해야 할것 같아 일단 기획단계에서 팀원분들과 논의 결과 Chat, User, Search_Log, Rag_data 간단하게 이렇게 4가지의 테이블을 ERD 형식으로 따게 되었다.  일단 이 프로젝트를 기획할때, Chatting log를 따로 보관하여, 이 후 Moderation 이나 RAG 모델의 퀄리티와 규칙들을 넣을려고 따로 Search Log 데이터를 만들기로 했다. 내가 전반적인 Backend 작업을 해야해서 먼저 간단한 message system의  CRUD 를 잡고 이번에 기획한 ERD 를 베이스로 DB를 구축하게 되었다. 우선 ERD 를 베이스로 한 DB 구축 을 설..

[Personal studies]LLM(Large Language Model)이란? feat. 간단정리

LLM (Large Language Model)이란?LLM (Large Language Model)은 인공지능(AI) 분야에서 사용되는 대규모 언어 모델로, 방대한 양의 텍스트 데이터를 학습하여 언어를 이해하고 생성하는 데 특화된 모델이다. LLM은 자연어 처리(NLP) 기술의 중심에 있으며, 인간의 언어를 기반으로 여러 작업을 수행한다.LLM의 주요 특징1. 대규모 데이터 학습인터넷, 책, 논문 등 다양한 출처에서 수집된 수십억~수조 개의 단어 데이터를 학습함.학습 데이터가 많을수록 모델이 더 다양한 언어 패턴과 컨텍스트를 이해할 수 있음.2. 트랜스포머(Transformer) 구조LLM은 주로 트랜스포머 기반 아키텍처(GPT, BERT 등)를 사용함.트랜스포머는 문맥을 이해하는 데 뛰어난 성능을 제공..

[Personal studies] 2025.01.24

[Project 를 위한 공부] API 와 같은 중요한 정보 관리 방법들..

우리가 서비스를 만들때 특히나 OpenAI 의 API나 다른 사이트들이 제공하는 API 를 활용할때가 있다. 이 API 는 암호화 되거나 보안이 적용이 되어야 하는데 과연 어떤식으로 관리를 할까? 에 대한 의문이 들었다. 지금 현제 그냥 프로젝트를 만들때, .env 파일에 적어 놓는 것은 아무리 생각해도 나중에 보안성에서 떨어진다고 생각 되기 때문이다. 실제 그럼 어떻게 관리가 되가고 있을까? 에 대해 생각 했을때 API 키를 해시화(복호화가 불가능하게)시키거나 복호화가 가능하도록 암호화 시킨다는 방법이 있다고 한다.1. 해시화(Hashing)(복호화가 불가능한경우)Hashing, 즉 해시화는 데이터를 단방향으로 암호화하는 기법으로, 입력값을 고정된 길이의 출력값으로 변환이된다.대표적으로 OPENAI나 ..

[Django] wsgi, asgi, ngix 정리

WSGI와 ASGI의 역할WSGI (Web Server Gateway Interface):동기식 요청 처리를 지원하는 표준.기존의 안정적인 웹 서버 환경(Gunicorn, uWSGI 등)과 호환.Django 프로젝트의 wsgi.py 파일에 application 객체가 포함.ASGI (Asynchronous Server Gateway Interface):비동기식 요청 처리(WebSocket, 실시간 작업 등)를 지원하는 표준.최신 비동기 환경(Uvicorn, Daphne 등)과 통합 가능.Django 프로젝트의 asgi.py 파일에 application 객체가 포함.그럼 왜 플젝을 시작할때 이 두개가 필요한가?WSGI와 ASGI가 같은 프로젝트에 포함되는 이유동기식과 비동기식 모두를 지원하기 위해.기존 서..

[Django] 2025.01.22