분류 전체보기
[강화학습] Markov Decision Process & Q-Learning
1. 마르코프 결정 프로세스(MDP) 바닥부터 배우는 강화학습 - 마르코프 결정 프로세스(Markov Decision Process) 마르코프 프로세스(Markov Process) 상태 S와 전이확률행렬 P로 정의됨 하나의 상태에서 다른 상태로 전이가 일어남 상태 전이에 각각 확률 존재 S4의 경우 종료상태 마르코프 성질(Markov property) $$ P[S_{t+1} | S_t] = P[S_{t+1} |S_1,S_2, ... S_t] $$ 상태가 되기까지의 과정은 확률 계산에 영향을 주지 않음. 어느 시점의 상태로 다음 상태를 결정할 수 있을 때 마르코프한 상태라고 함.반례) 운전하는 사진(어느 시점의 사진으로는 후진/전진/속도 등을 파악 불가 → 다음 상태 결정 불가능) ex) 체스 게임(어느 ..
[Elasticsearch] Index Template 구성하기 with Kibana & Logstash (2) - Mapping 기초
2023.07.06 - [Web/Back-end \ etc.] - [Elasticsearch] Index Template 구성하기 with Kibana & Logstash (1) - Setting [Elasticsearch] Index Template 구성하기 with Kibana & Logstash (1) - Setting Elasticsearch에 데이터를 적재할 때, 어떤 방식으로 데이터를 적재할지에 대한 세팅을 해줄 수 있다. Elasticsearch는 역색인을 기반으로 데이터를 인덱싱하기 때문에, 역색인의 기준이 되는 단어(token) dnai-deny.tistory.com 이전 포스팅에 이어 이번에는 Index Template의 두 번째 주요 구성인 Mapping 영역을 살펴보도록 하겠다. M..
[Elasticsearch] Index Template 구성하기 with Kibana & Logstash (1) - Setting
Elasticsearch에 데이터를 적재할 때, 어떤 방식으로 데이터를 적재할지에 대한 세팅을 해줄 수 있다. Elasticsearch는 역색인을 기반으로 데이터를 인덱싱하기 때문에, 역색인의 기준이 되는 단어(token)들을 어떻게 토큰화하는지에 따라서 검색의 결과도 달라질 수 있다. 이렇게 Token을 생성하는 규칙을 담은 설정을 Index Template라고 부른다. Elasticsearch의 Index Template은 크게 Setting의 영역과 Mapping의 영역으로 나누어진다. 오늘은 Setting의 구성요소인 Analyzer, Tokenizer, Filter에 대해 이야기해보려고 한다! logstash에서 elasticsearch로 데이터를 보내줄 때 json 형태로 미리 setting ..
[Computer Science] 컴퓨터의 구성
하드웨어 : 물리적 장치 소프트웨어 : 하드웨어의 동작을 지시하는 명령어 집합 하드웨어 CPU(Central Processing Units) RAM(Random Access Memory), HDD(Hard Disk Drive) 마우스, 프린터, 키보드 위 세 가지 구성요소는 시스템 버스(System Bus) 로 연결되며, 시스템 버스를 통해 명령 제어 신호와 데이터를 주고받는다. 중앙처리장치 CPU 주기억장치(RAM or ROM(Read Only Memory))에서 명령어와 데이터를 읽어와 처리 명령어의 수행 순서를 제어함 ⇒ Scheduling 구성 산술논리연산장치(ALU) : 비교 및 연산 제어장치 : 명령어 해석 및 실행 연산 결과를 임시 저장하는 등에 사용됨 주기억장치보다 빠름레지스터 : 고속 /..
[Spring 입문] 2. 스프링 웹 개발 기초
정적 컨텐츠 = 파일을 그대로 고객에게 전달 MVC & 템플릿 엔진 = html을 서버에서 가공해서 동적 컨텐츠로 전달 API = json 데이터 포맷으로 클라이언트에 데이터 전달 Vue.js, React 등에서 사용 서버끼리 통신할 때 1. 정적 컨텐츠 Spring boot는 static/ 폴더에서 정적 컨텐츠를 찾아서 사용한다. ex) resources/static/hello-static.html 정적 컨텐츠 입니다. 흐름도 주소 요청 보냄 톰캣 서버에서 접수 먼저 스프링 컨테이터에서 컨트롤러 있는지 확인 없으면 static 하위의 파일 찾음 있으면 웹 브라우저로 리턴해줌 2. MVC와 템플릿 엔진 MVC = Model View Controller 과거 view와 controller가 나누어지지 않았..
[Spring 입문] 1. 프로젝트 환경 설정
1. 프로젝트 생성 project - Gradle spring boot version - 2.7.12 spring boot 3.x.x로 선택하는 경우 java version이 17 이상이어야함 java version 12(11) artifact - output name package name = name.artifact 형태로 패키징됨 Thymeleaf - template engine, 뒤에서 설명 spring web - web builder 프로젝트 구성 src/main src/test ⇒ test 코드를 따로 작성하는 것에 대한 중요성이 대두되는 중. build.gradle ⇒ 버전 설정, 라이브러리 로드 등 python virtual environment에서 requirement.txt처럼 depe..
[Elasticsearch] Logstash를 통해 PostgreSQL과 Elastic Stack 연동하기
* 2023.12.21 업데이트 - Docker ELK로 PostgreSQL과 Elastic Stack 연동 포스팅 [Docker + ELK] Docker ELK를 사용해서 PostgreSQL DB 모니터링 하기 이번 포스팅에서는 이전에 elasticsearch, kibana, logstash를 별도로 실행하여 PostgreSQL DB를 모니터링했던 것을 Docker을 통해서 구현해본다. 로컬 환경에서 elk를 구성했던 포스트는 아래 링크에서 확인할 dnai-deny.tistory.com 이전 포스팅에 먼저 언급했다싶이 RDBMS에 Elasticsearch를 적용하기 위한 방법을 검색했을 때 가장 많이 추천하는 방법이 Logstash를 이용한 모니터링이었다. [Elasticsearch] Logstash ..
[Elasticsearch] Logstash 사용해보기
제목만 썼는데 어제의 삽질이 올라오는 기분.... 곧장 시작해보겠다. elasticsearch 설치에 관련된 내용은 이전 포스팅 참고. [Elasticsearch] Elasticsearch 기본 개념 및 설치, kibana 연동하기 최신 한국어 자료가 없어서 설치만 하다가도 쓰러질 뻔했다. 세상에 이렇게 기빨리는 설치작업은 처음이다... Elasticsearch 설치 방법이 어렵다기보다는 백엔드 바보(...)인 내가 걷기에는 제법 어 dnai-deny.tistory.com 1. Logstash를 사용하려는 이유? logstash를 사용해서 elastic search와 rdbms 사이에 pipline을 생성할 수 있다. 입력 → 필터(가공) → 출력 검색해보니 elasticsearch와 rdbms를 연결할..
[Elasticsearch] Elasticsearch 기본 개념 및 설치, kibana 연동하기
최신 한국어 자료가 없어서 설치만 하다가도 쓰러질 뻔했다. 세상에 이렇게 기빨리는 설치작업은 처음이다... Elasticsearch 설치 방법이 어렵다기보다는 백엔드 바보(...)인 내가 걷기에는 제법 어려운 일이었다고 할 수 있겠다. 이미 유사한 경험이 있다면 쉽게 하실 것 같다. 어쨌든 성공했으니 가볍게 정리해보도록 하겠다. 1. Elasticsearch 란? 명확하게 답을 내기에는 아직 부족한 점이 많지만, 검색엔진이다. NoSQL 기반으로 데이터 구조를 가져가고, 각각은 RDBMS와 매핑되는 용어를 가지고 있다. NoSQL에 익숙하다면 더 쉬울 것 같다. Firebase 등등. A. RDBMS와 검색엔진의 차이 RDBMS는 테이블로 딱딱 쪼개서 자를 수 있는 체계적인 구조 단어 검색, 쿼리문을 활..
[Monitoring System] 5. Fast API 로 이틀만에 백엔드 구축하기(feat. SQLAlchemy, PostgreSQL) (1)
from sqlalchemy import Boolean, Column, ForeignKey, Integer, String, TIMESTAMP, Float from .base import Base 제목은 거창하게 써놨지만 아주 간단한 백엔드를 구축해서 그리 오래걸리지 않았을 뿐이다^^. 우선 백엔드를 해보는 것 자체가 이번이 처음이고, 필요에 의해서 필요한 부분만 공부해서 후닥닥 만들어서 다소 조잡할 수 있으나 어쨌든 모니터링 시스템 자체는 잘 동작하고 있으니 호스팅만 따로 해주면 당장 쓸 수 있다. Python으로 작성되어 있어서 Python의 노예인 나에게는 아주 편한 프로그래밍이었던 것도 한 몫했다. 0. Fast API 자습서 Fast API 공식문서로 공부하는 시간을 하루 가지고 이틀동안 개발을 ..