Computer Science 3

CS) HTTP, HTTPS

HTTP? Hyper Text Transfer Protocol의 약어로써 W3(www) 상에서 서로 다른 시스템 간의 정보를 주고받을 수 있는 가장 기초적인 프로토콜이다. 우리가 웹 서핑을 할 때 서버에서 브라우저로 데이터 전송을 해 주는 용도로 가장 많이 사용된다. 이러한 HTTP는 인터넷의 초기에 모든 웹사이트에서 기본적으로 사용되었던 프로토콜이기도 하다. 프로토콜: 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약 HTTPS? HTTP에는 치명적인 문제점이 있었다. 이름에서 알 수 있듯 Text를 Transfer 하는 방식으로 통신을 하는데, 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않았기 때문에 보안상의 문제가 생겨났다. 그리하여 탄생..

Computer Science 2021.03.05

CS) 스택 / 큐

스택(Stack) 스택은 입력과 출력이 한 방향으로 제한되어 있습니다. 다른 말로는 "LIFO(Last In First Out, 후입선출) : 가장 마지막에 들어간 것이 가장 먼저 나옴" 이라고도 합니다. 스택은 책상위에 동전을 쌓는다!라고 생각하셔도 됩니다. 동전을 5개 쌓아올렸고 다시 원래대로 돌리려면 가장 위에있는(Last In) 동전부터 다시 책상에 내려놓아야겠죠(First Out)? 스택은 언제 사용할까요? 함수의 콜스택, 문자열 역순 출력, 연산자 후위표기법에서 사용됩니다. 큐(Queue) 큐는 입력과 출력을 양쪽 끝으로 제한합니다(Front, Rear) 그렇기 때문에 스택과 반대로 "FIFO(First In First Out, 선입선출) : 가장 먼저 들어온 것이 가장 먼저 나옴" 입니다. ..

CS) Array / ArrayList / LinkedList

Array, ArrayList, LinkedList 뭐가 다른지 알고 계신가요? Array? ArrayList? LinkedList? 다 비슷한 말 인 것 같은데 어떤 점이 다른걸까요? Array index로 빠르게 값을 찾을 수 있다 Array List 데이터를 빠르게 찾을 순 있지만, 삽입 & 삭제가 느리다 Linked List 데이터의 삽입 & 삭제가 빠르다 좀 더 자세히 알아볼까요? Array(배열) 배열은 선언 시에 크기와 데이터 타입을 지정해주어야 합니다. 이처럼, Array(배열)은 메모리 공간에 할당할 사이즈를 미리 정해놓고 사용하는 자료구조입니다. 이러한 특성 때문에 데이터의 갯수가 지속적으로 늘어날 때, 혹은 최대 사이즈를 알 수 없을 때에는 사용하기에 부적합합니다. 뿐만 아니라, 만약..