본문 바로가기

컴퓨터공학54

ARIMA 모델을 사용한 시계열분석 ⚠️ 통계 하나도 모르는 주인장입니다. ARIMA Model ARMA 모델은 정상성이 있다는 것을 가정한 상황에서 사용하는 반면, ARIMA 모델은 차분이라는 개념을 통해 non-stationary한 상황에서 좀 더 나은 예측을 하는 것이 목표 따라서 ARMA모델에 차분이라는 차수 d가 포함되어 ARIMA(p,d,q)로 표현 차분 차수 d : 시계열 plot을 보고 정상성 여부를 확인하고, 차분을 진행하고, 차분 후의 plot을 보고 여부를 확인하는 프로세스로 진행한다. p, q : p, q의 경우 보통 ACF(Autocorrelation function)와, PACF(Partial Autocorrelation function)를 보고 결정한다. ACF는 k lag 단위로 구분된 시계열 관측치 X_t와 .. 2023. 11. 15.
[네트워크] 프록시와 로드밸런싱 Proxy Proxy의 사전적인 의미는 위임장, 대리인 클라이언트와 서버 사이에 중계를 하는 역할 패킷 필터링, 캐싱, 보안, 우회 등의 이유로 사용된다. 프록시 서버는 거쳐가는 요청과 응답을 확인할 수 있다 Forward Proxy 클라이언트와 가까운 프록시 클라이언트가 요청을 보내면 직접 요청하는 것이 아니라 프록시 서버를 거쳐 요청을 보내게 됨 대부분 캐싱 기능이 있음 얻다 쓰나요? 정부, 학교 등 접속을 제한해야 하는 곳 (음란물, 도박 사이트 등등) 클라이언트의 정보를 숨겨야 할 때 ip를 우회할 수 있음(클라이언트 익명성) 클라이언트 단의 캐싱 Reverse Proxy 서버와 가까운 프록시 반대로 서버에서 직접 반환하는 게 아닌 프록시를 거쳐 응답을 보냄 cloudfare, akamai, CD.. 2023. 9. 11.
[운영체제?] 스레드의 종류(하드웨어스레드, 커널레벨스레드, 유저레벨스레드) 하드웨어 스레드 일단은 우리가 알고 있는 스레드 개념은 잊자 코어의 고민 : 메모리에서 데이터를 기다리는 시간이 오래 걸려… 메모리를 기다리는 동안 다른 스레드를 실행하는 건 어떨까? 메모리에 접근하는 과정 중간중간 다른 연산을 처리하자 (코어 사용률 극대화) 인텔의 hyper-threading : 물리적인 코어마다 하드웨어 스레드가 두 개 OS 관점에서 가상의 코어 ex) 싱글 코어 CPU에 하드웨어 스레드가 두 개 라면 OS는 CPU를 듀얼 코어로 인식 소프트웨어 스레드 커널 레벨 스레드 CPU에서 실제로 실행되는 단위, CPU 스케쥴링의 단위 OS 쓰레드의 컨텍스트 스위칭은 커널이 개입하기 때문에 비용이 발생 또는 OS 커널의 역할을 수행하는, 커널 코드를 실제 실행하는 쓰레드 유저 레벨 스레드 쓰.. 2023. 9. 10.
[운영체제] 커널 영역 커널 OS엔 유저모드와 커널모드가 존재!!!! 프로그램 실행 중 인터럽트가 발생하거나 시스템콜을 호출하게 되면 커널 모드로 전환된다. 헉 커널이 핵심이란 뜻이다. 처음 알았다. 그만큼 운영체제에서 커널이 중요하다는 뜻이다!!!!!! 시스템 전반을 관리/감독하는 역할 하드웨어와 관련된 작업을 직접 수행 커널 모드 프로그램의 현재 cpu 상태를 저장함 커널이 인터럽트, 시스템콜 직접 처리 → 처리 완료되면 중단됐던 프로그램의 cpu 상태를 복원 왜 필요하죠? 시스템 보호하기 위해 OS event OS 이벤트엔 세 종류가 있다. (사실 더 크게 보면 두 종류이다) 인터럽트 보통 하드웨어에 의해 발생, 소프트웨어도 발생 가능 (원문 : Trigger the processor to execute the corre.. 2023. 9. 9.
[MySQL] Query 성능 높이는 팁 Query 튜닝 Index 전략을 사용하기 인덱스는 데이터베이스 성능 최적화에 필수적인 요소다. PK나 JOIN, WHERE 자주 사용되는 컬럼 같은 컬럼에 반드시 인덱스를 생성하자. 하지만 과도한 인덱스는 부정적인 영향(쓰기 성능 느려짐, 메모리 낭비)을 주기 때문에 전략적으로 필수적인 인덱스를 만들어 사용해 관리하자. Predicate 절에서 함수 사용을 피하라 SELECT * FROM TABLE1 WHERE UPPER(COL1)='ABC' UPPER() 같은 함수를 사용하게 되면 데이터베이스는 인덱스를 사용하지 못하게 된다. 함수 기반 인덱스를 생성하거나, 컬럼 커스텀을 이용해야 한다. Predicate 절에서 와일드카드(%)로 시작하는 조건을 피하라 SELECT * FROM TABLE1 WHERE.. 2023. 9. 8.
[운영체제] 파일 시스템은 어떻게 구현되어 있는가? File System Implementation 실제 사용 중인 운영체제에선 파일 시스템이 어떻게 구현되어 있을까? 살펴 보도록 하자. Continuous allocation 한 파일을 디스크의 연속된 block에 저장 👍🏻 효율적인 파일 접근 👎🏻 새로운 파일을 위한 공간 확보가 어려움, 외부 단편화 문제, 파일 공간 크기 결정이 어려움(파일이 커져야 할 경우는?) Dis-continuous allocation Linked allocation 파일이 저장된 블록들을 링크드 리스트로 연결 디렉토리는 각 파일에 대한 첫 번째 블록을 가리키는 포인터를 가짐 👍🏻 단순, 외부 단편화 없음 👎🏻 직접 접근에 비효율적, 포인터 공간 필요, 신뢰성(사용자가 포인터를 건들면?) 구현체 ⇒ FAT(File Alloca.. 2023. 9. 8.
[운영체제] 파일 시스템 보호 File Protection 파일에 대한 부적절한 접근 방지 → 다중 사용자 시스템에서 더욱 필요 접근 제어가 필요한 연산들 : Read, Write, Execute, Append 파일 보호 기법으론 password 기법과 access matrix 기법이 있는데 두 번째 방법에 집중할 것이다. Password 기법 각 파일에 PW 부여 비현실적 : 접근 권한 별 서로 다른 PW 부여해야 함 Access Matrix 기법 범위(domain)와 개체(object) 사이의 접근 권한을 명시 *object : 접근 대상(file, device등) *domain : 접근 권한의 집합, 같은 권한을 가지는 그룹(사용자, 프로세스) Global Table 시스템 전체 file에 대한 권한을 가지는 table ⚠️ 테.. 2023. 9. 7.
[운영체제] 파일 시스템과 디렉토리 구조 File 보조 기억 장치에 연관된 정보들의 집합 보조 기억 장치 할당의 최소 단위 sequence of bytes 프로그램 파일, 데이터 파일 text 파일, binary 파일 파일 속성 : name, identifier, type, location, size, protection, user identification, time 등등 파일 연산 : create, write, reposition, read, delete 등등 수행 ⇒ OS는 파일 연산들에 대한 system call을 제공해야 함 파일 접근 방법 Sequential access : file을 record 단위로 순서대로 접근 (fgetc()) Directed access : 원하는 block을 직접 접근 (lseek(), seek()) In.. 2023. 9. 7.