들어가기 전에 저번에 라이브러리를 다시 제작하는 이유와 개발을 할 때 중점으로 고려해야할 사항들에 대해서 소개를 하였습니다. 이번에 멀티모듈을 어떻게 적용을 했는지에 대해 설명을 드리도록 하겠습니다. 1. 멀티모듈 적용 멀티모듈을 적용하려한 이유는 각 기능들을 관심사 별로 분리하고자 하기 위함입니다. 많은 Class들과 비슷한 기능들에 대해서 묶어서 관리하는 것이 개발 생산적인 측면에서 유리하다고 생각했기 때문에 멀티모듈을 적용할까 했었는데.. 이는 사실 2가지의 어려움이 생기게 되었습니다.. 일단 멀티 모듈 적용을 하고자 했던 예시는 설명드리겠지만 어려움에 대해서 설명을 드리자면 다른 Spring 라이브러리들 중 멀티모듈을 적용한 예시를 보면 그에 더 많은 기능과 코드들이 있었습니다. 굳이 멀티모듈을 ..
들어가기 전에 기존에 OurBoard 라는 이름의 라이브러리를 만들어보면서 연습한 적이 있습니다. 간단히 OurBoard 라이브러리에 대해 설명을 드리자면 Django의 admin 라이브러리의 역할을 해주는 Spring용 admin 라이브러리라고 생각하시면 됩니다. 여러가지의 효용성을 이 라이브러리를 만들면서 높이고 싶었는데 - Django를 Spring보다 먼저 시작하는 이유는 배움의 시작이 더 쉽기 때문이 아닐까? - Java보다는 Python을 익히면서 개발하는 것이 좀 더 편하기 때문이지 않을까? - Django에서는 admin을 통해서 데이터베이스의 데이터를 조회하거나 확인하고, 기본적인 CRUD, Sorting, Filtering 을 제공 해주다보니 대시보드를 따로 개발자가 만들지 않아도 되서..
들어가기 전에 REST API를 개발하는 입장에서 JWT는 한번쯤은 들어봤거나 JWT를 사용해서 인증을 하는 작업을 해보셨을 거라 생각합니다. 이번 글에서는 JWT에 대한 개념과 JWT를 어떻게 사용하면 좋을지에 대해서 다뤄보도록 하겠습니다. 01. JWT 1.1 개념 클라이언트와 서버 사이에서 통신할 때 권한을 위해 사용하는 토큰입니다. Self-contained 방식으로 JWT안에 인증에 필요한 모든 정보를 자체적으로 지니고 있는 특징이 있습니다. JWT를 사용하는 부분에 대해서도 문제점이 있긴 하지만 Cookie또는 Session 기반 인증에서 문제점이 드러났기 때문에 JWT를 많이 사용합니다. (그렇다고 해서 JWT기반 인증 시에 Cookie를 사용하지 않는 것은 아닙니다!) Cookie의 경우에..
들어가기 전에 요즘에는 대부분의 웹서비스, 또는 앱서비스에서 소셜로그인을 빼놓을 수 없습니다. 소셜로그인을 사용하면 확실히 로그인을 빠르게 할 수 있다는 점과 매번 서비스마다 새로운 계정(아이디와 패스워드)를 만들 필요성이 없기 때문에 소셜로그인은 필수적으로 들어가는 기능인 것 같습니다. 소셜로그인의 기본 개념인 OAuth에 대해서 공부하고자 합니다. 01. OAuth OAuth 2.0은 인증을 위한 개방형 표준 프로토콜로 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수있는 개방형 표준 방법입니다. 1.1 OAuth 참여자 사용자(Resource Owner) : 계정을 가지고 있는 개인, 즉 리소스 소유자를 의미합니다...
들어가기 전에 Redis를 예전에 웹서비스를 만들 때 한번 사용해본 적이 있었습니다. 기능중에 간단한 채팅기능을 만들어야하는 일이 있었는데 단순히 Docker에 Redis image를 띄어서 사용하면 된다 라는 블로그글을 무작정 따라하며 사용해본 것이 처음 사용해본 경험이었는데... 사실 정확히 Redis를 어떻게 써야하는지, 어떤 역할을 하는지 잘 모르고 사용했다는 생각이 듭니다. Redis의 개념과 구조에 대해서는 추후 다시 다뤄볼 예정이고 이번에 쓰는 글은 Redis를 통해서 캐싱을 어떻게 하는지 그리고 실제 시간은 어떻게 다른지에 대해서 다뤄볼까 합니다. 1. Redis Redis는 Memory 기반의 Key-Value 비관계형 데이터 베이스입니다. 캐싱, 세션 관리, 메시지 큐 등에서 활용이 된..