본문 바로가기
반응형

Kotlin19

pre-signed url 사용하기, 일정 기간 동안 객체 다운로드 url 생성 https://docs.aws.amazon.com/AmazonS3/latest/userguide/example_s3_Scenario_PresignedUrl_section.html Create a presigned URL for Amazon S3 using an AWS SDK - Amazon Simple Storage Service This documentation is for an SDK in preview release. The SDK is subject to change and should not be used in production. docs.aws.amazon.com https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/S3OutpostsSh.. 2023. 10. 12.
[QueryDSL] stringTemplate, dateTemplate로 날짜 포맷 하기, 날짜 더하기 날짜 형식 변경할 때 select문에서 DATE_FORMAT 함수를 사용하려면 Expressions.stringTemplate("DATE_FORMAT( {0}, {1} )", 변경할 값, 변경할 날짜 형식) 예) createdAt 컬럼의 데이터를 "%Y-%m-%d %H:%i:%s" 형식으로 변경 fun date(cardNumber: String): String? { return queryFactory.select( Expressions.stringTemplate( "DATE_FORMAT( {0}, {1} )", createdAt, ConstantImpl.create("%Y-%m-%d %H:%i:%s") ).coalesce("") ).from(member).orderBy(member.id.desc()).f.. 2023. 7. 17.
[Querydsl] 멀티 DB(Multi DB) 설정 하기, DB 2개 이상 연결 1. application.yml 에 Datasource 추가 spring: datasource: driverClassName: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3306/{DB명} username: {DB user} password: {DB password} second-datasource: driverClassName: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3306/{DB명} username: {DB user} password: {DB password} 2. DataSource Configuration 1) 첫 번째 DB 설정 @Configuration @EnableTransact.. 2023. 7. 17.
[Spring Boot] Scheduled사용하여 특정 시간마다 동작하는 코드 구현 cron 특정 시간마다 동작하는 코드 구현 1. Main 클래스인 Application에 @EnableSchduleing 어노테이션 사용 @EnableScheduling @SpringBootApplication(exclude = [SecurityAutoConfiguration::class]) class Application fun main(args: Array) { runApplication(*args) } 2. 주기적으로 실행할 작업에 @Scheduled 어노테이션 사용 @Component class PaymentCancelScheduler{ @Scheduled(cron = "10 * * * * *", zone = "Asia/Seoul") fun claimChargingRequest() { printl.. 2023. 5. 19.
[Spring Boot] 스프링 부트 시작 - 프로젝트 만들기 1. 스프링 부트 스타터 사이트로 프로젝트 생성 https://start.spring.io/ 2. 프로젝트 선택 Spring Boot 버전은 SNAPSHOT 이 아닌 정식 릴리즈된 버전을 선택 압축을 풀고 intelliJ에서 open 기본 설정은 끝 2023. 2. 19.
ModelAndView에서 Thymeleaf 사용하기 컨트롤러에서 창을 제어하기 위해 ModelAndView를 사용하였다 1. data 전달 - controller @PostMapping("/model") fun modelTest():ModelAndView{ val modelAndView = ModelAndView() modelAndView.viewName = "board" modelAndView.addObject("data","12345") return modelAndView } templates에 board.html을 작성하여 페이지를 구성한다 - board.html bord.html에서는 data를 전달 받아 사용 2. 현재 열려있는 창을 닫는 기능도 구현 가능하다 - controller @PostMapping("/model") fun modelTes.. 2022. 12. 14.
QueryDSL select절에 subQuery 조회 join 하고 중복된 데이터를 제거하기 위해 select절에 서브 쿼리를 작성한다 fun findWithdrawMember(): List { return queryFactory.select( QWithdrawMemberList( member.id, JPAExpressions.select(memberToken.ipAddress).from(memberToken).where(memberToken.id.eq(member.id)).orderBy( memberToken.id.desc()).limit(1), member.createdAt.stringValue(), member.updatedAt.stringValue() ) ).distinct().from(member).leftJoin(memberToken).disti.. 2022. 12. 13.
[QueryDSL] 동적 쿼리 작성하기/BooleanBuilder, BooleanExpression 조건에 따라 쿼리문을 다르게 작성하고 싶을 때 쓰는 방법 - BooleanBuilder fun findDynamicQuery(name: String?, age: String?, phoneNumber: String?):List{ val builder = BooleanBuilder() if (!StringUtils.isNullOrEmpty(name)) builder.and(member.name.eq(name)) if (!StringUtils.isNullOrEmpty(age)) builder.and(member.age.eq(age)) if (!StringUtils.isNullOrEmpty(phoneNumber)) builder.and(member.phoneNumber.eq(phoneNumber)) return.. 2022. 12. 7.
Spring Boot REST API Key 만들어서 적용하기 특정 인증키를 사용하여 접근을 하도록 구현 APIKeyAuthFilter import org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter import javax.servlet.http.HttpServletRequest class APIKeyAuthFilter(private val principalRequestHeader: String) : AbstractPreAuthenticatedProcessingFilter() { override fun getPreAuthenticatedPrincipal(request: HttpServletRequest): Any { return request.g.. 2022. 11. 15.
반응형