Growth Hoon

20231126_TIL_{ 오전 : [ 프로그래머스, Django_migration], 오후 : [선형대수학 - python 정리] } 본문

TIL_Today I Learned

20231126_TIL_{ 오전 : [ 프로그래머스, Django_migration], 오후 : [선형대수학 - python 정리] }

sayhoon 2023. 11. 26. 10:12

프로그래머스 - 2016년

github link

def solution(a, b):
    answer = ''
    
    ## 목 - 금 - 토 - 일 - 월 - 화 - 수 (순서로 설정함) => index 1번이 1월 1일로 설정 하려고
    day_of_week = ['THU','FRI','SAT','SUN','MON','TUE','WED']

    day_dict = {
        '31' : [1,3,5,7,8,10,12],
        '29' : [2],
        '30' : [4,6,9,11]
    }

    total_day = 0

    for month in range(1,a):
        if month in day_dict['31']:
            total_day +=  (31)
        elif month in day_dict['30']:
            total_day += (30)
        else:
            total_day += (29)
    print(total_day, (total_day+b) % 7)

    answer = day_of_week[(total_day+b) % 7]


    return answer

day_of_week의 순서를 목요일 시작으로 해둬서 조금 아쉬웠다.

 

Django - Migration 

github link

 

1. App 내 models.py에서 db modeling 선언 전

python manage.py migrate

해당 명령어를 통해서 django Framework에서 필요로 하는 DB를 생성해준다

 

2. App folder 내 models.py에 만들 DB class를 생성한다 (예시)

### addfoler/models.py 
from django.db import models

# Create your models here.

class PayPlan(models.Model):
    name = models.CharField(max_length=20)
    price = models.IntegerField()
    update_at = models.DateTimeField(auto_now=True)
    create_at = models.DateTimeField(auto_now=True)

 

3. 생성한 models.py를 makemigrate 해준다.

python manage.py makemigrations

- 위 사진 처럼 No changed detected가 뜬다면 project folder내 settings.py에 app폴더의 apps.py class가 들어있는지 확인해보자

- 없으면 아래 사진 INSTALLED_APPS의 0번째 index 처럼 넣어주자

4. 새로 생성한 DB를 migrate해주자

python manage.py migrate

 

이후 확인해보면 PayPlan이 들어가 있는 것을 확인 할 수 있다

 

+ 추가로 superuser를 넣어주는 것도 진행했다.

python manage.py createsuperuser

위 사진 처럼 super user의 이름과 이메일, 비밀번호를 설정할 수 있다.

password가 너무 짧으면 진행할 것인지에 대해 문구가 나오고 y를 하면 생성이 된다 !

 


선형대수학 - Linear Algebra

사용한 교재 : 알고리즘 구현으로 배우는 선형대수 with 파이썬

책 읽은 내용은 7강(역행렬)까지 읽었지만, python code로 저녁에 따라하기 해봤음.

7강까지 읽는데 약간 행렬의 종류에 대해서 많이 배운 것 같음

 

시계열 데이터에서는 토플리츠 행렬을 사용한다. 

어떤 행렬은 정사각 행렬이어야만 하고, 이런 것만 보다보니 어디서 사용하길래 이런걸 배우는거지?

라는 생각이 들었다. 우선 책을 1회 쭉 읽기만 해보고 뒷쪽에 머신러닝 딥러닝 활용 부분이 나오니

 

나중에 더 자세히 알아야겠다는 생각이 들겠지? 

 

 

github link : https://github.com/JSeHoone/TIL/tree/main/linear_algebra

 

내일은 오전에 django 공부하고, 오후에는 개인 일정 진행하면 될 것 같음 !