TIL#115 개념 정리(1)

Dasom·2020년 12월 2일
0

python

목록 보기
43/50

Django 장단점

장점

  • 쉽게 배울 수 있는 언어인 파이썬을 기반으로 한 프레임워크이고 파이썬에서 가능한 모든 동작과 라이브러리를 사용할 수 있다.
  • 로그인, 회원가입, 인증, CORS 등 반복적으로 구현해야 하는 부분은 기본 모듈로 이미 만들어져 있다.
  • 데이터베이스 테이블을 models.py에 클래스로 작성하여 테이블을 생성, 매핑해주기 때문에 편하게 작업할 수 있다.

단점

  • 파이썬의 단점을 그대로 가져오게 된다.(인터프리터 언어이기 때문에 실행될 때의 속도가 느리고 문법적 오류가 있든 없든 일단 실행되기 때문에 실행된 후에 에러가 발생할 수 있다.)
  • 이미 만들어진 기능을 사용하는 경우가 많아서 원하는 대로 커스텀하기 힘들다. 세세한 설정 변경이나 자세한 조정이 힘들다.
  • ORM 기반이라 한 페이지에서 여러 모델의 정보를 보여줘야 하는 경우 어렵다. query set 최적화에 신경을 써야 한다.

스크립트 언어와 컴파일 언어의 차이

스크립트언어/인터프리터언어

원시코드(프로그래머가 작성한 소스코드)를 기계어로 변환하는 과정 없이 한줄 한줄 해석하여 바로 명령어를 실행하는 언어를 말한다. R, Python, Ruby와 같은 언어들이 대표적인 인터프리터 언어이다.
인터프리터가 직접 한 줄 씩 읽고 따로 기계어로 변환하지 않기 때문에 빌드 시간이 없다. 파일을 실행할 때에는 한 줄씩 실시간으로 읽어서 실행하기 때문에 컴파일 언어에 비해 속도가 느리다. 실행 속도는 느리지만 코드 변경시 빌드 과정 없이 바로 실행이 가능하다.

컴파일언어

원시코드를 컴파일하여 기계어로 변환한 후에 해당파일을 실행한다. 소스코드를 기게어로 변환하는 과정에서는 인터프리터 언어에 비해 시간이 소요된다. 하지만 파일을 실행할 때에는 이미 기계어로 모든 소스코드가 변환되어 있기 때문에 빠르게 실행할 수 있다. 대표적인 언어로 C, C++ 이 있다.

파이썬 데코레이터와 자바스크립트 콜백함수의 차이

자바스크립트는 비동기 방식이기 때문에 동기처리가 필요할 때가 있다. 그때 사용하는 방식 중의 하나가 콜백함수이다. 콜백함수는 함수의 매개변수로 함수를 전달하는 방식이다.
함수 안에서 함수를 전달하는 형식은 비슷하지만 목적이 다르다.
자바스크립트의 콜백함수는 특정함수의 동작이 끝남과 동시에 다른 함수를 호출해야 할 경우에 사용되고 파이썬 데코레이터는 한 기능을 여러번 사용하기 위해서 사용되거나 함수의 기능을 바꾸지 않고 다른 기능을 추가적으로 구현하고 싶을 때 사용된다.

DB replication

데이터를 물리적으로 다른 서버공간에 복제하는 일이다. 일반적으로 하나의 master와 여러개의 slave로 이루어진 구조이며 slave는 read만 가능한 구조이고 master에서 업데이트를 한다. master의 데이터가 업데이트되면 slave도 같이 동기화시키는 방향으로 복제가 이루어진다.

사용하는 이유

  • read 요청에 대한 분산을 여러 slave로 나눔으로써 병목현상을 해결할 수 있다.(병목현상 : 사용빈도가 많아 그 부분의 성능저하로 인해 전체 시스템이 마비되는 현상)
  • 마스터 서비스에 대한 영향없이 데이터에 대한 백업이 가능하다.
  • 서비스에 영향을 미치지 않고 데이터 분석이 용이하다.
profile
개발자꿈나무🌲

0개의 댓글