왜 조회 쿼리에서 데드락이 발생했을까?

“아니, 도대체 왜 조회 쿼리 메서드에서 데드락이 생기는거야?” 사내 시스템을 운영하던 중 처음보는 유형의 데드락이 발생하여 원인을 탐색하고, 이모저모 실험을 해본 후 남기는 트러블 슈팅 글. 실험은 항상 배우는게 많고 즐겁다. 🔒 콘텐츠 동기화 중 데드락 발생! 사내에는 수시로 비디오 콘텐츠를 동기화하는 로직이 존재한다. 대량의 콘텐츠들이 불특정 시...

Spring Boot 3 마이그레이션 팁 모음

Spring Boot 2 -> Spring Boot 3 마이그레이션은 메이저 버전 변경임에도 불구하고 비교적 쉽게 진행할 수 있다. 하지만 말 그대로 Spring Boot 마이그레이션이 쉬울 뿐, 부수적으로 생기는 문제들까지 모두 해결하는 건 쉽지 않다. 이번 글에서는 내가 Spring Boot 2 에서 Spring Boot 3 마이그레이션을 진...

제품을 만드는 사람과 변화를 만드는 사람

뛰어난 기술과 수 없이 많은 서비스가 우리 곁에 놓여진 세상이다. 이제는 누구나 쉽게 제품을 만들 수 있고, 누구나 쉽게 서비스를 이용할 수 있다. 기업은 자신들의 제품을 자랑하고 싶어 하고, 엔지니어들은 자신들의 기술력을 뽐내고 싶어 한다. 그러나 뛰어난 제품, 기술력과 부단한 마케팅에도 불구하고 소수의 선택 받은 기업, 엔지니어를 제외하곤 시장에서...

GitHub 파일 끝에 개행이 필요한 이유 (no newline at a end of file)

GitHub 에 Pull Request 를 올리면 가끔 아래와 같은 금지 마크를 발견할 때가 있다. no newline at a end of file line number 를 보면 알 수 있듯, 파일 가장 끝에 개행이 포함되지 않았을 때 발생하는 오류 표기다. 실제로 프로그램을 실행시킬 땐 아무런 문제가 되지 않는데, 왜 GitHub 에서는 이런 오류...