왜 조회 쿼리에서 데드락이 발생했을까?
“아니, 도대체 왜 조회 쿼리 메서드에서 데드락이 생기는거야?” 사내 시스템을 운영하던 중 처음보는 유형의 데드락이 발생하여 원인을 탐색하고, 이모저모 실험을 해본 후 남기는 트러블 슈팅 글. 실험은 항상 배우는게 많고 즐겁다. 🔒 콘텐츠 동기화 중 데드락 발생! 사내에는 수시로 비디오 콘텐츠를 동기화하는 로직이 존재한다. 대량의 콘텐츠들이 불특정 시...
Spring Boot 3 마이그레이션 팁 모음
Spring Boot 2 -> Spring Boot 3 마이그레이션은 메이저 버전 변경임에도 불구하고 비교적 쉽게 진행할 수 있다. 하지만 말 그대로 Spring Boot 마이그레이션이 쉬울 뿐, 부수적으로 생기는 문제들까지 모두 해결하는 건 쉽지 않다. 이번 글에서는 내가 Spring Boot 2 에서 Spring Boot 3 마이그레이션을 진...
제품을 만드는 사람과 변화를 만드는 사람
뛰어난 기술과 수 없이 많은 서비스가 우리 곁에 놓여진 세상이다. 이제는 누구나 쉽게 제품을 만들 수 있고, 누구나 쉽게 서비스를 이용할 수 있다. 기업은 자신들의 제품을 자랑하고 싶어 하고, 엔지니어들은 자신들의 기술력을 뽐내고 싶어 한다. 그러나 뛰어난 제품, 기술력과 부단한 마케팅에도 불구하고 소수의 선택 받은 기업, 엔지니어를 제외하곤 시장에서...
spring application properties 기본 값 설정을 주의해야하는 이유
간만에 spring application properties 덕분에 고생 좀 했다. 정말 뼈저리게 고생했으니, 앞으로 까먹을 일은 없겠다. 요약 aws: s3: bucket: name: test cloudFrontBaseUrl: "https://cloudfront.url" mock: enabled: false port: 8111 위와 같이 작성되어 있...
GitHub 파일 끝에 개행이 필요한 이유 (no newline at a end of file)
GitHub 에 Pull Request 를 올리면 가끔 아래와 같은 금지 마크를 발견할 때가 있다. no newline at a end of file line number 를 보면 알 수 있듯, 파일 가장 끝에 개행이 포함되지 않았을 때 발생하는 오류 표기다. 실제로 프로그램을 실행시킬 땐 아무런 문제가 되지 않는데, 왜 GitHub 에서는 이런 오류...