본문 바로가기
비트캠프(AI아카데미)/TIL&WIL

[비트캠프 - 클라우드 기반 AlaaS 개발자 과정] 22.11.30.(DAY-33) TIL

by 그냥_살자 2022. 12. 1.

이론

코드 내 이론

파이썬으로 데이터베이스 만들어 넣기

1) 데이터베이스 생성 및 use상태 전환

docker start mysql

docker ps

docker exec -it <컨테이너 이름> bash

mysql -u root -p
# mysql로 들어감

show databases;

create database mydb; # mydb라는 데이터베이스 생성(없으면)

use mydb; # mydb로 접속 => 요거 하는 거

show tables # mydb안에 테이블 뭐있는지 확인 => 확인 차

2) 파이참에서 프로젝트 생성 후 DRF(Django Rest Framwork) install하기

내일 물어 봄

3) 테이블 패키지 생성

django-admin startapp [패키지이름]

4) 테이블 패키지에 model.py에서 테이블 코드 작성

# 기본형식 - blog.comments
from django.db import models

from blog.busers.models import Busers
from blog.posts.models import Posts

class Comments(models.Model):
    use_in_migrations = True

    comments_id = models.IntegerField(primary_key=True)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True) #datatime_start 장고
    updatated_at = models.DateTimeField(auto_now=True) #datatime_end 장고
    parent_id = models.TextField(null=True)

    blog_user = models.ForeignKey(Busers, on_delete=models.CASCADE)
    post = models.ForeignKey(Posts, on_delete=models.CASCADE)

    class Meta:
        db_table = "blog_comments"

    def __str__(self):
        return f"{self.pk} {self.content} {self.created_at} {self.updatated_at} {self.parent_id}"

5) admin.setting에서 migration 위치 설정해주기

# setting파일에서 위치설정 부분

INSTALLED_APPS = [
    "shop.carts.apps.CartsConfig",
    "shop.categories.apps.CategoriesConfig",
    "shop.deliveries.apps.DeliverriesConfig",
    "shop.orders.apps.OrdersConfig",
    "shop.products.apps.ProductsConfig",
    "shop.susers.apps.SuersConfig",
    "blog.views.apps.ViewsConfig",
    "blog.posts.apps.PostsConfig",
    "blog.tags.apps.TagsConfig",
    "blog.busers.apps.BusersConfig",
    "blog.comments.apps.CommentsConfig",
    "movies.movies.apps.MoviesConfig",
    "movies.cinema.apps.CinemaConfig",
    "movies.theater.apps.TheaterConfig",
    "movies.musers.apps.MusersConfig",
    "movies.theaterticket.apps.TheaterticketConfig",
    "movies.showtimes.apps.ShowtimesConfig",
    "users.apps.UsersConfig",
    "hello.apps.HelloConfig",
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
]

6) 터미널에서 migration 명령어 실행

#마이그레이션 파일 생성
python manage.py makemigrations

#마이그레이션 실행
python manage.py migrate

그외) 오류 발생 시 패키지 내 migration폴더 or 패키지 내 app.py에서 경로설정 or 테이블 삭제 후 제 migration으로 대부분 해결 됨

 

용어

접두사 = pret fix

접미사 = post fix

 

바닐라js

외부 프레임워크(리액트, 뷰)를 사용하지 않는 순수자바스크립트

 

JSON(JavaScript Object Notation) = 자바스크립트 객체 표기법

⇒ 자료구조형태 중 하나 ⇒ {[{[],[],[]}],[]} 요런 느낌

우리가 프론트앤드 할 때 라이브러리 겸 프레임워크로 리액트 씀

서버에서 딕셔너리로 데이터 보내면 클라이언트에서 JSON형태로 받음

 

클라이언트서버 - 리액트

웹서버 - NGinx

WAS - Gunicon

DB서버 - MYSQL

 

객체를 만드는 법

1) 생성자

2) 팩토리 라이브러리

 

WSGI(파이썬) = WAS(자바)

 

놓친거

클로저??

콜백함수??

브리지패턴??

CORS??

MSA = 마이크로소프트아키텍쳐?

 

마무리

웹 들어간다.

 

당분간 숨통 좀 트일듯

댓글