본문 바로가기

전체 글251

Oauth2 Oauth2를 해보기 위해, 자료를 정리 중에 있습니다. - Oauth는 인가를 위한 기술 - 인증은 유저가 직접, 권한은 서비스에게 Oauth를 하기위해 선제적으로 해야할 것들 1. Oauth를 제공해주는 서비스의 API에 본인이 만들려고 하는 서비스를 등록해야함 2. 서비스에 필요하다 생각되는 권한들을 체크 Oauth 흐름 - User-Agent Resource Owner가 인증을 수행하기 위한 매개체 예시) 크롬 웹 브라우저 2023. 10. 16.
토이 프로젝트 시작 (23.09.10) 최근 클라우드 서비스만 다루고 있어서, 코딩을 안 한지 꽤 되었다. 이대로 상황이 지속되면 곤란할 것 같아. 토이 프로젝트를 진행하려고 한다. 현재 인원은 프론트 1명, 백엔드 2명, 총 3명으로 구성되어 있다. 주제는 정해졌고, 이제 진행하면 된다. 앞으로 가야할 길은 많지만, 우선 아키텍처 설계한 걸 바탕으로 논의를 진행해봐야겠다. 무중단 배포 및 Nginx(Web Server)사용과 같은 여러가지 사항을 고려했을 땐, 아마 수정해야할 사항이 많을 것 같다. 화이팅 아자아자~! 2023. 9. 10.
Redis 개념 및 사용법 그동안 생각만하고 직접 써보지는 않았던 DB인 redis, 새로운 기술에 대한 막연한 두려움때문에 그동안 쓰지 않았던 것 같다. 러닝커브에 대한 두려움이 늘 있어서 그랬던 것 같다. 헌데 회사일을 하면서 DB응답속도를 개선시키고 싶은 부분이 계속 생겨서 언젠간 꼭 배워야겠다고 마음을 먹었다. 주말인 오늘, 개념을 다시 훑어보고 직접 사용해본 경험을 아래에 적어두려고 한다. Redis란 무엇일까요~? 빅천재맨들이 만든 갓구글에 검색하면 바로 아래와 같이 요약된 내용이 나온다 Redis는 REmote DIctionary Server의 약어입니다. Redis는 속도가 빠르고 사용이 간편하여 최고의 성능이 필요한 웹, 모바일, 게임, 광고 기술 및 IoT 애플리케이션에서 널리 사용되고 있습니다. 조금 더 자세히.. 2023. 6. 3.
자동 build Tool별 특징 및 장단점 상세내용 요약 Jenkins: 큰 규모의 프로젝트이거나 복잡한 CI/CD 요구사항이 있는 경우. Travis CI: GitHub 저장소와 간단하게 통합하고자 하는 경우. CircleCI: 다양한 프로젝트 유형과 언어를 지원하며, 빠르게 시작하고자 하는 경우. GitLab CI/CD: GitLab과의 통합을 강조하고자 하며, 코드 호스팅 및 CI/CD를 한 플랫폼에서 관리하고자 하는 경우. GitHub Actions: GitHub 저장소와 강력한 통합을 원하며, 다양한 플랫폼과 언어를 지원하며 유연한 워크플로우를 구성하고자 하는 경우. ⇒ 추후 진행할 프로젝트를 고려했을 때, Jenkins를 선택해야할 이유가 더 많은 것으로 생각됨. Jenkins학습이 필요한 시점에 학습진행해야겠다. 상세내용 Jenkin.. 2023. 5. 20.
헥사고날 아키텍처 개념 및 사용법 헥사고날 아키텍처란? 주요 목표 응용 프로그램의 비즈니스 로직을 외부 세계로부터(Infra) 격리시켜 유연하고 테스트하기 쉬운 구조를 만드는 것 ⇒ 이를 위해 핵심 비즈니스 로직은 중앙의 도메인 영역에 위치하며, 입력과 출력을 처리하는 포트와 어뎁터를 통해 외부와(Infra) 소통 장점 유연성 외부 시스템이나 인프라와의 의존성을 낮춰, 구성 요소를 쉽게 교체하거나 업데이트 할 수 있음 테스트 용이성 비즈니스 로직을 독립적으로 테스트할 수 있어, 품질 향상과 개발 속도 향상에 도움이 됨 유지보수성 책임이 분리되어 있어, 코드의 이해와 수정이 용이하며 변화에 빠르게 대응가능 나오게 된 배경 레이어드 아키텍처의 단점을 해결하기 위해, 의존성의 역전법칙을 필두로 나오게 되었음 - 레이어드 아키텍처 구조도 의존성.. 2023. 5. 5.
Dockerfile, Docker-compose 특징 및 차이 실제 사용예시 (핵심만 보기용도) docker-compose를 사용할만한 상황으로, multimodule 환경을 구성해보았다. Multimodule(루트 프로젝트) - api-other (모듈) - api_center (모듈) - api_common (모듈) 여기서 나는 이미지를 찍고 컨테이너화 하고싶은 모듈이 api-other와 api_center이다. 2. 컨테이너화 하고싶은 모듈인 api-other와 api_center 모듈 안에 각각 Dockerfile을 생성한다 현재 api-other와 api_center의 application 내용은 아래와 같다 api-other package com.example.apiother; import org.springframework.boot.SpringAppli.. 2023. 4. 18.