본문 바로가기

반응형

전체 글

(68)
[Spring Security] Spring Security OAuth Login OAuth 2 프레임워크 OAuth는 특정 구현이나 라이브러리가 아니다. OAuth 2는 권한 부여 프레임워크이며, 종종 위임 프로토콜이라고도 부릅니다. OAuth2를 사용하면 아래와 같은 장점을 가집니다: 1. 토큰 기반 인증: 사용자의 자격 증명 대신 토큰을 기반으로 하여 인증을 합니다. 2. 더 나은 보안: 사용자의 자격 증명을 제 3 애플리케이션(우리가 서비스하는 애플리케이션)에 제공하지 않습니다. 3. 중앙 집중화된 인증: 한 번의 로그인으로 여러 서비스에 접근할 수 있습니다. Oauth2.0 유형 종류: 1. 승인 코드 -> Spring Security에서 지원하는 유형 2. 암호 3. 갱싱 토큰 4. 클라이언트 자격 증명 하지만 OAuth도 만능은 아닙니다. 아래와 같은 허점을 가집니다: 1..
[Spring] WS, WAS, Web Container, Servlet Container Web Server HTTP를 통해 클라이언트가 어떤 요청을 하면 요청에 맞는 정적 컨텐츠를 제공하는 서버, 미들웨어입니다. (미들웨어란, 애플리케이션과 운영 체제 사이에서 다양한 기능을 제공하는 소프트웨어 계층을 의미합니다. 여기서 다양한 기능이란 분산 시스템 간의 통신, 데이터 관리 등이 포함됩니다.) 주요 기능: 1. 정적 컨텐츠 제공 2. HTTP 요청 처리 3. 로드 밸런싱 4. .SSL/TLS 처리 5. 캐싱 ... Web Application Server DB 조회, 비즈니스 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버, 미들웨어입니다. Web Server + Web Container로 볼 수도 있습니다. 주요 기능: 1. 동적 컨텐츠 제공 2. 비즈..
[Spring Security] 개요 보호되어 있는 글입니다.
[Project: OurWorldCup] branch 전략 분석 및 선택 도입 프로젝트를 진행할 때 적절한 브랜치 전략이 필요합니다. 유명한 전략으로 git-flow, gitlab-flow, github-flow이 있습니다. 각각에 대해 간단히 살펴본 후 저에게 맞는 브랜치 전략을 선정하기로 했습니다. https://wiki.yowu.dev/ko/dev/Git/about-git-github-gitlab-flow 블로그에서 이해에 도움을 많이 받았습니다. 아래에 나오는 모든 예시 사진은 이 블로그에서 가져온 그림입니다. git-flow git-flow는 가장 많은 기능을 포함한 브랜치 전략입니다. 완전히 안전한 코드의 main 브랜치 긴급한 수정을 위한 hotfix 브랜치 개발을 위한 develop 브랜치 세부적인 기능을 개발하는 데 사용되는 feature 브랜치 개발 후 품질..
[Project: OurWorldCup] API 명세서 작성하기 API 명세서 작성 로그인 후 메인 페이지는 /{id} 형식으로 작성해야 했습니다. 그런데, 월드컵 정보를 확인하는 페이지를 들어갈 때, /{id}/{wordldcup_name}는 올바르지 않다고 생각했습니다. 저 표현은 worldcup이 id에 종속되어 있는 것으로 오해할 여지가 있기가 때문이죠. 이를 해결하기 위해 github의 형식을 따르기로 했습니다. 하나의 worldcup은 여러 명이 하나를 조직한다는 점에서 github의 organization과 비슷하다고 생각했습니다. organization은 github.com/{organization_name}의 엔드포인트로 되어있었습니다. 이에 따라서 저도 /{worldcup_name}으로 바로 접근할 수 있도록 해주었습니다. 완성한 api 명세서는 아..
[Project: OurWorldCup] ERD 설계하기 설계 계기 Entity Relationship Diagram, ERD는 DB를 구축하는 데 자주 이용하는 다이어그램입니다.이전 프로젝트에서도 사용해서 이해하기 쉬웠던 경험이 있어 이번에도 설계한 후 프로젝트를 진행하고자 합니다. 각 테이블에 어떤 필드가 필요한 지, 테이블끼리의 관계가 어떻게 되는 지 미리 결정해 놓으니 개발할 때 맘 편히 작성할 수 있습니다. 설계 https://app.diagrams.net/에서 ERD를 그릴 수 있습니다. 저는 여기서 ERD 외에도 usecase와 같은 다양한 다이어그램을 작성합니다. participants 테이블은 user_account - worldcup 테이블의 다대다 관계를 분리하기 위하여 생성된 테이블입니다. game 테이블은 월드컵 정보를 토대로 생성된 게..
[Project: OurWorldCup] Figma로 프로젝트 설계하기 설계 계기 개인 프로젝트를 여러 번 진행해보면서, 프로젝트 시작 전 설계의 필요성을 느끼게 되었습니다. 적절한 설계를 해놓고 진행하지 않으면, 마구잡이 식으로 개발을 하게 될 가능성이 높았습니다. 그리고, 기능 구현이 어디까지 필요한 지에 대한 경계선이 없다보니 개발의 끝이 보이지 않고, 쉽게 지치게 되는 느낌을 받았습니다. 그래서 이번 프로젝트에서는 피그마를 활용해서 간단하게 우리 서비스의 틀과, 어떤 기능들이 필요한지 정리하고자 합니다. 설계 과정 피그마를 처음 사용하다 보니, 매우 조잡한 디자인을 구현하는 데에도 꽤 오랜 시간이 걸렸습니다. 그래도, 필요한 웹 페이지를 작성하다보니 머리 속으로만 생각할 때와 달리 필요한 페이지, 기능들이 더 있다는 것을 알 수 있었습니다. 페이지 구성 각 페이지에 ..
[IntelliJ] Window 단축키 수시로 추가할 예정 커서 관련 alt + shift + 좌클릭 : 다중 커서 alt + shift + Insert : 다중 커서 on/off 코드 수정 관련 shift + f6 : Rename 창 관련 cntrl + Tab : 이전 창으로 이동 alt + 방향키 : 창 이동 Custom 세팅 관련 (Settings → KeyMap에서 키 변경 필요) cntrl + ] : 우측 창 분할 (Split and Move Right) 환경 설정 관련 cntrl + alt + S : Settings 이동

반응형