오픈소스 가이드[JasperReports] #1 Jasper studiojava 기반의 무료 문서생성 라이브러리. 디자인 툴을 제공하여 편리하게 문서 템플릿을 작성할 수 있다. 서버 기반의 pdf 렌더링이 가능하여 서버에서 특정 문서를 생성하여 클라이언트에 pdf 형태로 제공이 가능하다. pdf 변환은 itext 를 이용하는데, 2. 버전을 사용하여 AGPL 라이센스 제약이 없는 것으로 보인다. 오즈의 경우, OZ e-form 을 통해 문서뷰어를 통해 입력과 출력이 모두 가능하지만 제스퍼는 문서뷰어를 통해 입력을 서버로 전달하는 기능은 없다. jasperreports 구성요소 jasperReports server : jasperReports library : 자바 라이브러리 jasperReports studio : 디자인 개발도구, authoring tool jasper s..더보기
SW 공부[JPA] OneToOne 테이블 설계와 JPA 매핑테이블 설계 주어진 테이블은 사람테이블, 주소테이블 이고 사람테이블이 접근을 많이 하는 테이블이다. 현재는 1:1 관계이지만 사람:주소=1:N 으로 확장될 가능성이 존재한다. 1:1 로 매핑되는 테이블에서 FK를 어디에 둘것인가? 참고 https://ict-nroo.tistory.com/126 JPA 매핑 일반적인 경우와 마찬가지로 FK를 가지고 있는 연관관계의 주인 엔티티에서 OneToOne 단방향 매핑을 할 수 있다. 매핑된 테이블에서 mappedBy 를 이용하여 양방향 매핑도 가능하다. 지연로딩 FK를 가진 곳에서는 FK에 값이 있으면 연관관계 멤버에 프록시객체를 넣어주고 없으면 null을 넣어줄수 있지만 FK가 없는 반대 엔티티에서는 DB를 조회해야지만 알수 있기때문에 초기값 세팅을 위해 항상 D..더보기
SW 공부[Jackson] 상속관계 deserializing@JsonTypeInfo 인터페이스나 추상클래스를 이용하여 다형성을 구현한 경우, 실제 클래스가 무엇인지 알려주는 설정을 하는 어노테이션 json type 이라는 메타정보를 생성하여 사용하고 이 메타정보는 json 에 추가 프로퍼티로 들어간다. 이 추가 프로퍼티는 직렬화에 관여되지 않는다. 속성으로 ID, AS, property 를 갖는데, 이것은 사용예시를 보면서 하나씩 보자. 1. @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS) // @class 라는 추가 프로퍼티가 생기고 패키지.클래스명으로 값이 자동으로 세팅됨 // @JsonSubTypes 을 안줘도 자동으로 서브 클래스를 등록한다.(이건 확인 필요) @JsonTypeInfo(use = JsonTypeInfo.Id.C..더보기
트러블슈팅[Aws] s3 메타데이터 설정하기s3 메타데이터 설정하기 s3 의 파일을 브라우저에 직접 입력하면 바로 다운로드가 된다. 이유는 아무 설정하지 않은 경우 업로드 된 객체의 메타데이터 content-type 이 application/octet-stream 이기 때문이다. 이 메타데이터는 s3 객체 다운로드를 요청하면 그대로 response header 로 전달된다. pdf 파일의 경우, 내장 pdf 뷰어를 사용하기 위해 객체 업로드 할때 또는 업로드 이후에 aws 콘솔에서 메타데이터를 조절한다. 방식 메타데이터 설정 비고 다운로드 우선 Content-Type: application/pdf Content-Disposition: attachment; filename="filename.jpg" pdf 뷰어를 이용하기 위해 application..더보기
오픈소스 가이드[JasperReports] #2 한글폰트 설정pdf 로 한글을 출력하려면 한글폰트를 pdf 에 embed 해야한다. Jasper studio 에서 미리보기 할 때는 한글이 잘 나오지만(아마 os에 설치된 폰트를 가져오는 듯) pdf 로 출력해보면 한글이 출력되지 않는다. Jasper studio 에서 템플릿 개발할 때 폰트를 설정하는 방법과 spring 에서 폰트 설정 하는 방법을 알아본다. jasper studio 한글폰트 설정 1. Jaspersoft Studio - preferences - fonts - add 2. 다음과 같이 입력 Family Name : 나눔고딕 TrueType : 로컬경로/NanumGothic.ttf PDF Encoding : Identity-H Check Embed this font in PDF document 3. ..더보기