java (25) 썸네일형 리스트형 Java 스트림 (Stream) 사용법 및 정리 2/3 (Reduce, Max, Min ..) 목차 · Max/Min/Count · All Match / Any Match · Find First / Find Any · Reduce 스트림 정리 1편에서 다뤘듯이 스트림 파이프라인이 있는데 이번 글에서는 종결 처리하는 부분에 대해 다룰 것이다. Max, Min, Count Optional max(Comparator 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)을 알아보자. 선언형 프로그래밍 프로그램으로 시스템을 구현하는 방식은 크게 두 가지로 구분할 수 있다. 명령형 프로그래밍과 선언형 프로그래밍 명령형 프로그래밍은 작업을 '어떻게' 수행할 것인지에 집중한다. 반면 선언형 프로그래밍은 '무엇'에 집중한다. 내부 구현 방법은 라이브러리가 결정한다. 두 방법이 무슨 차이가 있는지 의문이 들 것이다. 예시를 보자 예를 들어 유저 리스트에서 나이가 가장 많은 유저를 가져오는 상황에서 명령형 프로그래.. 스프링으로 파일 업로드 구현하기 - MultipartFile 인터페이스 스프링은 MultipartFile이라는 인터페이스로 멀티파트 파일을 매우 편리하게 지원합니다. SpringUploadController @Slf4j @Controller @RequestMapping("/spring") public class SpringUploadController { @Value("${file.dir}") private String fileDir; @GetMapping("/upload") public String newFile() { return "upload-form"; } @PostMapping("/upload") public String saveFile(@RequestParam String itemName, @RequestParam MultipartFile file, HttpSer.. Rabbitmq + SpringBoot 샘플 프로젝트 만들기 Rabbitmq 설치하는 방법은 이전 포스팅에서 확인할 수 있습니다. 이번에는 SpringBoot와 연동해 queue에 메세지를 보내고 queue에서 메세지를 가져오도록 해보겠습니다. 1. Rebbitmq를 실행합니다. $ rabbitmq-server 2. 소스코드를 다운받고 실행하면 됩니다. https://github.com/keepseung/rabbitmq-starter GitHub - keepseung/rabbitmq-starter: springboot에 rabbitmq를 연동한 스타터 프로젝트입니다. springboot에 rabbitmq를 연동한 스타터 프로젝트입니다. Contribute to keepseung/rabbitmq-starter development by creating an acco.. 코틀린[Kotlin] 기본 문법 1 (함수, 변수, 널 안전성) 아래 코틀린 코드는 play.kotlinlang.org에서 실행할 수 있습니다. 코틀린 공식 문서를 참고해 작성되었습다. Hello world package org.example.ki // 1 fun main() { // 2 println("Hello, World!") // 3 } Kotlin 코드는 일반적으로 패키지에 정의됩니다. 패키지를 명시하는 것은 선택 사항입니다. 소스 파일에 패키지를 지정하지 않으면 해당 내용이 기본(default) 패키지로 이동합니다. Kotlin 애플리케이션의 진입점은 메인 함수입니다. Kotlin 1.3부터 매개변수 없이 main을 선언할 수 있습니다. println은 표준 출력에 한 줄을 씁니다. println은 암시적으로 import됩니다. 또한 세미콜론을 표기하는.. Hello JPA!! 애플리케이션 개발하기 들어가며 이 포스팅의 내용은 «자바 ORM 표준 JPA 프로그래밍»을 참고하고 정리한 것입니다. 권장 환경은 다음과 같습니다. 자바 8 이상 Maven 사용 H2 데이터베이스 사용 인텔리제이 사용 Hello JPA 애플리케이션을 통해 간단히 CRUD 할 수 있는 서버 애플리케이션을 만들어보겠습니다. 라이브러리 추가 - pom.xml 4.0.0 jpa-basic ex1-hello-jpa 1.0.0 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.199 JPA 설정하기 - persistence.xml JPA 설정 파일 {프로젝트 디렉토리}/src/main/resources/META-INF/persistence.xml 위치함 p.. JPA 소개 및 JPA의 기본 동작 과정 들어오며 이 포스팅의 내용은 «자바 ORM 표준 JPA 프로그래밍»을 참고하고 정리한 것입니다. ORM(Object-relational mapping) 이란 Object-relational mapping (객체 관계 매핑) 객체는 객체대로 설계하고, 관계형 데이터베이스는 관계형 데이터베이스대로 설계한다. ORM 프레임워크가 중간에서 매핑해준다. 대중적인 언어에는 대부분 ORM 기술이 존재한다. ORM은 객체와 RDB 두 기둥 위에 있는 기술 이다. JPA(Java Persistence API) 란 현재 자바 진영의 ORM 기술 표준으로, 인터페이스의 모음이다. 즉, 실제로 동작하는 것이 아니다. JPA 인터페이스를 구현한 대표적인 오픈소스가 Hibernate라고 할 수 있다. JPA 2.1 표준 명세를 .. 이전 1 2 3 4 다음