RealMySQL 1권 초독을 끝내며 :: 개발서적 회고
·
개발 공부 일기장/개발서적 회고
개요RealMySQL을 몇년도에 샀더라.. 아마 23년도인가 24년도 일 것이다, 그때는 유명해서 읽으려고 사고 읽지는 못했다.근데 잘했다고 생각한다, 그때 읽었으면 아무것도 이해 못 했을것이다. 적어도 초심자용 책은 아니다.물론 책의 내용이 엄청 어려운것은 아니나 읽는 사람의 깊이에 따라서 끝없이 깊어질 수 있기 때문에 좀 힘들었던 책이다. 분명 MySQL 책을 읽었지만 다 읽고다니 HDD와 SSD의 작동방식과 최적화에 대해서 알게 되어버린 책이다.내용은 너무 너무 많아서 앞으로 데이터베이스 카테고리에 다 정리해서 글을 올리려고 한다. 난이도는 별 4개다, 비교군이 있다면 클린 아키텍처, 자바 성능 튜닝 이야기는 별이 2개였다.앞으로 읽는 책들의 난이도가 너무 높아지면 3개로 하향 조정 될 수도 있다,..
Jpa saveAll 쓰지 마세요, Auto Increment를 쓰신다면 :: 실험실
·
개발 공부 일기장/실험실
개요실험실 카테고리의 첫 글이다, 원래는 스케줄러 겹침 현상에 대해서 자세하게 첫 글로 남기려고 했으나 더 궁금한게 생겨버렸다. 내가 만들고 있는 프로덕트는 대량 insert가 거의 필요없는 비즈니스이다, 고객의 데이터를 대량 insert 하는 발생하는 비즈니스가 생겼다.그런데 너무 성능이 느리길래 처음에는 암호화 하는 부분이 느린가? 했지만 APM 분석결과 saveAll로 저장하는 부분이 제일 느렸다.인터넷에 검색했을때 표면적인 원인들을 많이 얘기하지만 내가 원하는 수준의 수치나 인사이트가 없어서 한번 파헤쳐보려고 한다 복잡하게 얽혀있는 여러가지의 주제를 다루기 때문에 아래 미리 목차를 정리하도록 하겠다,실험실인 카테고리에 어울리게 궁금한 부분을 얻어가시길 saveAll의 내부 구현과 hibernate..
ERROR 3819 (HY000): Check constraint '' is violated 오류 해결
·
개발 공부 일기장/DBMS Develop
퇴근하고 사이드프로젝트를 하던중 insert시 ERROR 3819 (HY000): Check constraint '' is violated 오류를 만나게 되었다. 나는 SpringBoot + JPA + Mysql을 이용해서 회원가입 기능을 개발하는 도중에 발생하였다. 에러 의미부터 해석하자면 테이블의 제약조건에 위반된 쿼리를 날리려고 했다? 정도로 해석 할 수 있다. 그래서 나는 열심히 로그를 봤다. (로그의 가독성을 위해서 쓸데없는 시간같은 내용은 잘랐다) insert into member (gender,id,name,password,phone,role,member_id) values (?,?,?,?,?,?,?) insert into member (gender,id,name,password,phone,..
mysql, maria db 한글 깨짐 오류 :: ??? 및 %ef%bf%bd 깨짐
·
개발 공부 일기장/DBMS Develop
개요 오늘도 회사에서 어김없이 서버 개발을 하던 도중 웹페이지에서 한글이 깨지는 오류가 발생했다. 원래 알고 있던 오류지만 보안관리 웹페이지 특성상 한글을 잘 사용하지 않을뿐더러 우선순위에서 계속 밀려왔기에 이제서야 급하게 해결하려고 했다. 디버깅 과정 일단 크게 구분점을 잡는다. 웹페이지에는 보통 3개의 지점이 있는데 바로 프론트엔드, 백엔드, 데이터베이스이다. 프론트엔드가 제일 의심되어 로그를 찍어보았지만 프론트엔드는 그저 백엔드에서 보내주는 깨진 값을 출력해줄 뿐이였다. 자바로 되어 있는 백엔드 코드에서도 로그를 찍어보았지만 계속 깨진채로 출력이 되었다. 그렇다면 남은 지점은 데이터베이스뿐이다. 의심이 가서 첫번째로 시도한 방법은 DB 인코딩 확인이였다. 근데 DB 인코딩은 utf8mb4로 아주 아..