오도원입니다.

건강과 행복을 위하여

반응형

컴퓨터공학 81

Database와 Storage의 차이점

1. 차이점1 : Physical vs Logical 스토리지는 파일 또는 물리적 저장소이 객체 스토리가 될 수 있다. 데이터베이스는 조직화된 데이터가 저장된 논리적 저장소이다. 2. 차이점2 : 관계 데이터베이스는 일종의 스토리지이다. 3. 차이점3: 저장 데이터 종류 스토리지는 텍스트파일, 이미지, 영상 등 다양한 종류의 데이터가 저장될 수 있다. 데이터베이스는 ID, record, 거래정보와 같은 구조적 또는 반구조적 데이터가 저장된다. 정리 스토리지는 파일이 담긴다. DB는 nosql을 차치하고 일반적으로 2차원 데이터 형태인 컬럼(column, field)와 로우(row, record)로 구성되는 테이블형 데이터가 담긴다. 즉, 스토리지는 파일형태가 되면 무엇이든 담을 수 있지만 DB에 담기 위..

ORM이란 무엇인가

ORM (Object Relational Mapping, 객체 관계 매핑) ORM은 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 객체 지향 언어에서 사용하는 '가상' 객체 데이터베이스를 구축하는 방법이다. 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)한다. 관계형 데이터베이스에서의 테이블은 객체 지향 언어에서의 클래스을 사용한다. 관계형 모델과 객체 모델간에 불일치가 존재한다. ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동 생성하여 불일치를 해결한다. 객체를 통해 간접적으로 데이터베이스의 데이터를 다룬다.

프로비저닝(provisioning)이란

1. 정의 프로비저닝(provisioning)은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다. 2. 예시 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있다. 수동으로 처리하는 '수동 프로비저닝'과 자동화 툴을 이용해 처리하는 '자동 프로비저닝'이 있다. 출처. https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EB%B9%84%EC%A0%80%EB%8B%9D

컴퓨터공학/웹 2020.09.02

어부의 고기잡이

1. 문제 현재 위치에서 N미터 떨어진 곳까지 물고기가 얼마나 있는지 주어진다. 정확히 M마리의 물고리를 잡고자 할 때 그물은 딱 한번 내리고 딱 한번 올릴 수 있다. 이때 정확히 M마리를 잡을 수 있는 경우의 수를 구하라. 예를 들어 5 3 7 2 1의 물고리가 존재할 때, 10마리의 물고리를 잡을 수 있는 경우의 수는 위와 같이 2가지가 존재한다. 가장 밑의 경우 떨어져있으므로 불가능한다. 2. 입력 3. 출력 가능한 경우의 수를 출력한다. 4. 알고리즘 : 투포인터 그물을 내리는 위치, 그물을 올리는 위치를 가리키는 두개의 포인터를 이용해서 구할 수 있다. 왼쪽에서 시작하기 때문에 물고기가 너무 적다면 그물을 올리는 위치를 오른쪽으로 이동하고, 물고기가 너무 많다면 그물을 내리는 위치를 오른쪽으로 ..

수열 만들기

1. 문제 수열에 있는 연속된 원소들의 합을 이용하여 새로운 수열을 만들 수 있다. 예를 들어 1, 2, 3, 4, 5와 같은 수열이 있다고 했을 때, 1, 2를 합쳐서 3, 3, 4, 5 또는 2, 3, 4를 합쳐서 1, 9, 5를 만들 수 있다. 모든 원소를 합쳐서 15 등의 수열을 만들 수도 있다. 두 개의 수열이 주어질 때, 두 수열을 같은 수열로 만들 수 있을 때, 만들수 있는 가장 긴 같은 수열의 길이를 구하는 것이다. 2. 입력 3. 출력 두 수열을 똑같은 수열로 만들 수 있다면 그 수열의 최대 길이를, 만들 수 없다면 -1을 출력한다. 4. 알고리즘 : 그리디, 투포인터 첫번째로 두 수열의 총합이 다르다면 절대로 같은 수열로 만들 수 없다. 해당 확인이 끝났다면 투 포인터를 이용해서 원소들..

다리 건설

1. 문제 강의 상부와 하부를 연결하는 다리를 건설해야한다. 다리는 여러 지점으로 나눠져있고, 같은 번호의 지점끼리만 연결할 수 있다. 다리를 건설하기 위해 미리 N개의 지점을 골라두었다. 강 한쪽은 1번부터 N번까지 순서대로 지점에 번호를 매겼지만 반대쪽은 무작위로 매겨져 있다. 같은 번호의 두 지점끼리만 다리로 연결할 수 있다. 두 개의 다리는 겹칠 수(교차될 수) 없다. 주민들의 편의를 위해 다리는 최대한 많은 개수를 건설하고자 한다. 2. 입력 첫 번째 줄에는 지점의 개수 N이 주어진다. (5

우주의 평화를 위하여

1. 문제 지구를 호시탐탐노리는 아주 질나쁜 외계인들을 다 무찔러야한다. 그러기 위해서는 외계인들의 행성인 A행성의 모든 기계들을 파괴시켜야한다. A 행성에 있는 모든 기계의 위치는 N x N크기의 격자판 상에 나타낼 수 있다. 격자판 위의 모든 기계가 같은 종류의 기계라면 단 한 번의 공격으로 모든 기계를 파괴할 수 있다. 만약 격자판 위의 기계들 중 하나라도 다른 종류의 기계가 있다면, 4개의 구획으로 나누어 다시 기계를 확인한다. 모든 기계가 파괴될 때까지 2-3단계의 작업을 반복한다. 2. 입력 첫번째 줄에는 격자판 크기 N이 주어진다. 이때 N은 항상 2^k(2의 지수승) 형태이다. 두번째 줄부터 N x N 행렬에 기계번호 3이하의 자연수가 주어진다. 3. 출력 기계의 최소 공격횟수 4. 알고리..

HTTP / Nodejs. request entity too large error. Error 413

body size가 너무 커서 발생하는 에러이다. client_max_body_size 설정 때문이다. 대용량의 request를 보내지 못 하도록 제한을 건다. default값은 1MB이다. request의 Content-Length 헤더값이 여기 설정된 값을 초과할 수 없다. POST나 PUT 등의 request 사이즈 제한을 할 수도 있지만, 악의적으로 대용량의 파일을 업로드해서 디스크를 가득 채우는 경우를 방지하는데 사용된다. 1. nginx.config 파일을 수정한다. 파일의 위치는/etc/nginx/nginx.conf 이다. default size가 1mb이므로 이것을 0mb로 바꿔서 제한을 없애거나 늘린다. nginx.conf 파일에서 http, server, location에 설정이 가능하..

컴퓨터공학/웹 2020.08.24

하노이의 탑을 풀어보자.

게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것이다. 한 번에 하나의 원판만 옮길 수 있다. 큰 원판이 작은 원판 위에 있어서는 안 된다. 하노이의 탑 문제는 재귀 호출을 이용하여 풀 수 있는 가장 유명한 예제 중의 하나이다. 그렇기 때문에 프로그래밍 수업에서 알고리즘 예제로 많이 사용한다. 일반적으로 원판이 n개 일 때, 2n -1번의 이동으로 원판을 모두 옮길 수 있다. 이 규칙들을 이용하여 63(64)개의 원판을 다른 막대로 전부 옮기는 것은 간단해 보이지만 '작은 원반 위에 큰 원반을 올릴 수 없다' 는 규칙은 의외로 크게 작용하는데, 이를 지키면서 n개의 원반을 한쪽 기둥에서 다른 쪽으로 옮기는 데 걸리는 최소 횟수가..

HTTP 에러 코드; 400, 404, 500 에러 등 설명

에러코드 의미 200 에러없이 성공적으로 페이지를 불러오거나 데이터를 전송 400 Bad REquest로써, 요청 실패. 문법상 오류가 있어서 서버가 요청사항을 이해하지 못한 경우 404 Not Found, 문서를 찾을 수 없는 경우. 클라이언트가 요청한 문서를 찾지 못한 경우에 발생. => URL을 잘 살펴봐야한다. 405 Method not allowed, 메소드 허용불가. Request 라인에 명시된 메소드를 수행하기 위한 해당 자원의 이용이 허용되지 않는 경우 발생. => 페이지는 존재하지만 접근하지 못하게 막거나 리소스를 허용안하는 경우 415 지원되지 않는 형식으로 클라이언트가 요청을 해서 서버에서 요청에 대한 승인을 거부한 경우 => ContentType, Content Encoding 데이..

컴퓨터공학/웹 2020.07.29
반응형