CS-Theory
-
Cache Memory 란 무엇인가 ?CS-Theory/OS 2023. 9. 6. 12:23
하드디스크에서 데이터 파일을 불러와 cpu 에서 연산을 수행을 하는 상황을 이해해보자 . 1. Main Memory 의 등장 배경 , DRAM Dyanmic Random Access Memory CPU 의 연산 속도 차이와 HDD/SDD(외장메모리) 의 연산 속도 , 데이터 I/O로 인하여 발생하는 속도의 차이로 인하여 병목 현상이 발생하고 이러한 문제점을 해결하기 위하여 cpu 가 작업할 데이터와 명령들을 저장하는 Main Memory 를 두게 되었다. Main Memory 는 보통 DRAM 을 사용한다. In Memory DB Redis 도 DRAM 을 기본으로 동작한다. 2. Cache Memory 의 등장 ,SRAM : Static Random Access Memory 기술의 발전에 따라 프로세서..
-
정규화는 항상 옳은가 ? Join 은 정답일까?CS-Theory/DB 2023. 8. 12. 19:15
데이터 베이스의 정규화는 데이터의 중복을 제거하기 위하여 진행을 한다. 데이터의 중복을 없에는 것은 꼭 자원을 효율적으로 사용을 하는 것 이라고 할 수 가 있을까 ? -> 두가지의 테이블을 만들어 fk 를 통한 join 도 비용이라는 것을 알아야한다. 즉 , 정규화와 비정규화의 tradeOff 에 앞서 도메인 이해를 바탕으로 조회용 데이터와 쓰기 용 데이터를 먼저 구별을 하는게 올바른 설계의 첫 걸음이라고 생각이 든다. 정규화의 장점 1. 중복을 제거 2. 데이터를 한곳에서 관리 3. 데이터 정합성 유지가 쉽다 비 정규화의 장점 참조 없이 읽기가 가능하다. 정규화를 언제 사용하는게 효과 적일까 ? 데이터의 최신성을 고려한 판단이 하나의 기준이 될 수 가 있다. 사용자의 이름과 닉네임 고유한 식별자가 있는..
-
Transaction (1) 정의 , ACID 특성CS-Theory/DB 2023. 8. 9. 23:29
데이터베이스의 트랜잭션이란 , 데이터 베이스에서 수행하는 작업 또는 논리의 하나의 단위이다. 운영체제로 부터 자원을 할당 받아 실행하는 작업의 단위인 프로세스와 유사한 정의 인것 같다. 논리의 단위라는것이 중요하다 , 트랜잭션의 결과가 물리적으로 , 하드디스크에 변경이 된다라는걸 의미 하지 않는다. ??? 데이터 베이스에 WRITE 과 관련된 트랜잭션이 발생을 하면 , RAM에서의 결과를 COMMIT 이라는 명령어를 해야 하드디스크에 변화가 생긴다. 추가로 + ACID 의 개념이 들어가게 설명을 하자. 데이터베이스의 트랜잭션이란 , ACID 속성이 있는 작업 그룹이며 , DB 의 어떤 변화가 있는 경우를 일컫는 말이다. 정리 하자) 데이터 베이스의 트랜잭션이란 , ACID 속정이 있는 작업 그룹으로 DB..
-
HTTP 가 뭔가요 ? Tomcat 의 요청가능한 최대 데이터 크기?CS-Theory/NetWork 2023. 7. 27. 17:30
이글은 웹 서비스의 기본이 되는 http 와 관련된 내용 및 톰캣 공식 문서의 내용 일부를 포함한다. HTTP 가 뭔가요 ? HTTP 란 무엇인가 ? Hyper Text Tranfer Protocol의 약자로 www 상에서 정보를 주고 받는 프로토콜이며 응용계층에 속하며 80 번 포트를 사용하여 통신을 한다. HTTPS 는 443 번 포트를 사용한다. 우리가 흔히 보는 http 의 url 주소는 그럼 어떻게 http 메시지에 들어 가게 되는건가? 답은 메시지의 구조에 있다. Http 프로토콜에서 사용되는 Request Message 는 크게 요청 라인 , 헤더 ,바디로 이루어져 있다. HTTP 메서드 , Request Target , 프로토콜 버전 정보 이 들어가는 RequestLine ex ) GET ..
-
그럼 SYN 패킷은 어떻게 이루어져 있나요 ? TCP/IP 원리 (3)CS-Theory/NetWork 2023. 7. 27. 16:22
이전 글 http 를 이용한 Api 의 네트워크 통신은 9 번이 일어나는것을 알았다. https://chosunghyun18.tistory.com/131 앱 서버로 API 를 호출 하면 몇번의 데이터 통신이 발생하나요 ? TCP/IP 원리 (2) 만약 다음 질문이 들어오면 정답이 무엇일까? Q : 안드로이드에서 서버로 api 를 호출 하면 몇번의 데이터 통신이 발생하나요 ? TCP 원리 (1) 글에서는 TCP/IP 원리 설명중 데이터가 구체적으로 어떻 chosunghyun18.tistory.com 질문 : SYN 패킷은 어떻게 이루어져 있나요 ? HTTP 레이어의 데이터를 받아 TCP Header 를 붙인 는 다음과 같이 이루어져있다. TCP Header 에 총 9bit 로 이루어진 TCP Flags 가..
-
앱 서버로 API 를 호출 하면 몇번의 데이터 통신이 발생하나요 ? TCP/IP 원리 (2)CS-Theory/NetWork 2023. 7. 25. 15:22
만약 다음 질문이 들어오면 정답이 무엇일까? Q : 안드로이드에서 서버로 api 를 호출 하면 몇번의 데이터 통신이 발생하나요 ? TCP 원리 (1) 글에서는 TCP/IP 원리 설명중 데이터가 구체적으로 어떻게 해서 다른 컴퓨터에게 전달이 되며 패킷생성의 두가지 방식 및 패킷 스위칭의 과정을 설명했다. 이번 글에서는 Tcp 의 데이터의 신뢰성을 어떻게 보장을 하는지에 대한 설명이다. 우리는 앞서 IP 는 비 연결성 데이터그램 패킷 스위칭을 기반으로 작동한다라는 내용을 알았다. 데이터그램 패킷 스위칭은 각각의 패킷이 독립적으로 처리되므로 중간에 패킷이 손실되거나 순서가 바뀐다. 트렌스포트 계층에서 TCP 방식을 사용하여 안정적인 통신을 가능하게 한다. 가상 회선 패킷 교환 방식 데이터그램 패킷 교환 방식과..
-
TCP 가 뭔가요? TCP/IP 원리 (1)CS-Theory/NetWork 2023. 7. 25. 14:46
TCP 원리의 대한 설명을 위한 글이다. TCP 원리(1) 에서는 TCP 의 정의 , TCP/IP 모델 , 전반적인 데이터 전달 방식 의 내용을 설명한다. 장문의 글이다. 글을 읽기전 라우터, 허브,공유기의 차이를 모르거나 본이니 타인에거 명확하게 설명이 불가하다면 꼭 다음글을 먼저 읽고 와 주면 좋겠다. https://chosunghyun18.tistory.com/129 허브 , 스위치, 라우터 , 공유기의 차이 허브 , 스위치, 라우터 , 공유기는 컴퓨터 네트워크에서 각각 다른 기능을 한다. - 허브 : 데이터를 받은 포트를 제외한 나머지 모든 포트로 데이틀 브로드캐스트 한다. 소규모 네트워크를 구성시 chosunghyun18.tistory.com 1. TCP 의 정의 TCP/IP 는 Transmis..
-
허브 , 스위치, 라우터 , 공유기의 차이 TCP/IP 원리 (0)CS-Theory/NetWork 2023. 7. 25. 14:16
허브 , 스위치, 라우터 , 공유기는 컴퓨터 네트워크에서 각각 다른 기능을 한다. - 허브 : 데이터를 받은 포트를 제외한 나머지 모든 포트로 데이터를 브로드캐스트 한다. 소규모 네트워크를 구성시 이용 할 수 있다. 만약 특정 컴퓨터에서 특정 컴퓨터로 연결을 요청시 연결된 컴퓨터를 개별로 인식하지 못하고 모든 컴퓨터에 연결 요청을 보낸다. 이러한 특징으로 여러 장치가 동시에 데이터를 전송하면 충돌이 발생할 문제가 있어 현대 네트워크에서 거의 사용 되지 않는다. - 스위치 : 허브의 문제를 스위칭 테이블을 사용하여 해결한다. 네트워크에 연결된 모든 컴퓨터를 인식하고 요청 대상에 맞는 컴퓨터에게만 연결 요청을 보낸다. (스위치는 컴퓨터의 고유한 번호인 맥 주소를 수집해 스위칭 테이블을 만들고 해당 포트에 연..