전체 글
-
프로젝트 데이터베이스 설계(RDBMS vs NoSQL 선정기준 + 특정 RDBMS 선정이유)프로젝트/게시판 프로젝트 2022. 3. 29. 22:36
1. 요구 사항 분석 데이터베이스를 사용할 주요 사용자의 범위 결정 배달비를 절약하고 싶은 사용자 사용자가 수행하는 업무 결정 회원가입, 로그인, 로그아웃, 배딜개최, 채팅 사용 사용자의 업무와 관련해 필요한 데이터 결정 로그인(회원가입, 로그아웃)에 필요한 데이터 (닉네임, 아이디, 비밀번호, 이름, 주소, 휴대폰 번호, 비밀번호 찾기) 음식점 데이터(음식점 식별 번호, 음식점 이름, 음식점 사진, 음식점 주소, 음식점 위치) 배딜개최에 필요한 데이터 (배딜번호, 음식점 데이터, 배달비, 모집글, 모집인원, 작성 시간, 작성자) 채팅 사용에 필요한 데이터 (채팅 번호, 채팅 참여자, 채팅 내용, 채팅 시간) = 채팅에 대해 잘 모르기 때문에 추후 수정될 가능성 多 Ant Hill의 데이터베이스를 위한 ..
-
데이터베이스 View란?CS/데이터베이스 2022. 3. 29. 17:49
데이터베이스 View란? 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블입니다. 한 개 이상의 기본 테이블이나 다른 뷰를 이용하여 생성되는 가상 테이블입니다. 가상 테이블이기 때문에 실제로 데이터를 저장하고 있지는 않습니다. INSERT, UPDATE, DELETE가 가능하지만 보통 SELECT를 위해 사용합니다. 즉, View는 하나 이상의 테이블이나 뷰를 조작하여 하나의 테이블처럼 볼 수 있는 가상의 테이블입니다. 동적 View와 정적 View 정적 View 하나 이상의 기반 테이블과 다른 정적/동적 View를 기반으로 정의된 View입니다. 관련된 테이블 또는 View가 변경될 때 정적 View를 수동으로 업데이트해야 ..
-
[백준] 1992번 : 쿼드트리 - 자바(JAVA)알고리즘/백준 2022. 3. 29. 00:01
https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 문제 해석 2차원 배열에 0과 1로 이루어져 있는데 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리라는 방법이 존재한다. 주어진 영상이 모두 0으로만 되어 있으면 압축결과는 "0"이 되고 모두 1로만 되어 있으면 압축결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지 못하고 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 영상을 나누어 압축하게 됩니다...
-
Database Sharding(샤딩)이란?CS/데이터베이스 2022. 3. 28. 14:03
DB Sharding이란? shard의 사전적 의미는 (유리·금속 등의) 조각, 파편입니다. 데이터베이스의 측면에서 본다면 sharding은 데이터베이스를 조각으로 나누는 것으로 생각해볼 수 있습니다. 샤딩(Sharding)은 수평 분할(Horizontal Partitioniong)과 관련된 데이터베이스 아키텍처 중 하나로써 한 테이블의 row들을 여러 개의 서로 다른 테이블, 즉 파티션으로 분리하는 방식입니다. DB Sharding을 하는이유? 하나의 DB에 데이터가 늘어나면 용량 이슈도 생기고, 느려지는 CRUD는 자연스럽게 서비스 성능에 영향을 주게 됩니다. 따라서 애플리케이션이 얼마나 인기를 끌지 또는 얼마나 오랫동안 그 인기를 유지할지 예측을 하기 어렵기 때문에 데이터베이스를 동적으로 확장할 수..
-
4012. [모의 SW 역량테스트] 요리사알고리즘/SW Expert Academy 2022. 3. 28. 00:01
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeUtVakTMDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 두 명의 손님에게 음식을 제공 두 손님은 식성이 비슷해서, 최대한 비슷한 맛의 음식으로 제공하고자 함 N개의 식재료가 존재 식재료를 각각 N/2 씩 나누어 요리하려고 함 (N = 짝수) 음식의 맛은 음식을 구성하는 식재료의 조합에 따라 달라짐 조합이라는 시너지가 존재하며 시너지 배열을 통해 계산하여 이 시너지가 최소가 되도록 구현해야 한다. 예를 들어 음식 A를 위해 식재료 2, 3, 6..
-
[백준] 11725번 : 트리의 부모 찾기 - 자바(JAVA)알고리즘/백준 2022. 3. 27. 00:01
https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 루트가 없는 트리가 주어집니다. 이때 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오 문제 풀이 전 설계 우선 그래프 탐색 문제라고 생각을 했습니다. 따라서 2차원 배열 graph [i][j]를 선언하고 정점 i와 정점 j가 연결되어있으면 1 그렇지 않으면 0으로 표기합니다. 문제 풀이 하면서 생각한 점 하지만 우리가 원하는 것은 부모의 노드를 찾아야 합니다. 단순히 graph 2차원 배열에 정점이 연결된 것만으로는..
-
[백준] 1074번 : Z - 자바(JAVA)알고리즘/백준 2022. 3. 26. 00:01
https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 문제 해석 크기가 2^N x 2^N인 2차원 배열을 Z 모양으로 탐색하고자 합니다. N > 1 인 경우 , 배열의 크기가 2^(N-1) x 2^(N-1)로 4등분 한 뒤에 재귀적으로 순서대로 방문합니다. N=3일 때 예시 문제 풀이 전 설계 재귀 함수를 잘 작성해야 할 것 같다. 1. r x c 배열을 생성한 후 값을 0부터 하나씩 채워가기 -> array [r][c]의 값 출력 2. a..
-
가장 빠르게 소수를 찾는 방법알고리즘/알고리즘 2022. 3. 26. 00:01
소수란? 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는, 1보다 큰 자연수입니다. 방법 1: 가장 간단한 방법 N이 소수인지 판별하기 위해서는 2 ~ N-1까지 나누어서 하나라도 나누어 떨어지는가를 확인하는 방법이 있습니다. 이는 한개의 숫자에 대해 소수인지 파별하기 위해서는 O(N)의 시간 복잡도를 가지며 N개의 수에 대해서는 O(N^2)의 시간 복잡도를 가집니다. 방법 2 : 제곱근 만약 12에 대하여 소수를 판별하려고 합니다. 12의 약수는 1, 2, 3, 4, 6, 12를 가집니다. 가장 간단한 방법처럼 12를 2부터 N-1까지 나누어보려고 할 때 2* 6 = 6 * 2의 성질을 이용한 방법입니다. (xy = yx) 제곱근을 기준으로 제좁근까지 나누어 떨어지는지 여부를 조사하면 더 빠르게 ..