목록전체 글 (155)
Rootable의 개발일기
[본 글은 프로젝트 과정을 기록할 목적으로 작성되었으며 아래 교재에 기반하여 작성됨] 📌 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트 많은 서비스에서 소셜 로그인을 이용하는 이유는 다양한 로그인 관련 기능을 구글, 네이버, 페이스북 등에 맡기고 개발에 집중할 수 있기 때문이다. 🔎 spring boot 1.5 vs spring boot 2.0 OAuth2 연동 방법이 2.0에서 크게 변경되었지만 인터넷 자료들을 보면 설정 방법에 크게 차이가 없는 경우를 자주 본다. 이는 spring-security-oauth2-autoconfigure 라이브러리 덕분이다. spring-security-oauth-autoconfigure 라이브러리를 사용할 경우 스프링 부트 2에서도 1.5에서 쓰던 설정을 그..
[본 글은 프로젝트 과정을 기록할 목적으로 작성되었으며 아래 교재에 기반하여 작성됨] 📌 서버 템플릿 엔진과 머스테치 일반적으로 웹 개발에 있어 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 말한다. 🔎 서버 템플릿 엔진 vs 클라이언트 템플릿 엔진 동작하는 영역에서 차이 ✔ 서버 템플릿 엔진 서버에서 구동되며 화면 생성은 서버에서 Java코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달한다. 여기서 서버 템플릿 엔진은 javascript와 같은 클라이언트 템플릿 엔진을 단순한 문자열로 취급한다. ex) JSP, Freemarker ✔ 클라이언트 템플릿 엔진 브라우저 위에서 작동하며, 브라우저에서 화면을 생성한다. 즉, 서버에서 이미 ..
[해당 글은 공부 목적으로 아래 사이트 및 블로그 등을 참고하여 작성되었습니다.] 📌 데이터 무결성이란 데이터의 정확성, 일관성, 유효성 등이 유지되고 있는 상태를 의미한다. 정확성은 중복이나 누락이 없는 상태를 뜻하고, 일관성은 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태를 뜻한다. 만약 데이터베이스에서 데이터 무결성 설계를 하지 않는다면 테이블에 중복된 데이터 존재, 부모와 자식 데이터 간의 논리적 관계 깨짐, 잦은 에러와 재개발 비용 발생 등과 같은 문제가 발생할 것이다. 따라서, DBMS에서 데이터의 무결성이 유지되는 것은 중요한 사항이며, 주로 데이터에 적용되는 연산에 제한을 두어 데이터의 무결성을 유지한다. 📌 데이터 무결성 제약조건 🔎 개체 무결성(Entity integrity..
[해당 글은 공부 목적으로 아래 사이트 및 교재 등을 참고하여 작성되었습니다.] [모든 다이어그램은 불친절한 SQL 프로그래밍 교재를 참고함] 📌 정규형/정규화 란 데이터 이상(anomaly) 현상을 제거하기 위한 관계형 모델의 설계 지침이다. 이에 따라 릴레이션을 만드는 과정을 정규화라 한다. 📌 정규화를 하는 목적 1. 중복 데이터를 최소화하여 테이블 불일치 위험을 최소화한다. 2. 수정, 삭제 이상 현상 등을 방지하여 데이터 구조의 일관성을 최대화한다. 3. 데이터 삽입 시 릴레이션 재구성에 대한 필요성을 줄인다. 4. 효과적인 검색 알고리즘을 생성할 수 있다. 🔎 제 1 정규형 속성의 원자성(atomicity)과 관련이 있다. 모든 속성은 단일 값을 가져야 한다. 아래의 릴레이션은 다중 값을 가지..