전체 글87 ORM(Object-Relational Mapping) ORM(Object Relational Mapping) ORM(Object Relational Mapping)이란, 객체지향 패러다임을 이용하여 데이터베이스로부터 데이터를 쿼리하고 조작할 수 있도록 해주는 기술이다. 즉, 객체와 데이터베이스를 연결(매핑)해주는 역할을 한다. ORM에 대해서 말할 때, 대부분의 사람들은 ORM 기술을 구현하는 '하나의' 라이브러리를 지칭하고 있는 것이다. 그러므로 '하나의' ORM('an' ORM)으로 표현하는 것이다. ORM 라이브러리는 우리가 사용하는 언어로 쓰인 완전히 평범한 라이브러리로, 데이터를 조작하기 위해 필요한 코드를 캡슐화 하고 있기 때문에 데이터를 조작하기 위해 더 이상 SQL 쿼리문을 사용하지 않아도 된다. 우리가 사용하고 있는 그 언어를 통해서 객체와.. 2023. 11. 8. [REST API] 페이징(Paging) 처리하기 지금 진행하고 있는 프로젝트에서, 처음에 내가 API 개발을 해줄 때 페이징 처리까지 다 해서 줬었더랬다.. 근데, 위에서 View 단에서 다 알아서 할테니 그냥 전체리스트를 넘겨달라고 하더라? ... 아니 View에서 알아서 처리한다고? 어떻게 한다는거지?? 내가 모르는 신박한 방법이 있나? 싶어 일단 군말없이 시키는대로 했다. 하지만 성능테스트를 위해 확인해보니 View에서 페이징를 위해 전체 리스트를 갖고와서 리스트에 넣어둔 뒤 페이지마다 10개씩 뿌려주는식 ㅋㅋㅋㅋ 예상은 했지만 정말로 이렇게 진행을 해놨더라. ㅜ ㅜ.... 결국 이슈로 제기해서 기존에 해줬던 방식으로 소스를 원복하였다. 잡소리가 길었다. 이 글을 읽으시는분들은 이런식으로 페이징처리 하지말기를... 원복하는김에 생각보다 페이징은 .. 2023. 11. 6. [REST API] Serializable 정말 구현해야 할까? 개발 완료 후 시간이 좀 남아돌아 다른사람들 소스를 보다보니 DTO에 죄다 Serializable 을 implement 해놨음.. 엇? 외부로 직렬화해서 내보내는건가? 싶어 확인해보다 내가 개념 정리하려고 쓰는 포스팅. 직렬화란?(Serializable) 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기한다. 시스템적으로 이야기하자면 JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술과 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 .. 2023. 10. 18. 파일다운로드 시 PDF 워터마크 처리하기 현재 진행하고 있는 프로젝트에서 나한테 말도 없이 파일다운로드 시 워터마크처리 하는걸 날 끼워 놓곤 던져줬다. 그것도 기간도 3일주더라 ㅋㅋㅋ 그래서 2일만에 해줬다. 그게 뭐라고 ㅋㅋㅋ 시간이 남아서 포스팅에 개발과정을 정리해보기로 했다. Spring Boot 3.1.x + Gradle + IntelliJ + OPENJDK17 RESTfulAPI AWS S3 Bucket 일단 PDF 파일을 다루기 위해 지원되는 라이브러리를 찾다보니 대표적으로 iText 를 제일 많이 이용하더라 나는 무료 버전인 iText5.5.13 버전을 이용하기로 하였다. 1. Gradle에 추가 implementation 'com.itextpdf:itextpdf:5.5.13' implementation 'com.amazonaws:.. 2023. 10. 17. 이전 1 ··· 12 13 14 15 16 17 18 ··· 22 다음