전체 글

백엔드 개발 공부하고 있습니다.
· Study/Spring
이 포스팅은 (1) 스프링 시큐리티 - 알아두어야 할 세 가지 개념과 (2) 스프링 시큐리티 - 스프링 시큐리티 세션에서 이어지는 글입니다. 서론 이전 글에서 세션은 하나의 서버를 운용할 때를 상정하고 나온 개념이라는 전제로 세션을 설명했었습니다. 하지만 서버의 규모와 트래픽이 나날이 갈수록 커지면서 서버를 여러대로 분산시켜야 하는 경우가 비일비재해졌습니다. 서버를 여러대로 분산시킨다는 것은 곧, 여러 대의 서버에서 하나의 세션을 공유해야한다는 전제가 새로 만들어지게 되는 셈입니다. 이것을 어떻게 해결할 수 있을까요? 물론, 세션을 관리하는 인메모리 DB를 가지는 중앙집중식 서버를 하나 두거나, 관련 인증 서버 체계를 두거나 하면 될 것입니다. 하지만 서버를 더 늘려야 하는데 인증 서버를 더욱 더 늘려야..
· Study/Spring
이 포스팅은 (1) 스프링 시큐리티 - 알아두어야 할 세 가지 개념에서 이어지는 글입니다. 서론 세션은 다들 아시다시피 본디 하나의 서버를 운용할 때를 상정하고 나온 개념입니다. 다시 말씀드립니다. 프론트엔드와 백엔드가 하나의 서버에 있을 때 세션을 보통 사용한다고들 말합니다. 저도 처음에 JWT같이 다른 인증 시스템을 만들어 볼 때 혼동이 왔었습니다. 요즘 프론트-엔드와 백-엔드의 서버를 나누다 보니 세션도 나누는 것인가? 하구요. 세션을 개발하기 전에 꼭 잊지 말아야 할 사항이 바로 본디 세션은 하나의 서버에서 운용하도록 설계가 되어졌다 입니다. 이 가정을 바탕으로 글을 쓰도록 하겠습니다. (당연하게도 지금은 여러 서버에서 세션을 운용하는 방법이 있습니다! 레디스같은 하나의 인메모리에서 세션을 관리한..
· Study/Spring
서론 스프링 시큐리티는 아무리 봐도 복잡하게 설계가 되어 있습니다. 각 단계를 추상화하고, 분리하다보니 중간에서 하는 일이 많아지고, 밖에서 접근하는 방법도 달라졌던 것 같습니다. Spring Security는 공부를 해보니 여전히 정말 쉽지 않은 스프링 모듈 중에 하나입니다. `Security`라는 단어에 걸맞게도 복잡하게 이루어진걸지도 모릅니다. 아무튼 공부를 하면서 제가 알아낸 정보들, 공부했던 정보들을 바탕으로 포스팅을 해보려 합니다. 또, 실전으로 연습했던 코드도 포함해서요. 이번 포스팅에서는 일단 간단하게 Security에서 저희가 짚고 넘어가야할 부분들에 대해서 적어보겠습니다. SecurityContext 시큐리티는 시큐리티 모듈의 `SecurityContext` 안에서 인증/인가 정보가 다..
이 포스팅은 (1) restdocs + openapi3 + swagger-ui 설정을 해보자 - 설명편에서 이어지는 글입니다. (준비) Swagger-UI 다운로드 https://github.com/swagger-api/swagger-ui/releases Releases · swagger-api/swagger-ui Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. - swagger-api/swagger-ui github.com 위 링크에서 Swagger-ui를 다운로드를 받고 나면, 아래와 같이 진행중..
서론 보통 현재 다니고 있는 부트캠프에서 저는 백엔드 포지션으로 개발할 때 프론트엔드와 작업할 때 다음과 같은 순서로 API를 맞춰나갔습니다. 노션으로 처음에 싱크업을 하고, FastAPI(BE)나 MSW(FE)같은 툴을 이용한 Mock 서버 구성을 하여 개발 속도를 맞춘 다음 RestDocs나 Swagger같은 API 문서 자동화 툴을 이용하여 API 문서를 작성 프론트엔드와 협업을 위한 API 문서를 작성할 때 노션에 API 문서를 위와 같은 형태로 많이 작성하곤 했습니다. 노션을 선택했던 이유는 보편화가 많이 되기도 했고, 실시간 작업이 가능하며, UI가 마크다운이어서 가독성이 좋고 편집하기도 좋았으며 액셀만큼은 아니지만 표와 데이터베이스 같이 데이터를 관리하기에 편리하다는 장점들이 있어서였습니다...
라페dev
RP 개발일지