본문 바로가기

전체 글182

스프링 부트 살펴보기 / 의존성 관리 간소화, 배포 간소화, 자동 설정 웹 백엔드 개발을 시작하며 많은 언어와 프레임워크를 사용해 보았습니다. 튜토리얼 수준으로 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를 구조체의 확장형으로 사용하고 있기에 상속이 없습니다.- Java에서 O.. 2023. 3. 25.
macOS 개발 환경 설정과 자주 사용하는 앱 소개 (Karabiner, Alfred, Go, Java, Jetbrain, ...) 최근 회사에 입사하며 맥북 설정을 하였습니다. 자주 사용하는 앱과 개발 환경 설정을 정리하였습니다. 목차 - Commom - macOS App (Karabiner, Alfred, Magnet, itsycal) - Terminal - Jetbrain(Intellij, Goland, plugins) - 개발 언어 설정(Go, GVM, Java, JVM) - Infra (Docker, k8s kubectl, redis-cli) Commom System Preferences - Keyboard 키보드 입력 속도 변경 맥북 기본 키보드 입력속도가 느리기 때문에 키보드 입력 속도를 빠르게 설정하는 편입니다. 키보드 입력 automatically 제거 macOS App Karabiner (무료) 키보드 입력키를 변경.. 2023. 3. 12.
[회고] 글쓰기 모임 '글또', 7기 회고와 8기 시작하며 글또란? 글또 (글 쓰는 또라이가 세상을 바꾼다)는 글 쓰는 개발자 모임입니다. 약 6개월의 기간 동안, 2주마다 1개의 글을 작성합니다. 본인이 속한 개발 직군 채널(e.g. 백엔드)에 글을 공유합니다. 채널 멤버들끼리 글을 피드백을 합니다. 종종 오프라인(커피챗, 공식 행사 등) 모임도 있습니다. 7기를 마치며 글또 7기 22년 5월~10월 기간 동안 MySQL, GitHub Actions, TestContainers, Git, Static program analysis, Terraform, Jira, AWS(VPC, ALB, Route53, S3, CloudFront)의 주제로 약 24개의 글을 작성하였습니다. 부족한 글들도 많지만 이렇게 모아서 보니 많은 것을 기록했구나 되돌아보았네요. (작성한 .. 2023. 2. 11.