데이터베이스 설치
2022. 11. 7. 17:26
라이브러리 & 프레임워크/Django
기본적으로는 SQLite를 사용하도록 구성되어 있습니다. SQLite는 Python에서 기본으로 제공되기 때문에 별도로 설치할 필요가 없습니다. 그러나 실제 프로젝트 시작 시에는 MySQL 같이 좀 더 확장성 있는 데이터베이스를 사용하는 것이 좋습니다. demo_project/settings.py 파일 안에 데이터베이스가 설치되어 있습니다. demo_project/settings.py DATABASES = { "default": { "ENGINE": "django.db.backends.sqlite3", "NAME": BASE_DIR / "db.sqlite3", } } 데이터베이스를 생성하기 위해서 터미널에서 아래 코드를 실행하세요. : $ python manage.py migrate
URLconf - URL 정의
2022. 11. 7. 17:07
라이브러리 & 프레임워크/Django
URLconf 란? URLconf는 Django에서 URL과 일치하는 뷰를 찾기 위한 패턴들의 집합입니다. URL : 웹페이지 주소를 의미합니다. 인터넷의 모든 페이지는 고유한 URL 을 가지고 있어야 합니다. 애플리케이션은 사용자가 URL을 입력하면 어떤 내용을 보여줘야 하는지 알고 있습니다. Django 에서 URL 은 어떻게 작동할까? demo_project/urls.py """demo_project URL Configuration [...] """ from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), ] Django는 admin/ 로 시작하는 모든 URL..
Django 개발 환경 설정
2022. 11. 7. 16:15
라이브러리 & 프레임워크/Django
Django란? 웹서비스를 쉽고 빠르게 개발할 수 있는 툴을 제공하는 파이썬 프레임워크입니다. 프레임워크 : 개발하면서 자주 사용하고 반복적으로 사용하는 도구를 모은 라이브러리의 집합 가상환경 가상환경이란? 자신이 원하는 Python 환경을 구축하기 위해 필요한 모듈만 담아놓기 위한 환경 설정입니다. 가상환경은 왜 필요한가? 우리는 프로젝트를 개발하면서 여러가지 패키지들을 설치하게 됩니다. 시간이 지나면서 패키지의 버전이 바뀌게 되는데, 예전 프로젝트에서 사용하던 버전과 달라져 충돌이 일어날 수 있습니다. 그렇기 때문에 프로젝트 별로 가상환경을 만들어 관리합니다. 가상환경에는 여러 종류가 있는데, 그 중에서도 우리는 pipenv 라는 가상환경을 사용하려고 합니다. pipenv 설치 (Windows) $ ..
[React] useMemo 훅
2022. 10. 2. 23:04
라이브러리 & 프레임워크/React
들어가며 최근 회사에서 리액트로 개발하는 도중 무분별한 리렌더링이 발생하는 이슈를 겪었다. 대표적으로, 사용자가 문의사항을 남기는 페이지에서 문의 내용을 입력할 때마다 다른 인풋이 깜빡거리는 현상이 발생했다. 이 깜빡거리는 현상의 원인은 문의 내용 입력 시 content state 의 업데이트로 컴포넌트가 리렌더링되었기 때문이었다. 리액트는 상태의 변경에 따라 상태가 변경되는 컴포넌트와 그 이하의 모든 자식 컴포넌트가 렌더링의 대상이 된다. 문제는 자식 컴포넌트의 상태가 변경되지 않아도(갱신될 필요가 없어도) 불필요한 렌더링이 일어난다고 한다. 리액트의 특성상 content state 가 업데이트되었는데 다른 인풋 또한 불필요하게 렌더링이 발생한 것으로 예상된다. 위와 같은 리렌더링 이슈를 막기 위해 해..
서버사이드 렌더링(SSR)과 클라이언트사이드 렌더링(CSR)
2020. 11. 17. 12:08
라이브러리 & 프레임워크/React
서버 사이드 렌더링(SSR) SSR : Server Side Rendering 전통적인 웹 어플리케이션은 서버 사이드 렌더링 방식을 사용한다. 서버 사이드 렌더링의 동작 방식 요청 시마다 새로고침이 일어나며 서버에 새로운 페이지에 대한 요청을 하는 방식이다. 서버 측에서 HTML & View를 생성하여 응답한다. 서버 사이드 렌더링의 장점과 단점 1. 장점 1-1. 검색엔진최적화(SEO)가 가능하다. 1-2. 성능 개선(첫 로딩이 매우 짧다.) 첫 렌더링된 HTML을 클라이언트에게 전달해주기 때문에 초기로딩속도를 많이 줄여줄 수 있다. 사용자가 처음부터 사이트의 정적인 컨텐츠를 이용할 수 있다. (단, 사용자 인터랙션 부분은 제외) 동적인 부분은 자바스크립트 파일을 불러오고 렌더링 작업이 완료되면 이용할..