CS
웹 통신의 큰 흐름
📍웹 통신의 큰 흐름 브라우저가 URL에 적힌 값을 파싱해서 HTTP request Message를 만들고, OS가 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 웹 서버로 전송하도록 한다. 이 때, DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾는 DNS Lookup을 수행합니다. DNS 룩업 과정은 크롬의 경우 브라우저-> hosts파일-> DNS Cache의 순서로 도메인에 매칭되는 ip를 찾습니다. 이 요청은 프로토콜 스택에 의해 패킷에 담기고 패킷에 제어정보를 덧붙여 LAN 어댑터에 전송합니다. 그리고 LAN어댑터는 이를 전기 신호로 변환시켜 송출합니다. 패킷은 스위칭 허브 등을 경유하여 인터넷 접속용 라우터에서 ISP로 전달되고 인터넷으로 이동합니다. 액세스 회선에 의..
동기와 비동기
📍동기와 비동기 1. Sync VS Async 먼저 Synchronous와 Asynchronous의 어원을 보자. Synchronous의 Syn는 together이란 뜻이고, chrono는 time이다. 따라서 Synchronous는 함께 시간을 맞춘다라는 뜻으로 해석된다. 반면에 Asynchronous는 앞에 A라는 접두사가 붙어 부정하는 형태가 되어 시간을 맞추지 않는 것이라 해석할 수 있다. Sync와 Async를 다루려면 위 어원에서 볼 수 있듯이 함께 하는 대상이 누구인지, 그 대상들의 시간은 어떻게 다루어지는지 두 가지를 살펴봐야한다. 1.1. Synchronous (동기) : 작업의 순서가 보장된다. 동기는 두 가지 이상의 대상(함수, 애플리케이션 등)이 서로 시간을 맞춰 행동하는 것이다. ..
트랜잭션
DB 트랜잭션(Transaction) 트랜잭션이란? 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 완전성 을 보장해주는 작업 단위 즉, 논리적인 작업 셋을 모두 완벽하게 처리하거나 또는 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생하지 않게 만들어주는 기능 트랜잭션을 통해 사용자의 입장에서는 작업을 논리적 단위로 이해를 할 수 있고 시스템의 입장에서는 그것이 데이터들을 접근 또는 변경하는 프로그램의 단위가 된다. 상태를 변화시킨다는 것 → SQL 질의어를 통해 DB에 접근하는 것 ``` SELECT INSERT DELETE UPDATE 작업 단위 → 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것 예시) 사용자 A가 사용자 B에게 만원을 송금한다. 이때..
캐시
캐시 캐시 메모리(cache memory)란, 속도가 빠른 장치와 느린 장치 사이에서 버퍼 역할을 하며 속도 차에 따른 병목 현상을 줄여, 컴퓨터 시스템의 성능을 향상시키기 위해 별도로 탑재된 일종의 범용 메모리를 말하는 것이다. ex1) CPU 코어와 메모리 사이의 병목 현상 완화 ex2) 웹 브라우저 캐시 파일은, 하드디스크와 웹페이지 사이의 병목 현상을 완화 램보다 훨씬 빠르고 작고 매우 비싼 메모리이며, 레지스터와 함께 메모리 계층 구조의 전통적인 핵심 계층 중 하나이다. 참고) 메모리 계층 구조 CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 처리 속도를 향상시킨다. 지역성의..
![[Database] 정규화(Normalization) 쉽게 이해하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEIJmh%2FbtreLDqcH6A%2F6kmwflqwSNpLPj8PbOGQuk%2Fimg.png)
[Database] 정규화(Normalization) 쉽게 이해하기
출처 : https://mangkyu.tistory.com/110 [Database] 정규화(Normalization) 쉽게 이해하기 지난 포스팅에서 데이터베이스 정규화와 관련된 내용을 정리했었다. 하지만 해당 내용이 쉽게 이해되지 않는 것 같아서 정규화 관련 글을 풀어서 다시 한번 정리해보고자 한다. 1. 정규화(Normaliz mangkyu.tistory.com 1. 정규화(Normalization) [ 정규화(Normalization)이란? ] 정규화(Normalization)의 기본 목표는 테이블 간에 중복된 데이타를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 이러한 테이블을 분해하는 정규화..
[대용량DB] 데이터 테이블의 종류 및 특성
출처 : https://12bme.tistory.com/200 [대용량DB] 데이터 테이블의 종류 및 특성 본 포스팅은 학습 용도로 작성되었습니다. 원본 출처는 http://blog.daum.net/hadmond/7 입니다. DW 시스템 구축시, 구축 대상이 되는 업무계(기간계)시스템의 테이블(table) 종류와 그 특성을 올바로 파악 12bme.tistory.com 본 포스팅은 학습 용도로 작성되었습니다. 원본 출처는 http://blog.daum.net/hadmond/7 입니다. DW 시스템 구축시, 구축 대상이 되는 업무계(기간계)시스템의 테이블(table) 종류와 그 특성을 올바로 파악하고 대응하는 것이 중요합니다. 왜 중요한지는 차차 설명이 될것이며, 우선 원천 테이블의 종류와 그 특성에 대해 ..