본문 바로가기

전체 글

(107)
Secret Manager를 사용해서 Spring Boot 프로젝트의 property값 관리하기(2) - EC2 🔐 들어가며 Secret Manager란? Secret Manager는 AWS에서 제공해주는 비밀 값 관리 서비스로, 기존에 자바 환경설정 파일에 직접 하드 코딩해서 관리하는 방식을 벗어나 AWS에서 관리하는 방식입니다. 보안 정보당 월 0.4$의 저렴한 가격으로 이용이 가능합니다. 위의 사진에 있는 예시처럼 DB 정보를 저장할 수도 있고, 인증 정보를 저장할 수도 있고, API 키를 저장할 수도 있습니다. 이번 포스팅은 2가지 단계로 진행될 예정입니다. 저번 포스팅에서는 로컬에서 Secret Manager로 접근하는 방법에 대해 다룰 예정이며, 이번 포스팅에서는 서버에서 Secret Manager를 접근하는 방법에 대해 다룰 예정입니다! 이번 포스팅에서는 저번 포스팅에서 작성했던 코드에 대해서는 다루지..
Secret Manager를 사용해서 Spring Boot 프로젝트의 property값 관리하기(1) - 로컬 환경 🔐 들어가며 Secret Manager란? Secret Manager는 AWS에서 제공해주는 비밀 값 관리 서비스로, 기존에 자바 환경설정 파일에 직접 하드 코딩해서 관리하는 방식을 벗어나 AWS에서 관리하는 방식입니다. 보안 정보당 월 0.4$의 저렴한 가격으로 이용이 가능합니다. 위의 사진에 있는 예시처럼 DB 정보를 저장할 수도 있고, 인증 정보를 저장할 수도 있고, API 키를 저장할 수도 있습니다. 이번 포스팅은 2가지 단계로 진행될 예정입니다. 이번 포스팅에서는 로컬에서 Secret Manager로 접근하는 방법에 대해 다룰 예정이며, 다음 포스팅에서는 서버에서 Secret Manager를 접근하는 방법에 대해 다룰 예정입니다! 🔑 AWS Secret Manager 만들기 Secret Mana..
Github Action과 AWS CodeDeploy를 사용하여 Spring Boot 프로젝트 CI/CD 파이프라인 구축하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 Github Action과 AWS CodeDeploy를 사용해서 CI/CD를 구축하는 방법에 대해 설명드리려고 합니다. 수동으로 매번 배포를 할 수도 있지만, CI/CD 파이프라인을 한 번 구축해두고 나면 매번 수동으로 배포할 필요가 없어 정말 편리하기 때문에 꼭 구축해보시는 것을 추천드립니다. 이 포스팅에서 구축할 파이프라인의 진행할 순서를 간단하게 그림으로 요약하면 아래와 같습니다. 개발자가 코드를 변경하고 Github에 Push 한다. Github Action이 돌아가며 빌드&테스트를 하고(CI), 문제가 없다면 압축파일(.zip)을 만든다. 만든 압축파일(.zip)을 AWS S3에 업로드한다. 업로드한 압축파일을 넘겨주며 CodeDeploy를 이용해 배포..
AWS 해킹 시 대처 방법, 해킹 방지하기 🤯 Access Key가 털렸어요! 어느 날 AWS에서 한 통의 메일이 도착했습니다. 별 내용 아니겠지 ~ 하고 가볍게 읽었는데, 생각보다 심각한 내용의 메일이었습니다. 😱 지금 너의 Access Key가 유출된 것 같다. 수상한 내용이 감지되어서 비활성화를 해둔 상태이다. 확인을 해봐라 허겁지겁 쌓인 메일을 보니 이미 Access Key는 유출되어서 정말 많은 리전에서 거대한 인스턴스를 띄운 상태였고, 정~말 다행히도 AWS에서 이를 눈치채고 일찍 비활성화를 해두어서 다른 분들처럼 과금이 발생하진 않았지만, 다른 아티클에서만 있던 일들이 일어나니 머리가 새하얘졌습니다. 저와 같은 상황에 처했던 분들을 위해 사후 대처하는 방법과 보안을 강화하는 방법에 대해 포스팅을 작성해보았습니다. 사실 전 아직도 어디..
토이프로젝트에서 Data Driven으로 프로젝트하기 (Velog에서 작성한 글을 똑같이 옮겨온 글입니다!) 안녕하세요! 이번 포스팅은 저번 포스팅(멋진 스타트업처럼 토이 프로젝트하는 비결 🚀의 후속편으로, 클랩팀이 릴리즈 이후에 어떻게 Data Driven을 했는지 소개해드리려고 합니다! 🔥 우리의 목표 저희의 첫 목표는 "일단 릴리즈하자!"였습니다. 어차피 저희가 열심히 세운 가설들은 결국에는 모두 뇌피셜일 뿐이고, 저희 팀원 모두 뇌피셜보다는 수치를 보고 판단하는 게 더 정확도가 올라갈 것이라는 생각이 있었기 때문이었습니다. 그래서 아이데이션 기간과 서베이 과정을 거친 뒤에 MVP 기능 정의를 했는데, 정말 필요한 기능만 정의할 수 있게 많은 신경을 기울였습니다. 회원가입, 로그인 같이 언뜻 보면 중요할 수도 있는 기능들도 지금 당장 기능을 만들기에 ..
루비콘 멘토링 프로젝트 3기 회고 안녕하세요! 이번 포스팅에서는 3개월동안 진행했던 멘토링 프로젝트인 루비콘의 경험이 너무 좋아서 공유하고자 회고를 쓰려고 합니다. ✍️ 🚀 루비콘에 합류하기까지 저는 성장에 대한 욕심이 많은 사람이었기 때문에 퇴근하고도 혼자 꾸준히 공부하곤 했습니다. 그런데 어느 날 문득 내가 맞는 방향으로 가고 있는지에 대한 의문이 생겼습니다. 이러한 고민을 지인에게 털어놓자 루비콘에서 멘토링 프로젝트 지원을 받고 있는데, 신청하면 갈증을 해소하는 데 도움이 될 것 같다며 추천을 해주셨고, 루비콘 멘토링 프로젝트에 멘티로 합류하게 되었습니다. 👏 Team Clelab 3개월이라는 기간 동안 저희 팀이 만든 프로덕트는 Clelab(많관부)이라는 프로덕트입니다. 구글에 굉장히 퀄리티 좋은 아티클이 많이 퍼져있는데, 이걸 ..
Rails FactoryBot 알아보기 🤖 FactoryBot이란 무엇일까요? 팩토리봇을 사용하면 모델에 대한 더미 데이터를 만들 수 있습니다. 저는 주로 spec 테스트를 할 때 더미데이터를 넣기 위해 FactoryBot을 유용하게 사용하고 있습니다. 🎉 설치 방법 gem "factory_bot_rails" 이후에 RSpec을 사용한다면 아래와 같이 설정해줍니다. RSpec.configure do |config| config.include FactoryBot::Syntax::Methods end 👀 'Factory'에 대한 정의 각각의 Factory는 이름과 속성들로 구분됩니다. 여기서 '이름'은 객체를 추측하는데 사용됩니다. 아래 예시에서 이름은 user, 속성은 first_name, last_name, admin이 됩니다. # 이건 유저..
첫 발표를 하면서 느낀점과 배운점들 안녕하세요! 이번 포스팅에서는 저의 첫 발표의 경험과 발표를 준비하면서 느낀점들, 그리고 배운점들에 대해 포스팅을 작성해보려고 합니다. 🤯 발표는 처음인데 요즘 멘토링에 관심이 생겨서 이것저것 알아보다가 백문이 불여일견이라는 조상님들의 가르침에 따라 '직접 멘토링을 해보자!'고 결심을 했습니다. 저도 아직 주니어이기 때문에 같은 현업자를 멘토링한다는건 당연히 무리가 있었고, 누굴 멘토링하면 좋을지 고민하다가 제가 고3때 멘토링을 받은 경험이 너무 좋았어서 제 모교의 고3 학생 중 한 명을 멘토링해주면 어떨까? 라는 생각으로 선생님께 연락을 드렸습니다. 그런데 … 어찌어찌하다가 멘토링이 아닌 발표를 하게 되었습니다! 사실 이때까지만 해도 끽해야 10명정도밖에 안들어오겠지~ 라는 가벼운 마음으로 발표를 준비..