N+1 문제 해결 - ORM을 사용하지 않더라도 나타날 수 있다
수상한 트랜잭션을 발견하다 Creating a new SqlSession Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4dddcf4...
수상한 트랜잭션을 발견하다 Creating a new SqlSession Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4dddcf4...
요청할 때마다 member 테이블에 쿼리가 날아간다? 개발 환경에서 개발을 하던 중, 이상한 현상을 발견했다. JDBC Connection [HikariProxyConnection@92683318 wrapping com.mysql.cj.jdbc.ConnectionImpl@67f94...
앱 심사 제출 후 날아온 거절 메시지 앱 스토어의 심사 과정은 상당히 까다롭기로 유명하다. 애플 측에서 제시하는 가이드라인 에 출시하고자 하는 앱의 기능을 맞춰야 하기 때문이다. 특히나 네이티브 기능 대신 웹뷰로 웹사이트를 보여주는 웹뷰앱에 대해서는 더 엄격하게 심사를 한다고 한다...
이메일 대신 휴대폰 번호를? 한국에서 서비스할 예정이며 1인 1계정을 정책으로 한다면 휴대폰 인증은 매우 좋은 선택지가 된다. 물론 한 사람이 여러 개의 휴대폰 번호 (세컨폰 등)를 가질 수 있다는 엣지 케이스도 있지만, 이메일보다는 효과적으로 1인 1계정을 강요할 수 있는 수단이...
알림 서비스 설명 캡스톤 디자인으로 진행중인 Sprinter 프로젝트의 알림 서비스는 개략적으로 다음과 같이 구성되어 있다. 사용자 혹은 다른 사용자가 사용자와 연관된 알림을 발생시키는 행위를 한다. 알림이 Notification 테이블에 저장된다. 사용자가 사이드바에...
AWS EC2 (t2.micro) 인스턴스에 배포 중 문제 발생 Sprinter 프로젝트를 동아리방의 온프레미스 서버에 배포하였는데, 공인 IP를 얻으려면 대학원생 급이 아니고서야 학교측에서 쉽게 허가를 내 주지 않기 때문에 하는 수 없이 학교 외부 망에서도 접속하기 위하여 AWS...
MyBatis 매핑 문제 발생 … RefreshTokenMapper를 테스트하는 과정에서 다음과 같은 문제가 발생했다. 데이터베이스에 토큰 정보를 저장(save)한 뒤, 해당 데이터를 다시 조회(findByMemberId)하는 간단한 로직이었다. Cause: org.h2.jd...