Home
Jia's Blog
Cancel

Spring Security에서 인증(Authentication)과 권한 부여(Authorization)의 차이점은 무엇인가요? </b> 답변 초안 인증은 실 사용자인지 확인하는 것을 의미하고, 권한 부여는 해당 사용자에게 권한을 주는 것을 말한다. 예를 들어, 한 명의 사용자가 로그인을 할때 해당 사용자의 ...

Lock이 뭐라고~

: 백엔드 처리를 하다보면 동시성은 당연히 고려해서 개발해야한다. 복기 겸 기록한다. 동시성을 제어하는 것을 백엔드가 필수적으로 고려해야하는 몫이다. 같은 자원에 대해 동일시간에 요청이 온다면 어떻게 처리해야할까? 물론 도메인의 성격에 따라 어떻게 처리할지는 다르지만 락에 대해 정리해 볼 필요가 있다. 일단 크게, DB수준의 락과 어플리케이션 단의...

헷갈리는 개념들(메모리, 스토리지, 쿠키)

: 토큰에 대해 공부하다보니까 프론트에서 어떻게 처리하고 있는지 궁금해져서 찾아본 개념. 메모리 브라우저의 저장공간이 아니라, 사용자의 RAM(Random Access Memory)임 브라우저의 해당 페이지, 페이지가 넘어가거나 다른곳으로 달라지면 해당 메모리의 저장내용은 사라진다. 세션 스토리지...

배워서 바로 쓰는 SQL 쿼리

SQL 이란? Structed Query Language: 컴퓨터에게 데이터를 가져오는 일을 할때 쓰는 구조화된 프로그래밍 언어 DML(Data Manipulation Language) - select, insert, update, delete DDL(Data Definition Language) - Create, Alter TCL(T...

Transactional isolation(격리수준)

코드를 짜게 되면 @Transactional 는 필수적으로 사용하게 되는데, 여러 쓰레드가 한꺼번에 Transaction을 물게 될 경우, 데이터가 서로 안 맞는 상황이 생길 수 있다. 이런 경우, 데이터의 정합성 이 깨지기 때문에 @Transactional 은 isolation(격리수준) 설정을 통해서 데이터들의 정합성을 맞춘다. 데이터의 정합성:...

OpenFeign으로 인한 순환참조 에러

직장동료가 테스트 코드를 작성하려 하니 OpenFeign(내가 작성한 코드)에서 순환참조가 일어나 테스트 코드가 제대로 돌아가지 않는다고 한다. 어서 해결해보자. 환경: spring boot + GraphQL OpenFeign 코드 @Service @RequiredArgsConstructor public class OpenFeignSe...

API 게이트웨이

사이드 프로젝트를 프론트 프로젝트 하나 + 백엔드 프로젝트 세 개로 구성하려고 한다. 하지만 이렇게 구성하게 되면, 프론트가 request를 보낼시 어떻게 백엔드의 알맞은 백엔드 프로젝트로 가는건지 궁금해서 찾아보게 되었다. Api Gateway, 왜 나온거야? 최근 마이크로 서비스 아키텍처 형태로 프로젝트들을 구성하면서 많은 프로젝트들의 ...

Docker 기본

도커를 쓰는 이유? 도커 없이 다운로드 받을 때는 Installer 다운로드 -> 실행 -> 에러 일 경우가 많다. Installer 자체가 외부(운영체제, 버전, 서버 등등)에 많은 영향을 받기때문에 하나하나 맞춰서 제대로 install 하는 게 어렵다. -> Docker를 통해 편하게 다운로드 가능하다. 도커는 무엇일까? 도커를 ...

Message Queue

사이드 프로젝트에 MQ를 사용해보고 싶은데, 정작 MQ가 무엇인지 제대로 이해하지 못하고 있는 거 같아서 정리해보았다. 메시지 큐를 이해하기 위해서는 먼저 IPC에 대해 알아야 한다. IPC (Inter Process Communication) 개념 프로세스 간 의사소통 하는 것을 의미하며, 서로 다른 프로세스가 데이터를 주고 받는다는 건...

파일 시스템

파일과 파일시스템 사용자 -> 운영체제 -> 운영체제가 파일들을 하드디스크에 안전하게 저장해준다. 파일관리자 운영체제는 파일관리를 위해 파일관리자를 둔다. 역할 파일 테이블을 이용해서 파일들을 관리하다. (메모리관리자가 페이지 테이블을 이용해서 메모리를...