AWS Lambda 를 작성하는 방법, 정확하게는 Serverless 의 API 를 작성하는 방법으로 SAM 을 사용한다. 그런데, SAM 을 이용해서 Runtime 을 Golang 으로 하려고 할 경우에 잘 안되는 경우가 발생한다. 2023년 말에 변화가 있었다. 이 문서는 위 문서의 내용을 요약한 것이다. Error: There are no Template options available to be selected. SAM 명령어를 이용해 Golang 런타임으로 생성할려고 하면 다음과 같이 오류가 발생한다. SAM 명령어에 옵션으로 –runtime go1.x 를 지정하면 위와같은 오류가 발생한다. AWS 공식문서에 따르면 이제 go1.x 는 없어졌다. 대신에 […]
sam build 시 SSL 접속 에러 해결 방
다음과 같이 sam build 시 SSL 접속 에러가 발생할 수 있다. 이럴때에는 실행하는 위치에 pip.conf 파일을 다음과 같은 내용으로 만든다. 그리고 이 파일에 대한 환경변수를 지정해 준다. 다시 sam build 를 수행하면 정상적으로 실행이 된다. 만일 컨테이너를 사용한다면 다음과 같이 하면 된다.
Collection Sort Lamba in Java
Java 8 이전에서 객체나 Map 같은 것을 정렬하기 위해서는 Collections 을 사용해야만 했다. 예를들어 다음과 같은 소스다. 하지만 Java 8 에 도임된 람다(Lambda) 를 사용할 경우에 이를 간단하게 해결할 수 있다. 더 나가 람다는 타입을 정의하지 않아도 된다. 컴파일러가 타입을 추론(Inferring) 하게 된다. 따라서 다음과 같이 간단하게 쓸 수 있다.
Java 8 람다 표현식
이 글은 다음의 Youtube 강의 내용을 요약 정리한 것입니다. Java 8 Lambda Basics – Java Brains 왜 람다(Lambda) 인가? 함수형 프로그램이 가능하다. 읽기 쉽고 간결한 코드 API 나 라이브러리 사용이 좀 더 쉽다. 패러럴 프로그래밍이 가능하다. 람다는 함수 자체를 값으롤 할당할 수 있는 Inline 함수처럼 표현된다. 람다 표현식(Lambda Expressions) 자바에서 메소드로 불리우는 함수 표현식은 대략 다음과 같은 형식을 갖는다.
1 2 3 |
public void greet(action) { action(); } |
Inline Values
1 2 3 |
String name = "foo"; double pi = 3.14 |
위 예제는 Inline Values 가 무엇인지 보여준다. 별다른 객체, 메소드의 도움이 바로 할당하는 형식이 바로 Inline […]