목록Dev Tool (15)
Seung's Learning Record
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8FGIj/btsHgnFHucf/Y5fkeyVjRJAYDB5Kdhgpr1/img.png)
≣ 목차 VPC란? VPC(Virtual Private Cloud)란 AWS에서 논리적으로 생성하는 독립적인 네트워크이다. 사용자는 VPC 내에서 IP대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, 보안 그룹, ACL등을 생성하고 제어할 수 있다.서브넷(Subnet)이란? 서브넷은 VPC의 IP 주소를 나누어 리소스가 배치되는 물리적인 주소 범위를 뜻한다. VPC가 논리적인 범위를 의미한다면, 서브넷은 VPC안에서 실제로 리소스가 생성될 수 있는 네트워크 영역이라고 생각하면 된다.하나의 VPC에 N개의 서브넷을 가질 수 있으며 하나의 AZ에만 생성이 가능하다.아래 그림처럼, 여러 AZ에 걸쳐서 서브넷을 생성할 수 없다는 말이다. 즉, 서브넷은 하나의 가용영역(AZ) 안에 종속되어야 한..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cLhhiN/btsG5sot7wn/MzgCfSKwyNmVf9AfBXLqB1/img.png)
≣ 목차 EC2(Elastic Compute Cloud)란? Amazon Elastic Compute Cloud(EC2)는 아마존 웹 서비스의 하나로, 가상 서버를 제공하는 서비스이다. 이 서비스를 사용하면 웹 서버, 애플리케이션 서버, 데이터베이스 서버 등 다양한 용도로 가상 컴퓨팅 리소스를 빠르게 확보할 수 있다. 여기서 가상 서버를 "인스턴스"라고 하며, 이를 시작하거나 중지하고, 필요에 따라 스케일링하고, 네트워킹 및 보안 설정을 구성할 수 있다. 또한 필요에 따라 Auto Scaling과 같은 기능을 사용하여 트래픽이나 워크로드 변화에 따라 자동으로 인스턴스 수를 조정할 수 있다. 이러한 유연성과 확장성으로 EC2는 다양한 워크로드 및 애플리케이션을 호스팅하는 데 사용된다.AWS EC2 인스턴..
≣ 목차 클라우드 컴퓨팅 클라우드 컴퓨팅은 인터넷을 통해 컴퓨터 시스템의 자원을 제공하고 관리하는 컴퓨팅 서비스이다. 이는 사용자가 자신의 컴퓨터나 데이터 센터에 대한 직접적인 관리와 유지보수를 하지 않고도 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석, 인공지능과 같은 컴퓨팅 자원을 활용할 수 있게끔 해준다. 클라우드 컴퓨팅은 다음과 같은 특징을 가진다.자원 공유: 클라우드 컴퓨팅은 여러 사용자가 하나의 물리적인 자원을 공유하는 것을 허용한다. 이로써 비용을 절감하고 자원의 효율성을 높일 수 있다.탄력성: 클라우드 컴퓨팅에서는 필요한 만큼의 자원을 필요한 때에 빠르게 확장하거나 축소할 수 있다. 이는 사용자가 트래픽이나 작업 부하에 따라 자원을 동적으로 조정하여 효율적으로 운영할 수 있..
목차 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에서 제공하는 다양한 필드 타입으로 정의된다. 예를 들어, 문자열을 저장하는 필..
![](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..