항해99/스프링 심화

항해 4주차 WIL

숲별 2022. 10. 16. 23:02
728x90

이번주 내용이 정말 많았었다. 매니저님이 보시기에도 한 전체 70%정도의 내용이 들어있었다고 하셨었다.

시큐리티와 JWT, CRUD와 연관관계, 에러처리, 배포 다 한 방에 몰아넣어져 있던 주였던 것 같다.

솔직히 코드들 다 이해하고 완성한 것 같지 않아서 다음주 과제하면서 한 번 찬찬히 다시 뜯어봐야 할 것 같다.

 

여전히 새로운 단어들의 폭포수 속에 있지만,

이제 그래도 약간 어? 저번에 봤던 건데?도 쪼꼼씩 섞이고 있는 것 같아서 다행이다.

근데 퍼즐을 맞춰가는 기분이라 봤던 단어도 또 찾아보면 또 약간 새로운 게

매번 이해하는 정도가 달라지는 느낌이다.

 

이번주에 CRUD정도는 안 보고 칠 수 있을 정도가 되야 할텐데..!

자바는 CRUD 하나의 산이 굉장히 크구만.. 엮어야 할 파일이 대략 최소 5개는 필요한 것 같다.

파이참으로 할 때는 .py랑 .html 이렇게 2개 정도여도 가능 했던 것 같은데..ㅎㅎ

 

혼공자는 스터디에서 보고 있으니까.

자바의 정석도 사서 한 번 따로 봐야겠다.

(주간 학습자료에 참고자료로도 종종 언급되고 세션하시는 매니저님들도 종종 얘기하셔서 일단 사서 짬짬히 봐야겠어.)

인프런 강의도 봐야겠고...

세션들도...

이번주 강의 자료도..

...ㅎ 할거는 왤케 많고 하루는 또 왜 이렇게 짧은지

 

C반 여러분 호옥시 또 제 WIL을 구경하러 오셨다면ㅋㅋㅋㅋ

지난 주도 정말 고마웠고 이번 주도 잘 부탁합니다!

하고싶은 말은 많지만 영 쑥스럽네요ㅋㅋ

 

이번주 키워드 ORM, SQL, MVC

ORM(Object Relational Mapping, 객체-관계 매핑)

  • 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
    • 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다.
    • 객체 모델과 관계형 모델 간에 불일치가 존재한다.
    • ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.
  • 데이터베이스 데이터 <—매핑—> Object 필드
    • 객체를 통해 간접적으로 데이터베이스 데이터를 다룬다.
  • Persistant API라고도 할 수 있다.
    Ex) JPA, Hibernate 등

<ORM의 장단점>
장점
객체 지향적인 코드로 인해 더 직관적이고 비즈니스 로직에 더 집중할 수 있게 도와준다.
재사용 및 유지보수의 편리성이 증가한다.
DBMS에 대한 종속성이 줄어든다.

단점
완벽한 ORM 으로만 서비스를 구현하기가 어렵다.
프로시저가 많은 시스템에선 ORM의 객체 지향적인 장점을 활용하기 어렵다.

https://gmlwjd9405.github.io/2019/02/01/orm.html

 

[DB] ORM이란 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

SQL

구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어입니다. 관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한 관계를 나타냅니다. SQL 문을 사용하여 데이터베이스에서 정보를 저장, 업데이트, 제거, 검색 및 검색할 수 있습니다. 데이터베이스 성능을 유지 관리하고 최적화하는 데 SQL을 사용할 수도 있습니다.

SQL 문 또는 SQL 쿼리는 관계형 데이터베이스 관리 시스템에서 이해하는 유효한 명령입니다. 소프트웨어 개발자는 다양한 SQL 언어 요소를 사용하여 SQL 문을 작성합니다. SQL 언어 요소는 올바른 SQL 문을 구성하는 식별자, 변수 및 검색 조건과 같은 구성 요소입니다.

 구조적 쿼리 언어(SQL) 구현에는 데이터베이스 쿼리를 처리하고 결과를 반환하는 서버 시스템이 필요합니다. SQL 프로세스는 구문 분석기, 정확성, 권한 부여, 관계형 엔진, 스토리지 엔진을 포함한 여러 소프트웨어 구성 요소를 거칩니다. 

구조적 쿼리 언어(SQL) 명령은 개발자가 관계형 데이터베이스에 저장된 데이터를 조작하는 데 사용하는 특정 키워드 또는 SQL 문입니다. 

 

https://aws.amazon.com/ko/what-is/sql/

 

SQL이란 무엇인가요? - SQL - AWS

구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어입니다. 관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과

aws.amazon.com

 

 

MVC (Moded-View-Controller)

MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있습니다. 이러한 "관심사 분리" 는 더나은 업무의 분리와 향상된 관리를 제공합니다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버) 가 있습니다.

MVC 소프트웨어 디자인 패턴의 세 가지 부분은 다음과 같이 설명할 수 있습니다.

  1. 모델: 데이터와 비즈니스 로직을 관리합니다. /모델은 앱이 포함해야할 데이터가 무엇인지를 정의합니다. 데이터의 상태가 변경되면 모델을 일반적으로 뷰에게 알리며(따라서 필요한대로 화면을 변경할 수 있습니다) 가끔 컨트롤러에게 알리기도 합니다(업데이트된 뷰를 제거하기 위해 다른 로직이 필요한 경우).
  2. 뷰: 레이아웃과 화면을 처리합니다. /앱의 데이터를 보여주는 방식을 정의합니다.
  3. 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅합니다. /앱의 사용자로부터의 입력에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함합니다.

https://developer.mozilla.org/ko/docs/Glossary/MVC

 

MVC - 용어 사전 | MDN

MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고

developer.mozilla.org

 

이게 3번쯤은 봐야 내 말로 설명할 수 있을 듯.. 긁어온 게 좀 아쉽다.