항해99 53일차. 부트캠프에 많은 시간을 쏟고 있다. 월수금 퇴근후 4시간, 토요일 12시간 + α .
수면 시간은 줄고 노트북 앞에 앉아있는 시간은 늘어났다. 이 와중에 매일 운동하러 가는 목표를 세웠지만 졸린 것은 어쩔 수 없다. 월수금요일에는 운동할 시간이 새벽 5시 뿐이다. 돈만 있다면 직장을 쉬면서 할테지만 돈이 없다. 이 운동은 사실 평생 하기로 결정한 것이었는데 자꾸 빼먹게 되어 마음이 아프다.
의미 없다고 느끼는 현 직장에 많은 시간을 뺏기면서 부트캠프를 하고, 내 개인적 삶까지 살아 내려면 어떻게 해야 할까? 어떻게 하면 더 충만한 에너지와 명료한 정신으로 그 운동을 하고 독서하고 잠까지 잘 수 있을까?
나는 이 질문이 사치스럽다고 생각하지 않는다. 부트캠프와 개인적 삶, 둘 중의 하나만 선택해야 하는 상황은 아니다. 그 둘은 같이 갈 것이다. 서로가 서로를 보완하면서. 이런 생각을 하다니, 철학자 납셨다.
사실 내 안의 그 철학자는 납시는데 그치지 않고, 이 질문에 계속해서 실험적인 답안을 내놓는다. 감사할 따름이다.
이러한 소란을 일으킨 부트캠프는 어쨌든 무심하게 흘러가고 있다. 53일차면 중반이다. 내 개인적으로, 과정에서 요구한 것은 해내었다. 선택적인 과정까지는 완성하지 못했다. 다른 수강생과의 비교는 이 사회에서는 할 수밖에 없었고, 나의 위치는 너무 고통스럽지 않을 정도이다.
우연히, 이 부트캠프의 보딩패스(운영진 측 메시지)와 관련된 책을 집에서 발견했다. 그냥 그러하다.
Feat. ORM (Object Relational Mapping)
ORM은 객체와 데이터베이스의 관계를 맵핑해주는 도구이다. 코드로 예를 들자면 아래와 깃헙 리포와 같다. 2023.5.10. 커밋을 확인하면 된다.
https://github.com/Munaso/Node.lv2
위 프로젝트에서 /models/posts.js 파일과 users.js 파일을 참조하면 관계 맵핑의 간단한 예시를 찾을 수 있다. 파일의 아래 부분 참고할것.
// models/posts.js
class Posts extends Model {
static associate(models) {
// 1. Posts 모델에서
this.belongsTo(models.Users, { // 2. Users 모델에게 N:1 관계 설정을 합니다.
targetKey: 'userId', // 3. users 모델의 userId 컬럼을
foreignKey: 'userId', // 4. posts 모델의 UserId 컬럼과 연결합니다.
});
}
}
20230507085010-create-posts.js 파일을 보면 아래 코드가 있다. 여기서 onDelete: 'CASCADE' 부분에 주석을 달아 놓았다. Users 테이블과 Posts 테이블 간의 관계가 설정된 부분이다. 이런 식으로 미리 설정된 관계에 따라서 한 테이블의 데이터가 바뀌면 다른 테이블의 데이터까지 자동으로 바뀐다.
// 20230507085010-create-posts.js
userId: {
type: Sequelize.INTEGER,
references: {
model: 'Users', // Users 모델을 참조합니다.
key: 'userId', // Users 모델의 userId를 참조합니다.
},
onDelete: 'CASCADE', // 만약 Users 모델의 userId가 삭제되면, Posts 모델의 데이터가 삭제됩니다.
},
결론은 양날의 검이라고 할 수 있다.
SMILE ^^
'항해99' 카테고리의 다른 글
프로젝트 협업, 타인의 의견 존중과 팩트체크 사이에서. (2) | 2023.05.29 |
---|---|
EC2를 https 로 배포할때 참고. (0) | 2023.05.27 |
Weekly I learned: mongoose 자체 메서드를 적극 쓰자. feat. RESTful, package.json (0) | 2023.05.02 |
WIL: 알고리즘 풀이는 퍼즐 맞추기일까? feat. node.js, Express and Middleware (0) | 2023.04.20 |
2023. 4. 12. 부트캠프 프로그래밍 주차를 마치는 어떤 1인에 대한 평가 (1) | 2023.04.14 |