항해99_7기/CS 북클럽

[항해99] CS 하드웨어 2주차

code10 2022. 5. 25. 23:40

CS 스터디
>> 항해99 / 7기 / D반 / 테즈먼해
>> ⌜1일 1로그 100일 완성 IT 지식 - 브라이언 W.커니핸/하성창 옮김/인사이트⌟ 일별 목표 챕터 읽기


I부 하드웨어 > 010 비트 모아 데이터


이진수
이진수->십진수 : 비트가 1인 자릿값에 해당하는 2의 거듭제곱을 합산.
십진수->이진수 :
1) 십진수를 2로 나누기를 반복하고, 나눌 때마다 0 또는 1이 되는 나머지 값을 적고, 몫은 다음 나누기를 위한 값으로 사용. 몫이 0이 될 때까지 나누기를 계속한 뒤, 나머지 값을 역순으로 나열.
2) 원래 수에서 2의 거듭제곱을 하나씩 내려가면서 뺌으로써 십진수를 이진수로 변환하는 방법. 수가 포함하는 가장 큰 2의 거듭제곱부터 시작, 거듭제곱 값을 뺄 때마다 1을 쓰고, 남은 값보다 거듭제곱 값이 크다면 0을 쓴다. =>기계적 처리에 적합하진 않음.

바이트(byte)
=> 1바이트 == 8비트 == 모든 최신 컴퓨터에서 데이터 처리와 메모리 구성의 기본 단위
=> 1956년, IBM에 근무하던 컴퓨터 설계자 베르너 부흐홀츠가 만듦.
=> 단일 바이트로는 256개의 구별되는 값을 인코딩할 수 있음.
==> 인코딩된 값은 0과 255 사이의 정수이거나, 7비트 아스키코드 문자 집합(1비트는 다른 용도로 남겨 둠) 중 하나의 문자이거나, 뭔가 다른 것일 수 있다.

=> 2바이트 == 16비트, 0에서 2^16 -1까지 값을 나타낼 수 있다.
==> 유니코드 문자 집합에 있는 문자 한 개 용량

=> 4바이트 = 32비트, 아스키코드 문자 4개 또는 유니코드 문자 2개 가능.

십육진수
=> 0~9, A~F
==> 이진수는 십진수 형태보다 세 배 이상 길어서 너무 많은 공간을 차지하므로 십육진수라는 대안 표기법을 일반적으로 사용.
==> 웹페이지의 색상에 사용. (검은색 000000, 흰색 FFFFFF)


I부 하드웨어 > 012 프로세서와 계산기의 다른 점


=> 프로세서가 단순하긴 해도 결정을 내릴 수 있다는 것이 포인트.
=> '이 수가 저 수보다 큰지' 등 비교를 수행할 수 있고, 그 결과에 기초하여 다음에 무슨 일을 할지 결정할 수 있음.
=> 초당 수십억 번의 연산을 수행할 수 있어서 고도로 정교한 계산이 가능.

I부 하드웨어 > 013 모형 컴퓨터로 더하기 프로그램 만들기

깃천님 블로그 참고..
https://gitcheon.tistory.com/8

 

CS 스터디_1일 1로그 100일 완성_12, 13챕터

Chapter 12. #프로세서(CPU, 컴퓨터의 두뇌) 의 특징 1. 산술 연산을 할 수 있어서 계산기처럼 수를 더하고(+) 빼고(-) 곱하고(x) 나눌(/) 수 있다. 2. 메모리에서 연산을 수행할 데이터를 가져오거나 연산

gitcheon.tistory.com


I부 하드웨어 > 014 프로세서는 무조건 빠른 게 좋을까?

ralfbf222님 블로그 참고..
https://velog.io/@rlafbf222/JsonIgnore-request-Controller-HTTP-ResponseBody-MVC-동작원리-CS-스터디-항해-15일차#2-cs-개념-정리-14단원

 

@JsonIgnore / request / @Controller / HTTP / @ResponseBody / MVC 동작원리 /CS 스터디 (항해 15일차)

@JsonIgnore / request / @Controller /...

velog.io


I부 하드웨어 > 015 캐시가 뭔가요?

 

캐시(Cache)

=> 은닉처? O , 고속기억장치? O , 임시 저장? O
==> 원래 메모리에 있던 것을 미리 조금 가져와서 쌓아두는 것
=> where? 프로세서와 메모리 사이에,
=> what? 최근 사용된 명령어와 데이터를,
=> why? 캐시에서 찾을 수 있는 정보에 접근하는 편이 메모리에서 정보가 오기를 기다리는 것보다 빠르니까.
==> 캐싱: 이 캐시 영역으로 데이터를 가져와서 접근하는 방식.

 

<프로세서에서의 캐시>
프로세서에서 캐시는 용량이 작고 속도가 빠른 메모리로, 용량이 더 크지만 훨씬 느린 주 기억 장치에 매번 접근하는 것을 피하고자 최근에 사용된 정보를 저장하는 데 사용된다. 일반적인 프로세서에는 캐시가 2~3개 있는데, L1, L2, L3 레벨이라고 부름. 뒤로 갈수록 용량은 크지만 속도는 더 느리다. 가장 큰 캐시는 데이터를 몇 MB 정도 담을 수 있다.

캐싱이 효과적인 이유는 최근에 사용된 정보가 곧 다시 사용될 가능성이 크기 때문!

(장점) 캐시에 정보를 포함하고 있다는 사실은 메모리 작업을 기다리는 데 시간을 덜 쓴다는 것. (시간 단축)
(특징) 캐싱 과정에서는 대개 정보를 블록(Block) 단위로 동시에 불러온다.
ex) 단일 바이트에 대한 요청이 들어오면, 연속된 메모리 위치를 포함한 블록을 불러온다.
why) 인접한 정보라면 곧 사용될 가능성이 높으므로 , 미리 불러와 두면 필요할 때 캐시에서 바로 꺼내 쓰기 쉽기 때문.

캐시 관찰하려면?


=> 캐싱은 사용자에게 거의 드러나지 않는다.
=> 1) 워드와 같이 (무게감 있는) 프로그램을 실행
      2) 사용할 준비를 마치기까지 걸리는 시간을 측정하고, 종료했다가 바로 재시작
==> 결과: 보통은 두 번째 실행 시 로딩 시간이 짧다.
===> 프로그램의 명령어가 아직 메모리에 있고, 메모리가 디스크에 대한 캐시로 사용되기 때문.
※ 워드 등에 최근에 사용된 파일 목록도 일종의 캐싱이다.

캐시라는 이름...

- 프로세서에 있는 여러 개의 누산기는 실행 속도를 높인다는 점에서는 사실상 일종의 캐시.
- 주 기억 장치는 디스크를 보완하는 캐시가 될 수 있고,
- 메모리와 디스크는 네트워크에서 오는 데이터를 빠르게 꺼낼 수 있다는 점에서 둘 다 캐시가 된다.
- 서버 자체에도 캐시가 있다.

<브라우저에서의 캐시>

 


웹 브라우저에서 "캐시를 삭제한다"는 무슨 뜻?
브라우저는 어떤 웹페이지에 포함된 이미지나 비교적 용량이 큰 다른 데이터의 로컬 사본을 유지하고 있다.
사용자가 재방문했을 때 다시 다운로드하는 것보다 로컬 사본을 사용하는 편이 더 빠르기 때문.
단, 캐시 용량이 무한정 커질 수는 없어서 , 브라우저는 공간 확보를 위해 오래된 항목부터 조용히 제거한다. 사용자가 직접 제거하는 것도 가능. (방문했던 사이트에 재접속하는 사이, 이미지가 업데이트 되었는데, 캐시로 인해 이전 이미지가 안 보일 수 있다. => 캐시 지우면 해결!)

캐시 및 쿠키 삭제

  • 🍪 쿠키 | 내가 방문하는 사이트에서 만드는 파일로, 인터넷 사용 기록을 저장하여 인터넷을 더 쉽게 사용할 수 있도록 한다. 브라우저에 저장되는.. 내가 갖고 있는 것!
  • 🎹 세션 ㅣ 민감한 정보 누출되기 쉬운- 서비스 제공제가 직접 관리해야 할 정보들은 세션으로 서버 안에서 다루어진다. 개발자들은 어떤 정보를 쿠키에 저장할지 세션으로 저장할지 고민한다고.
  • 💰캐시ㅣ 다음 방문 시 페이지를 빠르게 열 수 있도록 이미지 등 페이지의 일부를 기억합니다


(참고)
https://www.youtube.com/watch?v=jXLeXgIWNbQ
https://www.ilovepc.co.kr/news/articleView.html?idxno=43505
https://ssoonidev.tistory.com/35
https://blog.naver.com/PostView.nhn?blogId=ljh0326s&logNo=220851633811&parentCategoryNo=&categoryNo=79&viewDate=&isShowPopularPosts=true&from=search


I부 하드웨어 > 016 슈퍼컴퓨터부터 사물인터넷까지

https://eunjink.tistory.com/25


II부 소프트웨어 > 018 알고리즘과 초콜릿 케이크 레시피

II부 소프트웨어> 019 반에서 가장 키 큰 사람 찾기: 선형 알고리즘