전체 글158 Git 파일 추적 삭제 깃을 사용하다 보면 아래와 비슷한 형식의 에러를 만날 수 있다. remote: error: File android/java_pid10644.hprof is 665.14 MB; this exceeds GitHub's file size limit of 100.00 MB 나같은 경우는 ReactNative에서 안드로이드를 빌드하게 돼서 .hprof 파일이 생겼었는데, 이 파일의 용량이 커서 깃에 올릴때 에러가 발생했다. 이 경우를 해결하기 위해서는 해당 파일을 git이 추적하지 않게 삭제해야 한다. 해결 방법 git filter-branch --tree-filter 'rm -rf ' HEAD 실제 사용 git filter-branch --tree-filter 'rm -rf android/java_pid1064.. 2021. 11. 5. NoSQL NoSQL이란? 관계형 데이터 모델을 지양하며 대량의 분산된 데이터를 저장하고 조회하는 데 특화되었으며 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소를 말한다. 종류마다 쓰기/읽기 성능 특화, 2차 인덱스 지원, 오토 샤딩 지원 같은 고유한 특징을 가진다. 대량의 데이터를 빠르게 처리하기 위해 메모리에 임시 저장하고 응답하는 등의 방법을 사용한다. 동적인 스케일 아웃을 지원하기도 하며, 가용성을 위하여 데이터 복제 등의 방법으로 관계형 데이터베이스가 제공하지 못하는 성능과 특징을 제공한다. CAP이론 1. 일관성(Consistency) 일관성은 동시성 또는 동일성이라고도 하며 다중 클라이언트에서 같은 시간에 조회하는 데이터는 항상 동일한 데이터임을 보증하는 것을 의미한다. 이것은 관계형 데.. 2021. 10. 29. 정규화 정규화는 왜 생겼는가? 한 릴레이션에 여러 엔티티의 애트리뷰트들을 혼합하게 되면 정보가 중복 저장되며, 저장 공간을 낭비하게 된다. 또 중복된 정보로 인해 갱신 이상이 발생하게 된다. 동일한 정보를 한 릴레이션에는 변경하고, 나머지 릴레이션에서는 변경하지 않은 경우 어느 것이 정확한지 알 수 없게 되는 것이다. 이러한 문제를 해결하기 위해 정규화 과정을 거치는 것이다. 갱신이상 삽입 이상 : 원하지 않는 자료가 삽입된다든지, 삽입하는데 자료가 부족해 삽입이 되지 않아 발생하는 문제점을 말한다. 삭제 이상 : 하나의 자료만 삭제하고 싶지만, 그 자료가 포함된 튜플 전체가 삭제됨으로 원하지 않는 정보 손실이 발생하는 문제점을 말한다. 수정 이상 : 정확하지 않거나 일부의 튜플만 갱신되어 정보가 모호해지거나 .. 2021. 10. 29. 캐시의 지역성 캐시의 지역성 원리 내시 메모리는 속도가 빠른 장치와 느린 장치간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리이다. 이러한 역할을 수행하기 위해서는 CPU가 어떤 데이터를 원할 것인가를 어느 정도 예측할 수 있어야 한다. 캐시의 성능은 작은 용량의 캐시 메모리에 CPU가 이후에 참조할, 쓸모 있는 정보가 어느 정도 들어있느냐에 따라 좌우되기 때문이다. 이때 적중율(Hit rate)을 극대화시키기 위해 데이터 지역성(Locality)의 원리를 사용한다. 지역성의 전제조건으로 프로그램은 모든 코드나 데이터를 균등하게 Access하지 않는다는 특성을 기본으로 한다. 즉, Locality란 기억 장치 내의 정보를 균일하게 Access 하는 것이 아닌 어느 한 순간에 특정 부분을 집중적으로 참조하는 특성.. 2021. 10. 29. 메모리 관리 각각의 프로세스는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있다. 단지, 운영체제만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않는다. Swapping 메모리의 관리를 위해 사용되는 기법. 표준 Swapping 방식으로는 RR과 같은 스케줄링의 다중 프로그래밍 환경에서 CPU 할당 시간이 끝난 프로세스의 메모리를 보조 기억장치(e.g. 하드디스크)로 보내고 다른 프로세스의 메모리를 불러 들일 수 있다. Fragmentation(단편화) 프로세스들이 메모리에 적재되고 제거되는 일이 반복되다보면, 프로세스들이 차지하는 메모리 틈 사이에 사용하지 못할 만큼의 작은 자유 공간들이 늘어나게 되는데, 이것이 단편화이다. 단편화는 2가.. 2021. 10. 29. 프로세스 동기화 Critical Section(임계영역) 멀티 스레딩의 문제점에서 나오듯, 동일한 자원을 동시에 접근하는 작업을 실행하는 코드 영역을 Critical Section이라한다. Semaphores(세마포어) 소프트웨어상에서 Critical Section 문제를 해결하기 위한 동기화 도구 카운팅 세마포어 - 가용한 개수를 가진 자원에 대한 접근 제어용으로 사용되며, 세마포어는 그 가용한 자원의 개수로 초기화 된다. 자원을 사용하면 세마포어가 감소, 방출하면 증가된다. 이진 세마포어 - MUTEX라고도 불린다. 0과 1의 값만 가능하며 다중 프로세스들 사이에서 Critical Section 문제를 해결하기 위해 사용한다. Busy Waiting(바쁜 대기) Busy Waiting은 세마포어의 단점이다. Spin.. 2021. 10. 29. OSI 7계층이란 OSI 7계층이란? 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 계층을 나누면 문제가 발생했을때 이상이 생긴 단계만 고쳐서 해결할 수 있기 때문이다. 물리 계층(Physical Layer) 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다. 통신단위 : 0과 1로 나타내어지는 비트이다. 장비 : 통신 케이블, 리피터, 허브 데이터링크 계층(DataLink Layer) 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있다. MAC주소를 가지고 통신한다. 통신 단위 : 프레임 장비 : 브릿지, 스위치 네트워크 계층(Network La.. 2021. 10. 26. 데드락이란 교착 상태(데드락)이란 무엇인가? 데드락이란 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 가리킨다. 데드락의 조건 자원점유와 대기 - 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 점유하기 위해 대기하는 프로세스가 존재해야 한다. 비선점 - 할당된 자원을 강제로 뺴앗을 수 없다. 순환적 자원 요구 - 대기 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 한다. 상호배제 - 한 번에 하나의 프로세스만 해당 자원을 사용할 수 있다. 2021. 10. 26. CPU 스케줄러 CPU 스케줄러의 스케줄링 대상은 Ready Queue에 있는 프로세스들이다. FCFS(First Come First Served) 특징 먼저 온 고객을 먼저 서비스해주는 방식, 즉 먼저 온 순서대로 처리 비선점형(Non-Preemptive) 스케줄링 - 일단 CPU를 잡으면 CPU burst가 완료될 때까지 CPU를 반환하지 않는다. 할당되었던 CPU가 반활될 때만 스케줄링이 이루어진다. 문제점 convoy effect - 소요시간이 긴 프로세스가 먼저 도달하여 효율성을 낮추는 현상이 발생한다. SJF(Shortest Job First) 특징 다른 프로세스가 먼저 도착했어도 CPU burst time이 짧은 프로세스에게 선 할당 비선점형(Non-Preemptive) 스케줄링 문제점 starvation .. 2021. 10. 22. 스케줄러 프로세스를 스케줄링하기 위한 Queue에는 세 가지 종류가 존재한다. Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합 Ready Queue : 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합 Device Queue : Device I/O 작업을 대기하고 있는 프로세스의 집합 각각의 Queue에 프로세스들을 넣고 빼주는 스케줄러에도 크게 세 가지 종류가 존재한다. 장기스케줄러(Long-term scheduler or job scheduler) 메모리는 한정되어 있는데 많은 프로세스들이 한꺼번에 메모리에 올라올 경우, 대용량 메모리(일반적으로 디스크)에 임시로 저장된다. 이 pool 에 저장되어 있는 프로세스 중 어떤 프로세스에 메모리를 할당하여 ready q.. 2021. 10. 22. 이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음