전체 글(52)
-
cookie와 Session
쿠키는 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다. 쿠키는 클라이언트의 정보 기록과 상태 정보를 표현하는 용도로 사용합니다. 예를 들어 어떠한 사이트에 들어갔을 때 하루동안 보지 않기, 다시 보지 않기와 같은 버튼을 보신 적 있으실 겁니다. 아래와 같은 팝업을 띄울 때 cookie를 사용합니다. 이것 이외에도 쇼핑몰 장바구니 기능과 아이디 비밀번호 저장 기능도 cookie값을 사용합니다. 하나의 쿠키값은 4KB까지 저장 가능하다고 합니다. 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 합니다. 하나의 기기에 구글을 로그인 했다고 예를 들었을 때 session값을 복사해 다른 기기에 넣는다면 session값을 넣은 그 기기도 로그인이 됩니..
2023.01.24 -
힙 알고리즘
선택 정렬을 응용한 알고리즘인 힙 정렬은 힙의 특성을 이용하여 정렬을 수행합니다. 힙이란? 힙은 부모의 값이 자식의 값보다 항상 크다는 조건을 만족하는 완전이진트리입니다. 이때 부모의 값이 사직보다 항상 작아도 부모와 자식 요소의 관계만 일정하면 힙이라고 합니다. 힙 정렬 이란? 힙 정렬은 힙을 사용하여 정렬하는 알고리즘입니다. 힙 정렬은 가장 큰 값이 루트에 위치하는 특징을 이용하는 정렬 알고리즘입니다. 힙에서 가장 큰 값인 루트를 꺼내는 작업을 반복하고 그 값을 늘어놓으면 배열은 정렬을 마치게 됩니다. 힙으로 만든 후 -> 배열의 맨 오른쪽부터 루트값 채워 넣고 -> 다시 힙으로 만든 후 -> 루트값 채워 넣음 이렇게 배열의 정렬이 완료될 때까지 힙 만들기와 루트값 넣기를 반복하여 정렬합니다. 또 시..
2023.01.24 -
재귀 알고리즘이란
재귀란 러시아 인형을 예로 처음에는 하나의 큰 인형으로 시작해 점점 작아지며 제일 작은 인형까지 나타나는 것처럼 어떤 문제를 해결하기 위해 알고리즘을 설계할 때 동일한 문제의 조금 더 작은 경우를 해결함으로써 그 문제를 해결하는 것입니다. 문제가 간단해져서 바로 풀 수 있는 문제로 작아질 때까지 말이죠. 이런 테크닉을 재귀라고 합니다. 아래 코드는 순차곱셈을 구하기 위해 만든 프로그램입니다. 이처럼 순차곱셈의 결과를 재귀적으로 구하기 때문에 순차곱셈을 구하기 위한 프로그램에는 재귀 알고리즘이 포함되겠네요 #include //정수 n의 순차곱셈 값을 반환 int factorial(int n){ //어떤 양의 정수 n 이 있을때, 1에서부터 n까지의 자연수를 모두 곱한 값을 팩토리얼이라고 함 if(n>0) ..
2023.01.23 -
검색 알고리즘이란
검색 알고리즘에는 선형 검색, 이진 검색, 해시법이 있습니다. 1. 선형검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행합니다. 2. 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행합니다. 3. 해시법 : 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행합니다. 검색 알고리즘이라는 큰 틀에서 계산 시간이 가장 짧은 알고리즘을 선택하는 게 가장 효율적입니다. 배열에서 검색하는 가장 기본적인 알고리즘이며 선형 검색이라고 부릅니다. 요소가 모양으로 늘어선 배열에서의 원하는 키 값을 갖는 요소를 만날 때까지 맨 앞부터 순서대로 검색합니다. 1. 선형 검색에서 검색할 값과 같은 요소를 발견한 경우 2. 검색할 값을 발견하지 못하고 배열의 끝을 지..
2023.01.22 -
알고리즘이란
이진탐색을 배운 이후로 알고리즘에 많은 관심이 생겼습니다. 검색 알고리즘부터 재귀 알고리즘등 많은 알고리즘이 있습니다. 도대체 알고리즘이 무엇이고 어떠한 의미를 담고 있는지 공부하려고 합니다. 저는 아래와 같이 c언어를 이용해 세 정수중 최댓값을 출력하는 프로그램을 작성했습니다. 제가 작성한 코드의 최댓값을 구하는 과정은 다음과 같습니다. 1. max에 a 값을 넣는다. 2. b값이 max보다 크다면 max에 b를 넣는다. 3. c값이 max보다 크다면 max에 c를 넣는다. #include int main(void){ int a,b,c; int max; printf("세 정수의 최댓값을 구하는 프로그램입니다."); printf("첫 번째 숫자: "); scanf("%d",&a); printf("두 번쩨..
2023.01.22 -
SQL 서버 만들기
html로만 홈페이지를 만들 수 있던 저였는데 이젠 sql을 추가해 홈페이지를 만들고 싶다는 생각이 들었습니다. sql을 연습해 보니 DB에 들어가 그 DB 안에서 실시간으로 데이터를 추가할 수 있다는 점이 신기하고 새로웠습니다. 저는 구름 ide라는 사이트 안에서 sql을 다룹니다. 일단 터미널 안에 아래와 같이 sql을 사용한다는 선언을 해주어야 합니다. sudo apt-get install php7 . 3-mysql service mysql restart 선언을 해주었다면 비밀번호를 입력해야 하는데요 my sql -uroot -p my sql -uroot -p [enter]를 입력하시면 아래에 비밀번호를 설정할 수 있는 칸이 뜹니다. 비밀 번호까지 입력하면 Welcome to the MySQL로 시..
2023.01.20