기술 면접 준비
41. Django는 어떤 종류의 데이터베이스를 사용하나요?또, Flask와의 차이는 무엇인가요?
- Django는 공식적으로 SQLite, MySQL, PostgreSQL, MariaDB, Oracle을 지원합니다.
- 기본적으로 아무런 설치없이 사용 가능한 것으로는 SQLite가 있습니다.그러나, 실제로 프로젝트를 시작할 때에는 나중에 데이터베이스를 교체하느라 골치아파질 일을 피하기 위해서라도 PostgreSQL과 같이 좀 더 확장성이 있는 데이터베이스를 사용하는 것이 좋습니다.
- Django에는 RDBMS와의 상호 작용을 지원하는 기본 내장 ORM을 함께 제공하고, 이 ORM은 마이그레이션 생셩 및 관리도 지원합니다.
내장된 유효성 검사를 사용하여 데이터베이스 모델을 만드는 것이 상대적으로 더욱 편안합니다. - Flask에는 DB ORM 구조가 따로 존재 하지 않습니다. 개발자가 원한다면 따로 ORM을 지원하기도 하며, 패키지를 선택해서 사용하면 됩니다.
42. Django에서 제공하는 sqlite는 어떤 장단점이 있나요?
장점
- SQLite는 낮은 메모리 환경에서도 이식성, 안정성이 좋고 매우 가볍습니다.
무료 오픈소스 소프트웨어이고, 이를 사용하는 데 특별한 라이센스가 필요하지 않습니다. 하지만, 별도로 돈을 낸다면 압축 및 암호화에 도움이 되는 확장 기능을 제공하기도 합니다.- 이식성 = 데이터를 분리된 파일의 커다란 배치로 저장하는 다른 일반적인 데이터베이스와 달리 단일 파일에 전체 데이터가 저장되고, 이 파일은 디렉터리 계층의 어디에나 위치할 수 있으며 이동식 디스크 또는 파일 전송 프로토콜을 통해 공유할 수 있습니다.
- 특별한 라이센스가 필요하지 않습니다. = 완전한 독립형, 외부 종속성이 없음
즉시 사용될 수 있는 “Zero-configuration”데이터베이스
단점
- 동시성에 제한이 있습니다. 동시에 여러 프로세스가 SQLite 데이터베이스에 액세스하고 쿼리가 가능하지만 주어진 시간에 하나의 프로세스만 데이터베이스를 변경할 수 있습니다.
- 사용자 관리가 존재하지 않습니다. 데이터베이스 시스템은 데이터베이스 및 테이블에 대해 사전에 정의된 액세스 권한을 사용자에게 제공하지만, SQLite는 일반 디스크 파일을 직접 읽고 쓰기 때문에 적용 가능한 유일한 액세스 권한은 기본 운영 체제의 일반적 액세스 권한뿐입니다. 이로 인해 특별한 액세스 권한이 필요한 응용 프로그램에는 적합하지 않습니다.
- 다른 RDBMS에 비해 보안이 약합니다.
알고리즘 풀이
백준 다시 풀어보기 - 10869
두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A_B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)
첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A_B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.
a,b = map(int, input().split())
def calc(num1,num2):
print(num1+num2)
print(num1-num2)
print(num1*num2)
print(num1//num2)
print(num1 % num2)
calc(a,b)
백준 다시 풀어보기 - 2588
a = int(input())
b = int(input())
print(a * (b % 10))
print(a * ((b % 100) // 10))
print(a * (b // 100))
print(a * b)
# b의 1의자리는 b를 10으로 나눈 나머지 값
# b의 10의 자리는 b를 100으로 나눈 나머지 값에서 10으로 나눈 몫
# b의 100의 자리는 b를 100으로 나눈 몫
'취업_TIL' 카테고리의 다른 글
취업_TIL | 2022-09-15 (9) _ 기술 면접 STUDY 1 ~ 4 (1) | 2022.09.15 |
---|---|
취업_TIL | 2022-09-07 (8) _ 기술 면접 대비 질문 43~52 (0) | 2022.09.07 |
취업_TIL | 2022-09-05 (6) _ 기술 면접 대비 질문 28~40 (0) | 2022.09.05 |
취업_TIL | 2022-09-02 (5) _ 기술 면접 대비 질문 17~27 (0) | 2022.09.02 |
취업_TIL | 2022-09-01 (4) _ 기술 면접 대비 질문 7~16 (0) | 2022.09.01 |