항해 4주차 회고

Lee·2022년 2월 6일
0

항해99

목록 보기
26/50

주특기 기본 주차

개요

이번 주차 과제의 핵심은 스프링 시큐리티를 이용한 로그인 및 보안기능 등의 기능들을 사용하는 것과 모두가 어려워했던 댓글의 CRUD를 구현하는 것이 핵심이었다고 생각한다.

진행사항

처음 설계 시 모달을 사용해 게시글과 댓글을 표시했었는데 나중에 확인해보니 요구사항이 모달을 사용하면 달성하기가 어려워 프론트엔드를 뜯어 고치는데 시간을 많이 소모했다. 또한 스프링 시큐리티를 사용하면서 스크립트 파일을 화면에 표시하거나 하는 오류가 발생하여 해결하는 데 어려움을 겪었고 서버에서 발생한 오류 메세지를 프론트엔드에 전달할 방법을 고려하다가 exception handler라는 것을 찾게 되어 공부한 뒤 적용했다.

마무리

처음의 삽질로 인해 프론트엔드만 600줄 정도를 작성하는 정신나간 주를 보냈다. 앞으로 프론트엔드를 전담할 일이 있을지는 모르겠으나 그럴 일이 있다면 시작을 잘 해야 될 것 같다. 그리고 로그인과 회원가입 기능은 앞으로도 중요한 내용일 것 같으므로 지속적으로 알아봐야겠다는 생각을 가지며 이번 과제도 마무리 하겠다.

스프링 학습

ORM

ORM이란 object relational mapping의 줄임말로 객체를 구현한 클래스와 RDB의 테이블을 자동으로 매핑하는 것을 의미한다. 그러나 클래스와 테이블은 서로가 호환가능성을 두고 만들어진 것이 아니므로 문제가 발생하는데 이것을 ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 생성하여 문제를 해결한다.

SQL

SQL이란 Structured Query Language의 줄임말로 관계형 DB에서 자료를 관리 및 처리하는 용도로 사용되는 구조적 데이터 질의 언어이다.

SQL 문법의 종류

  • DDL(Data Definition Language) 데이터 정의 언어
    각 릴레이션을 정의하기 위해 사용하는 언어
  • DML(Data Manipuation Language) 데이터 조작 언어
    데이터를 관리(추가/수정/삭제)하기 위한 언어
  • DCL(Data Control Language) 데이터 제어 언어
    사용자 관리 및 사용자별로 릴레이션 또는 데이터를 관리하고 접근하는 권한을 다루기 위한 언어

일반적으로 개발자는 DML>DDL>DCL 순으로 중요하다고 한다.

SQL 규칙

  1. 일반적으로 SQL은 대소문자를 가지 않는다.
  2. SQL 명령운 반드시 ;으로 끝나야 한다.
  3. 고유의 값은 따옴표로 감싸준다.
  4. 객체를 나타낼 때는 백틱으로 감싸준다.
  5. 한 줄 주석은 문장 앞에 --를 붙여서 사용한다.
  6. 여러 줄 주석은 /* */로 감싼다.

MVC

Model View Controller의 약자이며 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 그리고 소프트웨어의 비즈니스 로직과 화면을 구분하는데 초점을 둔다.

구성요소 및 특징

  • Model
    • 데이터와 비즈니스 로직을 담당한다.
    • 애플리케이션이 포함해야 할 데이터가 무엇인지 정의한다.
    • 일반적으로 POJO로 구성된다.
  • View
    • 레이아웃과 화면을 처리한다.
    • 실제로 렌더링 되어 보이는 페이지를 담당한다.
    • Thymeleaf, Groovy 등 여러 Template Engine이 이에 해당한다.
  • Contoller
    • 사용자의 요청을 받고 응답을 주는 로직을 담당한다.
    • 따라서 View와 Model의 인터페이스 역할을 한다.
    • Model, View의 사용자 입력 및 요청을 수신하여 그에 따른 결과를 Model에 담에 View에 전달한다.
profile
발전하고 싶은 백엔드 개발자

0개의 댓글