인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
Language/Java

☕ 람다식 리팩토링 하기 (Comparator 축약 원리)

Comparator 람다식 리팩토링 해보기 다음은 실제로 자바 프로그래밍에서 배열을 정렬(sort) 할때 사용되는 Comparator 인터페이스 사용 예제이다. Apple 클래스가 있고 생성자 인자로 사과의 무게(weight)값을 받는다. 그리고 실행부에서 배열로 사과 객체를 담고, 사과 무게에 따라 배열 요소들을 정렬하려고 한다. 이를 코드로 구현하면 아래와 같이 구현할 수 있다. class Apple { private final int weight; // 사과 무게 public Apple(int weight) { this.weight = weight; } public int getWeight() { return weight; } @Override public String toString() { ret..

category_image
인파_
2023.03.31
(0)
Language/Java

☕ 함수형 인터페이스 표준 API 총정리

함수형 인터페이스 표준 API 함수형 인터페이스(functional interface)는 추상메서드가 1개만 정의된 인터페이스를 통칭하여 일컫는다. 이 인터페이스 형태의 목적은 자바에서 람다 표현식(Lambda Expression)을 이용해 함수형 프로그래밍을 구현하기 위해서 이다. // @FunctionalInterface 어노테이션을 인터페이스에 붙여주면, // 두 개 이상의 메소드 선언 시 컴파일 오류를 발생시켜 개발자의 실수를 줄일 수 있다. @FunctionalInterface public interface Animal { public void method(); } 그런데 곰곰히 생각해보면 함수의 형태(Signature)는 다양하다. 함수의 리턴 값이 있을수도 없을수도 있고 매개변수 갯수가 1개..

category_image
인파_
2023.03.28
(0)
Language/Java

☕ 람다 표현식(Lambda Expression) 완벽 정리

람다 표현식 (Lambda Expression) 람다 표현식(lambda expression)이란 함수형 프로그래밍을 구성하기 위한 함수식이며, 간단히 말해 자바의 메소드를 간결한 함수 식으로 표현한 것이다. 지금까지 자바에서는 메서드를 하나 표현하려면 클래스를 정의해야 했다. 하지만 람다식으로 표현하면 메서드의 이름과 반환값을 생략할 수 있고 이를 변수에 넣어 자바 코드가 매우 간결해지는 장점이 있다. 아래 그림에서 보듯이 int add(int a, int b) {} 메소드 표현식을, 메서드 타입, 메서드 이름, 매개변수 타입, 중괄호, return 문을 생략하고, 화살표 기호를 넣음으로써 코드를 혁명적으로 함축했음을 볼 수 있다. 이러한 특징으로 람다식을 이름이 없는 함수 익명 함수(anonymous..

category_image
인파_
2023.03.27
(0)
개발 지식/CS 지식

👨‍💻 일급 객체(first-class object) 란?

일급 객체 란? 보통 자바의 람다 표현식(Lambda Expression)을 배우다 보면 '일급 객체' 라는 단어를 접하게 되는데, 뜻을 아무리 봐도 대체 무얼 말하는 건지 와닿지 않을 것이다. '일급' 이란 뜻은 일급 시민 처럼 무슨 혜택을 받는 다는 뜻이 아니라, 사용할 때 다른 요소들과 아무런 차별이 없다는 것을 뜻한다. 그리고 보통 일급 객체를 아래 3가지 조건을 충족한 객체를 일컫는다. 모든 일급 객체는 변수나 데이터에 담을 수 있어야 한다. 모든 일급 객체는 함수의 파라미터로 전달 할 수 있어야 한다. 모든 일급 객체는 함수의 리턴값으로 사용 할수 있어야 한다. 일급 객체는 어떠한 특정 언어에 국한되는 문법 단어가 아니다. 프로그래밍 언어론의 개념으로서, 자바나 자바스크립트 외에 다양한 언어가..

category_image
인파_
2022.12.23
(0)
Amazon Cloud/API Gateway

[AWS] 📚 API Gateway 개념 & 기본 사용법 정리

API Gateway 서비스 API Gateway란 규모에 상관없이 API 생성, 유지 관리, 모니터링과 보호를 할 수 있게 해주는 서비스이다. 말 그대로 Client에서 server로 통신할 때 사용하는 많은 api들의 대문(게이트웨이)과 같은 역할을 한다고 보면 된다. 즉, API가 지나가는 통로인 셈이다. API Gateway를 이용하면 통합적으로 엔드포인트와 REST API를 관리할 수 있다. API 게이트웨이를 등록해주면, 모든 클라이언트는 각 서비스의 엔드포인트 대신 API Gateway로 요청을 전달하여 관리가 용이해 진다. 사용자가 설정한 라우팅 설정에 따라 각 엔드포인트로 클라이언트를 대리하여 요청하고 응답을 받으면 다시 클라이언트에게 전달하는 프록시(proxy) 역할을 하기 때문이다. ..

category_image
인파_
2022.08.03
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다(Lambda) 트리거 기본 사용법 (S3 / API Gateway)

Lambda 트리거 기능 람다 트리거란, 람다 함수를 실행할 수 있는 이벤트를 일컫는다. 간단하게 예를 들면, S3에 파일이 적재되면 이를 이벤트로 받아 람다 함수를 실행 할 수도 있고, 브라우저에 url을 치면 rest api로서 람다 함수를 실행 할 수도 있다. 이처럼 람다는 다른 AWS 서비스와 유기적으로 연동될 수 있다는 점에서 굉장히 파워풀 하다고 볼 수 있다. 람다 함수를 테스트할때 눌렀던 테스트 버튼 역시 람다 트리거의 일종이라고 볼 수 있다. 람다 트리거는 다음과 같이 변화나 호출 같은 이벤트가 발생할 경우 함수 코드가 돌아가게 하여 값을 반환하게 할 수 있다. 데이터변화 : DB 데이터가 바뀌면 람다 함수 실행 API Endpoint와 결합을 시켜서 직접 또는 Endpoint로 호출 리소..

category_image
인파_
2022.05.13
(0)
Amazon Cloud/Lambda

[AWS] 📚 람다(Lambda) 개념 & 사용법 💯 총정리

AWS Lambda AWS 람다(Lambda)는 서버리스 컴퓨팅 FaaS 상품이다. 서버리스란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델이다. 즉, 클라우드 제공업체가 서버 인프라에 대한 프로비저닝, 유지 관리 등을 대신 처리해주기 때문에, 개발자는 조금 더 비즈니스 로직 작성에만 집중할 수 있게 된다. [WEB] 🌐 서버리스(ServerLess) 개념 💯 정리 (BaaS / FaaS) 서버리스 아키텍쳐(Serverless) 란? 서버리스(Serverless)는 직역하면 "서버가 없다"라는 뜻이 된다. 하지만 정말로 서버가 없는 것을 뜻하는게 아니다. 서비스를 하는데 있어 어찌되었든 저장소는 필 inpa.tistory.com 다시 본론으로..

category_image
인파_
2022.05.13
(0)