일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- growpart
- push 403
- layout-dialect
- Telegram API
- docker node
- jdk upgrade
- spring boot
- jenkins bitbucket
- jenkins window
- docker
- modelmapper
- DynamoDB
- AWS
- docker app
- 개발서버
- 고정 아이피
- telegram
- 알림톡
- QureyDsl
- NoArgsConstructor
- thymeleaf
- 비즈뿌리오
- 카카오 알림톡
- EC2
- Kotlin
- 윈도우 개발서버
- springboot
- NoSQL Workbench
- querydsl
- rbenv
- Today
- Total
목록백엔드/SpringBoot (17)
givepro
Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel 최근 기존에 잘되고 있는 프로젝트를 다시 클론 받아서 build 해보려는데 오류가 발생했다. 검색을 해보니 코틀린의 경우 JDK 16버전 이상인 경우 오류가 발생하는 문서가 있었고.. 링크 JDK 16 - e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel When running a kotlin compilation with JDK 16 (targeting language level 8), I se..
특정 통계 페이지에서 과거 날씨 정보가 필요하여 공공데이터의 날씨 데이터를 활용 할 수 있도록 해봤습니다. 지금 작성하는 기준은 당시 프로젝트의 비즈니스 로직에 따라서 진행하다보니 효율적이지 않을 수도 있습니다. 참고해주세요. 1. 날씨 Entity 생성 /** 생략 **/ public class WeatherSimpleInfo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; public Integer day; public Integer year; public String month_1; public String month_2; public String month_3; public String month_4; publi..
프로젝트를 하면서 오래된 버전의 프로젝트가 있었는데 버전을 올리고 싶었습니다. (버전이 낮아서 진행하고자 했던 부분이 막혔던 기억) 그래서 버전 마이그레이션을 경험하고자 진행했던 내용을 기록해두었습니다. 1. QueryDsl 4.3.1 → 5.0.0 변경시도 - 빌드 문제없음 - jar 실행 잘되 추가 확인된 내용 - 인텔리제이 2019.X 사용: 그레이들 플러그인 “com.ewerk.gradle.plugins.querydsl” 사용 - 인텔리제이 2020.X 사용: 그레이들 annotationProcessor 사용 (단 gradle 버전 5 이상 사용) 2. gradle 4.10.2 → 6.9.2으로 변경 참고내용 - 스프링 부트 2.3 부터 그레이들 6.3+ 이상을 요구한다 - NoClassDefFo..
안녕하세요. 이번 포스팅에서는 JPA Specification에 대해서 다루고자 합니다. Spring JPA Specification Spring JPA에서 제공하는 검색 조건을 메서드 형태로 추상화하여 Repository 인터페이스에서 해당 검색 조건을 조합하고 쿼리하기 쉽게 할 수 있는 기능입니다. WHY? 여러 조건에 대해서 JpaRepository로 구현했을때 복잡해지고 보기 힘들어지는 코드 List findAllByHelloIdAndViewerTypeCodeAndDeletedFalseAndValidTrueOrderBySeqAsc(Long helloId, String viewerTypeCode); 위 코드를 보기만해도 머리가 아파지는 느낌이다. (도대체 무슨 조건이 저렇게 많나 싶은) 물론 간단한..
DTO란? Data Transfer Object의 약자로, 계층 간 데이터 전송을 위해 도메인 모델 대신 사용되는 객체이다. 이때, 계층이란 Presentation(View, Controller), Business(Service), Persistence(DAO, Repository) 등을 의미한다. DTO는 순수하게 데이터를 저장하고, 데이터에 대한 getter, setter 만을 가져야한다고 한다. 위키피디아에 따르면 DTO는 어떠한 비즈니스 로직을 가져서는 안되며, 저장, 검색, 직렬화, 역직렬화 로직만을 가져야 한다고 한다. 직렬화는 DTO를 Byte, Json, Xml 등의 형태로 변환하는 것을 의미한다. 역직렬화는 그 반대를 의미한다. 도메인 대신 DTO를 사용하도록 한다. (외부 노출 방지, ..
프로젝트를 진행하다보면 멀티 모듈로 분리되어있는 프로젝트를 개발/운영하는 경우가 있다. 멀티모듈의 경우 설정파일이 각 모듈 마다 내용이 다르므로 초기 셋팅에 어려움이 있었다. 나의 경우 기존 프로젝트에서 querydsl 적용 시 오류가 있어서 수정하는 케이스였는데 진행하면서 이 부분은 정리를 해야겠다고 생각이 들어서 끄적끄적,, 🥲 그러면 시작전에 QueryDsl에 대해서 간략하게 설명을 먼저 해보겠다. QureyDsl이란? Spring Data JPA가 기본적으로 제공해주는 CRUD 메서드 및 쿼리 메서드 기능을 사용 → 원하는 조건의 데이터를 수집하기 위해서는 필연적으로 JPQL을 작성 → 간단한 로직을 작성하는데 큰 문제는 없으나, 복잡한 로직의 경우 개행이 포함된 쿼리 문자열이 많아짐 더보기 JP..
들어가면서 iOS APP 심사 중 아래와 같은 사유로 심사 리젝 응답을 받았다. 💡 Upcoming Requirement Reminder Note: This is a support message regarding upcoming requirements that may be relevant for your app. Starting June 30, 2022, apps submitted to the App Store that support account creation must also include an option to initiate account deletion. We noticed this app may support account creation. If it does not, you may disr..
여기서 설명하는 내용은 인앱결제 개발 가이드를 먼저 확인 후 진행하는 것을 추천합니다. 인앱결제에 대한 프로세스를 모르고 개발을 진행하기에 어려운 부분이 있을 수 있기 때문입니다. 서버 개발환경은 아래와 같습니다. spring boot 2.1.3 gradle jdk 1.8 인앱결제 검증을 위한 서버의 프로세스는 아래와 같습니다. Client App에서 결제한 영수증 데이터를 서버로 전달 전달받은 영수증 데이터를 각 플랫폼에 검증 요청 검증 결과에 따라서 서버에서 주문정보를 업데이트 주문정보 업데이트 후 Client App으로 결과를 리턴 그렇다면 구글과 애플에서는 인앱결제 영수증 데이터를 어떻게 검증하는지 각각 보도록 합시다. Google 구글의 검증방식은 구글 클라우드 플랫폼에서 발급받은 엑세스 키를 ..