본문 바로가기

분류 전체보기80

쿠키와 세션을 활용한 로그인 (이론) 로그인 페이지에서 아이디와 비밀번호를 서버로 전송했을 때, 서버는 로그인을 처리하는 로직의 위치 파악과 로그인 후 로그인 상태가 유지되어야 한다.어떻게 로그인 상태를 유지해야할까?보통 이러한 로그인 상태는 쿠키 혹은 세션으로 관리를 하며 여기에 해당 키의 유효시간 관리를 통해 일정시간만 유지되도록 할 수 있다.✔ 쿠키(Cookie)쿠키란 서버가 클라이언트 웹 브라우저(Client)에 저장하는 작은 데이터이다.쿠키의 형태는 Key : Value의 문자열 형식으로 이루어져 있다.예를 들어 'Hello'라는 ID를 가지는 유저가 로그인 후 잠시 사이트를 닫고 재접속해도 로그인 상태가 유지되는데 이는 바로 쿠키를 이용한 것이다.쿠키 동작 원리웹사이트에 접속하면 브라우저는 서버로 요청을 보낸다서버에서 로그인 성공.. 2024. 12. 9.
연산자 연산자와 연산식프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산이라고 한다.연산에 사용되는 표시나 기호를 연산자라고 하고, 연산이 되는 데이터를 피연산자라고 한다.ex) + , - , / , * : 연산자ex) x, y : 피연산자연산자별로 연산 후 산출되는 값의 타입이 다르다.예를 들어 산술 연산자는 숫자타입(byte, short, int, long, float, double), 비교 연산자와 논리 연산자는 논리 타입으로 나온다.연산의 방향과 우선순위x > 0 && y 다음의 연산식에서 &&가 먼저 처리될까 등호가 먼저 처리될까?프로그램에서는 연산자의 연산 방향과 연산자 간의 우선순위가 정해져 있다.우선순위가 같은 연산자의 경우 왼쪽에서 오른쪽으로 연산을 시작한다.a = b = c = 5위의 연.. 2024. 6. 17.
조건문과 반복문 4.1 코드 실행 흐름 제어자바 프로그램을 시작하면 main () 메소드의 시작 중괄호 {}까지 위에서부터 아래로 실행하는 흐름을 가지고 있다.실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것이 흐름 제어문이다.흐름 제어문 = 제어문제어문은 조건식과 중괄호 {} 블록으로 구성되는데 조건식의 연산 결과에 딸 블록 내부의 실행 여부가 결정된다.제어문 종류조건문 : if문 switch문반복문: for문, while문, do-while문조건문일 경우 제어문 블록이 실행 완료되었을 경우 정상 흐름으로 돌아간다.반복문일 경우 제어문 처음으로 다시 되돌아가 반복 실행한다.= 루핑(looping)이라고 한다.제어문 블록 내부에는 또 다른 제어문을 사용하여 복잡한 흐름 제어도 가능하다.4.2 조건문(if문.. 2024. 6. 12.
15장 파일 시스템 파일과 디렉터리파일파일이란?하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합의미 있고 관련 있는 정보를 모은 논리적 단위모든 파일에는 이름과 파일을 실행하기 위한 정보, 그리고 파일 관련 부가 정보가 있다.이 부가 정보를 속성 또는 메타데이터라고 한다.파일 속성파일 형식, 위치, 크기 등 파일과 관련된 다양한 정보파일 속성과 유형속성 이름 의미유형운영체제가 인지하는 파일의 종류를 나타낸다.크기파일의 현재 크기와 허용 가능한 최대 크기를 나타낸다.보호어떤 사용자가 해당 파일을 읽고, 쓰고, 실행할 수 있는지를 나타낸다.생성 날짜파일이 생성된 날짜를 나타낸다.마지막 접근 날짜파일에 마지막으로 접근한 날짜를 나타낸다.마지막 수정 날짜파일이 마지막으로 수정된 날짜를 나타낸다.생성자파일을 생성한.. 2024. 6. 11.
14장 가상 메모리 14장 가상 메모리프로세스 A가 A의 크기만큼 메모리 주소를 할당 받아서 연속적으로 배치되는데 이렇게 프로세스에 연속적인 메모리 공간을 할당하는 방식을 연속 메모리 할당 방식이라고 한다.이와 같이 프로세스들을 메모리에 연속적으로 할당할 때 무엇을 고려해야하는지, 어떤 잠재적 문제가 있는지 알아보자!14-1 연속 메모리 할당스와핑메모리에 적재된 프로세스들 중에서 현재 실행되지 않는 프로세스가 있을 수 있다.입출력 작업의 요구로 대기 상태가 된 프로세스. 오랫동안 사용되지 않은 프로세스이러한 프로세스들을 임시로 보조기억 장치 일부 영역으로 쫓아내고 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식이다.프로세스들이 쫓겨나는 보조기억장치의 일부 영역을 스왑 영역현재 실행되지 않는 프로세스가 .. 2024. 6. 10.
변수와 타입 2.1 변수2.1.1 변수란?변수란 하나의 값을 저장할 수 있는 메모리 공간이다.다양한 타입의 값을 저장할 수 없고, 한 가지 타입의 값만 저장할 수 있다.2.1.2 변수의 선변수 선언은 어떤 타입의 데이터를 저장하고 변수 이름이 무엇인지 결정한다.int age; //정수(int) 값을 저장할 수 있는 age 변수 선언 double value; //실수(double)값을 저장할 수 있는 value 변수 선언 같은 타입의 변수는 콤마를 이용하여 한꺼번에 선언할 수도 있다.int x,y,z ;  작성 규칙 예첫 번째 글자는 문자이거나 ‘$’, ‘_’ 이어야 하고 숫자로 시작할 수 없다가능: price, $price, _companyName 안됨: 1v, @speed, $#value영어 대소문자가 구분된다. .. 2024. 6. 9.
13장 교착 상태 13-1 교착 상태란식사하는 철학자 문제동그란 원탁에 다섯 명의 철학자가 앉아 있고, 철학자들 앞에는 맛있는 식사가 있고, 철학자들 사이 사이에는 식사에 필요한 포크가 있다. 그리고 철학자들 앞에 있는 식사는 두 개의 포크로 먹을 수 있는 음식이라 가정하자. 과연 철학자들은 무사히 식사를 마칠 수 있을까? 모든 철학자가 동시에 포크를 집어 식사를 한다면 어떤 철학자도 식사를 할 수 없고 영원히 생각만 하는 상황이 발생할 것이다.이렇게 일어나지 않을 사건을 기다리며 진행을 멈춰 버리는 현상을 교착 상태라고 한다.철학자는 프로세스 혹은 스레드, 포크는 자원, 생각하는 행위를 자원을 기다리는 것에 빗대어 볼 수 있다. 포크는 한 번에 하나의 프로세스 혹은 스레드만 접근할 수 있으니 임계 구역이라고 볼 수 있다.. 2024. 6. 9.
12장 프로세스 동기화 1. 동기화란동기화의 의미협력적으로 실행되는 프로세스들이 아무렇게나 동시에 실행되서는 안되기 때문에 동기화가 필요하다.정보・통신 분야에서의 동기화 : 작업들 사이의 수행 시기를 맞추는 것프로세스들 사이의 수행 시기를 맞추는 것은 무엇을 의미하는가?실행 순서 제어 : 프로세스를 올바른 순서대로 진행하기상호 배제 : 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기첫번째, 실행 순서 제어를 위한 동기화 Writer라는 프로세스와 Reader라는 프로세스가 동시에 실행 중이라고 가정하고, Writer 프로세스는 Book.txt 파일에 값을 저장하는 프로세스이고, Reader 프로세스는 Book.txt 파일에 저장된 값을 읽어 들이는 프로세스라고 가정해보자이때 두 프로세스가 무작정 순서없이 실행.. 2024. 6. 8.
11장 CPU 스케줄링 11-1. CPU 스케줄링 개요CPU 스케줄링: 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것프로세스들에게 현명하게 CPU를 배분하지 못하면 반드시 실행되어야 할 프로세스들이 실행되지 못하거나, 당장 급하지 않은 프로세스들만 주로 실행되는 등 무질서한 상태가 발생할 수 있기 때문에 중요한 문제이다.프로세스 우선순위프로세스를 순서대로 CPU를 이용하게 하는 방법은 좋은 방법이 아니다.그 이유는 우선순위가 다르기 때문이다.우선순위가 높은 프로세스에는 대표적으로 입출력 작업이 많은 프로세스가 있다.프로세스는 실행 상태와 대기 상태를 반복하며 실행된다.비디오 재생이나 디스크 백업 작업을 담당하는 프로세스와 같이 입출력 작업이 많은 프로세스도 있고 (입출력 집중 프로세스),복잡한 수학 연.. 2024. 6. 7.