Stream: 15개의 글
들어가며: 우리가 ssh를 접속해서 무언가를 작업을 할때 세션이 타임아웃되서 실행중이던 작업이 종료될때가 있다. 그럼 정말 너무 화가 치밀어 오르며, 다시 접속을 한 뒤에 그전에 작업을 다시 실행한다. 그래서 ssh connection이 끊어져도 작업을 할 수 있는 방법을 찾아보니 nohup을 이용해서 하는 방법이 있다. nohup을 이용하면 결과적으로는 세션이 타임아웃이 되어도, 내가 실행한 작업은 백그라운드에서 계속 실행한다. nohup을 사용하는 방법은 아래와 같다. nohub 사용하기: $ nohup command 1>/dev/null 2>&1 & 위에서 사용하는 명령어에 대해서 이해를 하기 위해서는 아래 내용을 읽어보시기 바랍니다. I/O Redirection: bash와 다른 shell에서는 ..
들어가며 파일 입출력에 대해서 설명을 해드리겠습니다. NodeJs에서는 File I/O의 주요 함수는 동기식, 비동기식 그리고 Stream을 이용한 방식이 있습니다. NodeJs는 비동기 방식이기 때문에 순차적으로 함수를 수행하지 않습니다. 그렇기 때문에 만약에 큰 파일을 읽고 있는 상태에서, 만약 그 파일을 쓰는 코드를 작성할 경우에는 에러가 발생 할 수도 있으니 주의하셔야 합니다. 이런 경우에는 동기식으로 파일 읽기/쓰기를 하시면 문제없이 사용할 수 있습니다. 파일입력 주요 함수 readFile('filename', 'encoding', callback(error, data)); readFileSync('fileㄱname', 'encoding') : data writeFile('filename', d..
해당 내용은 이펙티브 자바 3판 (조슈아 블로크 지음, 이복연 옮김)를 읽고 나같은 초심자의 눈으로 이해한 내용을 정리해보았다. 책에 있는 내용을 기반으로 썼지만 책에 없는 내용도 조금 적었다. (익명클래스와 람다 비교, 성능적 관점, 함수형 인터페이스와 default메소드, 코드블록-람다블록 비교, Collectors API의 구체적 설명 등) 7장의 아이템 목록 익명 클래스보다는 람다를 사용하라 람다보다는 메소드 참조를 사용하라 표준 함수형 인터페이스를 사용하라 스트림은 주의해서 사용하라 스트림에서는 부작용없는 함수를 사용하라 반환 타입으로는 스트림보다 컬렉션이 낫다 스트림 병렬화는 주의해서 적용하라 아이템42. 익명 클래스보다는 람다를 사용하라 람다는 이름이 없고 문서화도 못한다. 따라서 코드 자체..
참조문서 http://www.reactive-streams.org https://github.com/reactive-streams/reactive-streams-jvm/ https://engineering.linecorp.com/ko/blog/reactive-streams-with-armeria-1/ 1. Reactive Streams 란? 리액티브 스트림 스펙을 정의하고, 인터페이스를 제공하는 reactive-streams.org 를 살펴보면, 다음과 같다. Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. non-blocking b..
참조문서 : https://docs.oracle.com/javase/8/docs/api/java/io/package-frame.html io 부분에서 JDK 1.4 이전 방식을 클래식 I/O 라고 하고, 이후 방식을 NIO(Non-blocking I/O)라고 한다. 이제는 클래식 IO를 사용한다 해도 내부적으론 NIO를 활용하기 때문에 성능차이는 크게 없다. 1. java에서 I/O란? I/O를 스트림(Stream)이라고 부르기도 한다. 접두어로 in, read 가 붙으면 입력관련이고, out, write 가 붙으면 출력관련이다. 데이터를 읽고 쓰는 대상으로는 디스크, 사용자 입출력, 네트워크 등이 있다. 읽기 전용쓰기 전용 1 Byte 단위 처리 InputStream OutputStream 2 Byte..