-
201026_TIL - ORM, Sequelize의 세계로오로지 개발/TIL 2020. 10. 26. 23:49
Today I Learned
ORM: Object-relational mapping
객체와 RDBMS의 데이터를 자동으로 연결해주기 때문에
객체지향적인 코드를 사용하는데 익숙한 사람에게 관계형 데이터를 다룰 때 객체에 대한 표현에 제약을 받지 않고
객체처럼 사용할 수 있기 때문에 직관적으로 다가갈 수 있게 한다.
잘 사용한다면 SQL 문장보다 CRUD를 더 효율적으로 작성할 수 있고, 유지보수에도 효과적이다.
아직까지는 SQL문을 사용해서 사용하는 것이 그리 불편하다고 여겨지지 않지만,
컨트롤러, 서비스를 거쳐 작업해야 하는 양이 점점 방대해지면 ORM에 대한 애틋함이 남 달라지지 않을까 싶다.
Sequelize
다양한 ORM 프레임워크가 존재하는데,
JPA(Java ORM 인터페이스 모음)를 구현하는 Hibernate, python을 기반으로 한 Django ORM, 그리고 Node.js에서 구현 가능 한 Sequelize 등이 있다.
한 번도 경험해보지 못했던 ORM의 세계라서 개념부터 튜토리얼까지 생소했다.(늘 새로워.. 늘 생소해..)
Promise 기반이라 객체지향은 물론 비동기에 대한 이해가 반드시 따라와야 했고,
Sequelize-cli로 간편하게 Model, Migration, Seed를 생성할 수 있어 MVC 모델을 보다 편리하게 다룰 수 있다.
공식문서를 읽고, 또 다른 튜토리얼 블로그 글들을 참조하면서 느꼈던건
이제는 한 줄 한줄 코드를 작성하는 것에나 터미널 명령 하나에도 '그냥 하라고 해서, 쓰여있어서'가 아니라
어떤 명령어인지, 또 어떤 작동원리를 이용하는 것인지에 대한 이해를 한 뒤에 적어야겠다는 생각이 들었다.
정확하게 모든 것을 다 알 수는 없겠지만..
지금부터라도 그런 습관을 고치지 않고 일단 적어서 되면 넘어가자!라는 마음가짐으로 적는다면
후에 어디서 어떻게 문제가 발생할지, 그리고 그런 문제가 얼마나 커져서 심각한 결함으로 남게 될지 상상이 안 가기 때문이다..
아무튼 내 스스로에게 떳떳한 한줄 한줄을 작성하자!
'오로지 개발 > TIL' 카테고리의 다른 글
201027_TIL (0) 2020.10.27 201021_TIL - DB, 처음 경험하는 MySQL (0) 2020.10.21 201020_TIL (2) 2020.10.20 201019_TIL - Firebase, Cloudinary 등 (0) 2020.10.19 200916_TIL (0) 2020.09.16