본문 바로가기

Category/JAVA18

JAVA 1.8의 가장 큰 변화 - 람다 표현식과 스트림 API Java 1.8 버전의 가장 큰 차이점은 람다 표현식(Lambda Expressions) 과 스트림 API(Stream API) 의 도입이다.이러한 람다와 스트림을 이용한 표현식을 통해 JAVA를 함수형 프로그래밍과 병렬 프로그래밍을 지원하는 언어로 변화시킬수 있었다.Java 1.8 버전의 등장이후 개발자들은 더 간결하고 직관적인 코드를 작성할 수 있게 되었으며, 병렬 처리와 함수형 스타일을 통해 성능과 가독성을 동시에 향상시킬 수 있었어 코드의 효율성, 유지보수성, 가독성 측면에서 큰 진전을 이루게 되었다. 람다 표현식 람다 표현식이란 JAVA에서 익명함수(Anonymous Function)을 구현하는 방법을 제공하는 표현식이다.익명함수란 말그대로 '이름이 없는 함수'이며 JAVA의 익명클래스를 통해 .. 2025. 3. 14.
[JAVA] 여러가지 측면에서의 인코딩 방식 운영중인 web에서 외부 모듈과 socket 통신하여 결과 데이터를 받아오는 과정에서 인코딩 문제가 발생했다.web에서는 UTF-8 인코딩을 사용하지만, 외부 모듈에서는 EUC-KR 인코딩을 사용하기때문이다.해당 문제를 해결하기위해 JAVA에서 사용하는 다양한 측면에서의 인코딩 방식에 대해 공부해보았다. 여러가지 측면에서의 인코딩 방식 통합개발환경(IDE)를 사용하며 JAVA를 통해 개발을 할때에 사용하는 인코딩 형식은 여러가지 측면에서 나누어 볼수있다. 1. 소스코드 컴파일&빌드 측면에서의 파일 인코딩 이클립스,인텔리제이등 통합개발환경에서 코드를 작성하고 실행시키기위해 해당 코드를 컴파일하거나, 빌드를 할때 사용하는 인코딩 방식이다.해당 인코딩 설정은 사용중인 Eclipse, InteliJ의 환경설정에.. 2024. 8. 27.
[Design Pattern] Adapter Pattern의 실제 사용예시 Adapter 패턴이란? 클라이언트가 호환되지않는 두개의 인터페이스를 기존의 인터페이스를 변경하지않고 Adapter를 통해 변환하여 사용할수있게 해주는 디자인 패턴.Legacy코드에서 새로운 3rd Party 모듈을 추가하거나, 새로운 인터페이스로 교체할경우기존의 Legacy코드를 변경하지않고 Adapter을 통해 사용할수있게 하므로 재사용성을 높일수 있다.   즉, 기존의 Current Code에서 타사의 API를 사용할경우, 중간 Adapter를 거치지않고 직접 Client와 연결 할경우새로운 API로 교체하려면 Client가 기존의 API를 의존하기때문에 코드를 변경해주어야하고,만약 연관된 Class가 100개라면 100개 모두 변경해줘야 할 것이다.  따라서, 기존의 Current Code와 AP.. 2024. 5. 23.
logback을 사용하여 log관리하기 https://logback.qos.ch/index.html Logback HomeLogback Project Logback is intended as a successor to the popular log4j project, picking up where log4j 1.x leaves off. Logback's architecture is quite generic so as to apply under different circumstances. At present time, logback is divided into three modlogback.qos.ch  logback은 기존의 log4j을 개선한 후속버전으로 내부로직을 새로 개선하여 log4j보다 10배이상 빠르고 가볍고 메모리 공간또한 적게 차.. 2024. 5. 10.