본문으로 건너뛰기

#Java

44
Java EcoJava programming

Reflection; Class Object

JVM 기능 런타임 동안 클래스와 객체 정보를 추출할 수 있음 Reflection API로 접근 가능 JDK에 포함된 클래스 집합 소스 코드를 수정하지 않고 새로운 프로그램 순서를 만들 수 있음. 실행하고 있는 클래스와 객체에 동적으로 코드 삽입. 실제로 사용하는 곳 로깅 프레임워크 ORM Spring Framework JUnit Jackson @Autowired @Configuration @Bean bean을 정의하고 의존성을 주입하는 과정이 reflection을 통해 이뤄짐. Reflection을 사용해 클래스를 확인하고 필드를
BlogBook Review

함수형 프로그래밍 with 자바 - 책소개

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 원제 : A Functional Approach to Java: Augmenting Object-Oriented Java Code with Functional Principles 저자 : Ben Weidig 출간 : O'Reilly Media, 2023 / 한빛미디어, 2024 모던한 언어들의 대세에 따라 함수형 프로그래밍이 떠오르면서 'Java 에서의 함수형 프로그래밍' 에 대해서도 적지 않은 관심이 있다. Java 가 지원하는 함수형 인터페이스와 스트림
Java EcoSpring Framework

Redis를 RDB처럼 쓰려고 했던 시도

🫠 실패에 대한 짧은 결론 : 레디스는 인메모리 DB로써 빠른 IO를 요구하는 작업에 최적화 되어있다. 예를 들면 세션 클러스터링이나 캐싱에 많이 사용된다. 그러나 Entity를 계층 구조로 만들고 깊은 내부의 있는 필드에 Document나 RDB 하듯 LIKE 쿼리를 구현하는 것은 바람직하지 않아보인다. 물론 단순한 구조의 Entity에 id필드를 지정하고 id를 가지고 직렬화/역직렬화 하는 것은 가능하다. 결론적으로 key로 value에 바로 접근할 수 있는 Set이나 Hash구조 일 때 의미가 있어보인다. 웹 기반의 채팅 프
Java EcoJava programming

Spring의 테스트 주도 개발 스타일

TDD란 무엇인가? 를 떠나서 스프링 프로젝트에서 TDD를 어떻게 진행하는지에 대한 정리. TDD는 기본적으로 테스트 코드를 빌드업 해가면서 개발함. 즉, 이미 한참 완성된 코드를 테스트 하는건 TDD의 방향이 아님. 이런 경우는 있을까? 서비스 로직을 먼저 POJO로 만든다. 테스트 할 로직을 우선으로 만들면서 서비스 클래스, 엔티티, 영속성 클래스를 만든다. 서비스 로직에서 필요한 메서드, 클래스 등은 이너클래스로 먼저 개발 한 뒤 테스트가 완료되면 IDE를 통해 리팩토링 기능으로 꺼낸다. (IntelliJ → Move Inne
FundamentalProblem solving

String, StringBuilder 주요 메서드

Java problem solve를 위한 String과 StringBuilder의 주요 메서드 정리. StringBuilder에 최적화 된 작업 위치 기반 삽입, 제거 StringBuilder는 못하지만 String으로 할 수 있는 것 문자열 합치기, 대체, 분할, 트림 등 거의 대부분의 유틸성 작업 사족) String 쓰면서 로 문자열을 붙이는것이 거의 죄악 취급이지만, 그런 소스가 있더라도 컴파일러가 판단하여 StringBuffer에 append로 변경한다. 생각보다 최적화를 잘 함.
BlogBook Review

이것이 자바다 (2022 개정판) - 책 소개

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 제목 : 이것이 자바다 개정판 저자 : 신용권 , 임경균 한빛미디어, 2022 '이것이 자바다' 는 국내에서 유명한 자바 기본서 중 하나다. 개인적으로 여러 자바 기본서들 중에 가장 좋아하고 개정판이 나왔다는 소식에 서평 신청을 했다. 책은 크게 3파트로 나눠져있다. 첫번째 자바 언어와 프로그래밍의 기본, 두번째 객체지향 프로그래밍의 기본, 마지막 세번째로 자바만의 특화된 사용법을 담고 있다. (라이브러리 활용 데이터 입출력) 자바가 가지고 있는 방대한
Java EcoTILJava programming

Java; Generic Methods

용법 : <T, R> R method(T t) 제네릭 메소드는 매개 타입과 리턴 타입으로 타립 파라미터를 갖는 메소드를 말한다. 제네릭 메소드를 선언하는 방법은 리턴 타입 앞에 <> 기호를 푸가하고 타립 파라미터를 기술한 다음, 리턴 타입과 매개 타입으로 타입 파라미터를 사용하면 된다. 제네릭 메소드는 두 가지 방식으로 호출 할 수 있다.
BlogBook Review

자바 마이크로서비스를 활용한 SRE - 책 소개

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 원제 : SRE with Java Microservices 저자 : Jonathan Schneider O'Reilly Media, 2020 / 한빛미디어, 2022 한국에서 MSA는 채용 시장에서 가장 핫한 주제다. MSA는 대용량 서비스를 안정적으로 운영하기 위해 느슨한 결합도, 무중단 배포, 기민한 릴리즈 대응, 탈중앙화에 부합해 탄생했다. 트래픽이 발생하기 전까지는 기존의 집중된 아키텍처로도 대응이 가능하지만 넷플릭스 같이 대규모 트래픽이 발생하고