분류 전체보기 39

HTTP 메소드

GET 리소스를 조회할 때 사용한다. 쿼리를 통해 데이터를 전달한다. (브라우저에 따라 길이 제한이 있다.) 캐시 사용이 가능하다. -> 똑같은 메소드를 다시 호출했을 때, 캐시가 다시 로드하여 보여준다. 호출 url이 모두 노출되므로 보안 취약하다. ex) http://{Base URL}?id=123&fruit=사과 POST 리소스를 새로 등록할 때 사용한다. 메시지 바디를 통해 데이터를 전달한다. (길이 제한이 없다.) 데이터를 파라미터로 전달하진 않지만 메시지 바디도 다 볼 수 있기 때문에 암호화하지 않으면 보안에 취약하다. PUT 리소스를 수정할 때 사용한다. POST와 다르게 리소스의 위치를 알고 URI를 지정해 주어야 한다. 지정한 URI에 리소스가 존재하지 않는다면 새로 생성하고, 존재한다면..

스택(Stack), 큐(Queue)

스택 (Stack) 스택은 후입선출(LIFO, Last-In-First-Out) 구조로, 데이터를 쌓아올린 형태의 자료구조이다. 한 곳에서만 데이터가 출입할 수 있다. top은 가장 최근에 들어온 자료를 가리키고 있으며, push를 통해 자료를 삽입하고, pop을 통해 자료를 삭제한다. 큐 (Queue) 큐는 선입선출(FIFO, First-In-First-Out) 구조로, 한 쪽에서 자료를 삽입하고, 다른 한 쪽에서 자료가 삭제되는 형태의 자료구조이다. 삭제 연산을 수행하는 곳은 front이며, 삽입 연산을 수행하는 곳은 rear이다. enqueue를 통해 자료를 삽입하고 dequeue를 통해 자료를 꺼낸다.

프로세스란?

프로세스 저장장치에 저장되어 있는 프로그램을 실행하기 위해 메모리에 올라온 동적인 상태이다. 컴퓨터 시스템의 작업 단위로 태스크라고도 한다. 프로세스 제어 블록 (PCB) 운영체제가 프로세스를 처리하는 데 필요한 다양한 정보가 들어 있으며 운영체제 영역에 만들어진다. 프로그램이 프로세스가 전환되려면 반드시 운영체제로부터 프로세스 제어 블록을 받아야 한다. 프로세스가 종료되면 프로세스가 메모리에서 삭제되고 프로세스 제어 블록도 폐기된다. 프로세스 구분자 (ID) 각 프로세스를 구분하는 구분자 메모리 관련 정보 실행하려는 프로세스가 메모리의 어디에 저장되어 있는지에 대한 메모리 위치 정보, 메모리 보호를 위한 경계 레지스터와 한계 레지스터 각종 중간값 시분할 시스템에서는 여러 프로세스가 번갈아가며 실행되기 ..

OSI 7계층

OSI 7계층 OSI: Open Systems Interconnection Reference Model, 개방형 시스템 상호연결을 위한 참조 모델 OSI 7계층은 네트워크 통신 과정을 각 계층으로 세분화한 것이다. 각 계층마다 역할이 다르기 때문에 문제 상황이 생겼을 때, 어떤 계층에 문제가 생겼는지 파악하기 쉽고 해당 계층만 해결하면 되므로 다른 계층을 손댈 필요가 없다. 1계층 물리계층 (Physical Layer) 전기적, 기계적인 신호를 주고받는 역할을 한다. 데이터의 종류나 오류를 제어하지 않는다. -> 어떤 데이터인지, 데이터에 오류가 있는지에 상관없이 전달한다. 통신 케이블, 허브, 리피터 등 2계층 데이터 링크 계층 (Data Link Layer) 물리계층으로부터 전달된 데이터의 흐름과 오..

[인프런] 최대 길이 연속 부분수열 - 자바

문제 0과 1로 구성된 길이가 N인 수열이 주어집니다. 여러분은 이 수열에서 최대 k번을 0을 1로 변경할 수 있습니다. 여러분이 최대 k번의 변경을 통해 이 수열에서 1로만 구성된 최대 길이의 연속부분수열을 찾는 프로그램을 작성하세요. 만약 길이가 길이가 14인 다음과 같은 수열이 주어지고 k=2라면 1 1 0 0 1 1 0 1 1 0 1 1 0 1 여러분이 만들 수 있는 1이 연속된 연속부분수열은 이며 그 길이는 8입니다. 입력 첫 번째 줄에 수열의 길이인 자연수 N(5

알고리즘/etc 2022.03.04

프로그램, 프로세스, 스레드의 차이

프로그램 저장장치에 저장되어 있는 정적인 상태 프로세스 프로그램 실행을 위해 메모리에 올라온 동적인 상태 프로그램이 메모리에 올라오고 PCB가 생성된다. * PCB (Process Control Block): 프로세스를 처리하는 데 필요한 다양한 정보가 들어있다. 프로세스 메모리 구조 코드 영역: 프로그램의 본문이 기술된 곳 데이터 영역: 코드가 실행되면서 사용하는 변수나 파일 등의 각종 데이터를 모아놓은 곳 힙 영역: 동적으로 할당되는 변수 영역 스택 영역: 운영체제가 프로세스를 실행하기 위해 부수적으로 필요한 데이터를 모아놓은 곳 스레드 프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위 프로세스와 스레드의 차이 - 프로세스가 스레드보다 더 큰 개념의 작업 단위이다. - 프로세..

데이터베이스란?

데이터베이스 여러 사람이 공유하기 위해 통합하여 관리되는 데이터 집합체 파일시스템 파일 시스템은 계층적 디렉터리 구조를 가지며, 데이터 중복, 데이터 불일치, 보안성, 무결성 등의 문제를 가지고 있다. DBMS (Database Management System) DB를 운영하고 관리하는 시스템 파일 시스템의 단점을 보완한다. DBMS는 파일시스템과 달리 일정한 구조에 따라 데이터가 저장된다. DBMS의 단점 DBMS는 비용이 많이 들어간다. DBMS는 백업, 회복 작업이 가능하지만 그만큼 복잡성이 높다. DBMS는 고장에 취약하다 -> 통합된 시스템이기 때문에 일부 고장이 전체 시스템을 마비시킬 수 있다. DBMS의 분류 1. 계층형 - 트리구조를 갖는다. (부모-자식 관계) - 구성 변경이 어렵다. -..

[백준] 1009번 분산처리 - 파이썬

https://www.acmicpc.net/problem/1009 문제 재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다. 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ... 총 데이터의 개수는 항상 ab개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라. 입력 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 ..

알고리즘/백준 2022.03.02

[인프런] 소수 (에라토스테네스 체) - 자바

알고리즘 문제를 풀다 보면 반드시 나오는 주제 바로 소수찾기다. 이번에 푼 문제는 정수가 하나 주어지면 1부터 그 수 사이에 있는 소수의 개수를 찾는 문제다. 처음 시도한 풀이 처음에는 이중 for문을 이용하여 숫자 하나하나를 살펴보면서 소수인지 아닌지 판단하는 식으로 구현했다. 결과는 역시나 시간초과... public static int solution(int n) { int answer = 0; for (int i = 2; i

알고리즘/etc 2022.02.21