목록CS (6)
프론트엔드 개발
자료구조(data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. - 위키백과 자료구조의 종류 선형 구조 : 한 종류의 데이터가 선처럼 길게 나열된 자료구조. 배열 해시 스택 큐 덱 연결리스트 비선형 구조 : 선형 구조가 아닌 모든 자료구조. i번째 값을 탐색한 뒤의 i+1이 정해지지 않는 구조 그래프 트리 자바스크립트의 자료구조 배열(Array) 배열은 대부분의 프로그래밍 언어에서, 가장 간단하고 가장 많이 쓰이는 자료구조형이다. 일반적인 배열은 인덱스로 배열 요소에 빠르게 접근할 수 있습니다. 하지만 특정 요소를 탐색하거나 ..
Big-O란 무엇인가? 알고리즘 성능을 수학적으로 표기해주는 표기법 시간과 공간 복잡도를 표현 데이터나 사용자의 증가율에 따른 알고리즘의 성능을 예측하는게 목표, 상수와 같은 숫자들은 모두 1이 된다. 시간복잡도 시간복잡도란 알고리즘이 문제를 해결하기 위한 시간(연산)의 횟수를 말한다. 알고리즘을 평가하는데 있어 수행시간과 메모리 사용량을 평가기준으로 두는데 수행시간에 해당하는 것이 시간 복잡도 Time Complexity 메모리 사용량에 해당하는 것이 공간 복잡도 Space Complexity 연산 횟수를 카운팅 할때 3가지 경우가 있다. 최선의 경우 Best Case 최악의 경우 Worst Case 평균적인 경우 Average Case 빅오표기법 예제 O(1) constant time 입력 데이터 크..
HTTP(Hyper Text Transfer Protocol)란 서버와 클라이언트가 인터넷 상에서 HTML 문서를 주고받을 수 있게 하기 위해 만든 protocol(통신 규약)입니다. 클라이언트 이 역할은 주로 브라우저에 의해 수행됩니다 웹 페이지는 하이퍼텍스트 문서로, 표시된 텍스트의 일부는 사용자가 웹을 돌아다닐 수 있도록 새로운 웹 페이지를 가져오기 위해 실행될 수 있는 링크임을 뜻합니다. 브라우저는 HTTP 요청 내에서 지시 사항들을 변환하고 HTTP 응답을 해석하여 사용자에게 명확한 응답을 표시합니다. 웹 서버 통신 채널의 반대편에는 클라이언트에 의한 요청에 대한 문서를 제공하는 서버가 존재합니다. HTTP 통신방식 HTTP통신은 클라이언트가 데이터를 요청하면, 서버는 그 요청을 처리하여 다시 ..
비트와 바이트 컴퓨터가 이해할 수 있는 최소의 정보 단위: 0과 1 컴퓨터는 0과 1을 조합으로 이루어진 정보들을 처리할 수 있다. 컴퓨터가 처리할 수 있는 가장 최소 정보 단위 : Bit Bit는 0 또는 1이라는 정보를 담을 수 있다. 0과 1이라는 정보들을 처리할 수 있다. 컴퓨터는 신호가 없고(0) 있고(1) 로만 다룰 수 있다. 1bit: 0, 1 1 bit당 2가지의 경우를 나타낼 수 있다. 2 bit (2X2) = 4가지 경우를 나타낼 수 있음 3 bit (2X2X2) = 8가지 경우를 나타낼 수 있음 1 Byte = 8 bit (2*8) = 256가지 경우 [0, 255]까지의 숫자를 나타낼 수 있음 문자코드 ASCll (아스키 코드) 1Byte로 표현 가능 한계점: 세상의 모든 언어의 문..
프로세스와 스레드의 차이란? 프로그램: 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태. 프로세스: 운영체제로부터 자원을 할당받은 작업의 단위. 스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위. 프로그램을 실행하는 순간 해당 파일은 컴퓨터 메모리에 올라가게 되고, 이 상태를 동적인 상태라고 하며 이 상태의 프로그램을 프로세스라고 한다. 운영체제는 프로세스마다 각각 독립된 메모리 영역을, Code/Data/Stack/Heap의 형식으로 할당해 준다. 각 프로세서는 독립된 메모리 영역을 할당해 주기 때문에 프로세스는 다른 프로세스의 변수나 자료에 접근할 수 없다. 할당받는 시스템 자원의 예 - CPU 시간 - 운영되기 위해 필요한 주소 공간 - Code, Data,..
3 Way-Handshake 란 전송 제어 프로토콜(TCP)에서 통신을 하는 장치간 서로 연결이 잘 되어있는지 확인하는 과정, 방법 TCP / IP Model의 Transport 계층에는 크게 TCP(Transmission Control Protocol) 와 UDP(User Datagram Protocol) 2가지 프로토콜이 있다. TCP 연결지향적이며 오류제어, 흐름제어, 혼잡제어, 타이머재전송 등의 기능을 하며 연결지향이란말은 데이타를 전송하는 측과 데이타를 전송받는 측에서 전용의 데이타 전송 선로(Session)을 만든다는 의미이다. 데이타의 신뢰도가 중요하다고 판단될때 주로 사용된다. UDP 비연결지향이며, 최소한의 오류제어 기능만 수행한다. 단순히 데이타를 받거나, 던져주기만 하는 프로토콜이다...