코린코딩일지 184

CS간단정리 50문답(17-20)

17. 데이터 테이블 간의 관계를 나타내는 FK, OneToOne, ManyToMany 필드에 대해서 설명하시오 ForeignKey : 일대다관계, 한 지역에는 여러 사람이 거주함. OneToOneField : 일대일관계, 예시로 한 국가에는 하나의 수도만 존재함. ManyToManyField : 다대다관계, 피자와 토핑을 생각하면 된다. 18. Django에서 ManyToMany필드를 만드는 방법에 대해서 설명하시오 1. 중간 테이블을 만드는 방법으로 A와 B 테이블을 만들고 그 둘의 중간테이블인 C를 만든다. C -> A , C -> B 의 관계를 일대 다로 설정해주어 테이블 관계를 세팅할 수 있다. 2. ManyToManyField의 through 옵션을 만들어주어 장고에서 자동으로 만들 수 있다...

STUDY/Python 2022.07.19

CS간단정리 50문답(13-16) : JWT

13. 회원가입을 할 때 비밀번호를 암호화하여 저장하는 이유는 무엇입니까? 정보통신, 정보보호 등에 관한 법률 등에서는 인터넷을 통해 유통되는 정보의 보호를 위해 암호기술을 구현하도록 규정하였기 때문에 해쉬함수를 이용해 암호화하여 저장합니다. 보안은 절대 완벽할 수 없다고 생각하여 취약점으로 인해 정보가 탈취가 되었더라도 최대한 데이터의 정확한 정보를 확인하기 힘들게 위함이라 생각합니다. 14. JWT에 대해서 설명하시오 JSON Web Token의 약자로 속성 정보를 JSON 데이터 구조로 표현한 토큰입니다. 세 파트로 나누어지며 각 점으로 구분하여 표현합니다. URL에서 파라미터로 사용할 수 있도록 URL-safe한 Base64url 인코딩을 사용합니다. header에는 토큰의 타입과 해시 암호화 알..

STUDY/Python 2022.07.18

CS간단정리 50문답(1-12) : Django

1. Django ? 웹사이트를 만들기에 최적화된 파이썬 프레임워크로, 로그인 시스템, 데이터베이스 연결 및 CRUD 작업같은 내장된 기능들이 제공되어 즉시 사용이 가능함. 이미 만들어져 있는 기능들을 이용해 만들어 시간 단축을 할 수 있고 빠르게 개발이 가능한 장점이 있는 밀키트 같은 프레임워크 ! 2. Django를 스택으로 선정한 이유? 디테일한 docs와 커뮤니티가 형성되어 비기너가 접근하기 쉽고 배우기가 좋습니다. 내장 함수가 굉장히 많기 때문에 이를 통해 전반적인 흐름 파악이 빠릅니다. 장고를 공부하여 다른 프레임워크를 사용했을 경우도 빠르게 적응할 수 있을 거라 생각이 듭니다. 3. Django 의 장점 여러 url, 함수-메서드, 템플릿들을 파일에 모아 한번에 관리하는 점. 각각 구분을 하..

STUDY/Python 2022.07.15

Team Project 6 | 7월 14일 |

☀️ https://github.com/2JYK/iPark_django_backend ☀️ ☀️ https://github.com/2JYK/iPark_frontend ☀️ 💨 오늘의 Error: Git branch 오류 이전 프로젝트에서부터 app으로 branch를 생성해 진행해왔었고, branch를 app별로 사용하고자 하였으나 최종적인 merge와 pull request를 해야하니 결과적으로 main과 하위 브랜치의 내용이 크게 다르진 않았었다. 최종 프로젝트이니만큼 app을 위한 브랜치에는 그 기능들만 담자라는 의견이 나왔었고, 컨벤션을 만들때에도 develop 브랜치를 이용해 매일 결과를 push 하고, feature 브랜치는 main에서 가져온 초기값을 제외하고는 그 app만!이었다. 결과적으..

PROJECTS 2022.07.14

Team Project 6 | 7월 13일 |

☀️ https://github.com/2JYK/iPark_django_backend ☀️ ☀️ https://github.com/2JYK/iPark_frontend ☀️ 💨 오늘의 고민: 공원 상세 페이지에 포함되있는 댓글 부분 url을 어떻게 해야할지? 기본적으로 공원 상세페이지 url은 park// 입니다. 페이지 하단에 위치할 댓글 작성 url은 park//comment/ 입니다. 고민 1. 상세 페이지에서 함께 볼 수 있는 공간이니 url이 같아야 하는 걸까? 고민 2. 해당 공원에 대한 댓글의 수정, 삭제시 url은 어떤게 좋을지? 결정과 이유 공원 상세 페이지 : park// 댓글 작성 : park//comment/ 댓글 수정,삭제 : park//comment// 이유는 간단하게 url이 ..

PROJECTS 2022.07.14

테스트 코드 작성

이전까지는 postman을 사용해 request 값을 넣어 테스트를 하였지만 이번 프로젝트는 배포를 확정해두고 진행하기 때문에, 도메인을 이해하고 개발하며 기능에 대한 불확실성을 감소시키는 등 여러 이점 등이 있어 테스트 코드를 작성해보았다. 내가 느꼈던 가장 큰 이점 중에 하나는, 작성한 모든 API에 대한 테스트 코드를 작성하고 한 큐에 전체를 테스트한다는 것. postman으로 하나하나 request 값을 작성하지 않아도 되고 브라우저에 들어가 하나하나 입력하고 눌러보지 않아도 된다는 것이었다. 지금 작성하는 코드들은 규모가 작지만 회사에 들어가 프로젝트를 하게 될 경우 어마어마한 경우의 수들이 있을텐데 그것들을 한번에 확인시켜주고, 리팩토링이나 오류수정시 명확하게 그리고 기능이 올바르게 작동되는지..

STUDY/Python 2022.07.14

Team Project 6 | 7월 12일 |

☀️ https://github.com/2JYK/iPark_django_backend ☀️ ☀️ https://github.com/2JYK/iPark_frontend ☀️ 💨 오늘의 고민: 어제, 오늘 계속 최종 S.A 수정하고 (팀장이 바톤터치를 원하길래 해줬는데.. 할 일이 은근 많은 팀장직..ㅎ..) 맡은 구역 API 작성하고 수정하고, json파일 수정하고 DB 수정하고, 테스트 코드 작성하며 작성한 함수 리팩토링 진행하니 진도가 안나간ㄷㅏ.. 리팩토링 끝내고 소셜부분도 작성하고 프론트도 작성하고 다음주 초에는 CI를 해야할텐데 갈 길이 멀다! 앞으로 더 리팩토링을 하겠지만 작성한 코드를 리뷰하고자 함 ☀️ 공원 상세페이지 filter와 get을 잘 구별하고 내가 원하는 데이터가 뭔지 그려본 다..

PROJECTS 2022.07.12

Team Project 6 | 7월 11일 | 초기 설정 + circular importError

☀️ https://github.com/2JYK/iPark_django_backend ☀️ ☀️ https://github.com/2JYK/iPark_frontend ☀️ 💨 오늘의 Error: circular importError 외래키가 서로를 참조하는 것을 순환 참조(circular import)라고 하는데, 간단하게 str으로 바꿔주면 해결된다. from user.models import User -> 삭제 user = models.ForeignKey(User, ~~~) -> 'user.User' 변경 ImportError: cannot import name 'User' from partially initialized module 'user.models' (most likely due to a c..

PROJECTS 2022.07.12

Team Project 6 | iPark 프로젝트 기획서

🔽 Git https://github.com/2JYK/iPark_django_backend https://github.com/2JYK/iPark_frontend 🔽 Notion https://heady-lan-a0c.notion.site/d4ff35daa2e24bc99ffe46fb3a46d309 와이어 프레임 🔽 user 부분 크게 보기 더보기 기능명세서 핵심 기능 : 공원 찾기, 지도, 커뮤니티, 나눔마켓 - 서울시 공원을 구역을 지정하거나 옵션을 선택해 찾을 수 있고 즐겨찾기를 하여 따로 모아 볼 수 있음 - Tag 선택으로 커뮤니티와 나눔마켓을 선택해 게시글 조회, 작성이 가능 메인페이지 공원 둘러보기 조회순 순서대로 공원을 보여줌 상단바 검색창을 통해 특정 공원을 찾기 네비게이션을 통해 해당 페이..

PROJECTS 2022.07.08

Docker ✨ 프로젝트 설정/컨테이너이미지 생성,삭제/서버 연결/Docker repository 생성, 삭제까지

🌱 설정(Flask) 1 🌱 Docker image 생성 > DockerHub 업로드 2 🌱 서버 연결 확인 3 🌱 DockerHub repository 생성 4 🌱 Container 삭제 5 🌱 Images 삭제 6 🌱 DockerHub repository 삭제 7 🔽 더 많은 도커 명령어를 알고 싶다면 ! 🔽 https://docs.docker.com/engine/reference/commandline/cli/ Use the Docker command line docs.docker.com

PROJECTS 2022.07.08
반응형