본문 바로가기
728x90

[ JAVA ]/JAVA32

[ Java ] Optional 개념 및 올바른 사용법 알아가기 Intro 개발을 하다 보면 가장 많이 발생하는 에러 중 하나인 NullPointException을 자주 만나게 되는데,해당 에러를 피하기 위해 null을 체크하는 로직을 추가합니다. //mkey = Id 값 입니다. 해당하는 데이터가 없으면 null 입니다.MemberVO findUser = memberRepository.findById(mKey);//만약 findUser 결과 값이 null이면 NullPointException이 발생합니다.findUser.getUserNm();//--------------------------------------------------------------------------------if(findUser != null){//NullPointException을 방지.. 2024. 6. 10.
[ Java ] java.util.stream.IntStream 주요 메서드 정리 오늘은 토이 프로젝트 생성하면서 테이블 생성 테스트 코드 작성할 때활용했던 java.util.stream.IntStream에 대해 포스팅해 보겠습니다😄  주요 메서드 정리 및 개념에 대해 다루고 실전 예제 코드를 통해서 각 메서드에 장단점을 알아보는 시간을 가지겠습니다 ❗ IntStream - 소개 IntStream은 Java 8에서 도입된 Stream API의 일부분으로,'int' 기본형에 특화된 스트림입니다. Stream API는 Java에서 함수형 프로그래밍 스타일을 사용하여 데이터 처리를 할 수 있도록 도와주고IntStream은 'Stream' 와는 다르게 오토박싱/언박싱의 오버헤드가 없기 때문에 성능적으로 유리합니다. IntStream은 여러 가지 방법으로 다음과 같이 생성해서 사용할 수 있습.. 2024. 5. 23.
[ JAVA ] Iterator 개념 및 예제 Restful API 기반 프로젝트를 진행하던 중 데이터 찾는 과정에서 Iterator를 사용해서 기능 구현을 했는데, 프레임워크인 건 알지만 정확한 개념에 대해 알아보기 위해 포스팅을 해보겠습니다. Iterator 개념 Iterator 란 컬렉션(Collection)과 같은 데이터 구조에서 요소를 순회하고 선택적으로 해당 요소를 가져오는 데 사용되는 인터페이스입니다. Iterator 패턴은 소프트웨어 디자인 패턴 중 하나로, 데이터 구조의 내부 구현에 독립적으로 순회 기능을 제공하여 코드의 일관성과 유연성을 높입니다. Iterator에 대해서 알아보신다면 먼저 컬렉션 프레임워크에 대해 알고 있어야 하는데, 컬렉션 프레임워크는 데이터를 저장하는 클래스들을 표준화한 설계입니다. 데이터를 저장하는 구조에 따.. 2023. 7. 21.
[ Java ] Lambda CHAPTER 25. Lambda Expression 알아가기 오늘은 JDK1.8부터 추가된 람다식(Lambda expression)에 대해서 포스팅해보려 합니다. ■ Lambda expression 람다식(Lambda expression)이란 함수형 프로그래밍의 표현법 입니다. 여기서 함수형 프로그래밍이란 객체 지향 프로그래밍이 나오기 전부터 있던 패러다임 중 하나로서 함수 안으로 들어오는 인자를 가지고 항상 불변한 결과를 돌려주는 것이 목적을 갖고 있습니다. 함수형 프로그램은 함수 내부 중괄호 안에 필요한 변수는 외부에서 받아오고 로직만이 존재하기 때문에 변수에 값이 할당되면 이후에 변하지 않고, 병렬처리나 이벤트 지향 프로그램에서 side effect가 없다는 장점이 있습니다. 즉, 람다식은 함수형.. 2023. 1. 17.
[ Java ] File 클래스 CHAPTER 24. file Class 알아가기 오늘은 java.io 패키지에서 기존의 파일이나 폴더에 대한 제어를 하는 데 사용하는 File 클래스에 대해서 포스팅해보려 합니다! ■ Java File Class File 클래스는 파일에 대한 정보들을 파악하기 위한 메서드들로 구성되어 있습니다. 파일을 생성하고 삭제하며 지정된 파일이 읽기 가능한지 또한 현재 디렉터리에 어떤 파일들이 있는지를 검사하는 다양한 메서드들이 File 클래스에 준비되어 있습니다. Filde 클래스를 간단하게 정리해보면 다음과 같습니다. File 클래스 : 파일 또는 폴더에 대한 정보를 제공하는 클래스입니다. File 클래스 객체 : 정보를 조회하고자 하는 파일이나 폴더의 경로에 대한 문자열을 생성자 파라미터로 전달하는 형태로 .. 2023. 1. 16.
[ Java ] Socket Programming CHAPTER 23. Socket Programming 알아가기 오늘은 자바의 네트워크 프로그래밍에서 소켓의 개념과 응용에 대해서 포스팅해보려 합니다! 이전 포스팅을 보면 I/O Stream과 같은 메소드로 타입을 바꾸고 그 바뀐 타입으로 여러 가지 기본적인 통신을 알아보았습니다. 자 그런데 그 통신은 default 값이라고 말할 수 있습니다. 즉, 윈도우에서 제공하는 아주 기본적이고 단순한 구조의 통신이라는 정리할 수 있습니다. 기본적인 통신구조는 잘 알려져있어 보안에도 취약합니다. 그래서 나만의 통신구조를 설계하는데 그것을 바로 소켓 프로그래밍이라고 합니다. 그럼 하나씩 알아봅시다. ■ 프로토콜(Protocol) 프로토콜(Protocol)이란 서로 다른 컴퓨터 간의 의사소통을 위한 통신 규약입니다. .. 2023. 1. 13.
728x90