앞에서 엑셀 모듈을 사용하여 암호화하는 방법을 공유했다. 이 과정에서 해당 모듈을 빌드하여 로컬에서 테스트하고 싶다는 생각이 든다. 그 방법은 아래와 같이 공유해본다. 모듈을 빌드하기 Java + Gradle Nexus Repository를 사용 - 본 내용에서는 Nexus에 반영 전 로컬에서 테스트하는 방법을 공유할 예정 기타 gradle 정보는 아래를 참고할 것 // build.gradle plugins { id 'java-library' id 'maven-publish' id 'nebula.release' version '15.2.0' } group = 'devvkkid' java.sourceCompatibility = JavaVersion.VERSION_11 java.targetCompatibil..
엑셀 파일을 만들고 업로드/다운로드 기능을 만들었다고 가정하자. 다운로드 된 엑셀에 보안 강화를 위해 암호화를 하고 싶을 수 있다. 암호화하는 방법을 간단하게 공유해본다. 환경은 아래와 같다. 엑셀 모듈 엑셀 기능이 커스터마이징된 모듈을 별도로 개발하는 것을 가정함 Java + Gradle org.apache.poi (자세한 사항은 아래 dependencies 참고 // build.gradle dependencies { implementation 'org.jsoup:jsoup:1.15.3' implementation group: "org.apache.poi", name: "poi", version: "4.1.2" implementation group: "org.apache.poi", name: "poi-..
매일 특정 시간마다 알림톡을 발신하는 기능을 만들려고 한다. 스케줄러 역할에는 AWS의 EventBridge를 사용했고 이벤트 메세지 발신용도로 SQS를 사용했다. 개발 환경은 아래와 같다. Kotlin 플러그인 버전 1.7.22 스프링부트 3.0.5 id("org.springframework.boot") version 3.0.5 JDK 17 java.sourceCompatibility = JavaVersion.VERSION_17 MySQL, JPA, QueryDSL 기타 id("io.spring.dependency-management") version 1.1.0 지금부터 소개할 내용들은 아래 자료를 참고하였다. 소개할 내용들이 이해가 가지 않는다면 아래 자료를 읽어볼 것을 권장한다. AWS SQS + ..
스프링에서 Mock을 활용한 테스트를 할 때, Mockito를 가장 많이 사용할 것이다. 그리고 검증 로직을 만들 때 호출 횟수 기준으로 테스트 코드를 짜는 경우가 있다. // when userService.create(userSignUpRequest) // then verify(userRepository, times(1)).save(any()) verify(emailSender, only()).send(any(), any()) 처음에는 2가지 모두 1회만 사용한다는 점에서 동일한 용도가 아닐까 했다. 즉 아래와 같다. // userRepository라는 Mock bean은 save를 1회만 호출한다 verify(userRepository, times(1)).save(any()) // emailSende..
ChatGPT의 파괴적인 영향력으로 인공지능 관련 뉴스를 안보는 날이 거의 없다. 동시에 관련한 서비스와 도구들도 계속 쏟아져나오고 있다. 그런 와중에 내가 사용하고 있거나 관심을 끄는 도구 4개를 소개해보려고 한다. ChatGPT for Google Google 이용이 잦은 분들이라면 이미 사용하고 있는 분들이 많을 것으로 보인다. ChatGPT for Google은 구글에서 검색했을 때 해당 검색 키워드를 ChatGPT에 입력하여 구글 검색 결과 화면의 여백에 ChatGPT 답변도 같이 출력해준다. 신기한건, 어떤 원리인지는 모르겠으나 네이버나 DuckDuckGo, Kagi같은 다른 검색 서비스에서도 동작한다는 점. 복잡한 키워드 검색이 많은 사람이라면 유용하게 쓸 수 있을 것이다. Universal..
Comment