오픈소스 가이드[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 공부[Kotlin] 코루틴 기초kotlinlang.org/docs/coroutines-overview.html Coroutines - Help | Kotlin kotlinlang.org 코루틴에 앞서 suspend 함수 - suspend fun 은 중단점(다른 suspend fun 호출)을 가지는 함수, 중단점이 없다면 suspend fun 의 의미가 없을듯 - 보통의 함수는 시작하고 1번만 반환한다. - suspend fun 은 코루틴 안에서 동작할 때 중단점에서 반환되고 다시 중단점 이후부터 실행되고를 반복한다. - suspend fun 은 컴파일에 의해 Continuation passing style 로 변환된다. 별다른건 아니고 일반적인 코드형태 - suspend fun 의 마지막에 continuation 이라는 인터페이스를 ..더보기
트러블슈팅[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..더보기
SW 공부[Ssh] ssh 키를 이용하여 로그인하기ssh를 이용하여 서버에 연결하기 위해서는 id/pw 또는 key 가 필요하다. 아래에서는 key를 생성하고 교환하는 방식에 대해 알아본다. 1. key 생성 windows 에서는 puttygen, ubuntu 에서는 ssh-keygen 으로 공개키와 개인키 세트를 생성할 수 있다 개인키는 클라이언트가 공개키는 서버가 가진다. $> ssh-keygen // 이후 스크립트 설명에 따라 생성, 모르면 그냥 엔터하면 기본값으로 생성 2. 공개키 전송 $> scp ~/.ssh/id_rsa.pub 사용자ID@서버명:id_rsa.pub aws ec2 생성시에는 aws에서 키페어를 만들고 개인키는 다운로드 받고 공개키는 인스턴스의 authorized_key에 자동으로 들어간다. 3. authorized_keys 에 ..더보기
트러블슈팅[Gradle] 라이브러리 버전 충돌(버전이 여러개인 경우)(kotlin 사용중) 문제 갑자기 jackson objectMapper 가 제네릭 타입추론을 못한다는 에러가 발생함 변경점은 build.gradle 에 jasperreports 의존성만 추가한 것 밖에 없었다. 원인 찾기 실제 다운 받은 라이브러리 확인 jackson.core 가 버전이 3개나 된다. 뭔가 현재 프로젝트에 원하지 않은 라이브러리까지 추가된거 같다. 그렇다면 현재 사용중인 jackson.core 는 무엇인가? gradle dependencies.tree 를 확인하면 된다. intellij 를 먼저 이용해보자. Gradle 윈도우 - 원하는 프로젝트 - Show Dependencies... 뭐가 엄청 많이 나오니까 cmd+f 로 찾자 그리고 계층구조를 잘 보기 위해서 Show Paths 를..더보기