kotlin
-
# kotlin 꼬리재귀함수 tailrec 적용 하기kotlin 2024. 10. 15. 16:20
재귀함수는 그 효용성 보다도, 무한 루프등의 위험이 있다고 판단해서 개인적으로는 잘 쓰지 않는 기술이었다.물론 재귀함수 자체가 잘못되었다기 보다는, 그냥 내가 개인적으로 다루지 못할까봐 지레 겁먹고 하지 않았던 부분이 크다. 하지만,이번에 회사에서 실시간 항공 요금 조회 관련 프로젝트를 하는 과정에서 부득이하게 재귀함수를 사용해야 하는 일이 생겼다. 항공사 요금 조회를 위해 GDS (Global Distribution System)을 사용하고 있다.GDS에서 운임을 조회 하면 대략 이런 형태로 정보를 전달 해준다. (아래의 데이터는 예시를 위해 JSON으로 간략히 표시했으며, 실제 GDS는 SOAP xml 통신을 하는 것이 일반적임)[ {"airSegments": [ { "..
-
# Spring Dependency AWS SDK version 이슈kotlin 2024. 9. 13. 14:10
프로젝트 작업을 하다보면 의존성 추가는 자연스러운 일이고, 여러명이 협업을 하게 되면 작업자마다 필요한 의존성을 추가하는 일은 당연하다. 그랬는데, 이번에 문제가 된 부분은AWS cloud용으로 사용하려는 의존성들 간의 버전이 맞지 않아서 발생 하게 되었다. 0. 발단그러니까, 대충 AWS에서 S3와 Secrets manager를 쓰고 있었는데,갑자기 스테이지 배포에서 Secrets manager 디렉토리로 지정한 경로를 못찼는다고 난리가 난것이다. 분명 어제까지, 아니 이번 배포 전까진 잘 되었는데... 그래서 git commit을 뒤져본 결과s3관련 설정 변경 commit을 발견하게 되었다. 내용을 보니 다른 부분보다도 이 부분 # before build.gradle.ktdependencies { ..
-
ktor #1kotlin 2023. 5. 7. 18:52
* 해당 포스트의 목적 > Ktor를 사용해 본다. 끝. 거창한 이유는 없고, 일단 해보고 나서 장단을 비교하는게 맞을것 같다. - Ktor로 웹 만들어보기 1. 시작하기 공식 사이트에서 제공하는 문서 위주로 일단 따라가 보기로 한다. (https://ktor.io/) 공식사이트 기준에 따르면 Ktor를 시작하는 방법은 크게 3가지로 제공이 된다. * 인텔리제이에서 생성 * https://start.ktor.io 에서 프로젝트 세팅. (spring.io와 같은 듯 하다) * 그 외 code editor를 이용해 설정. (직접 gradle/ maven 빌드 세팅) 이 중 에서 나는 인텔리 제이로 생성을 시도한다. 있으니까. 2. 프로젝트의 생성 인텔리제이에서 프로젝트 생성 메뉴로 시도. 생성 메뉴에서 'K..