본문 바로가기

spring boot9

Object Storage 이미지 출력 안녕하세요. 이번 포스팅에서는 요즘 프로젝트에서 안쓸 수 없는 Object Storage에서 이미지에 접근하는 방법을 포스팅 하려고 합니다. 회사에서 지난 프로젝트의 경우 Cloud 환경의 NAS를 이용하여 각 서버에 마운트 시켜 파일을 관리를 했던 반면 이번 프로젝트는 Object Storage를 이용한 파일 관리를 진행하기로 해서 프로젝트를 진행하면서 발생했던 이슈에 대해서 해결하는 과정을 작성하도록 하겠습니다. 1. 전체 공개 파일과 public url 접근 Object Storage를 사용하면서 개발 초반에는 버킷에 모두 공개 권한으로 파일을 업로드를 하고 클라이언트에게 해당 버킷의 public 도메인을 이용하여 이미지 파일을 보여주는 방식으로 개발을 해왔습니다. ex) https://버킷명.kr.. 2023. 6. 9.
@Asnyc를 이용한 멀티 스레드 안녕하세요. 지난 포스팅에 이어서 이번에도 멀티 스레드에 대해서 포스팅을 하고자 합니다. 이번 포스팅에서는 지난 ThreadPoolTaskExecutor의 스레드 풀 설정과 @Asnyc 어노테이션을 이용한 비동기 멀티 스레드를 구현하고자 한다. @Asnyc란 - @Asnyc는 Spring framework에서 제공해주는 기능으로 비동기 처리를 하고 싶은 메소드 위에 붙여서 사용하면 된다. - 해당 어노테이션을 사용하기 위해서는 @EnableAsync을 필수적으로 같이 사용해줘야 한다. - @Asnyc와 @EnableAsync는 Spring AOP의 하나로 AOP 제약 사항을 받는다. 1. ThreadPoolTaskExecutor 설정 - 이전 포스팅에서 작성해두었던 설정 파일을 그대로 가져와서 @Enab.. 2023. 6. 8.
MyBatis 지난 포스팅에서는 jdbc와 jdbcTemplate에 대해서 간략 하게 다뤄봤다. 이번 포스팅에서는 java 개발에 있어서 가장 흔하게 사용하는 MyBatis를 다뤄보겠다. MyBatis란. - MyBatis는 SQL 쿼리와 Store Procedure의 매핑을 지원하는 퍼시스턴스 프레임워크이다. - 기존에 jdbc나 jdbcTemplate을 사용하는거에 비해 불필요한 중복 코드도 줄어든다. - Db Connection을 가져오고 PreparedStatement 객체를 생성 후 쿼리를 실행 시켜 ResultSet 객체로 결과값을 받아오는 일련의 JDBC 과정들이 Mybatis를 사용함으로써 더 간결한 코드를 작성 할 수 있다. (해당 과정은 지난 포스팅에서 확인 가능) - xml을 이용해 쿼리를 작성하여.. 2023. 6. 4.