[친구하자] Android 앱을 만들며 배운 CI/CD와 AWS EC2·ECS 이야기
친구하자 프로젝트 출시를 준비하며 CI/CD를 도입하고, Docker, EC2, ECS, ECR 등 AWS 인프라를 활용한 배포 흐름을 정리했다.
친구하자 프로젝트 출시를 준비하며 CI/CD를 도입하고, Docker, EC2, ECS, ECR 등 AWS 인프라를 활용한 배포 흐름을 정리했다.
ECS 서비스 배포(롤링 업데이트, Blue/Green, Circuit Breaker, CloudWatch Alarms, 이미지 해석 등) 관련 AWS 공식 문서를 개발자 관점에서 정리했다.
Amazon ECS 서비스 배포와 관련된 AWS 공식 문서를 개발자 관점에서 정리한 문서다.
기준 문서: Deploy Amazon ECS services by replacing tasks 및 연관 문서.
Spring에서 HTTP 요청이 Controller에 도달하기까지 거치는 Filter, Interceptor, AOP의 역할과 차이, 그리고 요청 처리 순서를 정리했습니다.
PATCH/PUT, DTO, Controller 같은 Spring 글을 읽었다면, “요청이 어디서 걸리고, 어떤 순서로 처리될까?”가 궁금할 수 있다.
이 글에서는 Filter, Interceptor, AOP가 각각 어디에 위치하고, 무엇을 할 때 쓰면 좋은지** 한 번에 정리한다.
다익스트라 알고리즘에 대해 정리해보았습니다. 한 정점에서 모든 정점까지의 최단 경로를 구하는 대표 알고리즘입니다.
최단 경로 시리즈 – 플로이드-워셜(모든 쌍), 벨만-포드(음수 간선·음수 사이클)에 이어, 한 출발점에서 나머지 모든 정점까지의 최단 경로를 빠르게 구하는 알고리즘이다.
알고리즘 문제 풀이 시 Integer ArrayList를 int[] 배열로 변환해야 할 때 사용할 수 있는 방법을 정리했습니다.
알고리즘 문제를 풀다 보면 List<Integer>로 모아둔 결과를 최종적으로 int[] 배열로 반환해야 하는 경우가 많다. String 리스트는 toArray()로 쉽게 변환할 수 있지만, primitive 타입인 int는 toArray()를 그대로 쓸 수 없다. 이번 글에서는 Integer ArrayList를 int 배열로 바꾸는 방법을 정리해보자.
벨만-포드 알고리즘에 대해 정리해보았습니다.
비관적 락을 적용한 통화 종료 로직에서 트랜잭션 전파가 중요한 이유, 그리고 같은 트랜잭션 안에서 DB 락이 어떻게 유지되는지 정리했습니다.
이전 일기: 비관적 락 적용기에서 통화 종료에 비관적 락을 적용했다.
그때@Transactional하나로 전체 흐름을 감쌌는데, 왜 한 트랜잭션으로 묶어야 하고, 전파 옵션을 잘못 쓰면 락이 어떻게 깨질 수 있는지를 이번에 정리해 본다.
친구하자를 개발하면서 실시간 음성 매칭 서비스를 개발하면서 비관적 락을 적용하여 동시성을 처리했던 경험에 대해 정리했습니다.
동시 요청으로 통화가 두 번 종료되는 문제 해결하기..!
친구하자를 개발하면서 통화 중 에러를 처리하던 중 발견한 WebSocket 메시지 핸들러 인증 문제 트러블슈팅입니다.
SSH 인증서가 만료되어 이에 대해 공부한 내용과 해결한 내용에 대해 정리했습니다.