전체 글 381

[JAVA] zxing 활용해 QR코드 생성하기

Intro COVID 19 이후로 정말 많은것이 달라졌습니다. 하나하나 나열하기도 힘든 만큼 일상 생활 속에서 달라진 것 들이 많지만 그 중 하나의 기술을 뽑자면 QR 코드가 아닐까 싶습니다. 아주 오래전부터 있었지만 별다른 주목을 받지 못했고 그렇게 잊혀지는가 했는데 코로나로 인한 방문 기록, 전자문진표 등 조금씩 많이 쓰이는가 싶더니 카카오페이를 비롯한 여러가지 간편결제 서비스가 많아지면서 없어서는 안 될 기술이 되었습니다. 어플리케이션을 만들 때에도 곳곳에 QR코드를 활용 할 일이 많아졌는데요, QR코드 생성 한다면 크게 두가지 방법이 있습니다. 구글의 QR Codes API 에 요청 QR 코드를 작성하는 OpenSource를 활용해 로컬에서 생성 얼핏 보면 외부 API를 활용 하는게 간단해 보이는..

Programming/Java 2022.06.30

[JPA] No Dialect mapping for JDBC type: 1111

Intro JPA 사용 중 native 쿼리를 사용해야 할 일이 있어 nativeQuery = true 옵션을 걸고 쿼리를 작성 했습니다. 그런데 생소한 에러메시지가 나오며 UUID의 맵핑이 제대로 이루어지지 않았습니다. org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111 원인 https://github.com/spring-projects/spring-data-jpa/issues/1796 이미 오래전부터 알려져있었지만 고치지 않기로 결정 된 Hibernate 이슈 라고 합니다. Hibernate 구현체에서는 addScalar를 활용 하길 추천하지만 특정 구현체에 의존하지 않고 Spring Data JPA 를 이용할 경우에는 cas..

[Git] lightweight 태그와 annotated Tags

Intro 진행중인 프로젝트의 본격적인 버전 관리에 앞서 해당 스프링부트 어플리케이션에서 git 정보를 토대로 최근 커밋 해시값, 날짜, 버전(태그명) 등을 불러 올 수 있게끔 기능을 추가 해 두었습니다. 그런데 아무리 새로운 태그를 달아 주어도 이전의 태그명이 나오는 문제가 있었고 약간의 검색을 통해 그 차이가 lightweight 와 annotated 때문이었다는걸 알게 되었습니다. 분명 describe --tags 를 입력 할 때는 4.2 버전이 나오지만 git describe 만 입력 했을때는 가장 가까운 3.2 버전으로부터 128 번째 커밋이라는 정보가 나왔습니다. describe 명령은 커밋에서 도달 할 수 있는 가장 최근의 태그를 찾는데요, 태그가 커밋을 가리키는 경우에는 태그만 표시되지만,..

Development/Git 2022.06.27

[Ubuntu 20.04] 우분투 서버에 Plex 미디어 스트리밍 서버 구축기

Intro 집에서 와이프가 넷플릭스로 드라마를 보다가 스트리밍 서비스에 올라와있지 않은 영상은 애플티비로 볼 수 없는지 투덜대었습니다. 집에 남는 노트북에 우분투 서버를 올려 개인 서버 역할을 한지 어느덧 1년이 넘어가고 있는데, 그걸 이용하면 될 것 같아서 일단 된다고 대답을 했습니다. 그리하여 시작된 Plex 미디어 스트리밍 서버 구축기를 시작 해 보겠습니다. PLEX 설치 패키지 업그레이드 일단 시작에 앞서 모든 패키지를 업그레이드 해 줍니다. sudo apt update && sudo apt upgrade -y Plex 공식 저장소 등록 https://support.plex.tv/articles/235974187-enable-repository-updating-for-supported-linux-..

IT Computer/Linux 2022.06.25

[Spring Boot] git 정보 확인하는 endpoint 작성하기

Intro 서버에 현재 배포되어 있는 어플리케이션의 버전 정보를 표시 할 수 있는 방법이 있을까 고민을 해 보았습니다. 하나의 프로젝트가 여러개의 서버에서 각기 다르게 서비스 되고 있다 보니 해당 정보를 관리자 페이지에서 확인 할 수 있게끔 하면 좋겠다는 생각이 들었는데요. 방법이 있었습니다. git-commit-id-plugin 이라는 메이븐 플러그인을 활용하면 어렵지 않게 구현 할 수 있습니다. 아래는 Spring Boot 공식 매뉴얼에 작성된 관련 내용 입니다. https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/howto-build.html#howto-git-info 설정 Maven Dependencies pom.xml org..