일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Hbase
- Java
- scala
- hibernate
- Domain Driven Design
- elastic search
- nginx
- Clean Code
- Spring XD
- Gradle
- 도메인주도설계
- design pattern
- 스프링 배치
- SBT
- Spring Boot
- docker
- spark
- elasticsearch
- Storm
- DDD
- 엘라스틱서치
- Spring Batch
- apache storm
- hdfs
- hadoop
- Linux
- Angular2
- 제주
- intellij
- Spring
- Today
- Total
목록Java (6)
욱'S 노트
How streams work 스트림은 엘리먼트의 처리순서를 표현하고 이러한 엘리먼트들에 다른 종류의 연산을 제공한다.List myList = Arrays.asList("a1", "a2", "b1", "c2", "c1"); myList .stream() .filter(source -> source.startsWith("c")) .map(String::toUpperCase) .sorted() .forEach(System.out::println);스트림 연산은 intemediate 또는 terminal이다. Intermediate 연산은 stream을 리턴하여 세미콜론 없이 메소드 체이닝형식으로 사용할 수 있다. Terminal 연산은 void이거나 stream이 아닌 값을 리턴한다. 위의 예에서 filte..
Java 8의 가장 주요한 변화는 더 빠르고, 명확하게 코딩할 수 있는 펑션 프로그래밍을 수행할 수 있게 되었다는 것이다. 자바는 1990년대에 객체지향 프로그래밍 언어로서 설계되었다. 그 당시 객체지향 프로그래밍은 소프트웨어 개발의 주요한 패러다임이였다. 객체지향 프로그래밍 훨씬 전에 Lisp 이나 Scheme 같은 함수형 프로그래밍 언어가 존재하였지만 학술적 영역외에서는 별다른 빛을 보지 못하였다. 최근 함수형 프로그래밍의 중요설이 대두되고 있는데 그 이유는 동시성과 이벤트 처리 프로그래밍에 적합히기 때문이다. 이 의미는 객체지향이 나쁘다는 것이 아니라, 객체지향과 함수형 프로그래밍을 적절히 사용하는 것이 좋은 전략이라는 것이다. 이것은 동시성에 관심이 없더라도 충분히 유의미하다. 예를 들어 컬렉션 ..
NIO (New Input/Output) vs IO (Input/Output) and NIO.2 in Java Non-blocking I/O (일반적으로 NIO라고 불리우고 때때로 New I/O라고도 함)은 강력한 I/O 오퍼레이션 기능을 제공하는 자바 프로그래밍 API이다. NIO는 J2SE 1.4에서 표준I/O를 보완하기 위해서 소개되었다. 또 NIO는 확장되어 자바7에 NIO2라고 불리는 새로운 파일시스템 API를 제공한다. What Is Input/Output I/O는 소스로부터 데이터를 읽어서 목적지에 데이터를 읽는 것이다. 데이터는 입력 소스로부터 읽고 출력 목적지로 쓰여진다. 예를 들어 당신이 키보드가 표준 입력으로 동작하면 데이터를 읽어 당신의 프로그램에 쓰여지는 것이다. 표준출력으로 텍스..
자바를 배우기 시작하는 사람이나 다른 언어를 사용하는 사람들에게서 stack과 heap 메모리의 차이를 묻는 것은 일반적이다. Stack과 heap 이라는 두 단어를 누구나 들어봤지만, 명확하게 설명하는 것은 어려운을 흔히 겪는다. 이런 상황은 stack과 heap의 연관관계에 대한 오해에서 비롯된다. 더 혼란스럽게도 stack은 jata.util 패키지에 있는 LIFO순서로 데이터를 저장하는 데이터 구조체이기도 하다.일반적으로 stack과 heap은 메모리의 부분이다. 프로그램은 다른 목적으로 stack과 heap을 사용하며 할당한다. 자바 프로그램은 "java"라는 명으로 실행되는 프로세스의 JVM 상에서 실행된다. 자바 또한 stack과 heap을 다른 목적으로 이용한다. 자바에서 stack과 he..
우리는 개발자 아닌가? HDFS를 커맨드로만 조작한다면 그건 TA일 것이다. 그렇다 HDFS를 조작하는 자바 프로그램을 작성해보도록 하자. 일단 먼가 원격의 HDFS를 접속할려면 클라이언트에 설정이 있어야 할 것 같다. 역시 Configuration 객체를 제공하고 있었다. 클라이언트 설정을 위해서 우리가 해야 할일은 굉장히 간단하다.우리는 기존에 core-site.xml에 HDFS의 접근 URL을 설정하였다. 해당 URL을 프로퍼티처럼 세팅하고 접속을 시도해보면 된다. 아래의 예제는 프로그래밍으로 HDFS에 접속하여 해당 home 디렉토리를 출력한 예제이다. 12345678910111213141516171819 @Test public void testProgrammaticConfiguration() t..
JMX란? JMX는 java management extension의 약자이다. JDK 1.5부터 기본적으로 탑재되어 제공되고 있다. Application 관리를 위한 다양한 기능을 제공할 목적으로 시작되었다. Non-Java resources와 하드웨어에 대해 wrapping한 인터페이스를 제공하며, API를 외부로 노출해 application 설정 및 통계데이터를 수집할수도 있다. JMX 용어 Manageable Resource : 관리대상의 되는 리소스 MBean : Managed bean의 약자이며, Manageble Resource에 대한 접근 및 조작에 대한 interface를 제공한다. MBean Server : MBean을 관리하는 Java Class JMX Agent : Mbean 관리를 ..