본문 바로가기

분류 전체보기76

APIGateway 에서 람다로 데이터 전달하는 GET,POST 기본 템플릿 이번에는 AWS위에 구축한 간단한 서버리스(Serverless)에서의 팁 하나만 공유하려고합니다. 일단적으로 AWS 서버리스를 구축할 때 다른 것들을 추가하지만 기본적인 뼈대는 API Gateway Lambda 의 구조입니다. 여기 앞 뒤로 Cloud Front, Route53, DynamoDB, Cognito(Firebase Auth) 등을 붙일 수 있죠. Lambda 를 Api Gateway와 연동하는 과정은 다른 분들이 많이 올려두셨을 것이고요. Api Gateway에 전달된 데이터는 AWS 에서 또 다른 처리과정을 거쳐서 람다로 전달됩니다. 이 때, 몇 가지 방법으로 데이터를 조절할 수 있습니다. 일반적으로 API Gateway와 람다를 연결할 때 특별한 처리를 해주지 않으면 body에 해당하는 .. 2023. 10. 24.
yq 설치법 yq는 yaml 파일을 읽어오고, 파일의 내용을 수정할 수 있는 오픈소스입니다.(json 도 지원합니다.) go로 작성되어서 os에 상관없이 플랫폼에 맞는 종속성 없는 바이너리를 다운 받아서 사용할 수 있습니다. 인터넷이 되는 환경에서는 wget / snap / homebrew 등을 이용해서 설치 하면 됩니다. 혹은 직접 다운로드해서 사용하실 수 있습니다. ( https://github.com/mikefarah/yq/releases ) 리눅스 설치시에는 sudo 권한이 필요하실 수 있습니다. # MAC 에서 homebrew 이용해서 설치 brew install yq # linux에서 snap 이용해서 설치 snap install yq # linux wget 이용해서 설치 (실행 권한 부여 필요) wget.. 2023. 10. 13.
gson 라이브러리 사용시 NoSuchMethodError gson 라이브러리 사용시에 간혹 정상적으로 IDE 에서 컴파일이 되었음에도 불구하고 실제로 실행을 시키면 다음과 같은 에러를 표현하면서 실행이 안되는 경우를 만나게 됩니다. Error creating bean with name 'gsonBuilder' defined in class path resource ... java.lang.NoSuchMethodError: co m.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder; ... 이 경우에 몇 가지 기본적으로 Spring 또는 자바에서 사용하는 버전과의 호환성 체크가 필요합니다. 이런 호환성 체크를 피해가려면 알아서 maven 또는 gradle 이 적용할 수 있도록 버전 명시를 빼는 것.. 2023. 10. 5.
nginx 응답에 gzip 압축 설정하기 nginx 응답을 그대로 돌려보내주면 html 파일 등의 용량이 꽤 크게 리턴되는 것을 확인할 수 있습니다. 데이터를 주고 받을 때 압축된 형태로 전달하고 브라우저에서 풀어서 띄워주도록 처리하여 로딩/네트워킹을 줄이는 방식을 사용할 수 있습니다. 대표적인 방식이 gzip 이고 설정에는 매우 다양한 옵션이 있습니다. 더 좋은 설정은 여기저기 찾아보려고 하고 있지만, 다음 설정까지만 해도 사용에는 큰 무리가 없었습니다. server { gzip on; gzip_static on; gzip_vary on; gzip_disable "msie6"; //msie6 이하는 지원하지 않는다고 합니다. gunzip on; gzip_types text/plain text/javascript text/css text/xml.. 2023. 9. 20.