목록2024/04 (15)
Seung's Learning Record
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/6aAWS/btsGRghaxFg/VOfRY7eUblLzEiPWHqHKZ0/img.png)
목차 관계형 데이터베이스 (RDBMS) 개념 관계형 데이터베이스는 데이터를 테이블 형식으로 저장하고 관리하는 데이터베이스 시스템이며, SQL 언어로 데이터를 조작할 수 있다. 관계형 데이터베이스는 크게 프로덕션 데이터베이스와 데이터 웨어하우스로 종류를 나눠볼 수 있다. 프로덕션 데이터베이스 프로덕션 데이터베이스는 주로 실시간 트랜잭션 처리(OLTP, Online Transaction Processing)를 위해 설계된 데이터베이스이다. 이 데이터베이스는 업무 처리, 주문 처리, 고객 관리 등의 다양한 업무 프로세스를 지원하기 위해 사용되기 때문에 처리 속도에 집중된 데이터베이스이다. MySQL, PostgreSQL, Oracle 등 백엔드 개발자들이 다루는 데이터베이스가 이에 속한다. 해당 데이터베이스는..
목차 API란?API란 "Application Programming Interface"의 약자로, 프로그램들이 상호작용할 수 있는 인터페이스를 제공하는 것을 의미한다. Django의 API는 주로 HTTP 프로토콜을 통해 데이터를 주고받는 RESTful API 형식이며, 구축하기 위해서는 다음과 같은 주요 구성 요소가 필요하다모델(Model): Django의 모델은 데이터베이스의 테이블과 매핑된다. 데이터베이스에서 데이터를 읽고 쓰는 데 사용되는 ORM(Object-Relational Mapping)을 통해 모델을 정의한다. 각 모델은 데이터베이스의 테이블과 필드에 해당하며, 이를 통해 데이터의 구조를 정의하고 조작할 수 있다.시리얼라이저(Serializer): 시리얼라이저는 Django의 모델 데이터..
목차 SerializerSerializer는 Django 모델 데이터를 JSON 또는 다른 형식의 데이터로 변환하거나, 그 반대로 역직렬화(deserialize)하고 직렬화(serialize)하는 데 사용된다. 주로 API 개발에서 모델 데이터를 외부로 노출하거나 외부에서 받은 데이터를 모델로 변환할 때 활용된다.Serializer의 주요 기능과 목적은 다음과 같다:모델 데이터 직렬화(Serialization): Django의 모델을 JSON 또는 다른 형식의 데이터로 변환한다. 이를 통해 데이터를 외부 시스템에 노출하거나 전송할 수 있다.데이터 유효성 검사(Validation): Serializer는 들어오는 데이터를 모델에 저장하기 전에 유효성을 검사한다. 이는 사용자가 제공한 데이터가 모델의 필드..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/doeIRB/btsGuOL9EOg/Jk9O5O7B672ZKr4ct5zGsK/img.png)
목차 사용자가 URL 주소를 보내게 되면 django에선 URL 패턴이 뷰를 호출하고, 뷰가 모델을 통해 데이터를 처리하고 템플릿을 렌더링하여 사용자에게 결과를 보여준다. 이러한 과정을 MTV(Model-Template-View) 아키텍처라고 한다. 오늘은 뷰와 템플릿에 대해서 작성해보고자 한다. 질문 목록(question)과 그에 따른 대답 목록(chioce)을 여러 방법으로 화면에 표시하는 예시를 들어서 작성할 예정이며, 파일 위치는 다음과 같다. MTV 용어 정리URL:사용자가 웹 페이지를 요청할 때 Django는 URL을 통해 요청을 라우팅URL은 Django 프로젝트의 URL 패턴들이 정의된 파일 (일반적으로 urls.py 파일)에서 관리각 URL 패턴은 특정한 뷰 함수를 호출하도록 매핑Vie..
목차Django의 shell은 Django 프레임워크에서 제공하는 인터랙티브한 콘솔 환경이다. 이 셸을 사용하면 Django 애플리케이션의 데이터베이스와 상호 작용할 수 있다. Django 셸을 통해 데이터를 읽고 쓰고 수정할 수 있으며, 데이터베이스 관련 작업을 테스트하거나 디버그할 때 유용하다.Django Shell 기초Shell 실행python manage.py shelltable에 있는 데이터 가져오기#models.py 파일에 정의된 모든 모델 가져오기>>> from polls.models import *>>> Question#모든 Question,Choice 오브젝트 가져오기>>> Question.objects.all()>>> Choice.objects.all()#첫번째 Choice 오브젝트 가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zaxxf/btsGu5k6RDb/G4CSNR1BwwXlpzrfk8ukiK/img.png)
목차django의 app인 polls 폴더를 살펴보면 models.py라는 파일이 존재한다. 이 파일은 데이터베이스의 모델을 정의하는 곳으로, Django 애플리케이션의 데이터 구조와 관련된 정보를 포함하고 있다. 각각의 모델은 데이터베이스 테이블의 구조를 정의하고 이를 통해 데이터를 편집할 수 있게 해준다. 이러한 기능을 ORM이라고도 부른다.일반적으로 models.py 파일은 Django 애플리케이션의 각각의 앱(app) 폴더 내에 위치한다. 이 파일은 Python 클래스로 작성되며, 각 클래스는 데이터베이스 테이블을 나타낸다. 모델 클래스의 속성은 데이터베이스의 각 열(Column)을 나타낸다. 이러한 속성은 Django에서 제공하는 다양한 필드 타입으로 정의된다. 예를 들어, 문자열을 저장하는 필..
관계형 데이터베이스(RDB) 는 데이터를 행과 열로 이루어진 테이블의 형태로 구성하고, 테이블 간의 관계를 정의하는 데이터베이스이다. 이번 시간에는 간단한 수강신청 예시를 통해 관계형 데이터베이스에서 각각의 용어들이 어떤 의미를 가지고 있는지 알아보자. 테이블(table) 테이블이란 데이터베이스에서 행과 열로 구성되어 있는 데이터의 집합을 의미한다. 학생 정보를 저장하는 테이블 student와 강의 정보를 저장하는 class 테이블이 있다고 하자. student Student_Id name Class_Id 1 철수 A 2 영희 B 3 훈이 A class Class_Id Class_name A 수학 B 영어 열(colum) 관계형 데이터베이스에서 열(column)은 테이블에 존재하는 필드(field)를 나..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LkbCq/btsGqYuHuQu/3wxgbHCQ6jLU0Po6bBPqJk/img.png)
목차 Django에서 앱은 재사용 가능한 기능의 작은 모듈을 뜻한다. 예를 들어 인스타그램이라는 하나의 큰 프로젝트가 있다면 그 안에 있는 탐색 기능, 다이렉트 메시지 기능 등등이 앱이 되는 것이다. 이러한 각 앱은 모델, 뷰, 템플릿 및 URL 패턴을 포함하여 독립적으로 작동할 수 있다. 이렇게 하면 앱을 개발하고 유지 관리하는게 쉬우며, 여러 프로젝트에서 재사용할 수 있게된다.Django APP 생성하기기존에 만들어두었던 mysite 프로젝트 폴더 내부로 들어간뒤, 의견조사용 앱 polls를 생성하였다.$ python manage.py startapp pollsmysite만 생성되어 있었을때는 http://127.0.0.1:8000/ 에 접속하면 django 초기 화면이 떴었다. 이번에 만든 pol..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cY2ryF/btsGrX9DUMD/x5jQBXhaxzvkOnkEnKUPQk/img.png)
목차 Django는 파이썬으로 제작된 웹 프레임워크인 만큼 Django를 설치하려면 그에 앞서 먼저 Python을 설치해주어야 한다.https://www.python.org/downloads/ Download PythonThe official home of the Python Programming Languagewww.python.org 해당 링크로 들어가 가장 최신 버전의 Python을 다운받고 실행해주면 된다. 올바르게 설치되었는지 확인하고 싶다면 터미널에 "python" 명령어를 입력해주면된다. 아래와 같은 결과가 출력되면 올바르게 설치된 것이다.Python 3.x.y[GCC 4.x] on linuxType "help", "copyright", "credits" or "license" for mor..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bExccU/btsGqQuSq5O/OxsYv8Ik5C6TvBWg12xTx1/img.png)
≣ 목차 Seaborn 개념 Seaborn은 python에서 제공하는 데이터 시각화를 위한 라이브러리이다. Matplotlib을 기반으로 만들어졌으며, 데이터 시각화를 보다 쉽고 가시적으로 진행할 수 있게끔해준다. seaborn 자체에 내장된 penguins dataset을 활용해 사용법에 익숙해져보자. 사용할 데이터 셋의 구성은 다음과 같다. species : 펭귄 종 island : 서식지 bill_length_mm : 부리 길이 bill_depth_mm : 부리 위아래 두께 flipper_length_mm : 팔 길이 body_mass_g : 몸무게 sex : 성별 import seaborn as sns data = sns.load_dataset('penguins') # 데이터 로드 data = d..