[친구하자] Android 앱을 만들며 배운 CI/CD와 AWS EC2·ECS 이야기
친구하자 프로젝트 출시를 준비하며 CI/CD를 도입하고, Docker, EC2, ECS, ECR 등 AWS 인프라를 활용한 배포 흐름을 정리했다.
친구하자 프로젝트 출시를 준비하며 CI/CD를 도입하고, Docker, EC2, ECS, ECR 등 AWS 인프라를 활용한 배포 흐름을 정리했다.
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 인증서가 만료되어 이에 대해 공부한 내용과 해결한 내용에 대해 정리했습니다.
코딩테스트 알고리즘 선택 방법에 대해 정리해보았습니다.
코딩테스트에서 어떤 알고리즘을 선택해야 할지 고민될 때가 많다. 이 글에서는 코테 기준으로 딱 필요한 만큼만 정리한다.