본문 바로가기

분류 전체보기

(16)
은닉 마르코프 모델 HMM (Hidden Markov Model) * 패턴인식(오일석) 7장 순차 데이터의 인식의 내용을 학습하고 정리한 글입니다. 모든 그림은 해당 책으로부터 가져왔습니다. 순차 데이터 (Sequential data): 시간성(temporary property)를 갖는 데이터  시간성을 갖지 않는 데이터와 대비 시켜보면서 특징을 알아보겠습니다.   ① 특징의 순서를 바꾸면 패턴의 물리적 특성이 왜곡된다.  [그림 7.1]은 두 축 x1, x2를 바꾼 공간입니다. 바꾸어도 베이지안 분류기, 신경망, SVM, k-NN 등 문제되지 않습니다.  [그림 7.2]는 x4, x5를 바꾼 모습입니다. 이 경우 시간성을 갖는 경우 패턴의 물리적 특성이 왜곡됩니다.    ② 특징 벡터가 가변 길이를 갖는다.  ③ 관측 벡터로 표현한다.  : 시간 t에서의 관측   :..
Web Server & Web Application Server 그리고 Reverse Proxy Web Server, Web Application Server를 알아보고,Nginx에서 reverse proxy 설정해보기 Spring Boot 애플리케이션 jar 파일을 실행하면서 의문이 들었습니다.Tomcat이 Nginx랑 다른건 뭐지?    Web Server, Web Application Server부터 뭐가 다른지 살펴보았습니다.(이 둘에 대한 글은 정말 잘 정리되어있는 글들이 많으니, 검색 후 몇 개 읽어보는게 좋을 것 같습니다. )  https://code-lab1.tistory.com/199https://story.pxd.co.kr/1647https://www.bluebash.co/blog/web-server-vs-application-server/  저도 몇 개 읽어보고 간단하게 정리를 ..
RTMP server 만들고 HLS로 웹 상에 실시간 비디오 스트리밍 AWS EC2 Ubuntu 22.04 환경에서Nginx RTMP 서버 구축하고,HLS로 웹 상에서 실시간 비디오 스트리밍하기  우선 저는 위와 같은 구조로 실시간 영상 스트리밍 서버를 만들고 있습니다.* 이 글에선 Spring이나 S3를 통한 영상 저장은 다루지 않습니다. 제가 요청 받은 것은1. 웹 상에 실시간 영상 송출2. 클라이언트가 요청 시, 영상 저장이었습니다. RTMP, HLS에 대한 간단한 설명은 아래 첨부하겠습니다.   이번 글의 실습은이 글을 참고하여 진행하였습니다. How to Set Up a Video Streaming Server using Nginx-RTMP on Ubuntu 22.04RTMP also called “real-time messaging protocol” is a ..
[백준] 17484 진우의 달 여행 (Small) | python import sysinput = sys.stdin.readlineN,M = map(int, input().split())fuel = []for _ in range(N): fuel.append(list(map(int, input().split())))dp = [[[float('inf'),float('inf'),float('inf')] for _ in range(M)] for _ in range(N+1)]for i in range(M): dp[0][i] = [fuel[0][i], fuel[0][i], fuel[0][i]]for i in range(1, N): for j in range(M): for k in range(3): if (j == 0 and k ==..
2024년 상반기 짧은 감상 4학년 1학기를 보냈다. 4학년이 되고서는 갑자기 불안이가 나왔다.    라일리는 사춘기 때 불안이가 나왔지만, 난 올해 들어왔다. 주변에 일하는 친구들이 생기면서 갑자기 나도 엄청나게 조급해지고...여러 생각들로 나도 1학기 땐 인턴을 해보고 싶어졌다.   근데 떨어졌다... 그래서 그냥 학교에 다녔다ㅋㅋㅋㅋㅋ뷁(솔직히 이 때 떨어진 건 나도 인정한다. 서류를 너무 아기처럼 썼다.) 덕분에 학교에서 운영체제를 재수강했는데과거 2학년 시절 운영체제 수업에서 난 뭘 했는지.. 수업을 하나도 듣지 않은 건지...이제라도 운영체제를 열심히 들을 기회가 있어서 다행이다. 이 수업 하나만으로도 이번 학기는 성공했다고 본다... 허허생각보다 운영체제 자체 내용들이 너무 흥미로웠고, 방학 때 읽으려고 공룡책 샀다. ..
[OS] 메모리 가상화(Memory Virtualization): 6. Paging: TLB *이 글은 Operating Systems: Three Easy Pieces(운영체제 아주 쉬운 세 가지 이야기)를 바탕으로 작성되었습니다. 첨부한 모든 그림은 해당 도서에서 가져온 자료입니다. 내용 중 잘못된 부분이 있다면 알려주세요 :) 지난 글에서 paging 기법으로, linear page table을 사용할 때 메모리 접근 비용이 성능 저하를 가져왔다. Address translation 속도를 어떻게 줄일 수 있을까? 메모리 접근 비용이 부담이라면....하드웨어의 도움을 받아보자  🧐 TLB (Translation-Lookaside buffer)자주 참조되는 가상 주소-물리 주소 변환 정보를 저장하는 하드웨어 캐시address translation cacheMMU에 속해있다.가상 메모리 참조..
[OS] CPU 가상화 (CPU Virtualization): 2. Limited Direct Execution: time sharing, context switch *이 글은 Operating Systems: Three Easy Pieces(운영체제 아주 쉬운 세 가지 이야기)를 바탕으로 작성되었습니다. 첨부한 모든 그림은 해당 도서에서 가져온 자료입니다. 내용 중 잘못된 부분이 있다면 알려주세요 :)  우리는 여러 프로그램을 동시에 실행하길 원한다.이를 위한 OS의 핵심 개념이 process, 실행 중인 program이라는 것을 지난 글에서 알아보았다.OS는 CPU를 time-sharing하여, 실행 중인 process를 다른 process로 scheduling하여 context switch함으로 여러 프로그램이 동시에 실행하는 환상을 만들어준다고 했었다. 그럼 어떻게 CPU time-sharing을 효율적으로 할 수 있을까?시스템에 오버헤드 없이 구현할 수 있을..
[OS] CPU 가상화 (CPU Virtualization): 1. 프로세스란 *이 글은 Operating Systems: Three Easy Pieces(운영체제 아주 쉬운 세 가지 이야기)를 바탕으로 작성되었습니다. 첨부한 모든 그림은 해당 도서에서 가져온 자료입니다. 내용 중 잘못된 부분이 있다면 알려주세요 :) 우리는 여러 프로그램을 동시에 실행하길 원한다. 운영체제는 여러 프로그램들이 실행되는 것처럼 환상을 만들어(CPU를 가상화), 이를 가능하게 만든다. 이 과정에서의 운영체제의 핵심 개념 중 하나는 프로세스이다. 프로세스는 현재 실행 중인 프로그램으로 정의된다. 하나의 프로세스를 실행하고, 중단하고 다른 프로세스를 scheduling하여 실행을 반복하며, 실제로 여러 프로그램이 실행되고 있다고 느끼게 만든다. 이를 time-sharing이라고 하며, 하나의 프로세스를 ..
[OS] 메모리 가상화(Memory Virtualization): 5. Paging: 개요 *이 글은 Operating Systems: Three Easy Pieces(운영체제 아주 쉬운 세 가지 이야기)를 바탕으로 작성되었습니다. 첨부한 모든 그림은 해당 도서에서 가져온 자료입니다. 내용 중 잘못된 부분이 있다면 알려주세요 :) 메모리 관리의 계속해서 언급한 문제가 무엇인가?!!!! 바로 단편화(fragmented)이다... 가변 크기로 메모리를 분할하여 할당하는 방법인 segmentation도 단편화 문제... 그럼 고정된 크기로 메모리를 분할하여 사용하면 어떨까? 이 방법이 바로 페이징 Paging 이다. 이번 글에선 이 페이징에 대해 알아보자! 🧐 Paging이란 공간을 동일 크기의 조각으로 분할하는 방법이다. 이 fixed-size(고정된 크기)를 page라고 부른다. 아래 그림으로 ..
[OS] 메모리 가상화(Memory Virtualization): 4. Free-Space Management *이 글은 Operating Systems: Three Easy Pieces(운영체제 아주 쉬운 세 가지 이야기)를 바탕으로 작성되었습니다. 첨부한 모든 그림은 해당 도서에서 가져온 자료입니다. 내용 중 잘못된 부분이 있다면 알려주세요 :) 지난 글에서 segmentation으로 메모리를 관리하여도 외부 단편화 문제가 있다는 것을 보았다. 메모리의 빈 공간들은 여러 크기로 분할되다가 결국 단편화된다. 예시로, 위 그림을 보자. 현재 빈 공간의 총 크기는 20byte로, 10bytes 짜리 공간 2개가 나눠져있다. 하지만, 15byte짜리 요청을 실패한다. 빈 공간들을 어떻게 관리해야할까? 단편화를 최소화 시키기 위해 어떻게 해야할까? 가변 사이즈 요청을 어떻게 만족할 수 있을까? 여러 가지 방법들의 시간..