일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 실행 컨텍스트
- JWT
- on_delete
- nodeJS
- javascript
- manytomanyfield
- Jest
- 트랜잭션
- async/await
- docker
- status code
- TypeError: this.boardRepository.createBoard is not a function
- OSI7계층
- crud2
- CORS
- django westagram
- wecode
- 호이스팅
- 노드
- bcrypt
- pm2
- 장고초기세팅
- node
- 자바스크립트
- rebase
- 스코프
- westagram
- 프로미스
- typescript
- Django
- Today
- Total
될때까지
((과제4)) 프리온보딩 DAY 1 본문
# 새 과제 시작
정신없이 몰아치는 프리온보딩. 벌써 4번째 과제다. 이번 과제는 정해진 프레임워크나 언어가 없잖아?
그래서 우리팀은 오랜만에 Python, Django를 사용해서 진행하기로 결정했다!!
두달?.? 만에 다시 만난 파이썬 장고야 낯가리지 말고 다시 친하게 지내자 ^ㅠ^
노드를 쓸때는 npm으로 패키지관리를 했는데 위코드에서는 가상환경 miniconda를 사용했었다.
벌써부터 번거롭네? 성가시네라고 팀원들과 이야기하던 도중 어떤분이 인턴쉽에서 사용했던 포이트리라는 걸 알려주셨고, 포이트리를 사용해서 패키지 관리를 해보자 입을 모았다. 그래서 포이트리가 뭔데부터 시작합니당
# Poetry
Poetry란 Python에서 종속성 관리 및 패키킹을 위한 도구다. 이를 통해 라이브러리를 설치 및 업데이트 할 수 있고 배포용 프로젝트를 빌드할 수도 있다. 아하 노드에서 npm같은 도구인가보다.
포이트리 설치 명령어(공식문서 참고)
// 맥북에서 설치
curl -sSL https://install.python-poetry.org | python3 -
// zshrc에 추가
export PATH="/Users/mac/.local/bin:$PATH"
// 설치 확인
poetry --version
# 담당 기능
예약 등록
- 예약자, 이름, 예약 시간, 예약 종류(진료, 검진,.. 등)의 데이터를 활용하여 병원 진료를 예약합니다.
- 중복 예약은 불가합니다.
-> Reservations 테이블은 아래와 같이 구성했다.
column_name | data | ||
id | 1 | 2 | 3 |
reservation_number | ABCD111 | ABCD112 | ABCD113 |
user_id | 1 | 2 | 3 |
patient_name | 김사과 | 박바나나 | 황토마토 |
patient_birth | 1991-01-12 | 1998-12-29 | 2006-02-05 |
date | 2022-10-19 | 2022-10-17 | 2022-10-19 |
time_id | 1 | 3 | 5 |
hospital_id | 7 | 11 | 5 |
type_id | 1 | 1 | 2 |
status_id | 1 | 2 | 1 |
created_at | 2022-10-14 18:12:20 | 2022-10-14 18:12:25 | 2022-10-14 18:12:29 |
updated_at | 2022-10-14 18:12:20 | 2022-10-14 18:12:25 | 2022-10-14 18:12:29 |
- user_id : 예약자테이블의 ID를 참조하며 예약자 테이블에는 이름, 연락처, 블랙리스트 체크 여부를 저장한다.
- time_id : 9시/10시/11시/1시/2시/3시/4시/5시와 같이 예약 가능 시간이 들어가있는 시간테이블을 참고한다.
- hospital_id : 병원 이름, 지역, 주소, 연락처 데이터가 저장되어있는 병원 테이블을 참고한다.
- type_id : 진료 or 검진과 같은 예약 타입를 갖고 있는 테이블을 참고한다.
- status_id : 예약의 취소, 완료, 노쇼, 예정 등 예약 상태를 나타내는 테이블을 참고한다.
그럼 클라이언트가 병원 예약을 할 때 프로세스가 어떻게 될까 생각해보자.
예약자 이름을 입력한다. => 유저 테이블에 예약자 이름, 연락처를 저장하고 해당 row의 id를 가져온다.
환자이름, 생년월일을 입력한다.
병원 이름을 입력하면 => 병원 리스트에서 이름이 일치하는 병원을 찾아 해당 row의 id를 가져온다.
진료인지 검진인지 입력히면 => 예약 타입에서 해당 row의 id를 가져온다.
상태 테이블의 1번 예약완료가 status_id에 자동으로 들어간다.
이렇게 진행하면 될 듯 싶다. 예약을 하기 위해선 예약자 테이블과 예약 테이블에 동시에 들어가야하니까 트랜잭션을 사용해야되려나..?!
일단 밑그림은 여기까지!
# Miniconda 삭제
이제부터 패키지 관리는 미니콘다가 아닌 poetry를 쓸꺼니까 미니콘다를 삭제해보자
유튜브를 참고했고 아래와 같이 진행했다.
// 미니콘다3 파일 삭제
rm -rf ~/opt/miniconda3
// 부가적인 파일 삭제
rm -rf ~/.condarc ~/.conda
// zshrc에서 path 경로 삭제
vi ~/.zshrc
// 아래 내용을 화살표로 찾아 dd로 삭제
# >>> conda initialize >>>
...생략
# <<< conda initialize <<<
잘가 (base)
'프로젝트 > 프리온보딩' 카테고리의 다른 글
((AFTER 과제1)) 프리온보딩 첫번째 과제 스터디1 (0) | 2022.10.24 |
---|---|
((과제4)) 프리온보딩 DAY 2 - Poetry, Django, Python (0) | 2022.10.16 |
((과제3)) 프리온보딩 DAY 3 (0) | 2022.10.14 |
((과제3)) 프리온보딩 DAY 2 - Nest.js Error : no repository found & this.boardRepository.createBoard is not a function (0) | 2022.10.13 |
((과제3)) 프리온보딩 DAY 1 (0) | 2022.10.12 |