분류 전체보기 (129) 썸네일형 리스트형 Java 스트림 (Stream) 사용법 및 정리 1/3 (Map, Filter, FlatMap ..) 목차 · Stream이란? · Stream Pipeline · Filter · Map · Sorted · Distinct · FlatMap Stream이란? 스트림은 '데이터의 흐름'이다. 자바 8부터 추가되어 컬렉션(Collection) 형태로 구성된 데이터를 람다를 이용해 간결하고 직관적으로 처리할 수 있게 해 준다. For, while 등을 이용하던 기존 loop를 대체할 수 있다. 쉽게 병렬 처리를 할 수 있게 해 준다. 다음 예시는 문자열 데이터를 가진 Stream을 생성하고 List로 변환했다. Stream nameStream = Stream.of("Kim", "An", "Oh"); List names = nameStream.collect(Collectors.toList()); Stream P.. Java 메서드 참조란? 목차 · 메서드 참조란? · 메서드 레퍼런스의 4가지 케이스 · ClassName::staticMethodName · objectName::instanceMethodName · ClassName::instanceMethodName · ClassName::new 메서드 참조란? 람다 표현식이 단 하나의 메서드만을 호출하는 경우에 해당 람다 표현식에서 불필요한 매개변수를 제거하고 사용할 수 있도록 해준다. :: 오퍼레이터 사용한다. 생략이 많기 때문에 사용할 메서드의 매개변수의 타입과 리턴 타입을 미리 숙지해야 한다. 메서드 레퍼런스의 4가지 케이스 ClassName::staticMethodName : 클래스의 static method를 지정할 때 objectName::instanceMethodName : .. Java 8 함수형 인터페이스 이해하기 목차 · 함수형 인터페이스란? · 기본 함수형 인터페이스 · Supplier · Consumer · BiConsumer · Predicate · Comparator 이전 글에서 Java 람다 표현식과 함수형 인터페이스에 대해서 다뤘었다. 함수형 인터페이스란? 함수형 인터페이스(Functional interface)는 1개의 추상 메서드를 갖고 있는 인터페이스이다. Java에서는 기본적으로 java.util.function 패키지에서 여러 함수형 인터페이스를 제공한다. 오늘은 기본적인 여러 함수형 인터페이스를 다뤄볼 것이다. 기본 함수형 인터페이스 기본적인 함수형 인터페이스에는 다음 인터페이스들이 있다. Supplier Consumer BiConsumer Predicate Comparator Supplie.. Java 람다 표현식과 Function Interface 목차 · 람다 표현식이란? · Function Interface와 람다 표현식 · BiFunction Interface · 커스텀 @FunctionalInterface 람다 표현식이란 람다 표현식이란 이름이 없는 함수 (Anonymous function)이다. Function Interface와 람다 표현식 함수형 인터페이스를 사용하는 이유는 자바의 람다식은 함수형 인터페이스로만 접근이 되기 때문이다. 람다 표현식을 살펴보기 전에 자바에서 제공하는 Function Interface를 보면 다음과 같다. Function 인터페이스는 java.util.function 패키지에 있으며, T라는 타입의 인풋을 받아 R이란 타입을 반환하는 apply 메서드를 가진다. package java.util.functio.. Java 8과 함수형 프로그래밍 목차 · 선언형 프로그래밍 · 왜 함수형 프로그래밍인가? · 1급 시민으로서 함수 함수형 프로그래밍이란 객체지향 프로그래밍과 같은 프로그래밍 패러다임중 하나이다. 먼저 함수형 프로그래밍의 기반을 이루는 개념인 선언형 프로그래밍을(declarative programming)을 알아보자. 선언형 프로그래밍 프로그램으로 시스템을 구현하는 방식은 크게 두 가지로 구분할 수 있다. 명령형 프로그래밍과 선언형 프로그래밍 명령형 프로그래밍은 작업을 '어떻게' 수행할 것인지에 집중한다. 반면 선언형 프로그래밍은 '무엇'에 집중한다. 내부 구현 방법은 라이브러리가 결정한다. 두 방법이 무슨 차이가 있는지 의문이 들 것이다. 예시를 보자 예를 들어 유저 리스트에서 나이가 가장 많은 유저를 가져오는 상황에서 명령형 프로그래.. AWS Lambda와 MediaConverter를 사용해 Vod 스트리밍 서비스 개발하기 AWS Lambda와 MediaConverter를 사용해 HLS Vod Steaming을 서비스를 개발해보겠습니다. 목차는 다음과 같습니다. 전체적인 구조 Adaptive Bitrate Streaming에 대해서 1. IAM 역할 만들기 2. S3 설정하기 3. Lambda 만들기 영상 업로드 및 변환 테스트 크롬에서 m3u8 파일 실행하기 전체적인 구조 클라이언트가 S3에 비디오 파일을 업로드합니다. 비디오가 입력 버킷에 업로드되는 즉시 Lambda 함수를 트리거합니다. 람다 함수는 인풋 파일, 설정, HLS 아웃풋 그룹 등의 설정을 토대로 Job을 생성하고 MediaConverter를 실행합니다. MediaConverter는 전달받은 Job을 토대로 HLS 파일로 트랜스 코딩을 진행합니다. 변환된 파.. [AWS] Spring Boot 와 멀티파트 업로드를 사용해 S3에 대용량 파일 업로드하기 이전 글에서 SpringBoot에서 S3로 파일(이미지, 동영상) 업로드하는 기능을 개발했습니다. [AWS] Springboot에 AWS S3 연동 (이미지, 동영상 업로드) 안녕하세요? 이번 시간엔 SpringBoot & AWS S3 연동하기를 진행해보려고 합니다. 따라 하시기만 해도 로컬에서 이미지, 동영상 파일 업로드가 가능하고, EC2에 배포한 환경에서도 파일 업로드가 가능 develop-writing.tistory.com 하지만 위 방식은 크게 두 가지 문제가 있습니다. 1. 대용량 파일을 업로드할 때 시간이 많이 걸립니다. 필자가 EC2 t2.small에서 S3로 업로드 테스트할 시 1.3GB 동영상은 무려 90초가 걸렸습니다. 동일 환경에서 멀티파트 업로드 방식을 테스트 시 해당 시간을 50.. [AWS] Springboot에 AWS S3 연동 (이미지, 동영상 업로드) 안녕하세요? 이번 시간엔 SpringBoot & AWS S3 연동하기를 진행해보려고 합니다. 따라 하시기만 해도 로컬에서 이미지, 동영상 파일 업로드가 가능하고, EC2에 배포한 환경에서도 파일 업로드가 가능합니다. 코드는 Github에 있고, 함께 보시면 더 이해하기 쉬우실 것 같습니다. 목차 1. AWS S3 버킷 설정 2. AWS IAM User 생성 3. 로컬 환경 개발 4. 이미지, 동영상 업로드 결과 확인 5. 배포 환경에서 업로드 확인 1. AWS S3 버킷 생성 S3 버킷을 생성할 때 원하는 이름을 기입합니다. 첫 번째새 ACL(액세스 제어 목록)을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단 을 해제해서 객체를(이미지 파일) 업로드할 수 있게 합니다. 두 번째 의의 ACL(액세스.. 이전 1 2 3 4 5 ··· 17 다음