반응형

Java 22

[Java 공부] function 패키지 사용법, BiPredicate<T,U>

function 패키지 사용법, BiPredicate입력을 2개 받는 인터페이스이다.BiPredicateT, U 입력을 2개 받아서 값을 boolean 반환, boolean = test(T, U) 실행T, U 타입의 값을 받아 조건 판별(참/거짓 판단)을 하는데 사용주요 메소드 and(...), or(...), negate()Map 필터링import java.util.Map;import java.util.function.BiPredicate;public class BiPredicateTest { public static void main(String... strings) { // BiPredicate : 두 입력 → boolean BiPredicate equalsIgnore..

IT/Java 2025.09.15

[Java 공부] function 패키지 사용법, BiConsumer<T,U>

function 패키지 사용법, BiConsumer입력을 2개 받는 인터페이스이다.BiConsumerT, U 입력을 2개 받아서 출력 없음(void), accept(T, U)주로 출력, 저장, 로그 기록, 상태 변경 같은 동작에서 사용됨.사이드 이펙트 용도로 많이 사용import java.util.Arrays;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.function.BiConsumer;public class BiConsumerTest { public static void main(String... strings) { // 기본: BiConsumer : 두 입력 → 출력 없음 (..

IT/Java 2025.09.15

[VSCode] 자바 개발하기

개발 IDE 사용에 대해서는 나름대로 변천사를 좀 가지고 있다.이클립스를 오랫동안 사용하였고,인텔리제이를 1년 넘게 사용하면서, 유료 버전도 결제해서 1년 정도 사용하였습니다.인텔리제이도 참 만족스러웠지만, 기능이 많아지다보니, 점점 무거워지고, 느려지는 현상이 종종 나타나면서...그리고 인텔리제이의 크나큰 단점이자 장점이, 개발환경 설치와 설정이 어디에 해야하는지 모른다는 겁니다.인텔리제이가 알아서 해주니깐..차후 서버 배포/설정 등, 또는 내부망/폐쇄망 개발환경 설정, 빌드툴 설치 등 어떤 설정정보를 어디에서 해야하는지...점점 무지해진다는 점입니다.여튼....VSCode 에서 백엔드 개발, 특히 자바 개발이 가능하다고 해서...벌써 사용한지 이제 4개월정도 접어드는 듯합니다.결론부터 말하자면, 너무..

IT/Tools 2025.09.13

[Java 공부] function 패키지 사용법, BiFunction 와 Map 메소드

function 패키지 사용법, BiFunction 와 Map 메소드Bi~ 시리즈 인터페이스는 입력을 2개 받는 인터페이스이다.BiFunction / BiConsumer / BiPredicate 인터페이스이다.공부를 하다보니, 생각밖으로 하나하나의 클래스마다 활용도 높은 듯하다.일단 BiFunction 클래스부터...BiFunctionT, U 입력을 2개 받아서 R 출력, R = apply(T, U)import java.util.function.BiFunction;public class BifunctionTest { public static void main(String... strings) { // BiFunction : 두 입력 → 하나의 출력 BiFunction sum..

IT/Java 2025.09.11

[Java 공부] function 패키지 사용법, 기본

function 패키지 사용법, 기본java.util.function 패키지함수형 인터페이스(Functional Interface)를 모아둔 패키지기본 핵심 인터페이스Function, Consumer, Supplier, PredicateFunction: T 타입 입력 받아 R 타입 리턴, 입력 → 출력, R = apply(T)Consumer: T 타입 입력 받아 소비(리턴 없음), 입력만(사이드 이펙트), accept(T) 실행Supplier: 아무 입력도 없고 R 타입 리턴, 출력만(공급), R = get()Predicate: T 타입 입력 받아 boolean 반환, 조건/검사, boolean = test(T) 실행import java.util.function.Consumer;import java.ut..

IT/Java 2025.09.10

[Java 공부] 제네릭(Generics)

제네릭(Generics)자바에서 클래스나 메서드가 다룰 데이터 타입을 일반화(파라미터화)해서 재사용성을 높이는 기능이다.처음 자바를 공부할때, 제네릭이라는 개념은 알고 있었지만, 이게 이렇게까지 발전하고 사용될 줄 몰랐다.제네릭을 쓰면 컴파일 타임에 타입 안정성과 불필요한 형변환을 줄일 수 있다.1. 타입 파라미터 : 타입 파라미터를 의미(Type 약자) : 여러 개 가능(Key, Value) : Element : 리턴 타입class Box { private T value; public void set(T value) { this.value = value; } public T get(){ return value; }}public class Generic..

IT/Java 2025.09.09

[grpc] managedChannel 생성 과정 (feat. java)

managedChennal 생성과정은newStub 호출 후,idle - connecting - ready 상태 과정을 거친다.connecting 과정 중에./etc/nsswitch.conf 의 hosts: files dns 로 작성 순서로 우선순위를 가지는 것으로 추측된다.1. files(/etc/hosts) 확인2. dns : 네임서버 확인.프로젝트 과정 중에 managedChannel 생성 과정에 지연이 발생되어, 확인 결과./etc/hosts 에 ip, domain 으로 도메인 주소를 통해 grpc 연결 시도 시, 1. /etc/nsswitch.conf 파일의 우선 순위에 따라2. /etc/hosts 파일을 확인3. dns 네임서버 확인 과정을 거치는 것으로 파악된다.별도 dns서버가 없으면, jn..

IT/WSL 2025.04.10

[JAVA] 람다식 개념

람다식 개념(x,y) -> x + y 람다식이 표현하는 것은, 본질적으로 메서드 그 자체라고 말할 수 있다.- 함수와 메서드 메서드는 클래스의 멤버이기 때문에 클래스 정의 안에서 메서드 정의를 기술한다. 함수는, 그 자체가 오브젝트로 본다.메서드는 오브젝트에 포함되어 있지만, 함수는 노출되어 있는 상태이다. JAVA는 객체 지향 프로그밍의 대표이며,더 오래된 함수형 프로그래밍 언어는 함수를 First-class Object로 취급한다. 함수를 리터럴과 같이 취급이 가능한 오브젝트 그 자체로 인식 리터럴이라는 것은 데이터 그 자체를 의미한다. 문자열 리터럴은 실제로는 String 클래스의 인스턴스이다. JAVA의 문자열은, 리터럴과 같이 취급할 수 있는 오브젝트인 것이다. 함수도 이 관계와 동일하다. 함수..

IT/Java 2024.05.04

인텔리제이 커뮤니티(Intellij Community)에 스프링부트(Springboot) 프로젝트 생성하기

1. Spring Initializr 에 들어가서 프로젝트를 생성하고 다운로드한다. - Project는 Gradle 프로젝트로, - Language는 Java- Dependencies는 웹으로 할 거니, Spring Web 추가 후 GENERATE 하면 파일이 다운로드된다.- Dependencies 부분은 인텔리제이에 소스 import 후 build.gradle 파일에서 확인할 수 있다.- 다운로드된 zip파일을 원하는 프로젝트 경로에 압축을 푼다. - gradle 프로젝트이니, build.gradle 파일 선택- 또는 프로젝트 폴더를 선택해도 된다. - build.grade 파일 선택하면, Open Project 창이 뜨고, Open as Project를 선택- 빌드가 되는 것을 확인할 수 있다...

IT/Tools 2024.02.14
반응형