목록Sparta Coding Club (23)
취미가 좋다
1. Database 용어 1.1 테이블 : 표 형식으로 저장된 데이터의 집합 각각의 데이터가 어떤 이름으로, 어떤 타입으로 입력되어야 하는지에 대해 설정되어 있다. 각각의 열은 유일한 이름과 자신만의 타입을 가지고 있다. 이러한 열은 필드(field) 또는 속성(attribute)이라고도 한다. 1.2 데이터베이스 이러한 테이블들을 모아 놓은 집합 1.3 레코드 테이블에 들어가는 데이터들 테이블의 속성을 지니고 있으며 규칙을 전부 지킨 것들만 들어올 수 있다. 행, 또는 튜플(tuple)이라고 한다. 1.4 키(key) or 기본 키(primary key) 레코드를 고유하게 식별하기 위해 사용되는 속성 외래 키 1.5 스키마 데이터베이스의 다양한 구조와 제약 조건들 데이터 개체(Entity), 속성(A..
1.1 데이터베이스란? 논리적으로 연관된 여러 자료의 모음으로 그 내용을 고도로 구조함으로써 검색과 갱신을 효율적으로 할 수 있도록 한다. 즉, 몇 개의 자료 파일 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다. 요약하자면, 일정한 체계 속에 저장된 데이터의 집합이다. 데이터는 Table(표)이라는 단위로 저장된다. 1.2 데이터베이스 종류 1.2.1 관계형 데이터베이스 (Relational DataBase, RDB) RDB가 사용하는 언어가 SQL이다. Table : 데이터를 구조적으로 묶은 목록 Record : Table 안에 있는 단일 데이터 항목 명확하게 정의된 구조가 있다. 관계를 통해서 연결된 여러개의 테이블에 데이터가 분산된다. 각 데이터의 부분 부분이 ..
EC2 인스턴스 삭제 1년은 무료더라도, 그 이후에는 금액이 청구될 수 있으니, 인스턴스를 삭제해주는 것이 좋다. AWS console > EC2 > 인스턴스 > 인스턴스 상태 > 인스턴스 종료 종료됨으로 바뀌고, 약 6시간 뒤에 해당 라인이 삭제될 예정이다. 사용하지 않는 secret 삭제 서버에 접속하기 위해 등록한 ssh key / dockerhub에 이미지를 올리기 위해 등록한 token을 삭제한다. AWS console > EC2 > 네트워크 및 보안 > 키 페어 > 삭제 Docker Hub > settings > security > Delete
Continuous Deployment 과정 1. 서버에 접속해서 docker-compose.yaml 파일 작성하기 2. docker compose up github action으로 CD 파이프라인 생성 위의 과정을 github action으로 수행해야한다. github secrets에 2개의 secret을 추가해야 한다. 1. PRIVATE_KEY : 서버 접속에 필요한 ssh key 2. HOST : 서버 private ip 파일을 수정한다. Dockerfile 더보기 FROM python:3.8-slim AS builder ADD requirements.txt requirements.txt RUN pip install -r requirements.txt FROM python:3.8-slim-bust..
테스트 코드 작성 링크 글을 통해 테스트 코드의 장점을 참고해라. python 의 pytest를 사용해서 testcode를 작성하기 위해 pytest를 설치한다. pip install pytest 매번 pytest를 설치하기 불편하니까, requirements.dev.txt를 생성한다. -r requirements.txt pytest 아래의 코드로 파일 구조를 조금 바꾼다. ├── app.py ├── templates │ └── index.html ├── test_utils.py └── utils.py app.py 더보기 from flask import Flask, render_template, jsonify, request from utils import get_movie_info app = Flask..
자동화 서비스 배포하는 과정은 아래와 같이 말할 수 있다. 코드 작성 → 기능이 잘 동작하는 지 확인 → 코드 배포 여기서 기능의 동작을 확인하거나 코드를 올리는 것과 같이 반복적인 작업들은 자동화 시킬 수 있다. 자동화 방법에는 대표적으로 아래의 두 가지가 있다. Continuous Integration 지속적 통합 여러 개발자가 함께 개발을 할 때, 코드가 잘 동작하는 지 확인하는 과정이다. 정기적으로 애플리케이션에 대한 새로운 코드 변경 사항이 빌드 및 테스트 되어 공유 레포지토리에 통합된다. 이 과정은 테스트 코드를 작성하고, 자동화된 테스트를 실행한다. 도커를 배포하기 전에, 배포해도 괜찮은지 확인하기 위한 과정이다. Continuous Deployment 지속적 배포 변경된 소스코드가 실제 서..