[AWS] EC2 개념 이해하기
·
Dev Tool/AWS
EC2(Elastic Compute Cloud)란?  Amazon Elastic Compute Cloud(EC2)는 아마존 웹 서비스의 하나로, 가상 서버를 제공하는 서비스이다. 이 서비스를 사용하면 웹 서버, 애플리케이션 서버, 데이터베이스 서버 등 다양한 용도로 가상 컴퓨팅 리소스를 빠르게 확보할 수 있다. 여기서 가상 서버를 "인스턴스"라고 하며, 이를 시작하거나 중지하고, 필요에 따라 스케일링하고, 네트워킹 및 보안 설정을 구성할 수 있다. 또한 필요에 따라 Auto Scaling과 같은 기능을 사용하여 트래픽이나 워크로드 변화에 따라 자동으로 인스턴스 수를 조정할 수 있다. 이러한 유연성과 확장성으로 EC2는 다양한 워크로드 및 애플리케이션을 호스팅하는 데 사용된다.AWS EC2 인스턴스를 생성..
[AWS] AWS(Amazon Web Service)와 클라우드 컴퓨팅
·
Dev Tool/AWS
클라우드 컴퓨팅  클라우드 컴퓨팅은 인터넷을 통해 컴퓨터 시스템의 자원을 제공하고 관리하는 컴퓨팅 서비스이다. 이는 사용자가 자신의 컴퓨터나 데이터 센터에 대한 직접적인 관리와 유지보수를 하지 않고도 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석, 인공지능과 같은 컴퓨팅 자원을 활용할 수 있게끔 해준다. 클라우드 컴퓨팅은 다음과 같은 특징을 가진다.자원 공유: 클라우드 컴퓨팅은 여러 사용자가 하나의 물리적인 자원을 공유하는 것을 허용한다. 이로써 비용을 절감하고 자원의 효율성을 높일 수 있다.탄력성: 클라우드 컴퓨팅에서는 필요한 만큼의 자원을 필요한 때에 빠르게 확장하거나 축소할 수 있다. 이는 사용자가 트래픽이나 작업 부하에 따라 자원을 동적으로 조정하여 효율적으로 운영할 수 있게 해준다..
[SQL] 관계형 데이터 베이스
·
프로그래밍/SQL
관계형 데이터베이스 (RDBMS) 개념관계형 데이터베이스는 데이터를 테이블 형식으로 저장하고 관리하는 데이터베이스 시스템이며, SQL 언어로 데이터를 조작할 수 있다.관계형 데이터베이스는 크게 프로덕션 데이터베이스와 데이터 웨어하우스로 종류를 나눠볼 수 있다.프로덕션 데이터베이스프로덕션 데이터베이스는 주로 실시간 트랜잭션 처리(OLTP, Online Transaction Processing)를 위해 설계된 데이터베이스이다. 이 데이터베이스는 업무 처리, 주문 처리, 고객 관리 등의 다양한 업무 프로세스를 지원하기 위해 사용되기 때문에 처리 속도에 집중된 데이터베이스이다. MySQL, PostgreSQL, Oracle 등 백엔드 개발자들이 다루는 데이터베이스가 이에 속한다.해당 데이터베이스는 주로 Star..
[Django] API 기능 살펴보기(GET, POST, PUT, DELETE)
·
Dev Tool/Django
API란?API란 "Application Programming Interface"의 약자로, 프로그램들이 상호작용할 수 있는 인터페이스를 제공하는 것을 의미한다. Django의 API는 주로 HTTP 프로토콜을 통해 데이터를 주고받는 RESTful API 형식이며, 구축하기 위해서는 다음과 같은 주요 구성 요소가 필요하다모델(Model): Django의 모델은 데이터베이스의 테이블과 매핑된다. 데이터베이스에서 데이터를 읽고 쓰는 데 사용되는 ORM(Object-Relational Mapping)을 통해 모델을 정의한다. 각 모델은 데이터베이스의 테이블과 필드에 해당하며, 이를 통해 데이터의 구조를 정의하고 조작할 수 있다.시리얼라이저(Serializer): 시리얼라이저는 Django의 모델 데이터를 JS..
[Django] Serilalizer 알아보기
·
Dev Tool/Django
SerializerSerializer는 Django 모델 데이터를 JSON 또는 다른 형식의 데이터로 변환하거나, 그 반대로 역직렬화(deserialize)하고 직렬화(serialize)하는 데 사용된다. 주로 API 개발에서 모델 데이터를 외부로 노출하거나 외부에서 받은 데이터를 모델로 변환할 때 활용된다.Serializer의 주요 기능과 목적은 다음과 같다:모델 데이터 직렬화(Serialization): Django의 모델을 JSON 또는 다른 형식의 데이터로 변환한다. 이를 통해 데이터를 외부 시스템에 노출하거나 전송할 수 있다.데이터 유효성 검사(Validation): Serializer는 들어오는 데이터를 모델에 저장하기 전에 유효성을 검사한다. 이는 사용자가 제공한 데이터가 모델의 필드 유효성..
[Django] 뷰(Views)와 템플릿(Templates)
·
Dev Tool/Django
사용자가 URL 주소를 보내게 되면 django에선 URL 패턴이 뷰를 호출하고, 뷰가 모델을 통해 데이터를 처리하고 템플릿을 렌더링하여 사용자에게 결과를 보여준다. 이러한 과정을 MTV(Model-Template-View)  아키텍처라고 한다. 오늘은 뷰와 템플릿에 대해서 작성해보고자 한다. 질문 목록(question)과 그에 따른 대답 목록(chioce)을 여러 방법으로 화면에 표시하는 예시를 들어서 작성할 예정이며, 파일 위치는 다음과 같다. MTV 용어 정리URL:사용자가 웹 페이지를 요청할 때 Django는 URL을 통해 요청을 라우팅URL은 Django 프로젝트의 URL 패턴들이 정의된 파일 (일반적으로 urls.py 파일)에서 관리각 URL 패턴은 특정한 뷰 함수를 호출하도록 매핑View:U..
[Django] Shell 사용하기
·
Dev Tool/Django
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 오브젝트 가져오..
[Django] model 만들고 활용하기
·
Dev Tool/Django
django의 app인 polls 폴더를 살펴보면 models.py라는 파일이 존재한다. 이 파일은 데이터베이스의 모델을 정의하는 곳으로, Django 애플리케이션의 데이터 구조와 관련된 정보를 포함하고 있다. 각각의 모델은 데이터베이스 테이블의 구조를 정의하고 이를 통해 데이터를 편집할 수 있게 해준다. 이러한 기능을 ORM이라고도 부른다.일반적으로 models.py 파일은 Django 애플리케이션의 각각의 앱(app) 폴더 내에 위치한다. 이 파일은 Python 클래스로 작성되며, 각 클래스는 데이터베이스 테이블을 나타낸다. 모델 클래스의 속성은 데이터베이스의 각 열(Column)을 나타낸다. 이러한 속성은 Django에서 제공하는 다양한 필드 타입으로 정의된다. 예를 들어, 문자열을 저장하는 필드에..
[SQL] 용어 정리 (Table, Colum, Row)
·
프로그래밍/SQL
관계형 데이터베이스(RDB)는 데이터를 행과 열로 이루어진 테이블의 형태로 구성하고, 테이블 간의 관계를 정의하는 데이터베이스이다. 이번 시간에는 간단한 수강신청 예시를 통해 관계형 데이터베이스에서 각각의 용어들이 어떤 의미를 가지고 있는지 알아보자.테이블(table)테이블이란 데이터베이스에서 행과 열로 구성되어 있는 데이터의 집합을 의미한다. 학생 정보를 저장하는 테이블 student와 강의 정보를 저장하는 class 테이블이 있다고 하자.student Student_IdnameClass_Id1철수A2영희B3훈이AclassClass_IdClass_nameA수학B영어열(colum)관계형 데이터베이스에서 열(column)은 테이블에 존재하는 필드(field)를  나타낸다. 필드는 앞으로 테이블의 행에 저장..
[Django] Django App 생성하기
·
Dev Tool/Django
Django에서 앱은 재사용 가능한 기능의 작은 모듈을 뜻한다. 예를 들어 인스타그램이라는 하나의 큰 프로젝트가 있다면 그 안에 있는 탐색 기능, 다이렉트 메시지 기능 등등이 앱이 되는 것이다. 이러한 각 앱은 모델, 뷰, 템플릿 및 URL 패턴을 포함하여 독립적으로 작동할 수 있다. 이렇게 하면 앱을 개발하고 유지 관리하는게 쉬우며, 여러 프로젝트에서 재사용할 수 있게된다.Django APP 생성하기기존에 만들어두었던 mysite 프로젝트 폴더 내부로 들어간뒤, 의견조사용 앱 polls를 생성하였다.$ python manage.py startapp pollsmysite만 생성되어 있었을때는 http://127.0.0.1:8000/ 에 접속하면 django 초기 화면이 떴었다. 이번에 만든 polls 앱..
[Django] 프로젝트 생성하고 서버 실행하기
·
Dev Tool/Django
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 more i..
[Python] 데이터 시각화 라이브러리 - Seaborn
·
프로그래밍/Python
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 snsdata = sns.load_dataset('penguins') # 데이터 로드data = data.dropna() ..