전체 글 36

[Spring] LMAX Disruptor

💁‍♂️ 들어가기 전이번에 필자는 Spring AOP 어노테이션을 기반으로 로깅 라이브러리를 구현했었다. 그 때 사용했던 커스텀 로거가 LMAX의 Disruptor로 구현되어 있어서 Disruptor에 대해서 알아 가볼려고 한다. (잠시 라이브러리 홍보 좀.. 🤣)https://github.com/kyungmin08g/zephyro GitHub - kyungmin08g/zephyro: 🍀 라이브러리 → Spring AOP 어노테이션 기반 로깅 라이브러리🍀 라이브러리 → Spring AOP 어노테이션 기반 로깅 라이브러리. Contribute to kyungmin08g/zephyro development by creating an account on GitHub.github.com🍀 LMAX Di..

☘️ Spring Boot 2025.07.01

[Spring Boot] AOP 적용기

💁‍♂️ 들어가기 전오늘은 HttpClient 도구들을 사용해서 외부 API에 요청하는 로직을 설계하고 있었다. 그러다 문득 "FeignClient, RestClient, WebClient들의 실행 시간을 측정해보면 누가 더 좋은지 우수한지 알 수 있지 않을까?"라는 생각이 들어서 직접 구현해보기로 했다. 하지만 이를 구현하기 위해서는 AOP에 대해 알아야 하는데 필자는 이번에 처음 도입해보는거라 개념은 알고 있었는데 구현은 어떻게 하는지 몰랐다. 그래서 오늘은 내가 공부하면서 배운 개념과 AOP를 구현하는 방법을 알려주려고 한다.🤨 AOP란?AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 부른다. 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 ..

☘️ Spring Boot 2025.06.08

[Java] AES 암호화 알고리즘 구현

💁‍♂️ 들어가기 전본 필자는 보안 공부를 SKT 해킹 사건 때문에 충격 받아 시작하게 되었다. SKT 해킹 사건에서 사용자의 민감한 데이터를 암호화하지 않고 평문으로 저장했다고 들었다. 암호화하지 않았다는 걸로 해킹 당해버려서 좀 충격이였다. 그래서 필자도 앞으로 서비스를 제작할때 귀찮더라도 꼭 민감한 데이터는 암호화해서 저장해야한다는 것을 깨달아 공부해볼겸 공유해볼겸 포스팅 해본다.🧐 용어 정리* 암호화→ 암호화는 권한이 없는 사용자로부터 민감한 정보를 보호하기 위해 읽을 수 있는 일반 텍스트를 읽을 수 없는 암호 텍스트로 변환하는 프로세스이다. 쉽게 생각하자면 암호화는 평문으로된 문자를 특정 알고리즘에 의하여 일반 사람들이 해석하지 못하는 문자로 바꾸는 것을 의미한다. 주로 민감한 정보인 전화번..

[MCP] Figma MCP 이용하여 디자인 해보기

💁‍♂️ 들어가기 전필자는 프로젝트하면서 항상 생각했던 것이 '디자인은 AI가 자동으로 못해주나?'였다. 하지만 MCP라는 것이 나오고 나서 말이 달라졌다. MCP 중에서 Figma MCP는 AI가 디자인을 자동으로 해주는 친구이다. 그니까 Figma MCP에 쓰기/읽기 등 이런 권한들을 주고 프롬포트를 작성하면 알아서 디자인을 해준다는 말이다. 이번 포스팅에서는 Cursor를 사용할건데 Claude도 사용 가능하다. 난 이상하게 Claude에서 에러나서 Cursor로 진행했다. 그래서 오늘은 Figma MCP를 활용해서 디자인을 해볼려고 한다.📋 준비본격적으로 시작하기 전에 준비해야할 것들이 있어요! 커서(Cursor)와 피그마(Figma)가 필요합니다. 검색하셔서 다운로드 받으시면 되고 계정도 꼭..

🤖 AI/🦾 MCP 2025.05.03

[인프라] AWS RDS 생성하기 (개발용 | 운영용)

💁‍♂️ 들어가기 전 이번엔 AWS에서 제공해주는 RDS를 사용해볼거에요. RDS는 관계형 데이터베이스(RDB)를 관리하는 서비스에요. DB 관련해서는 모든 할 수 있죠. CI/CD 파이프라인 구축이 끝나더라도 어차피 웹 서비스에서는 RDB를 사용하게 되어있어요. 이왕 이렇게 된거 AWS에서 제공해주는 RDS도 같이 배워보면 좋을 것 같아서 포스팅해봅니다. 어차피 실제 운영할 때도 모두 사용하긴해요. 다만 Docker를 사용한다면 RDS가 필요없을 수도 있어요. 도커 컴포즈 이용해서 해결하면되니까. 하지만 Docker를 사용하지 않고 Elastic Beanstalk를 사용해서 CI/CD를 구축했다? 그럼 반드시 필요합니다.📋 DB 만들기 전AWS에서 DB를 만들기 위해서는 사전 설정이 필요해요.RDS..

🐳 DevOps 2025.05.02

[인프라] Elastic Beanstalk에 도메인 + Https 적용하기

💁‍♂️ 들어가기 전CI/CD 파이프라인 구축이 끝나고 보니까 도메인도 없고 https도 적용이 안되어 브라우저가 조심하라는 경고를 주었다. 만약 이게 실제 프로젝트였다면 사용자 입장에서는 굉장히 신뢰가 가지 않을 것이다. 그래서 가비아에서 500원짜리 도메인을 사고 https 적용했다. 그 방법을 이번 포스팅을 통해서 알려주겠다.일단 본격적으로 들어가기 전에 가비아에서 도메인 구매하고 Elastic Beanstalk에 적용하는 방법을 알려주고 그 다음에 https 적용하는 방법을 알려주도록 하겠다. ☘️ 도메인 적용Elastic Beanstalk에 https를 적용할려면 가비아에서 도메인부터 사야한다. 나는 전에 이미 사놨던 도메인이 있어서 그걸로 진행하겠다.AWS에서 도메인을 적용하려면 AWS에서 ..

🐳 DevOps 2025.04.29

[CI/CD] CI/CD 파이프라인 구축

💁‍♂️ 들어가기 전드디어 거의 일주일 동안 공부한 GitHub Actions CI/CD를 구축했다. 아, 물론 마지막으로 도메인 사서 Https 구축하는 거는 다음에 해야겠지만 그래도 CI/CD를 완성했다는 그 뿌듯함이 미쳤다. 요즘 인프라 관련해서 글을 많이 작성했는데 그 이유가 다 CI/CD 파이프라인 구축하기 위함이었다. (그렇기에 지금 이 글을 보시는 분들은 인프라 관련 글을 보신 후에 오시는 걸 추천합니다!)오늘은 GitHub Actions CI/CD 관련해서 필요한 파일 및 코드를 구축하고 실행시키는 것까지 해보도록 하겠다.☘️ 사용자 생성이름은 마음대로 지어주시고정책을 추가해줄건데 이름이 너무 길어서 아래 정책을 추가해준다.AdministratorAccess-AWSElasticBeanst..

🐳 DevOps 2025.04.27

[인프라] EB(Elastic Beanstalk) 개념 및 생성 실습 (실습 위주)

💁‍♂️ 들어가기 전 안녕하세요. 오늘은 AWS에서 제공해주는 EB(Elastic Beanstalk)에 대해서 알아볼거에요. 알아보기 전에 우선 EB(Elastic Beanstalk)란 무엇일까요? EB는 배포 자동화 서비스라고 생각하면 쉬워요. EB는 처음 환경 구성만 해주면 EC2를 자동으로 만들어주기 때문이에요.🎈 Elastic Beanstalk 생성1. IAM 생성먼저 EB를 생성하기에 앞서 IAM 역할을 생성하도록 할게요. 이 작업을 왜 하냐면 EB 생성 단계에서 EC2에 대한 역할, EB에 대한 역할을 내놓으라고 하기 때문에 미리 만들어 주는 거에요.그럼 일단 Elastic Beanstalk에 대한 역할부터 만들어줄게요.'역할 생성' 버튼을 누르면 위와 같은 화면이 나와요. 신뢰할 수 있는..

🐳 DevOps 2025.04.26

[인프라] AWS IAM(Identity and Access Management)이란?

🍓 들어가기 전필자는 CI/CD 공부하다가 IAM을 사용하게 되었는데 정확히는 IAM이 무엇인지 몰랐기 때문에 최소한의 지식을 습득하고자 이 시간을 활용해볼려고 한다. 🤔 IAM란?IAM은 AWS 서비스나 리소스에 접근할 수 있는 권한을 관리하는 역할? 서비스이다. 💁‍♂️ AWS 사용자 유형AWS에서 사용자는 두 종류로 나뉜다. 루크 사용자와 IAM 사용자이다. 루트 사용자는 일반적으로 로그인한 사용자를 말하고 IAM 사용자는 각 사용자 별로 AWS 서비스 또는 리소스에 권한 제어를 할 수 있다. EC2나 ELB, S3에 대한 접근 권한을 설정할 때는 반드시 IAM 사용자로 들어가야겠죠? 왜냐하면 리소스나 AWS 서비스 자체의 접근 권한을 제어할 수 있기 때문이죠. 우리가 S3 사용할 때 IAM ..

🐳 DevOps 2025.04.25

[Spring] Spring Profiles 사용해보기

🍒 들어가기 전본 필자는 추후 프로젝트에 적용하려고 하는 환경에 따라 환경 변수가 달라지게 설정하려고 하는데 Spring에서 제공해주는 profiles라는 것을 알아야해서 포스팅 해본다. 🔮 Profiles?Spring에서 제공해주는 profiles는 환경에 따라 다른 환경 변수를 적용할 수 있도록 해주는 친구이다. 주로 개발(dev), 테스트(test), 운영(release, prod)으로 나눈다. 즉, 환경에 따라 그에 맞는 환경 변수를 적용할 수 있다는 것이다. 만약 데이터베이스 정보를 환경 변수로 저장해두었는데 DB 정보가 로컬로 설정되어 있다면 배포 때 어떡할 것인가? 이를 편하고 다루기 쉽게하는 것이 profiles이다. 🧩 실습알아본 정보를 바탕으로 직접 Profiles를 사용해보도록 ..

☘️ Spring Boot 2025.04.25