Hibernate의 엔티티의 기본 생성자를 활용하는 반면, Kotlin은 별도로 기본 생성자를 만들지 않기 때문이라고 한다. 이러한 불편함은 Kotlin 측에서 누구보다 잘 알것이기에 아래와 같은 플러그인을 제공한다. plugins { id("org.springframework.boot") version "3.2.3" id("io.spring.dependency-management") version "1.1.4" kotlin("jvm") version "1.9.22" kotlin("plugin.spring") version "1.9.22" kotlin("plugin.jpa") version "1.9.22" // 요 친구임! } 참고 JPA error in kotlin : Class 'Student' sh..
Scope Function이란? 코틀린의 stlib은 let과 run, with, apply, also라는 다섯 개의 scope function을 제공한다. 이러한 함수들은 모두 1. 주어진 객체와 함께 2. 블록의 코드를 실행하여 3. 결과를 반환한다는 공통점을 갖는다. scope function은 모두 코드를 간결하게 하고 가독성을 향상시키는 데에 의의가 있다. function obj ref returns let it lambda result run(Any.run 형태로 실행) this lambda result run(수신 객체 없이 실행) - lambda result with this lambda result apply this ctx obj also it ctx obj 선택 기준 상술한 Scope..
@ActiveProfiles("local") @AutoConfigureWebTestClient @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class CreateTaskHashTest: BehaviorSpec() { @Autowired private lateinit var client: WebTestClient init { // ...테스트 코드 작성 } } 요렇게 작성했는데도 NoSuchBeanDefinitionException이 뜨는 경우, 아래와 같은 dependency를 추가하자. // build.gradle.kts dependencies { // ...생략 implementation("org.springf..
CloudFront Signed URL을 만드는 과정에서, 문자열로 된 RSA Key를 아래와 같은 코드를 통해 java.security.PrivateKey 인스턴스로 변환하고자 했다. internal fun String.convertToPrivateKey(): PrivateKey { val keyData = this.replace("-----BEGIN RSA PRIVATE KEY-----\n", "") .replace("-----END RSA PRIVATE KEY-----", "") .replace("\n", "") val keyBytes = Base64.getDecoder().decode(keyData) val keySpec = PKCS8EncodedKeySpec(keyBytes) return Key..
- Total
- Today
- Yesterday
- mysql
- react
- JPA
- spring boot
- IntelliJ
- eureka
- 코딩테스트
- Java
- Git
- Docker
- Spring Cloud Config
- dev
- Node.js
- ffmpeg
- Puppeteer
- terraform
- pgloader
- AWS
- etc
- kotlin
- shell
- Gradle
- Database
- hashicorp
- Vault
- postgresql
- javascript
- AWS IoT
- Linux
- jQuery
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |