분류 전체보기 390

RDB와 NoSQL의 차이에 대해 설명해 주세요.

RDB RDB는 관계형 데이터베이스를 뜻하는 말입니다. 테이블 형태로 이루어져 있으며, SQL을 통해 데이터를 삽입, 삭제, 수정을 합니다. 그리고 테이블에 제약조건을 설정하여 데이터의 무결성, 일관성을 보장합니다. NoSQL NoSQL(Not Only SQL)은 관계형 데이터베이스가 갖는 테이블 형태의 스키마에 얽매이지 않고 자유롭게 데이터를 저장하고 조회할 수 있는 비관계형 데이터베이스입니다. NoSQL은 스키마를 엄격하게 정의하지 않기 때문에 필요에 따라 구조를 동적으로 변경할 수 있어 데이터 모델의 유연성을 제공합니다. RDB와 NoSQL 차이 크게 데이터 모델, 스키마, 트랜잭션에서의 차이가 있습니다. 먼저 RDB의 데이터 모델 같은 경우 테이블 형식으로 정해져 있는 반면 NoSQL은 key-v..

데이터베이스 2023.06.23

[JAVA] JVM이 정확히 무엇이고, 어떤 기능을 하는지 설명해 주세요.

JVM JVM은 자바 가상 머신으로 컴파일 된 바이트 코드를 os, 하드웨어에 상관 없이 자바 프로그램이 동일하게 실행 되도록 돕는다. 컴파일, 실행 과정 C/C++ 프로그램의 경우, 여러 소스파일로 나누어 개발하고 링크를 통해 실행에 필요한 모든 코드를 하나의 실행파일(.exe)에 저장하고 이 실행 파일은 모두 메모리에 올려져야 실행된다. 메인 메모리의 크기가 작은 경우 불리함이 따른다. 컴파일은 코드를 읽고 해석하여 전체 소스코드를 기계어로 바꾸어 파일로 생성하기 때문에 빌드 과정은 오래걸리지만 막상 실행하면 기계어를 읽기만 하면 되기 때문에 빠르게 실행된다. 반면 Java에서 컴파일은 기존의 컴파일 과정과 조금 다르게 진행된다. Java의 컴파일러인 javac.exe는 JVM이 이해할 수 있게 중간..

TIL 2023.06.22

시스템 콜이 무엇인지 설명해 주세요.

시스템 콜은 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스이다. 대표적으로 사용자 프로그램이 디스크 파일을 접근하거나 화면에 결과를 출력하는 등의 작업이 필요한 경우 사용된다. 커널은 운영체제 중 항상 메모리에 올라가 있는 운영체제의 핵심 부분으로써 cpu,ram,disk,i/o device와 같은 컴퓨터 하드웨어 자원을 관리한다. 꼬리 질문 우리가 사용하는 시스템 콜의 예시를 들어주세요. 더보기 파일 관련 시스템 콜로 파일을 열고 읽고 쓰는 open, read, write 시스템 콜이 있고, 프로세스 제어 관련 시스템 골은 현재 프로세스를 복제하여 새로운 프로세스를 생성하는 fork, 새로운 프로그램을 실행하기 위해 현재 프로세스 주소 공간에 새로운 프로그램을 덮어쓰는 exec 시스템 콜..

OS 2023.06.21

쿠키와 세션의 차이에 대해 설명해 주세요.

쿠키와 세션을 사용하는 이유 HTTP는 "connectionless, stateless"한 특성을 가지기 때문에 서버는 매 요청때 마다 클라이언트를 확인해야 한다는 단점이 있습니다. 이를 보완하기 위해 나온 개념이 쿠키와 세션입니다. connectionless 더보기 클라이언트가 요청을 보내고 응답을 받으면 연결을 끊어버리는 특징 보통 웹서비스를 사용할 때, 계속 연속적으로 검색 버튼을 누르지 않기 때문에 연결을 끊는것이 서버 자원을 더 효율적으로 사용할 수 있음 stateless 더보기 Stateless를 직역하면 무상태라는 것으로 서버가 클라이언트의 이전 상태를 기억하고 있지 않는다는 것입니다. 때문에 다음 요청을 받는 서버가 이전 요청을 받은 서버일 필요가 없어 서버의 스케일 아웃에 유연하다는 장점..

Key (기본키, 후보키, 슈퍼키 등등...) 에 대해 설명해 주세요.

슈퍼키 튜플을 구분할 수 있는 모든 attribute의 조합 후보키 튜플을 구분할 수 있는 최소한의 attribute 조합 기본키 후보키 중 null을 허용하지 않고 튜플을 가장 잘 구분할 수 있는 대표키 외래키 테이블의 연관관계를 나타내기 위해 다른 테이블의 기본키를 참조하는 키 꼬리 질문 기본키는 수정이 가능한가요? 이론상 수정이 가능하지만 여러 연관관계가 있는 경우, 참조 부분에서 데이터의 일관성이 깨질 수 있으므로 수정하지 않는 것이 좋다고 생각합니다. 외래키 값은 NULL이 들어올 수 있나요? 해당 관계가 존재하지 않는 경우 null값이 들어올 수 있습니다. 어떤 칼럼의 정의에 UNIQUE 키워드가 붙는다고 가정해 봅시다. 이 칼럼을 활용한 쿼리의 성능은 그렇지 않은 것과 비교해서 어떻게 다를까..

데이터베이스 2023.06.19

[JAVA] [그리디] 백준 1339 단어수학

문제 https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 코드 import java.util.*; import java.io.*; public class hello { public static void main(String[] args) throws IOException{ String str; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringToke..

[JAVA] [BFS] Pro 아이템 줍기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/87694?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 좌표를 2배로 늘린다. (3,5) -> (3,6) 원래는 갈 수 없는 길인데 좌표이동으로는 갈 수 있는것 처럼 보이기 때문이다. 2. 테두리 만을 남기기 위해 사각형의 전체 영역을 true로 채운 후, 내부를 false로 다시 채운다 3. bfs를 통해 최단경로 탐색한다. 코드 import java.util.*; class Solution { public ..

[파이썬] [구현] 백준 20164 홀수 홀릭 호석

문제 https://www.acmicpc.net/problem/20164 20164번: 홀수 홀릭 호석 호석이는 짝수랑 홀수 중에서 이니셜이 같은 홀수를 더 좋아한다. 운전을 하던 호석이는 앞차의 번호판이 홀수로 가득할 때 사랑스러움을 느낄 정도이다. 전화번호도 홀수만 있고 싶다. 그렇게 www.acmicpc.net 코드 n=input().rstrip() maxValue=0 minValue=99999 def check(temp): c=0 for i in temp: if int(i)%2==1: c+=1 return c def recur(n,count): global maxValue global minValue # 길이가 1일 경우 max값, min값을 갱신 if len(n)==1: maxValue=max(..

문제풀이/구현 2023.05.08

[자바] [백트래킹] 백준 16508 전공책

문제 https://www.acmicpc.net/problem/16508 16508번: 전공책 곧 졸업을 앞둔 민호는 대학교 생활 동안 구매만 해놓고 한 번도 펴보지 않은 전공책에 먼지가 쌓여 있는 것을 보고는, 이 책들을 어떻게 처리해야 할지 고민 중이다. 열심히 고민한 끝에 민호는 www.acmicpc.net 코드 import java.util.*; import java.io.*; class Book{ int price; String title; public Book(int price, String title){ this.price=price; this.title=title; } } public class Main { static ArrayList arr = new ArrayList(); static..

문제풀이/기타 2023.04.28