KangMoo's Blog
취소

Java의 함수형 인터페이스와 람다에 대해 알아보자

함수형 프로그래밍이란? 함수형 프로그래밍(Functional Programming, FP)은 컴퓨터 프로그래밍의 패러다임 중 하나로, 함수의 평가를 프로그래밍의 주요 방법으로 사용하는 접근 방식을 가르킵니다. 이는 수학적 함수의 개념을 프로그래밍에 적용하여 부작용(Side Effects)을 최소화하고 높은 수준의 추상화를 제공합니다. 함수형 프로그...

블록킹, 넌블록킹, 동기, 비동기에 대해 알아보자

블록킹, 넌블록킹, 동기, 비동기 블록킹(Block), 넌블록킹(Non-Block), 동기(Synchronous), 비동기(Asynchronous)에 대한 개념들은 I/O 작업, 특히 네트워크 통신에서 자주 마주치게 되며, 애플리케이션의 효율성과 성능을 결정하는 중요한 요소가 됩니다. 이 네 가지 I/O 방식에 대해서 알아봅시다. 블록킹(Block...

Git을 이해하고 사용하기

Git이란? Git은 분산 버전 관리 시스템(DVCS, Distributed Version Control System)으로, 여러 사람이 동시에 작업하는 프로젝트에서 중요한 파일의 변경사항을 추적하고 관리하는 데 사용됩니다. Git을 사용하면 여러 사용자가 동시에 다양한 작업을 할 수 있으며, 이를 통해 코드의 역사를 관리하고 문제가 발생했을 ...

Java Optional을 이해하고 활용하자

Java Optional을 이해하고 활용하자 개발을 하다보면 가장 많이 발생하는 예외 중 하나가 바로 NPE(Null Pointer Exception)입니다. 오늘은 자바에서 NPE를 회피하는 효과적인 방법을 제공하는 Optional 클래스에 대해 알아보돌 하겠습니다. Optional이란? Optional은 Java 8에서 도입된 클...

Java Stream API를 이해하고 활용하자

Java의 Stream이란? Stream API는 Java 8에 소개된 새로운 추상화 자바 8에는 “스트림”이라는 새로운 데이터 유형을 도입했는데, 이는 데이터 요소의 시퀀스를 나타낸다. 이를 활용하면 배열이나 컬렉션 등의 데이터를 효과적으로 처리할 수 있다. 스트림은 개발자가 “어떻게” 처리할 것인지보...

ByteBuffer를 이해하고 사용하기

ByteBuffer란? 자바 NIO(Non-blocking I/O)에서 제공하는 클래스로, 바이트 배열에 대한 처리를 효율적으로 수행할 수 있게 돕는다. 바이트 데이터를 읽고 쓰는 데 사용되며, 네트워크 통신이나 파일 I/O에서 특히 유용하다. 네트워크 소켓에서 데이터를 읽거나 파일로부터 데이터를 읽는 등의 입출력 연산을 비동기적으로 수...

블로그 첫 글

Hello World 안녕하세요!