CS36 메모리 메모리 계층 구조(Memory Hierarchy)는 여러가지 기억장치를 필요에 따라 속도, 용량, 성능에 따라 계층적으로 나누어 둔 것을 의미함. 하위 계층으로 갈수록 용량이 늘어나고 가격이 저렴하지만 속도가 느리며 상위계층으로 갈수록 용량이 작고 가격이 비쌈 이를 보완하기 위해 메모리 계층 구조를 사용함 레지스터와 캐시 CPU 내부에 존재(CPU에 아주 빠르게 접근할 수 있음) 메모리 = 주기억장치 CPU외부에 존재(레지스터와 캐시보다 더 느리게 CPU에 접근) 하드디스크 = 보조기억장치 CPU가 직접 접근할 방법조차 없음 CPU가 하드 디스크에 접근하기 위해서는 하드디스크의 데이터를 메모리로 이동시키고 메모리에서 접근해야 하기에 아주 느린 접근만 가능함 ▶ 보조기억 장치 보조기억장치는 물리적인 디스크.. 2023. 11. 6. CPU, GPU, RAM [ CPU ] 중앙 처리 장치 또는 CPU(central processing unit, central/main processor)라고 함 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행, 처리하는 가장 핵심적인 컴퓨터의 제어 장치 혹은 그 기능을 내장한 칩 컴퓨터 안의 중앙 처리 장치(CPU)는 외부에서 정보를 입력받고 기억하고 컴퓨터 프로그램의 명령어를 해석하여 연산하고 외부로 출력하는 역할을 함 CPU는 컴퓨터 부품과 정보를 교환하면서 컴퓨터 시스템 전체를 제어하는 장치로 모든 컴퓨터의 작동과정이 CPU의 제어를 받기 때문에 컴퓨터의 두뇌에 해당한다고 볼 수 있음 실제의 CPU 칩엔 실행 부분뿐만 아니라 캐시 등의 부가 장치가 통합된 경우가 많음 CPU에는 MCU(Micro Control Unit, .. 2023. 11. 6. 정렬 알고리즘 [ 삽입정렬 ] 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여 자신의 위치를 찾아 삽입하여 정렬 매 순서마다 해당 원소를 삽입할 수 있는 위치를 찾아 해당 위치에 넣음 과정 손 안의 카드를 정렬하는 방법과 유사함 새로운 카드를 기존의 정렬된 카드 사이의 올바른 자리를 찾아 삽입 새로운 삽입될 카드의 수만큼 반복하게 되면 전체 카드가 정렬됨 알고리즘의 구체적인 개념 2번째 자료부터 시작하여 (즉 첫번째 key 값은 두번째 자료부터 시작함) 앞의 원소들과 비교하여 삽입할 위치를 지정한후 원소를 뒤로 옮기고 지정한 자리에 원소를 삽입하여 정렬 2번째 자료는 1번째 자료, 3번째 자료는 1-2번째 자료 ... 와 비교한후 원소가 삽입될 위치를 찾음 삽입될 위치를 찾았다면 그 위치에 자료를 삽.. 2023. 10. 12. 리액트, 뷰, 앵귤러, 넥스트 [ 리액트 (React) ] Facebook에서 만든 JS UI 라이브러리로 컴포넌트 기반 아키텍처를 제공하여 코드의 재사용성과 유지 보수성을 높이는데 중점을 둔 라이브러리 유연성이 좋으며 react native를 통해 웹 뿐만 아니라 앱 개발로도 확장할 수 있음 create-react-app 등의 커맨드라인 인터페이스가 많아 접근성이 좋고 사용하기 편리하다는 강점이 있음 또한 커뮤니티가 방대하여 어려움이 있을 때 정보를 얻고 활용하고 쉬움 ▶ 장점 가상 DOM을 사용하여 성능을 최적화할 수 있음 컴포넌트 기반 아키텍처를 제공하여 코드의 재사용성과 유지 보수성을 높일 수 있음 커뮤니티가 활발하고 다양한 생태계가 형성되어 있음 JS와 JSX 문법을 사용하여 컴포넌트를 작성하므로 러닝 커브가 낮고 코드가 직.. 2023. 7. 16. CORS(교차 출처 리소스 공유) [ CORS(교차 출처 리소스 공유) ] CORS(Cross-Origin Resource Sharing)는 출저가 다른 자원들을 공유한다는 뜻으로 한 출저에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념 즉 교차되는 출처 자원들의 공유 다른 출처에 있는 자원을 요청한다고 하면 이를 교차 출저 요청이라고 부름 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행합니다. - mdn 설명.. 2023. 7. 9. Rest API [ REST ] ▶ REST REST(Representational State Transfer)는 웹에서 데이터를 전송하고 처리하는 방법을 정의한 인터페이스 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고 HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미 웹 사이트의 이미지, 텍스트, DB 내용 등의 모든 자원에 고유한 ID인 HTTP URI를 부여함 ▶ CRUD Operation CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제).. 2023. 7. 2. 브라우저 저장소 [브라우저 저장소] ▶ 브라우저 저장소가 필요한 이유 웹에서 클라이언트와 서버가 통신할 때 HTTP의 중요한 특징 중 하나로 비연결성이 있음 더보기 비연결성이란 실제로 요청을 주고 받을때만 연결을 유지해 응답을 주고 응답을 주고나면 TCP/IP 연결을 끊음 최소한의 자원으로 서버를 유지 이는 통신을 계속해서 유지하지 않기 때문에 자원 낭비를 줄일 수 있다는 장점이 있지만 통신을 할 때마다 새로운 연결이 계속해서 필요하다는 단점이 있음. 예를 들면 처음 웹 사이트에 방문해서 로그인을 했어도 페이지를 이동할 때마다 새롭게 로그인을 해야하는 문제 등. 이런 경우 개발자는 브라우저 저장소를 이용해서 문제를 해결할 수 있음 ▶ 브라우저 저장소의 종류 1. 쿠키(Cookie) 웹사이트 접속시 개인장치에 다운로드 되.. 2023. 6. 24. 브라우저 [ 브라우저 ] 브라우저는 우리 접속하는 크롬, 사파리, 파이어폭스 등을 말함 브라우저는 웹에서 페이지를 검색하고 표시하며 사용자가 하이퍼링크를 통해 추가 페이지에 접근할 수 있도록 하는 프로그램임. 웹 브라우저는 동기적으로 HTML, CSS, JS 언어를 해석하여 내용을 화면에 보여주는 응용 소프트웨어(소프트웨어는 컴퓨터를 비롯한 시스템에서 특정 작업을 수행하게 하는 프로그램의 집합) 동기적으로 하는 이유는 DOM 트리가 완성되기 전에 script가 DOM을 조작하면 에러가 발생하게 되고, 화면에는 우선적으로 HTML 요소들로 이루어진 레이아웃 화면이 렌더링 되고, 그 다음에 script를 읽어서 사용자와 상호작용하는 순서로 이루어지기 때문임 브라우저는 유저가 선택한 자원을 서버로 부터 받아와서 유저에.. 2023. 6. 15. Stack, Queue, Tree 어떤 데이터의 구체적인 구현 방식은 생략한 채, 데이터의 추상적 형태와 그 데이터를 다루는 방법만을 정해놓은 것 ADT(Abstract Data Type) 혹은 추상 자료형이라고 함 [ Stack ] 데이터를 집어넣을 수 있는 선형(linear) 자료형 LIFO(Last In First Out) 즉 나중에 집어넣은 데이터가 먼저 나옴. JS에서는 배열을 이용해 스택을 구현할 수 있음 용어 push: 데이터를 집어넣음 pop: 데이터를 추출 peek: 맨 위에 있는 요소를 확인 lefts: 모든 요소 문자열로 반환 clear: 모든 요소를 삭제 empty: 남은 요소가 있는지 없는지 확인 contains: 해당 아이템이 스텍에 존재하는지 확인 size: 스택에 있는 아이템의 총 개수를 반환 스택은 서로 관.. 2023. 6. 10. 이전 1 2 3 4 다음