이번 주차 과제의 핵심은 스프링 시큐리티를 이용한 로그인 및 보안기능 등의 기능들을 사용하는 것과 모두가 어려워했던 댓글의 CRUD를 구현하는 것이 핵심이었다고 생각한다.
처음 설계 시 모달을 사용해 게시글과 댓글을 표시했었는데 나중에 확인해보니 요구사항이 모달을 사용하면 달성하기가 어려워 프론트엔드를 뜯어 고치는데 시간을 많이 소모했다. 또한 스프링 시큐리티를 사용하면서 스크립트 파일을 화면에 표시하거나 하는 오류가 발생하여 해결하는 데 어려움을 겪었고 서버에서 발생한 오류 메세지를 프론트엔드에 전달할 방법을 고려하다가 exception handler라는 것을 찾게 되어 공부한 뒤 적용했다.
처음의 삽질로 인해 프론트엔드만 600줄 정도를 작성하는 정신나간 주를 보냈다. 앞으로 프론트엔드를 전담할 일이 있을지는 모르겠으나 그럴 일이 있다면 시작을 잘 해야 될 것 같다. 그리고 로그인과 회원가입 기능은 앞으로도 중요한 내용일 것 같으므로 지속적으로 알아봐야겠다는 생각을 가지며 이번 과제도 마무리 하겠다.
ORM이란 object relational mapping의 줄임말로 객체를 구현한 클래스와 RDB의 테이블을 자동으로 매핑하는 것을 의미한다. 그러나 클래스와 테이블은 서로가 호환가능성을 두고 만들어진 것이 아니므로 문제가 발생하는데 이것을 ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 생성하여 문제를 해결한다.
SQL이란 Structured Query Language의 줄임말로 관계형 DB에서 자료를 관리 및 처리하는 용도로 사용되는 구조적 데이터 질의 언어이다.
일반적으로 개발자는 DML>DDL>DCL 순으로 중요하다고 한다.
Model View Controller의 약자이며 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 그리고 소프트웨어의 비즈니스 로직과 화면을 구분하는데 초점을 둔다.