DB

Boolean true == "true"가 가능할까요?
최근 제출을 목적으로 풀스택으로 웹 시스템을 개발했다. 그렇게 제출 2시간 전, 마지막 테스트를 하고 있던 와중, 어마어마한(?) 버그를 발견하게 되었다...... 바로 체크박스 check / uncheck가 ajax로 유지되지 않는다는 것...!원래는 잘 동작했던 기능이었기에, 도대체 뭐가 문제지 하고 식은땀이 주르르르르르르륵 났던 것 같다...결과적으론 버그를 찾아서 해결했지만,,정말 식겁한 순간이었던 것 같다...ㅠㅠㅠㅠㅠ 다시는 이런 문제를 일으키지 않기 위해 블로그에 가볍게 정리해보려고 한다. 1. 배경구현하고자한 내용을 간단히 설명하자면, 위 사진처럼 체크 박스 이벤트에 의해 DB에 체크여부를 저장하는 로직을 구현해야 했었다.체크를 클릭하면, DB에 is_checked 칼럼이 true, unc..

Lock & JPA Lock..중간에 겐세이 놓으시면 안됩니다.
아무것도 모르는 날 위해 Lock과 JPA Lock에 대해 공부해보자. (그 전에 트랜잭션부터 알아보자) 트랜잭션이란, DB 상태를 변환시키는 하나의 논리적인 기능을 수행하는 작업 단위로, 하나의 트랜잭션은 구분될 수 없다. 이처럼 트랜잭션의 가장 큰 특징은 작업의 원자성을 보장하는 것이다. LOCK 1. Lock이란? (what) Lock이란, 트랜잭션 처리의 순차성(즉, 데이터 일관성)을 보장하기 위한 매커니즘. 결국 LOCK도 다양한 트랜잭션 격리 수준의 일부이다. 즉, 사용자 A가 Data에 접근 할 때 데이터에 Lock을 걸어 나머지 사용자들이 이 데이터에 접근하지 못하도록 하는 것. 2. 그러면 Lock이 왜 필요해?? (why?) [배경] 우리는 어플리케이션을 사용하다 보면 Database에..