- [ Java ][JAVA] Stream API2021-02-24 18:10:47Java Stream Stream은 자바 8부터 추가된 기능으로 "컬렉션, 배열등의 저장 요소를 하나씩 참조하며 함수형 인터페이스(람다식)를 적용하며 반복적으로 처리할 수 있도록 해주는 기능"이다. (InputStream, OutputStream같은 I/O Stream이 아니다.) List names = Arrays.asList("jeong", "pro", "jdk", "java"); // 기존의 코딩 방식 long count = 0; for (String name : names) { if (name.contains("o")) { count++; } } System.out.println("Count : " + count); // 2 // Iterator 방식 long count = 0; Iterator ..
- [ Java ][JAVA] 람다식 (Lambda)2021-02-24 17:25:08람다함수란? 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다. 현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법입니다. 람다의 특징 람다 대수는 이름을 가질 필요가 없다. - 익명 함수 (Anonymous functions) 두 개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 될 수 있다. - 커링 (Curring) 익명함수? 익명함수란 말그대로 함수의 이름이 없는 함수입니다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있습니다. 이 일급 객체란..
- [ Java ][JAVA] NIO 패키지2021-02-24 16:48:381. NIO 소개 자바 4부터 새로운 입출력(NIO: New Input/Output)이라는 뜻에서 java.nio 패키지가 포함되었는데, 자바 7로 버전업하면서 자바 IO와 자바 NIO 사이의 일관성 없는 클래스 설계를 바로 잡고, 비동기 채널 등의 네트워크 지원을 대폭 강화한 NIO.2 API가 추가되었습니다. NIO.2는 java.nio2 패키지로 제공되지 않고 기존 java.nio의 하위 패키지(java.nio.channels, java.nio.charset, java.nio.file)에 통합되어 있습니다. 아래는 NIO에서 제공하는 패키지에 대해 간략히 설명한 표입니다. NIO 패키지 포함되어 있는 내용 java.nio 다양한 버퍼 클래스 java.nio.channels 파일 채널, TCP 채널,..
- [ Java ][JAVA] 자바7 자바8 차이2021-02-24 16:35:41Java7 String in Switch Swtich문 내에서 문자열 사용이 가능 Type Inference 제네릭 타입 파라미터를 선언과 생성시에 중복해서 써줘야 했지만 이제는 그럴 필요 없음 //Before Jdk 7 List primes = new ArrayList(); //Jdk7 List primes = new ArrayList(); Underscore in Numberic literal 실수, 정수형에 ‘_’ 문자열을 사용할수있음 int money = 1_000; int moneymoney = 100_000; Catching Multiple Exception Type in Single Catch Block 단일 catche 블록에서 여러개의 예외처리(Exception) 가능 NIO 2.0 패키..
- [ Java ][JAVA] 컬렉션(Collection) 정리2021-02-24 15:59:20Java Collections Framework(JCF) Java에서 컬렉션(Collection)이란 데이터의 집합, 그룹을 의미하며 JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렌션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. 다음은 Java 컬렌션 프레임워크의 상속구조를 나타낸다. Collection 인터페이스는 List, Set, Queue로 크게 3가지 상위 인터페이스로 분류할 수 있다. 그리고 여기에 Map의 경우 Collection 인터페이스를 상속받고 있지 않지만 Collection으로 분류된다. 인터페이스 구현클래스 특징 Set HashSet TreeSet 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. Lis..
- [ Java ][JAVA] Decial format(#,##0 / #,### / 0,000)2021-02-16 10:09:11'0'은 유효하지 않은 0도 표시를 한다는 의미고, '#'은 유효하지 않은 0을 생략한다는 의미이다. EX1) 값 : 1000 #,##0 -> 1,000 #,### -> 1,000 0,000 -> 1,000 EX2) 값: 0 #,##0 -> 0 #,### -> 0,000 -> 0 0,000.00 -> 0.00 EX3) 값 : 1000 #,##0.00 -> 1,000.00
- [ Java ][Java] 인터페이스 구현(연계 메커니즘)2021-01-20 17:23:18프로그램을 개발하다보면 DB끼리 정보를 주고 받아야 하는 상황이 생긴다. *연계 메커니즘 - 응용 소프트웨어와 연계 대상 모듈 간의 데이터 연계 시 요구사항을 고려한 연계방법과 주기를 설계하기 위한 메커니즘이다. 1. 연계 메커니즘의 기능 - 데이터를 생성하여 전송하는 송신 시스템과 송신 데이터를 수신하여 DB에 반영하는 수신 시스템으로 구성된다. - 송신 시스템은 운영 데이터베이스, 애플리케이션으로부터 연계 데이터를 연계 테이블 또는 파일로 생성하여 송신한다. - 수신 시스템은 송신 시스템으로부터 전송된 데이터를 변환 처리 후 데이터 베이스에 반영한다. 2. 연계 방식 - 연계 방식은 직접 연계 방식과 중간 매개체를 이용한 간접 연계 방식으로 분류한다. 2-1. 직접연계 - 장점 연계 및 통합 구현이 ..
- [ Java ][JAVA] RestTemplate 사용 JSON API 통신2021-01-14 13:14:58API를 이용하여 개발을 많이 하다보니 RestTemplate을 자주 사용한다. JSON 이란? Java Script Object Notation 의 줄임말로 속성-값 쌍 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. JSON을 쓰기 위해 json-simple jar를 사용합니다. Maven을 사용하는 경우 pom.xml 에 dependency 설정으로 간단하게 처리됩니다. com.googlecode.json-simple json-simple 1.1.1 하지만 저는 gradle 프로젝트를 사용하므로 아래와 같이 사용합니다. 1. 파일 다운로드 2. 일반적으로 web환경 프로젝트일 경우 WEB-INF 파일 아래에 lib 폴더를..