# computer science

42개의 포스트
post-thumbnail

[CS] 2. HTTP, HTTPS, SSL

인터넷 상에서 데이터를 주고 받기 위한 Protocol(규약)Client와 Server 사이에서 Hyper Text를 기반으로 데이터를 주고 받음암호화가 돼있지 않기 때문에 http로 사용했을 때, 크롬에서 '안전하지 않은 사이트'라고 경고가 뜸암호화 되지 않은 HT

약 5시간 전
·
0개의 댓글
post-thumbnail

[CS] 1. Cookie, Session, Cache

클라이언트(로컬, 브라우저)에 저장되고 통신 시의 이름, 경로, 상태 등의 정보가 key, value로 저장접근 권한이 모두에게 주어지기 때문에 보안이 매우 약함1개 당 4KB클라이언트는 300개까지 저장 가능도메인 당 20개까지 저장 가능하며, 초과할 경우 빈도수가

5일 전
·
0개의 댓글
post-thumbnail

[TIL] Data Structure - Graph

Graph : 그래프는 노드(node)와 간선(edge)로 구성된 비선형 자료구조이다. 그래프를 이용한 알고리즘: 여행경로 문제: 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solu

2020년 9월 13일
·
0개의 댓글

[TIL] OOP (Object-oriented Programming)

프로그래밍 언어에는 3가지 종류가 있다. 기계어는 컴퓨터의 CPU가 멍령을 처리할 수 있게 0과 1로 구성된 언어이다. 따라서 사람이 이해하기는 너무 복잡해 이를 이용해 프로그래밍을 구축하기 어렵다. 따라서 이를 사람이 이해하기 쉽게 즉, 자연어와 비슷하게 만들어진 언

2020년 9월 10일
·
0개의 댓글
post-thumbnail

부동 소수점(Floating Point)란 무엇인가?

부동 소수점 (Floating Point)에 대한 개념을 정리한 글입니다.

2020년 9월 8일
·
0개의 댓글
post-thumbnail

[TIL] Data Structure - Hash Map

Map은 키와 value를 pair로 갖고 있는 자료구조이다. 학번과 이름의 관계와 비슷하다. 학생을 나타내는 고유한 키값(학변)을 이용하면 동일 인물도 구분할 수 있다. 따라서 이 두가지 데이터를 하나의 쌍으로 저장하는 형식이 Map이다.(일반적인 Object와 매우

2020년 9월 7일
·
0개의 댓글

[TIL] Data Structure - Stack & Queue

Stack : stack은 책이 일자로 쌓여있는 형태의 자료구조이다. 새로운 책을 쌓을 때 가장 위에 놓이게 되고, 책을 꺼낼때에도 가장 위에 책을 꺼낸다. 마지막에 추가된 데이터가 가장 먼저 나가는 이러한 특징을 LIFO(Last in, First out)라 한다

2020년 9월 7일
·
0개의 댓글
post-thumbnail

Computer Science - 병합 정렬

병합 정렬은 원소가 한 개가 될 때까지 계속해서 반으로 나누다가 다시 합쳐나가며 정렬을 하는 방식이다.그리고 이 과정은 재귀적으로 구현된다.마찬가지로 다음 숫자들을 오름차순으로 정렬해보자. 7 4 5 2 6 3 8 1먼저 숫자들을 반으로 나눈다.7 4 5 2 | 6 3

2020년 8월 2일
·
0개의 댓글
post-thumbnail

Computer Science - 재귀

함수를 사용할 때는 main 안에서 프로그램을 작성하면서 필요한 순간에 호출하여 사용한다.그런데 main 역시 함수이다. main이라는 함수 안에서 또 다른 함수를 사용한 것이다.이 사실을 알게 되었을 때, 우리는 함수가 본인 스스로를 호출해서 사용할 수 있는지에 대해

2020년 8월 2일
·
0개의 댓글
post-thumbnail

Computer Science - 정렬 알고리즘의 실행시간

여태까지 다뤘던 선형 검색, 이진 검색, 버블 정렬, 선택 정렬의 실행시간은 각각 어떻게 되는지 정리해 보자.실행시간의 상한O(n^2): 선택 정렬, 버블 정렬O(n log n)O(n): 선형 검색O(log n): 이진 검색O(1)실행시간의 하한Ω(n^2): 선택 정렬

2020년 7월 31일
·
0개의 댓글
post-thumbnail

Computer Science - 선택 정렬

보통 배열이 정렬되어 있으면 정렬되지 않은 배열보다 더 쉽게 탐색할 수 있다.정렬을 위한 알고리즘 중 선택 정렬은 배열 안의 자료 중 가장 작은 수(혹은 가장 큰 수)를 찾아 첫 번째 위치(혹은 가장 마지막 위치)의 수와 교환해주는 방식의 정렬이다.선택 정렬은 교환 횟

2020년 7월 29일
·
0개의 댓글
post-thumbnail

Computer Science - 버블 정렬

정렬되지 않은 리스트를 탐색하는 것보다 정렬한 뒤 탐색하는 것이 더 효율적이다.정렬 알고리즘 중 하나는 버블 정렬이다.버블 정렬은 두 개의 인접한 자료 값을 비교하면서 위치를 교환하는 방식으로 정렬하는 방법을 말한다.버블 정렬은 단 두 개의 요소만 정렬해주는 좁은 범위

2020년 7월 28일
·
0개의 댓글
post-thumbnail

Computer Science - 선형 검색

찾고자 하는 자료를 검색하는 데 사용되는 다양한 알고리즘이 있다.그 중 하나가 선형 검색이다.선형검색은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 검색한다.이렇게 하여 선형 검색은 찾고자 하는 자료를 찾을 때까지 모든 자료를 확인해야 한다.선형 검색

2020년 7월 27일
·
0개의 댓글
post-thumbnail

Computer Science - 알고리즘 표기법(Big O, Big Ω)

우리가 프로그램을 작성한 후에 실행하면 작업이 완료될때까지 어느정도 시간이 소요된다. 아주 간단한 프로그램인 경우에는 실행 시간을 걱정할 필요가 없지만, 처리하는 데이터가 많아지고 처리하는 작업이 복잡해질수록 실행 시간은 매우 중요해진다. 이번 포스팅은 특정 알고리즘을

2020년 7월 26일
·
0개의 댓글
post-thumbnail

Computer Science - 검색 알고리즘

배열은 한 자료형의 여러 값들이 메모리상에 모여 있는 구조이다.컴퓨터는 이 값들에 접근할 때 배열의 인덱스 하나하나를 접근한다.만약 어떤 값이 배열 안에 속해 있는지를 찾아 보기 위해서는 배열이 정렬되어 있는지 여부에 따라 다른 방법을 사용할 수 있다.예를 들어 10개

2020년 7월 25일
·
0개의 댓글

How to Solve Problems

어제 문제를 푸는 접근방법에 대해 질문을 받아서 생각나는대로 일단 답변을 했다. 집에 돌아가면서 생각해보니 잘 설명했는지 의구심이 들어 이 주제에 대해 찾아보기로 했다. 예전 처음 코딩을 시작할 때 문제만 보면 마음이 조급하고 두근거리고 한 번에 동작했으면 좋겠고 에러

2020년 7월 24일
·
0개의 댓글
post-thumbnail

Computer Science - C언어_명령행 인자

make나 clang과 같은 프로그램을 실행할 때 컴파일하고자 하는 코드 외에도 컴파일 후 저장하고자 하는 파일명과 같이 추가적인 정보를 함께 줄 수도 있다. 이런 정보들을 명령행 인자 라고 부른다. 우리가 작성하는 프로그램에서도 명령행 인자를 받을 수 있도록 설계할

2020년 7월 22일
·
0개의 댓글
post-thumbnail

Computer Science - C언어_문자열과 배열

우리가 여지껏 사용한 문자열(string) 자료형의 데이터는 사실 문자(char) 자료형의 데이터들의 배열이었다. string s = “HI!”; 와 같이 문자열 s가 정의되어 있다고 생각해보자.s는 문자의 배열이기 때문에 메모리상에 아래 그림과 같이 저장되고, 인덱스

2020년 7월 22일
·
0개의 댓글
post-thumbnail

Computer Science - C언어_배열

C에는 아래와 같은 여러 자료형이 있고, 각각의 자료형은 서로 다른 크기의 메모리를 차지한다. bool: 불리언, 1바이트 char: 문자, 1바이트 int: 정수, 4바이트 float: 실수, 4바이트 long: (더 큰) 정수, 8바이트 double: (더 큰)

2020년 7월 22일
·
0개의 댓글
post-thumbnail

Computer Science - C언어_컴파일링

컴파일은 소스 코드를 오브젝트 코드로 변환시키는 과정이다. 여기서 소스 코드는 C언어와 같은 프로그래밍 언어로 작성한 코드이고, 오브젝트 코드는 기계어라고도 알려져 있는데, 0과 1로 이루어져 있으며 컴퓨터에게 프로그램이 어떻게 실행되어야 하는지 알려주는 코드이다.ma

2020년 7월 21일
·
0개의 댓글