본문 바로가기

전체 글160

[Spring] 스웨거 안되는 버전이 너무 많아요! 스웨거 버전이 다양해서 찾기가 어려웠다.  // build.gradle.ktsimplementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0") 2023년 12월 31일 기준 가장 최신 버전은 위와 같다. 추가적인 `SwaggerConfig`나 `@EnableSwagger2` 등의 설정 없이 바로 `~/swagger-ui/index.html`로 사용 가능하다.    최신 버전은 아래에서 확인해주세요!https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui    이후 스웨거 UI가 마음에 안들어서 `ReDoc`으로 UI를 커스터마이징 했다. 2023. 12. 31.
오른쪽 Command 키로 한영 변환하기 오른쪽 Command 키로 한영 변환하기 요즘 들어 Caps Lock을 강하게 누르지 않으면 한영 변환이 잘 안되어 설정하게 되었다. 이렇게 하면 윈도우하고도 동일한 동작을 가져갈 수 있으니 편하다. 터미널에 순서대로 입력 1. hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc": 0x7000000E7,"HIDKeyboardModifierMappingDst": 0x70000006D}]}' 2. cd ~/Library/LaunchAgents/ 3. vi com.local.setting.key.remapping.plist 4. 아래의 .xml 파일을 붙여넣고 ESC -> :wq 입력으로 vi editor 종료 Label co.. 2023. 12. 31.
[Spring] > Failed to transform ~.jar to match attributes {artifactType=classpath-entry-snapshot, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}. FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':gateway:compileKotlin'.> Could not resolve all files for configuration ':gateway:detachedConfiguration1'. > Failed to transform common-0.0.1-SNAPSHOT-plain.jar to match attributes {artifactType=classpath-entry-snapshot, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}. > Execution failed fo.. 2023. 12. 26.
[Kotlin] 정적 팩토리 메소드 enum class IssueType { BUG, TASK; companion object { fun of (type: String) = valueOf(type.uppercase()) }}자바 느낌의 정적 팩토리 메소드  enum class IssueType { BUG, TASK; companion object { operator fun invoke(type: String) = valueOf(type.uppercase()) }}fun test() { IssueType("BUG")}코틀린에서 자체 지원하는 정적 팩토리 메소드  `.invoke`를 생략해도 위처럼 enum을 사용할 수 있다.// invoke 생략 가능IssueType.invoke.. 2023. 12. 26.
DynamoDB는 어렵다. DynamoDB의 장점 1. 일정하게, 매우 빠르다. 2. NoSQL이므로 스키마가 자유롭다. (초기 설계가 잘 되었단 가정 하에) 3. 무제한적인 DB 볼륨. 4. 온디맨드 방식으로 자유로운 오토 스케일링. 5. 서버리스. 6. 다른 AWS 서비스들 간의 조합 지원이 잘 되고 자유로움. 위 중 1, 4, 5, 6 장점에 입각하여 사이드 프로젝트에 DynamoDB를 사용해보려고 했다. 하지만 너무 제한 조건이 많았다. 가장 크게 다가온 단점들이 몇가지 있는데, 1. GSI 설정시 요금이 GSI 개수 만큼 n배로 증가. - 솔직히 이건 트래픽이 많지 않을 것이기에 그렇다치는데, 그럼에도 불구하고 내가 원하는데로 인덱스를 설정하지 못하는 것에 대한 불만이 있었다. GSI 최대 설정 개수가 20인데 과연 20.. 2023. 12. 24.