IT-개발17 Spring X JPA Setting (without persistence.xml) prologueJPA는 왜 쓰는 걸까요?> Entity 변경에 따른 SQL문 수정 없이 코드 수정으로 DB종속성을 없앨 수 있다는 장점.. 그리고 dialect를 통한 DB 종류에 따른 쿼리문을 신경 쓰지 않아도 되는 점이 매력적이죠.장점이 큰데 여전히 mybatis를 많이 쓸까요?> 쿼리 자유도를 따져보면 직접 생성한 쿼리로 처리 가능한 경우도 많고 통계 같이 복잡한 쿼리문은 JPA로 처리하기 힘들 수 있어요. learning-curve가 있는 기술이며 기존 쿼리를 완벽하게 대체하기는 어렵습니다. JPA가 편하고 훨씬 개발 속도가 빠른데 왜 mybatis 써요? 라고 하는 동료와 논쟁을 벌인 적이 있었습니다.1. 레거시 프로젝트들이 대부분 mybatis라서 유지보수하는데 복잡해짐.2. 회사에서 JPA.. 2024. 8. 2. mariaDB official image 사용하기 (for docker) prologue특별히 정리한 이유는? > 머릿속을 비우기 위해서..? 세팅은 한 번 하고 나면 다시 하는 기회가 적기 때문에 정리를. docker에 돌리는 mariadb 이지만 standalone으로 사용하는 것처럼. 관련 글 참조 : 2024.06.17 - [IT-개발] - docker - Docker 설치 (ubuntu) Image Pull (Docker) 도커를 설치하는 내용을 정리하면서 간단하게 Docker image를 pull은 했지만 자세한 설명은 적지 않았었습니다. mariadb 컨테이너를 생성하는 과정을 짧게나마 정리를 해두려고 합니다. 명령어는 아래와 같이 사용할 수 있습니다.#관리자 권한으로 실행(execute in administrator authorize) $ docker pull .. 2024. 7. 1. docker - Edit Container Environment Variables 생성된 컨테이너 환경변수 변경하기, 컨테이너 시스템 시간대 변경prologue(OracleDB로 테스트 중) 이건 시간대가 왜 안 맞는 걸까? > TZ가 GMT로 되어있나 본데? 쿼리로 변경하면 해당 세션만 적용되는데..컨테이너 생성 후에 환경 변수를 바꿀 수 없나? > 이거 지우고 다시 생성해야 되는 거 아니야? 그럼 테스트 데이터는...? 컨테이너를 다시 생성해야 하는 줄로만 알았죠.. Oracle DB를 이용해서 개발환경을 구축해서 쓰고 있었습니다.반복적으로 fetch 하는 쿼리에서 데이터가 추가되지 않았죠. 이상하다고 생각했어요. AND REQUEST_TIME 이 부분이 문제였어요. 입력된 시간은 제대로 입력됐는데 SYSDATE가 GMT로 찍히는 걸 확인해서..GMT+9로 바꾸려고 했지만 이건.. 2024. 6. 24. mariadb - connect engine으로 Oracle과 연결하기 (with instantclient, Windows) ** 2024-06-18에 내용을 추가했습니다. 지금 하고 있는 일은 잘 되지 못한 프로젝트를 건네받고 마무리하고 있는데..기존 시스템을 계속 쓰겠다는 이유로 기존 DB를 계속 조회할 수 있어야 했다. 여러가지 해결방안 조건 중에가장 손이 적게 가는 방법을 생각하던 중Federated 엔진에 대한 정보를 읽었던 게 생각이 났고 제안을 하게 되었다.계속 변하는 자료의 통계를 내기에는 실시간 + 공수절약(관련 개발자가 일을 안 함)을 생각하면 현재 상황에서는 최선이라 생각이 들었다. 참고로 federated는 같은 mariadb끼리 연결하는 엔진이었고connect엔진이 다른 DB와 연결할 수 있는 기능을 제공한다. 제안은 했지만다른 시니어 개발자는 mariadb가 못쓰게 될 수 있다는, 결함이 있다는 듯한 .. 2024. 6. 18. docker - Docker 설치 (ubuntu) prologue도커 싫어했던 이유는?> 굳이 왜 써야 하는지 이해가 안 됐습니다. 세부 설정하는 데는 오히려 standalone 설치가 편합니다. 심지어 쉽게 지웠다 썼다 하는 게 너무 소모적이라 생각해서 안 좋아했었다는..왜 쓰기 시작했죠?> 개발환경 구성이 너무 편했어요.. 덕분에 다기종 DB(mariadb, mysql, oracle, mssql, postgresql) 테스트를 쉽게 할 수 있었죠. (회사엔 MSSQL 등을 테스트할 환경이 없었음.. 이걸 된다고 넘겨서... ㅠㅠ)다른 장점은?> 윈도우에서는 WSL 서비스로 연결되니 시스템 내부(ex) Oracle)의 오염이나 자원관리를 좀 더 편하게 할 수 있어서 썼습니다.썼다 지웠다가 너무 쉬워서소모적인 시스템인 줄 로만 알았지..개발 환.. 2024. 6. 17. ubuntu - Ubuntu 24.04 server install Ubuntu 24.04 server install내가 하는 일은 수월하게 된 적이 없었어.이번에도 역시나.. 설치 할 PC 사양 (참고)[cpu] AMD Ryzen 5 5560U(10W)[ram] DDR4 8GB[nvme] Micron 2400 512GB (qlc) (노트북 구매 시 들어있던 거)[hdd] Seagate 2TB (노트북용)으로 root는 ssd에 boot를 올리고 hdd에 데이터(docker data)를 넣을 계획 Ubuntu 24.04 (LTS) 다운로드 공식 페이지 다운로드 : https://ubuntu.com/download/server https://ubuntu.com/download/server ubuntu.com에서 iso 파일을 받은 뒤부팅가능한 USB로 이미지를 넣어줍니다.. 2024. 6. 14. 미니PC - Beelink Ser5 Ryzen 5 5560U open prologue개발 때문에 이거 저거 설치해서 너무 느려지지 않았나? > 오드로이드 사서 Docker머신으로 써야겠네. 가격이 좀 나가는데 미니 PC랑 가격차이가 없네? > 그럼 미니 PC 사서 Docker머신으로 써야겠네.(아님) 원래 계획은 S-ATA 하드, nvme SSD가 남아서 이것 활용할 Docker 환경을 만들고 싶었다.. 하지만 오드로이드 H4+를 사려했지만 생각보다 비싸서 미니 PC쪽으로 눈을 돌리게 되었습니다.. 알리에서 알아보기로 하고 gmktec, beelink, firebat 등을 주로 알아보다가 SATA와 nvme를 쓸 수 있는 PC 중에 Intel N100+DDR5 / AMD 5560u+DDR4 시스템으로 좁혔습니다. 결국.. 티몬에서 10만 원 후반대에 구매했고 배송은 일주일.. 2024. 6. 10. springboot - Embedded Tomcat Cache 조정하기 prologue페이지가 자꾸 이상하게 뜨는데 왜 이럴까요?> 로그를 보니 Tomcat 로그에 cache관련 WARN이 많네요.. (이것 때문일까?)Tomcat Cache 크기 늘리는 건 금방 하죠?> 아니 누가 이걸 springboot 내장 톰캣으로 개발한 걸 그대로 올려놨어..(@*$&*#&%) 내장 톰캣을 거둬낼까..? 일반적인 Tomcat에서 Cache 설정하기일반적인 Tomcat의 환경에서는 어떻게 설정했을까? Tomcat 경로 내 conf/context.xml 파일 내부에 cachingAllowed true와 cacheMaxSize를 100MB 정도(cacheMaxSize는 KB 단위)만 넣어줘도 충분할 것 같았습니다.하지만 Embedded에서는 넣을 곳이 어디일까요..? 내장된 Tomca.. 2024. 5. 28. javascript - canvas context 이미지 열화 prologue이미지 편집하는데 이미지 열화가 왜 생기나요 > 몰?루 이미지를 편집하고 올리면 이미지 열화가 심하네요 ... 클레임을 받았다 하지만 여러 가지 이미지를 사용해서 편집하고 다운로드하여봤지만 문제가 없었다. 무슨 이미지 길래 그랬을까 이미지 공개 cropper.js라는 라이브러리를 사용해서 이미지 편집을 거치는 과정이 있었다. 사실 단순 crop 하는 정도의 내용이라 문제 될 게 없었고 화질 열화는 발견하지 못했다. 이 프로젝트는 오랜 시간 끌리다 보니 모든 사람들이 증오로 가득 찬 상태라서 그러한 짜증의 하나일 거라 생각했다. 그 이미지를 전달받기 전까지는. 이미지는 엑셀을 캡처한 후 보내는 내용이었다. (내용은 공개는 어렵기 때문에 문제가 있는 부분만 보여드립니다) 투정 부릴만했네.. 문.. 2024. 5. 16. 이전 1 2 다음