본문 바로가기

전체 글172

SpringBoot 3.2에서 AWS SecretsManager 사용하여 패스워드 및 인증 관리하기 목차 1. 시작하며 1.1 패스워드 및 인증 관리 서비스 1.2 글의 목적과 범위 소개 2. AWS 라이브러리 선택 2.1 org.springframework.cloud vs io.awspring.cloud 3. 의존성 추가하기 3.1 Spring Cloud AWS Dependencies와 Starter Secrets Manager 추가 4. AWS SecretsManager 사용 방법 4.1 비용 4.2 AWS Console에서 SecretManager 생성과 secret 값들 생성하기 4.3 SpringBoot 실행하는 곳에 권한 설정하기 (AWS Login, IAM Role, STS) 4.4 SpringBoot에서 SecretManager를 통한 secret 데이터 접근 및 관리 (코드) 5. 마.. 2024. 1. 6.
[회고] 글쓰기 모임 '글또', 8기를 마치고, 9기를 시작하며 안녕하세요. 쿠킴입니다. 새로운 회사에 적응한다는 핑계로 5개월 동안 블로그 글을 작성하지 못했네요. 글쓰기에는 꽤 나태해졌지만, 업무가 그만큼 많이 생겼다는 좋은(?) 뜻으로 생각하고 있습니다. 글또 9기 모집 글을 보고 고민없이 지원했습니다. 업무에 절여진 뇌에 산소가 필요했거든요. (벌써 12월이네요. 미리 메리 크리스마스 🎄) 글또란? 글또 (글 쓰는 또라이가 세상을 바꾼다)는 글 쓰는 개발자 모임입니다. 약 6개월의 기간 동안, 2주마다 1개의 글을 작성합니다. 본인이 속한 개발 직군 채널(e.g. 백엔드)에 글을 공유합니다. 채널 멤버들끼리 글을 피드백을 합니다. 온오프라인(커피챗, 공식 행사 등) 모임도 있습니다. 7기부터 모임을 시작했는데 어느덧 9기네요. 모임이 10기까지만 진행된.. 2023. 12. 7.
스프링 부트 살펴보기 / 의존성 관리 간소화, 배포 간소화, 자동 설정 웹 백엔드 개발을 시작하며 많은 언어와 프레임워크를 사용해 보았습니다. 튜토리얼 수준으로 Python의 Django, Flask, Node Express, Nest를 접했고 주로 Java SpringBoot, Golang의 Gin을 사용하였습니다. 최근 Gin을 주로 사용하면서 SpringBoot가 그리울 때가 있습니다. Gin에서는 SpringBoot에서 당연히 해주는 것들이 없고, 직접 구현해야 하는 경우가 많았거든요. (언어, 프레임워크가 추구하는 바가 다르기 때문에 직접적인 비교는 실례지만요.) 아무쪼록 Golang Gin 사용 덕분에 직접 구현하며 날 것의 맛을 알게 되었고, MSG 가득한 SpringBoot의 마법(?)에도 관심이 가게 되었습니다. SpringBoot를 사용하며 당연하게(또는 .. 2023. 6. 4.
REST API Response(JSON)를 CDN을 활용하여 캐싱하기 목차 - 웹서비스에서 캐싱 대상과 방법 - 캐시 대상 - 캐시 방법 - REST API Resonse(JSON)를 CDN을 활용하여 캐싱하기 - CDN을 활용한 캐싱의 장단점 - 캐싱하기 예제 (조건, 구현, Cache-Control) - 마치며 웹 서비스에서 캐싱 대상과 방법 웹 서비스에서 캐싱은 중요합니다. 사실 필수적이라고도 볼 수 있죠. 캐싱 덕분에 서버의 응답 시간과 부하를 크게 줄일 수 있습니다. 캐싱 대상 이미지, 동영상부터 html, js, css, json 등 클라이언트와 서버가 주고받는 데이터들은 모두 캐싱 대상으로 볼 수 있습니다. 컨텐츠가 자주 안 바뀌고(정적), 바뀌는(동적) 기준으로도 구분하기도 합니다. - 정적 컨텐츠(*.html, *. js, *. css, image, vid.. 2023. 5. 5.
AWS SDK for Java 1.x가 AWS credentials를 가져오는 5가지 방법 AWS SDK for Java 1.x 를 사용하고 있는 Java/Spring Boot 서비스에서 AWS credentials을 가져오지 못하는 문제를 만나게 되었습니다. 해당 문제를 분석하며 AWS SDK for Java 1.x 에서 AWS credentials를 가져오는 방법을 정리해 보았습니다. DefaultAWSCredentialsProviderChain AWS SDK for Java 1.x에서는 DefaultAWSCredentialsProviderChain를 사용하여 편리하게 AWS credentials를 가져올 수 있습니다. // DefaultAWSCredentialsProviderChain 사용 예 private void getCredentials() { credentialsProvider =.. 2023. 4. 23.
Go를 사용하며 느꼈던 몇 가지 충격(?) 포인트들 웹 백엔드 개발자로 주로 Java/Spring(Boot) 기반 개발을 하였지만 회사에서 Go/Gin 기반 개발을 시작하였습니다. Java를 사용했던 개발자가 Go를 사용하며 느꼈던 몇 가지 충격(?) 포인트를 소개드리려 합니다. 특정 언어가 더 좋다를 이야기하는 것이 아닌 Go의 매력을 느끼고 있는 중이라고 생각해 주시면 감사하겠습니다. 잘못된 내용이나 의견 있다면 편하게 말씀해 주세요. 🙏🏻 목차 1. Go 언어 소개 2. 포인트 - 포인터가 있습니다. 근데 GC를 곁들인 - 암묵적 형 변환을 지원하지 않습니다. - 함수(Function)와 메서드(Method)가 구분되어 사용됩니다. - OOP를 지원하지만 클래스가 없습니다. - OOP를 구조체의 확장형으로 사용하고 있기에 상속이 없습니다. - Jav.. 2023. 3. 25.