본문 바로가기

분류 전체보기74

[Spring Boot]OAuth2: Authorization-Server (Custom 인증 서버 구축)(2) OAuth2: Authorization-Server (Custom 인증 서버 구축)(2)지난 포스팅에 이어서, Spring Security에서 제공하는 spring-oauth2-authorization-server 를 나의 Application에 맞게 수정해 볼 예정이다.  Spring Security 에서 제공하는 기본적인 Security Config 라던지, 기본적인 개념은 아래의 글을 참고하는 것을 추천한다. https://lucas-owner.tistory.com/79 [Spring boot] OAuth2: Authorization-Server (인증 서버 구축)(1)OAuth2: Authorization-Server (인증 서버) 개요요즘 사용하는 대부분의 web, app 에서는 사용자를 인증 .. 2024. 11. 20.
[Spring boot] Spring Boot 3.x^ - Swagger 적용(2) Spring Boot 3.x 버전 Swagger 적용 Spring boot 3.x 이전 버전에서의 Swagger 적용 및 Test 관련 사항은 아래 링크에서 확인하세요! https://lucas-owner.tistory.com/28 [SpringBoot] Swagger API 문서 자동화 간단 연동, 테스트하기Swagger-ui 를 활용한 문서 자동화 - 개발한 Rest API 들의 목록을 확인하고 테스트 할 수있는 Swagger-UI를 Spring Boot 프로젝트에 연동(설정)하고 사용 하는 방법을 알아보자. ○ Swagger란 ? Swagger는 개발한lucas-owner.tistory.com Spring Boot 를 3.x 이상 버전에서는 이전버전의 Swagger 와 별도로, Springdoc O.. 2024. 11. 14.
[Spring boot] OAuth2: Authorization-Server (인증 서버 구축)(1) OAuth2: Authorization-Server (인증 서버) 개요요즘 사용하는 대부분의 web, app 에서는 사용자를 인증 하고 그에 맞는 권한을 부여하여 자원에 접근가능하게 한다.이러한 인증, 인가는 보안에 있어서 가장 핵심적인 문제이고 설계부터 신경을써서 해야한다. 애플리케이션만의 고유한 인증, 인가 체계가 존재한다면 좋겠지만, 필자의 경우에는 여러개의 앱,웹 애플리케이션에 독자적인 인증,인가 기능 구현에 시간을 쏟는것보다는 독자적인 Auth Server 를 통해 비지니스에 집중하기 위해 서버를 만들기로 결정했다. 또한 이렇게 구현했을때의 장점도 존재한다 SSO(Single Sign on) 을 통해 한번의 로그인으로 여러개 사이트에 접속하여 이용할 수 있다는것이다.  그렇다면 비슷한 역할을 해.. 2024. 11. 13.
[Spring Boot] WireMock - API Test WireMock을 이용한 API 서버 Test- 다양한 프로젝트를 진행하다보면 Server To Server 통신을 진행해야만 하는 상황들이 발생한다(소셜로그인, MSA 아키텍처구조 ...)이럴때 테스트 대상이되는 모든 서버를 Local 에 구동시킨채 Test 를 진행하기에는 많은 자원낭비, 많은 시간소요 등 불편한점이 많다.특히 Test Code 를 작성해서 테스트마저 자동화를 많이 하고 있는 추세이기 때문이다.  WireMock 이란- Http 기반의 API 서비스를 Mocking 하기 위한 라이브러리이다.즉, 외부 서비스에 의존하는 테스트를 진행할때, 외부 서비스의 Response(응답)을 Mocking 하여 테스트를 진행할 수 있게 해준다.(외부 서비스에서 받아올 응답을 미리 지정해둔 형태로 Te.. 2024. 10. 29.
[ElasticSearch] 버전별 Spring Boot 설정 변화 및 정리 [ElasticSearch] 버전별 Spring Boot 설정 정리- 최근의 IT 를 보게되면 고성능 고효율의 하드웨어, 그리고 고수준의 소프트웨어들이 사용됨에 따라 수많은 데이터들이 생성되게 되었다.이런 빅데이터를 실시간으로 처리하고 검색, 분석하는 능력이 중요해짐에 따라 수많은 솔루션들이 나오게 되었다. 그 중 ElasticSerach 는 빅데이터 처리, 실시간 로그분석 및 텍스트 검색에 중점을 두었다. ElasticSearch는 이런 장점을 기반으로 APM(애플리케이션 성능 모니터링), 데이터 분석, 검색어 실시간 자동 완성 등장점을 살린도구로 자리잡았다. 그렇기에 ElasticSearch 를 적용하기위해서 공부를 하는 사람들이 많이 보이는 추세이다.다만 필자가 Spring boot 와의 연동을 위.. 2024. 10. 17.
[Linux] Ubuntu - OOM(Out Of Memory) 메모리 부족과 대응 목차대응방안 및 개요메모리 확인Cache/buff 메모리 정리CronTab 으로 자동화Linux - OOM 과 대응방안 개요- Linux 서버를 운영하다 보면 수많은 장애와 오류를 마주할 수 있다. 그 중 제일 무섭다고 생각되는 장애중 하나는OOM(Out Of Memory) 일 것이다.  해당 장애는 `시스템 메모리 부족` 상태를 의미하며, 서버에서 가용가능한 메모리가 없는 상태를 뜻한다. 해당 장애가 발생했을때 무서운점은 모든 프로세스(OS, APP)가 멈출뿐 아니라, 대응하기도 쉽지 않다는점이다.   필자의 경우, 홈서버에서 실행중인 Process(Memory 많이 사용)가 많은 상황에서 발생하였으며, 수동으로 Server를 재시작하였다.추후 확인해보니 Cache Memory의 사용비율이 너무 높았다.. 2024. 9. 18.
[Spring Boot]Jasypt 원리 및 사용방법(yml 설정 암복호화, Boot 3.x^) +String Util Class Jasypt 암복호화 라이브러리프로그래밍 공부를 하고 있는 사람들이라면, 보안에 관련된 수많은 얘기들을 듣고는 한다. 각종 정보들은 보안에 신경써야 한다고 말이다. (DB 접속정보, 사용자 정보, 파라미터 등등)서버간 통신시 암호화가 필요한 경우 라이브러리를 사용하기도 하고, 직접 암복호화 유틸을 만들어서 사용하기도 한다. 우리는 yml 의 DB 정보에 대해서 암호화를 진행해보고, 원리를 간단하게 살펴 보도록 하겠다. 공식문서를 살펴보며 유틸이나, 다른 활용방법에 대해서도 보면 좋을것 같다. 해당글에서는 다루지 않겠다.http://www.jasypt.org/general-usage.html 암호화에 대한 정보는 아래의 글에서 확인!https://lucas-owner.tistory.com/70 AES-25.. 2024. 8. 14.
[JPA] Java로 JPA 설정시 주의할점(.yml 설정 무시) 프로젝트 설정중, application.yml 파일의 JPA 설정이 무시되는 상황이 발생했다. @Entity 기준으로 Table 을 생성하게 해주는 옵션인 ddl-auto 를 Create 로 변경 후 Server 를 실행 시켰는데Create table 쿼리 출력 X, DB에 table 생성 X 상황이 발생한것.  프로젝트에 Multiple Datasource 설정과, 다른 몇몇 설정들을 추가하기전엔 잘 동작하고 있었던 설정이었다. 프로젝트 구조는 대략적으로 아래와 같다.1. Multi module 환경    - core (Entity, service, Repository)    - api (Controller)api 모듈은 core 모듈을 의존하고, scan 하여 사용중. 문제없었음.2. Multiple.. 2024. 8. 12.
[Docker] NextCloud - 홈서버 나만의 무료 클라우드 만들기 NextCloud - 나만의 무료 클라우드 만들기클라우드 기술이 널리퍼져있고 유용하게 쓰이는 시대에, 다들 Cloud 하나씩은 사용하고 있을것이다. (iCloud, Google Cloud, One Drive, ...) 사실 월 구독료가 부담되는 금액은 아니지만, 더 많은 용량을 사용하게 될수록 금액적인 부담이 발생한다.  NextCloud 는 오픈소스이기 때문에, 누구든 무료로 사용할 수 있다. 특히나 홈서버가 존재한다면 활용가치는 더욱더 높다.(개인적으로 파일 공유가 주 목적인 NAS 보다 효율성이 높다고 생각한다) 홈서버가 없더라도 평생 무료로 쓸 수 있는 Oracle Cloud 서버를 구축뒀다면, 100Gb 가량의 나만의 무료 클라우드 서비스를 만들 수 있다. 위에서 서술했던대로, 오픈소스이고 나만.. 2024. 8. 3.