일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Zerobase
- 자바
- 자료구조
- Operating System
- python algorithm
- 운영체제
- 프로그래머스
- JavaScript
- 비동기
- codestates
- algorithm
- OS
- 파이썬 알고리즘 인터뷰
- 컴퓨터공학
- Python
- 코드스테이츠
- react 기초
- typeScript
- REACT
- 글또
- java
- 파이썬
- execution context
- 자바스크립트
- context switching
- 알고리즘
- Computer Science
- node.js
- 개발공부
- useState
- Today
- Total
목록Computer Science (32)
Back to the Basics
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 멀티프로그래밍(Multi programming) 멀티프로그래밍? 위키백과에 따르면, 멀티 프로그래밍은 CPU작업과 입출력 작업을 병행하여 CPU이용과 처리량을 향상시킬 수 있는 스케줄링 알고리즘이다. 위의 그림과 같이 하나의 Program의 wait 시간동안 다른 응용 프로그램을 실행한다. 프로세서는 한번에 한 작업만 가능하기때문에, 실제로는 스케줄러에 의해 통제되어 한 프로그램이 일부 수행하고 나서 또 다른 프로그램이 일부 수행되는 방식으로 진행을 한다. 그 시간 간격이 매우 짧기 때문에 마치 병렬적으로 작업이 진행되는 것처럼 보인다. 이런 방식으로 수행되기 때문에, 멀티 프로그래밍은 CPU 활용도를 극대화하는 스케줄링 알고리즘..
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅 Process란? 실행 중인 프로그램을 프로세스라고 한다. 메모리에 올려져서 , 실행 중인 프로그램이다. 작업 , task, job 이라는 용어와 혼용되어 사용된다 응용프로그램 ≠ 프로세스 응용프로그램은 여러 개의 process로 이루어질 수 있다. 하나의 프로그램은 여러 개의 process가 상호작용을 하면서 실행될 수도 있다. (unix 철학) 예를 들어, 간단한 C++ 프로그램을 만든다면 하나의 프로세스이지만, 여러 프로그램을 만들어서, 서로 통신하면서 프로그램을 작성할 수도 있다 (IPC 기법) 스케줄러와 프로세스 프로세스의 실행은 스케줄러에 의해 관리된다. 스케줄러가 스케줄 하는 단위가 프로세스이다.' 스케줄링 알고리즘 ..
제로베이스 컴퓨터 공학자 따라잡기 온라인 완주반 강의를 듣고 정리한 포스팅입니다. 배치 처리 시스템 (일괄 처리 , Batch Processing) Queue 자료구조와 비슷한 FIFO방식으로 프로그램을 실행하는 방식. 실행 요청 순서에 따라 순차적으로 프로그램을 실행한다. 단점 동시에 여러 프로그램을 실행하지 못한다 다중 사용자 지원이 불가능하다. 응답시간이 높아진다. 이를 보완하기 위해 멀티 시분할 시스템과 멀티프로그래밍이 등장했다. 시분할 시스템 : **다중 사용자 지원, 응답시간 최소화 출처 위의 사진과 같이 여러 프로그램이컴퓨터 자원을 짧은 시간 단위로 사용하는 것을 말한다. 멀티 태스킹 (Multi Tasking) : 동시에 실행하는 것처럼 보이도록 함 출처 단일 CPU에서, 여러 응용 프로그..
1. HTTP HTTP (Hyter Text Transfer Protocol) HTML과 같은 문서를 전송하기 위한 Application Layer (응용계층) Protocol이며 웹 브라우저와 웹 서버의 소통을 위해 개발되었다. HTTP의 가장 큰 특징으로는, 특정 상태를 유지하지 않는 Stateless 무상태성 이다. 무상태성이란 말 그대로 상태를 가지지 않는다는 의미이다. 서버와 클라이언트가 통신하는 과정에서 HTTP가 서버나 클라이언트의 상태를 확인하지 않는다.(HTTP는 단시 통신규약일 뿐이므로). 상태를 확인하는 방법으로는 쿠키 , 세션, API들을 통해 확인한다 2. HTTP messages 참고사이트 참고사이트 MDN HTTP messages는 Server와 Client 사이에서 데이터가 ..
이 포스팅은 앞으로 웹 개발을 하면서 꼭 알아둬야 하는 Google의 Chrom Network Tap사용법 영상을 보고 정리한 글이다 크롬 브라우저 에러 읽기 chrome://network-errors/ 을 브라우저에 입력하여 전체 error 목록을 확인할 수 있다. 문제 해결 페이지 Chrom Network Tap 사용법!! 아래 수염난 아저씨가 상당히 잘 설명을 해주셨다. 영어가 조금 약해도 이해가 쏙쏙쏙 되었다. Devtool은 열려있는 동안 only 네트워크 활동? (network activity)만을 읽는다고 한다. 1. network tap 기본 기능들에 대한 설명 아래의 빨간 박스로 체크된 곳을 보며, 전체 request와 전송된 data를 볼 수 있다. 그 위에 위에 나오는 chart는 전..
1. 클라이언트 - 서버 아키텍처 (Client - Server architecture) Client - Server Client : 클라이언트는 인터넷에 연결된 디바이스 또는 웹 접근할 수 있는 Software를 의미하며, 대표적으로 Browser가 있다. Browser는 API에 따라 Server에 Resource를 요청하고 HTML, CSS, Javascript 등으로 작성된 코드를 내부 엔진을 통해 해독하며 Server의 Response에 따른 화면을 표시한다. Server : API를 통해 보내온 Client의 Request를 처리한다. Client - Server architecture 설계 방식 2Tier 아키텍처라고도 불리는 설계 방식 리소스가 존재하는 곳(server), 리소스를 사용은 ..
강의를 듣고 내용을 간단히 정리한 포스팅 입니다. OS는 사용자, Application Program에 Interface를 제공한다. 운영체제는 사용자에게 인터페이스를 제공한다. SHELL이라는 응용프로그램을 통해 사용자가 OS의 기능을 조작할 수 있도록 한다. SHELL이란, 사용자와 OS 간의 Interface이며 CLI에서 Terminal 또는 GUI 환경 두 종류가 있다. 운영체제는 Application을 위한 인터페이스도 제공하며 API라고 한다. API는 Application Programming Interface의 약자이며 함수로 제공된다. 보통 API들을 묶어 Library의 형태로 제공된다. System call System call은 운영체제의 기능을 사용할 수 있는 함수 또는 명령어이..
단일 연결 리스트 자료구조 연결 리스트는 실행 시간에 메모리를 할당하거나 해제할 수 있는 동적 자료구조이다. 이번 포스팅에서는 단일 연결 리스트의 개념과 단일 연결 리스트 연산들의 구현에 대해 간단하게 정리해 보았다. 참고로 사용한 언어는 python이다. 1. 연결 리스트의 개념 연결 리스트 자료구조는 배열처럼 선형 자료구조에 속하지만 인덱스로 접근하는 것이 아닌, 각 노드가 다음 노드에 대한 참조를 갖는 구조이다. 배열처럼 자료들의 메모리가 선형적으로 저장되지 않고 흩어져(?) 있지만 각 노드의 참조를 갖고 있기 때문에, 그 참조를 따라 다음 노드로 접근할 수 있다. 아래의 그림을 보면 쉽게 이해할 수 있다. 각 노드는 데이터를 담는 data field와 다음 노드를 참조하는 pointer field..